Sql 内部联接与不同表中的所有相似数据

Sql 内部联接与不同表中的所有相似数据,sql,database,datatable,inner-join,difference,Sql,Database,Datatable,Inner Join,Difference,以下哪种数据库模式是更好的模型 例如: Teacher(id, name, surname, login,password, subject, degree....) Student(id, name, surname, login, password, group, faculty....) VS 通过内部连接来连接它 你更喜欢哪种方式 这完全取决于情况。在第一个模型中,学生和教师是完全独立的实体。因此,关系只针对其中一方,而不针对另一方 在第二个模型中,学生和教师是用户的子集(三个表中的

以下哪种数据库模式是更好的模型

例如:

Teacher(id, name, surname, login,password, subject, degree....)

Student(id, name, surname, login, password, group, faculty....)
VS

通过内部连接来连接它


你更喜欢哪种方式

这完全取决于情况。在第一个模型中,
学生
教师
是完全独立的实体。因此,关系只针对其中一方,而不针对另一方

在第二个模型中,
学生
教师
用户
的子集(三个表中的
id
可能相同)。这允许您拥有引用
用户的其他表,比如地址表或事务表


不清楚您的数据模型是否需要与
用户的关系。因此,没有办法说一个比另一个更好。

因为有些学生也可能教,所以我选择备选方案2。这是一个常见问题解答。在考虑发帖之前,请始终用谷歌搜索你的错误消息或你的问题/问题/目标的许多清晰、简洁和准确的措辞,有/没有你的特定字符串/名称和网站:stackoverflow.com和标签,并阅读许多答案。如果你发布一个问题,用一句话作为标题。请参见文本上方的投票箭头(&S)。除非我们努力(重新)写清楚,否则我们无法推理、沟通或搜索工程中没有“更好”/“最好”这样的东西,除非你定义它。同样不幸的是,所有合理的实用定义都需要大量的经验,其中包含大量的因素,这些因素与对细节的敏感度混乱相互作用。做简单的设计。当你通过测量证明一个设计和你能想到的所有备选方案都有问题(无论当时是什么意思),然后问一个非常具体的问题。还应定义“更好”/“最佳”。
User(id, login, password, name, surname)

Student(id, group, faculty...)

Teacher(id, object, degree...)