关系模式题
- 有如下记录教师讲授课程信息的表格:
教师编号 | 教师姓名 | 课程编号 | 课程名称 | 开课编号 | 开课时间 | 开课地点 |
---|---|---|---|---|---|---|
t1 | 张明 | c1 | 数据库 | k1 | 2010年春季 | 理教201 |
t2 | 李戈 | c1 | 数据库 | k1 | 2010年春季 | 理教201 |
t1 | 张明 | c1 | 数据库 | k2 | 2011年春季 | 理教205 |
t3 | 王杰 | c1 | 数据库 | k2 | 2011年春季 | 理教205 |
t3 | 王杰 | c3 | 操作系统 | k3 | 2010年秋季 | 理教408 |
t3 | 王杰 | c3 | 操作系统 | k4 | 2012年秋季 | 理教209 |
t2 | 李戈 | c3 | 操作系统 | k5 | 2012年秋季 | 理教210 |
试根据表格中内容,画出合适的ER图。
将ER图转换为关系模型,并指明转换后的每个关系模式的主码和外码。
3个关系模式:
教师(教师编号,教师姓名),教师编号是主码。
课程(课程编号,课程姓名),课程编号是主码。
开课(教师编号,课程编号,开课时间,开课地点),其中(教师编号,课程编号)是主码,教师编号参考于教师(教师编号),课程编号参考于课程(课程编号)。
- 在一个数据库中,相关表的建表语句如下
create table T1(
a1 int primary key,
a2 int,
a3 int foreign key references T2(a3));
create table T2(
a3 int primary key,
a4 int,
a5 int foreign key references T2(a3));
create table T3(
a6 int primary key,
a7 int);
create table T4(
a1 int foreign key references T1(a1),
a3 int foreign key references T2(a3),
a6 int foreign key references T3(a6),
a8 int,
primary key(a1,a3,a6));
请画出相应的ER图,使得可以从该ER图推导出上述表定义,其中实体和联系的名称可以自定。
【解析】本题T1、T2的主键是单一主键,并且存在外键。T3存在单一主键,不存在外键。因此可以推断出T1对应的实体t1,属性是a1、a2,a1是主键,a3是另外一个实体的主键;T2对应的实体t2,属性是a3、a4,其中a3是主键,a5是另外一个实体的主键。
t1和t2之间是多对一关系。a5对应实体t3只有一个属性,和t2实体之间是一对多关系。
而T3对应的实体t4的属性是a6、a7,其中a6是主键。T4表的主键是由实体t1、t2、t4的主键组成(a1,a3,a6),属性是a8。根据实体间联系转换规则,表T4是多对多联系转换而成。t4和t1、t2是多对多关系,a8是联系的属性。
- 某公司需建立产品信息数据库,经调查其业务要求如下:
Ⅰ.一种产品可以使用多个不同利,类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;
Ⅱ.对于一种具体的部件,