views:

63

answers:

2

I have multiple CSVs. they are all export from a relation DB. Now each CSV contains thousands of entries, and references to other tables represented by other CSVs file.

how can i import those file in a new Database ? Shoul i create a fresh model ?

Thanks John

A: 

If there are no circular dependencies (table A references B and B references A) then organize them in dependency order and import them in that sequence. The first table would be the one that others depend on, but which has no dependencies on other tables.

If you have circular dependencies you will have to have some way of temporarily disabling referential integrity checking in the database while you import all the data, then re-enable it. Oracle can do this, but I don't know about MSSQL and MySQL.

Jim Garrison
Could you be more specific? I mean which tool to use ? write some code ?
+1  A: 

Although some DBMSes will infer (or attempt to) the schema from the imported data, it is probably safer to deal with the schema separately from the data load per-se.

If the database where the CSV files came from is still accessible, you may request an export of the SQL DDL scripts that can be used to re-create the same SQL objects (tables, indexes... elsewhere). This would give you a leg up to start the schema on the new host, even if you plan on changing a few things in the schema.

If no such schema is available, you may need to re-discover the orignal schema, by importing these table individually (or merely inspecting the CSV txt). As a hint, the smaller tables may be the ones to load first, as they are typically lookup tables, or "header" tables with fewer rows and they are the ones that will relate to the bigger tables.

mjv