1

どこでも自分の問題を見つけようとしてきましたが、答えが見つかりません。(ここにあるものはすべて例です) 私は PRODUCTS テーブルを持っています...

PRODUCTS (親テーブル)

idProduct(PK) _ _ _ ProdName _ ___ Prod_Price _ ___ Prod_Type

    1             Top Gun          5.95         Movie
    2        Great expectations    12.45        Book
    3            Fifa 2013         14.99        Game
    4              Ghost           6.75         Movie

MOVIES (子テーブル 1)

idMovie(PK) _ ___ idProduct(FK) _ ___ Mov_Lenght _ ___ Mov_Category

    1               1               93             Action
    2               4               87             Drama

BOOKS(子テーブル2)

idBook(PK) _ ___ idProduct(FK) _ ___ idAuthor(FK) _ ___ Book_Number_Pages

    1               2               43                500

GAMES (子テーブル 3)

idGame(PK) _ ___ idProduct(FK) _ ___ Game_Category _ ___ Game_Console

    1               3               Sports           XBOX 360

問題は、 PRODUCTSテーブルと Children テーブルの間に 1 対 1 の関係が欲しいということです。したがって、PRODUCTSidProductの主キーが外部キーとして子テーブルにある場合、その値は同じテーブルまたは他の 2 つのテーブルで繰り返されません (1 対 1 ではあるが複数のテーブルがある場合)。私はMySQL WorkBenchをRDBMSとして使用しています。そのために指定する必要のあるルールは何ですか。

助けてくれてありがとう

私の母国語ではなく、私の英語で申し訳ありません。

4

1 に答える 1

0

子テーブルの外部キーを主キーとして作成できます。これにより、子テーブルとの一対多を解決できます。

子テーブル全体に関してtriggersは、レコードを挿入する前に PK が他の場所に存在するかどうかを確認するために使用できます。

于 2013-08-18T02:37:06.483 に答える