There are two aspects to this issue.
Data transfer
The first step is to βDefine an RDBMS schema,β but how far are you going to work with it? Tables, as a rule, are not standardized and therefore have a lot of duplication. You say in your other question that "data is freely structured and there are no obvious restrictions." If you want to turn this into a strictly defined scheme (at least 3NF), you will have to do some cleanup. SQL is the best tool for data processing.
I suggest you create two staging tables, one for each sheet. Define the columns as freely as possible (large rows basically), so itβs easy to load spreadsheet data. After loading the data into the intermediate tables, you can run queries to evaluate the quality of the data:
- how many duplicate primary keys?
- how many different data formats?
- What are the search codes?
- all rows in the second sheet have parent records in the first?
- How compatible are code formats, data types, etc.
- etc.
These studies will give you a good foundation for writing SQL, with which you can fill in your actual schema.
Or it may be that the data is so hopeless that you decide to stick to only two tables. I think this is an unlikely result (most applications have some basic structure, we just need to calculate deep enough).
Data loading
It is best to export spreadsheets to CSV format. Excel has a wizard for this. Use it (instead of doing Save As... ). If your spreadsheets contain any free text, you will have sentences containing commas, so make sure you choose a really safe delimiter, like ^^~
Most RDBMS tools have the ability to import data from CSV files. Postgresql and Mysql are obvious options for NGOs (I think cost is a consideration), but both SQL Server and Oracle are shipped in free (if limited) Express editions. SQL Server obviously has better integration with Excel. Oracle has a great feature called external tables, which allows us to define a table in which data is stored in a CSV file, eliminating the need for intermediate tables.
Another thing to keep in mind is the Google App Engine. This uses a Big Table rather than RDBMS, but it might be more suitable for your poorly structured data. I suggest this because you mentioned Google Docs as an alternative solution. GAE is an attractive option because it is free (more or less, they begin to charge if use exceeds some very generous thresholds) and this will solve the problem of sharing applications with these other NGOs. Obviously, your organization may have some doubts that Google is posting its data. It depends on the field in which they work, and on the sensitivity of the information.