关于数据库表与表之间的联系!!

数据库中表与表之间的联系是不是只有一个表的外键和另一个的主键才可以建立联系,?好象主键和主键之间,外键和外键之间也可以建立联系,他们有什么区别?

数据库由若干个表构成。表与表之间通过主键和外键构成关系。主键和外键是相对的。这个表的主键,可能就是另一个表的外键。或者说,一个键,在这个表中是主键,而在另一个表中可能就是外键了。主键与外键只是区别于他的功能。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-22
一对一:例如t_person表和t_card表,即人和身份证。这种情况需要找出主从关系,即谁是主表,谁是从表。人可以没有身份证,但身份证必须要有人才行,所以人是主表,而身份证是从表。设计从表可以有两种方案:
在t_card表中添加外键列(相对t_user表),并且给外键添加唯一约束;
给t_card表的主键添加外键约束(相对t_user表),即t_card表的主键也是外键。
一对多(多对一):最为常见的就是一对多!一对多和多对一,这是从哪个角度去看得出来的。t_user和t_section的关系,从t_user来看就是一对多,而从t_section的角度来看就是多对一!这种情况都是在多方创建外键!
多对多:例如t_stu和t_teacher表,即一个学生可以有多个老师,而一个老师也可以有多个学生。这种情况通常需要创建中间表来处理多对多关系。例如再创建一张表t_stu_tea表,给出两个外键,一个相对t_stu表的外键,另一个相对t_teacher表的外键。
相似回答