如何将实体关系图转换成关系模式

        一个实体转换成一个关系模式。

        首先,通过visio绘制一个与学生实体有联系的几个E-R图。如下图所示

         其中矩形表示的是实体(班级,学生,课程,学习账号),椭圆表示的是属性,菱形表示的是联系(拥有,持有,学习)。

       上图实体与实体之间的关系分别为:

        1、班级与学生实体为1:n (一对多), 一个班级可以拥有多个学生,学生只能在一个班级中。

        2、学生实体与课程实体的关系为:m:n(多对多) ,一个学生可以学习多门课程,一门课程可能被多名学生选择。

        3、学生与学生账号实体的关系为1:1(一对一),一个学生只能持有一个学生账号,一个学生账号只能被一个学生使用。

        根据实体与实体之间的关系的不同来转换成不同的关系模式:

        1.实体间的关系为 1:1(一对一): 当实体间的关系是1:1时,将任意一个实体的主键放在另一个实体作为外键存在。

        例如:如上图所示的学生与学生账号实体的关系模式就可以转换成:

(学生和学长账号实体是1:1关系)

学生(学号,姓名,性别,账号编号);

学生账号(账号编号,账号用户名,账号密码);

或者

学生(学号,姓名,性别);

学生账号(账号编号,账号用户名,账号密码,学号);

        

        2.实体间的关系为1:n(1对多):当实体间的关系是1:n时,关系对应为1的实体主键在关系对应为n的实体作为外键存在。即为n的实体有一个外键是1的主键。

          例如:如上图所示的学生与班级实体的关系模式就可以转换成:

(班级和学生实体是1:n关系)

班级(班级编号,班级名称);

学生(学号,姓名,性别,班级编号);

               

        3.实体间的关系为m:n(多对多):当实体间的关系是m:n时,这个时候需要新建一个关系模型,该关系模式的主键是由两个实体的主键一起组成,在加上产生联系的属性。

          例如:如上图所示的学生与课程实体的关系模式就可以转换成:

(学生与课程实体是m:n关系)

学生(学号,姓名,性别,班级编号);

课程(课程编号,课程名称,学分);

学习课程信息(学号课程编号,成绩);

               

        将实体关系图转换成关系模式就可以在数据库中建表啦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tanxinji

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值