数据库:如图将E-R模型转换成关系数据模型,并举出每个关系的主键和外键。

做这种题目的思路是怎样的
当关系是1对多的时候,要不要把这个关系单独拿出来

第1个回答  2013-03-15
第一种方案:关系如下,联系隐含表示方式:
教员(职工号,姓名,职称,年龄)
课程(课程号,课程名,课时数,职工号,教师号)
教室(教室号,地址,容量)
学生(学号,姓名,年龄,性别)
选修(学号,课程号,成绩)
其中教员和课程的一对多关系、教室和课程的一对多关系均隐含在课程关系中

第二种方案:关系如下,联系显式表示方式:
教员(职工号,姓名,职称,年龄)
授课(职工号,课程号)
课程(课程号,课程名,课时数)
上课(教室号,课程号)
教室(教室号,地址,容量)
学生(学号,姓名,年龄,性别)
选修(学号,课程号,成绩)

以上两种方案中各关系主键一般是第一个属性,至于授课关系和上课关系可不设置主键,如果要设置的话也是全码,选修关系中的主键是(学号,课程号)。追问

你的第一种方案里和第二种方案,后者少了“授课”和”上课“。是不是说明:如果一个关系是“1对多”的,那么这个关系可以不写出来?如果是,那如果考试的时候,写还是不写呢?

追答

可以写也可以不写,要么怎么分两种方案呢,这两种方案哪一种都是正确的。

本回答被网友采纳
第2个回答  2013-03-15
在课程表中添加教员id和教室id
单建一个表,包含课程id额学生id
相似回答