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

アプリケーションからテーブルに新しい列を追加するときのデータベース設計の問題

    複合テーブル、つまりClientChargesを作成します

    元の料金テーブルとクライアントテーブルを保持でき、クライアント料金テーブルには次の列があります。

    ClientChargeId、ClientId、ChargeId

    Chargesテーブルで(必要な数のChargesを)追加し続けてから、ClientChargesテーブルでChargeIdを参照できます。

    CREATE TABLE ClientCharges
    (
        ClientChargeId          INT IDENTITY(1,1)
        , ClientId              INT 
        , ChargeId              INT
    )
    
    
    INSERT INTO ClientCharges
    (ClientId, ChargeId)
    VALUES
    (1, 1),
    (1,2),
    (1,3),
    (1,4),
    (2,1),
    (3,1),
    (3,2),
    (4,3),
    (4,4)
    
    • クライアント1には料金1、2、3、4があります
    • クライアント2には料金1があります
    • クライアント3には料金1と2があります
    • クライアント4には料金3と4があります

    次に、ClientIdフィールドとChargeIdフィールドに外部キー制約を追加します。



    1. django.db.utils.InterfaceError:(0、'')

    2. Railsのpg_attributeテーブルで遅い暗黙のクエリを修正する方法

    3. バックアップファイルからMysqlデータベースを回復する方法

    4. SQLiteで指定された範囲内でランダムな数値を生成する方法