Muh*_*Ali 2 sql database database-design sql-server-2008-r2
我正在创建一个应用程序(桌面)来存储和检索患者的病历以及疾病.由于患者和疾病有很多关系,所以我创造了三张桌子; 患者,疾病和一个是结点表.由于一名患者可以在一段时间内在一种疾病中注册多次,因此"患者"表包含患者"参考号"和"注册日期"的复合主键.表'DISEASES'仅包含'name'作为主键.
现在我对连接表的设计有点困惑.它包含'PATIENTS'表的复合主键和'DISEASES'表的主键作为外键.
我应该在联结表中创建所有这些外键的复合主键,还是创建另一个主键或不同的主键?
任何帮助将不胜感激.
看起来设计似乎并不合适.如果患者的参考编号唯一地标识患者,那么那应该是主要密钥.如果同一患者可以多次注册给定的疾病,那么这应该是联合表中的关键部分,而不是患者表中的关键部分.
联结表中的主键应该是唯一标识关联的关键字,在这种情况下应该是由患者表中的密钥,疾病表和注册日期组成的复合密钥.
| 归档时间: |
|
| 查看次数: |
2080 次 |
| 最近记录: |