sql >> データベース >  >> RDS >> Sqlserver

同じ列を持つ同じテーブルのデータ モデリング

    データの構造が似ているからといって、同じ意味や同じ制約があるとは限りません。ルックアップ テーブルを別にしてください。これにより、外部キーが保持されます 分離して、データベースが間違った種類の検索データを参照するのを防ぐことができます。

    親テーブルで基本構造を定義し、子テーブルに特定の FK を追加するだけで、リレーショナル DBMS が継承をサポートすることを望みます。現状では、DDL での繰り返しに耐える必要があります...

    注:「ルックアップ テーブルを個別に保持する」ルールの 1 つの例外は、システムを動的にする必要がある場合 (つまり、データベースに新しい物理テーブルを実際に作成せずに新しい種類のルックアップ データを追加できる場合) かもしれませんが、そうは見えません。

    1 つの大きなルックアップ テーブルでは、FK だけでは停止しません (たとえば) ShippingLog テーブルが EmployeeTask 用の行を参照しないようにする テーブル。関係の識別と PK の移行を使用することで、この問題から身を守ることができますが、冗長性を導入したり、慎重な制約を加えたりする必要があります。単純に正しいことを行い、ルックアップ テーブルを分離しておく方が、クリーンでおそらくパフォーマンスが向上します。



    1. MySQLストアドプロシージャが問題を引き起こしていますか?

    2. OracleException(0x80004005)Oracleデータベースに接続する場合

    3. UPDATEをINSERTINTOON DUPLICATEKEYUPDATEステートメントに変換します

    4. MySQLの結果を表形式のファイルに保存する方法