複数のCSVがあります。それらはすべてリレーションDBからエクスポートされます。現在、各CSVには数千のエントリと、他のCSVファイルで表される他のテーブルへの参照が含まれています。
これらのファイルを新しいデータベースにインポートするにはどうすればよいですか?新しいモデルを作成する必要がありますか?
複数のCSVがあります。それらはすべてリレーションDBからエクスポートされます。現在、各CSVには数千のエントリと、他のCSVファイルで表される他のテーブルへの参照が含まれています。
これらのファイルを新しいデータベースにインポートするにはどうすればよいですか?新しいモデルを作成する必要がありますか?
一部の DBMS は、インポートされたデータからスキーマを推測 (または試行) しますが、データ ロード自体とは別にスキーマを処理する方がおそらく安全です。
CSV ファイルの元のデータベースにまだアクセスできる場合は、同じ SQL オブジェクト (テーブル、インデックスなど) を再作成するために使用できる SQL DDL スクリプトのエクスポートを要求できます。これにより、スキーマでいくつかの変更を計画している場合でも、新しいホストでスキーマを開始するための準備が整います。
そのようなスキーマが利用できない場合は、これらのテーブルを個別にインポートする (または単に CSV txt を検査する) ことによって、元のスキーマを再検出する必要がある場合があります。ヒントとして、小さなテーブルが最初にロードされる可能性があります。これらは通常、ルックアップ テーブル、または行数の少ない「ヘッダー」テーブルであり、大きなテーブルに関連するテーブルです。
循環依存関係がない場合 (テーブル A は B を参照し、B は A を参照する)、それらを依存関係の順序で整理し、その順序でインポートします。最初のテーブルは、他のテーブルが依存しているが、他のテーブルに依存していないテーブルになります。
循環依存関係がある場合は、すべてのデータをインポートしている間、データベースの参照整合性チェックを一時的に無効にしてから、再度有効にする何らかの方法が必要です。Oracle はこれを行うことができますが、MSSQL と MySQL については知りません。