怎样将数据库中的逻辑关系,一对一、一对多、多对多的关系转换成数据表?举例说明。

来源:百度知道 编辑:UC知道 时间:2024/09/21 05:49:57
请帮我解答一下,多谢各位了!

一对一:我有一个身份证号 ;
一对多:我有多张银行卡;
多对多:我是招行、交行、建行的客户,但是这些银行用户均过亿。

一对一的关系:任一选择其一作为主键,例如:一个学生仅有一个学号,一个名字,如果名字是唯一的,则学号和名字是一对一的关系:student(sno,sname)(这是把学号作为主键),student(sname,sno)(这是把姓名作为主键)。
一对多的关系:选择多的作为主键,例如:一个班有一个班主任,班上学生有多个。banji(sno,tno)(这是把学生的学号作为主键)。因为一个班主任无法唯一确定具体是哪个学生,但是我知道一个学生的学号,就能唯一确定他的班主任。
多对多的关系最为复杂,一般是建立关系表。一个学生可以选择多门课,一门课可以有多个学生选择,所以,把relation(sno,cno,***)(把学号和课程号作为联系表的主键,sno是学生表的主键,cno是课程表的主键,***代表其他字段)