1

MySql で 3 つの複合キーを使用したいですか? これでいいですか?

create table lecturer(
  lec_id varchar(6) not null,
  lec_name varchar(18) 
  primary key(lec_id)
);

create table subject(
  sub_code varchar(6) not null,
  sub_name varchar(18) 
  primary key(sub_code)
);

create table lecDetails(
  lec_id varchar(6) not null,
  sub_code varchar(6) not null,
  sem varchar(6) not null, 
  primary key(lec_id,sub_code,sem)
  FOREIGN KEY (lec_id) REFERENCES lecturer(lec_id)
  ON UPDATE CASCADE ON DELETE CASCADE,
  FOREIGN KEY (sub_code) REFERENCES subject(sube_code)
  ON UPDATE CASCADE ON DELETE CASCADE
);
4

2 に答える 2

1

参照される列を含む複合主キーを使用することは完全にOKAYであり、許容されます。SET NULLアクションがある場合、または参照される列がである場合は受け入れられませんNULL

于 2013-03-13T16:00:20.207 に答える
0

それは、テーブルの構造と保存されるレコードのおおよその数、およびテーブルにアクセスされるヒット/トランザクションの量によって異なります。

保存されている講義情報情報については、パフォーマンスの低下はないと思います。コマンドが少し遅くなる可能性がありますSELECTが、それほどではありません。

  • ここを読むのに良い質問です
于 2013-03-13T16:02:17.543 に答える