私は課題を取り組んでいます。私は主にすでに作成されたテーブルを使って作業するので、私はSQLの基本を少し錆びます。私はデータベースモデルを与えられ、それを作成するように求められました。私はモデルにエラーがあり、それらを修正するかもしれないと言われました。ここで私が問題を抱えています一部の抜粋です:他のテーブルからのプリミティブキーで構成される複合プライマリキー
http://i.imgur.com/0KyMquZ.jpg
が、私はそれを理解しようとしてグーグルと研究してきましたが、私は届かない何かがあるのならば私はよく分かりませんモデルを調整する必要があります。私が抱えている問題は、operation
テーブルと接続テーブルです。 operation
の主キーは、接続テーブルの3つの主キーともう1つの主キーdate
で構成されています。それはできますか?彼らが他のテーブルの外来キーだったら、私はそれを理解することができると思う。私はそれを行う方法を理解しようとしてきましたが、主にこれが何を示しているかの概念を頭で囲んでいます。私はちょうどその理由や理由を理解していません。コンポジット・プライマリ・キーが他の3つのテーブルになければならないのではないでしょうか?複合主キーが他のテーブルの外部キーを参照してはいけませんか?私はちょうど本当に混乱しています。私はデータベースで作業していますが、設計するのは大丈夫です。
私は教授にそれについて尋ねるだけですが、私たちは決して同じページにいません。私は彼を現時点で理解していると思うし、もっと混乱してしまいます。私はそれが重要だとは思わないが、それはMySQLだ。
あなたの質問が正確にわかりますか? –
私は、複合主キー参照の主キーを別のテーブルに見たことがありません。それはモデルの間違いですか?私はそれをする方法を理解しようとしましたが、それを得ることはできません。私は本当にコンセプトの周りに頭を浮かべることさえできません。 – user2328273
モデルは 'operation'に関してうまく見えます。各レコードは3つの関連テーブルのキーと日付の組み合わせとしてのみ存在します。したがって、それらは外部キーですが、一緒になって複合主キーになります。唯一の欠陥は、同じ手術名が同じ患者の同じ医師によって同じ日に複数回実行される可能性があるが、それは問題ではないと推測される場合である。 –