小编cod*_*iac的帖子

关系数据库设计最佳实践

我是一名学生,我正在尝试设计一个简单的数据库,所以如果这些想法看起来很糟糕,请告诉我如何改进。

我脑子里有三张桌子,一张给教授,一张给学生。他们都有联系方式。我需要知道实现三者之间关系的最佳实践是什么。

我看到两种可能性:A)让教授和学生表都使用自动增量字段和补充默认初始化字段(假设教授为 1,学生为 2)。然后在第三个表 (Contacts) 中创建一个键作为唯一 ID 和默认初始化字段的组合。

B) 有 for 表而不是三个,有两个与 ContactStudents 和 ContactProfessors 相同的结构表,每个表都为相应的表服务。

从我的角度来看,我会选择第一个,因为如果我想向 Contact 表添加新字段,两者都会从中受益。

你认为哪一个最好,为什么?有没有另一种更好的方法来实现这一目标?

编辑:

在各种答案之后,在 zagrimsan 的建议下,我添加了以下要求:学生也可以是教授。一个人(教授的学生)可以有多个联系人。一个联系人可以被多个学生和教授(同种)重复使用,但不能同时被学生和教授重复使用,除非同一个学生也是教授。

database-design

1
推荐指数
1
解决办法
716
查看次数

标签 统计

database-design ×1