我有多个CSV。它们都是从关系数据库中导出的。 现在,每个CSV包含数千个条目,以及对其他CSV文件所代表的其他表的引用。
如何在新数据库中导入这些文件?我应该创建一个新模型吗?
答案 0 :(得分:1)
虽然有些DBMS会根据导入的数据推断(或尝试)架构,但与数据加载本身分开处理架构可能更安全。
如果仍然可以访问CSV文件所在的数据库,则可以请求导出可用于重新创建相同SQL对象(表,索引......等)的SQL DDL脚本。即使您计划更改架构中的一些内容,这也可以帮助您在新主机上启动架构。
如果没有这样的模式可用,您可能需要通过单独导入这些表(或仅检查CSV txt)来重新发现orignal模式。作为提示,较小的表可能是首先加载的表,因为它们通常是查找表,或者具有较少行的“标题”表,它们是与较大表相关的表。
答案 1 :(得分:0)
如果没有循环依赖关系(表A引用B和B引用A),则按依赖顺序组织它们并按该顺序导入它们。第一个表是其他表所依赖的表,但它与其他表没有依赖关系。
如果您具有循环依赖关系,则必须在导入所有数据时暂时禁用数据库中的参照完整性检查,然后重新启用它。 Oracle可以做到这一点,但我不了解MSSQL和MySQL。