学校学生选修课程,经简化得到的数据项列出如下:学生号s CHAR(6),学生姓名xm CHAR(8),课程号c CHA

11 查阅

学校学生选修课程,经简化得到的数据项列出如下:

学生号s CHAR(6),学生姓名xm CHAR(8),课程号c CHAR(3),课程名称cname CHAR (20),成绩 grade NUMBER。

并确定以学生(student)信息,课程(course)信息实体,它们通过“选课”(sc)联系起来。

数据库概念设计的只包含主键属性的简化E-R图如下:

要求;

(1)设计数据库的逻辑结构设计:给出相应的表名、表的属性名(数据类型可省)、主键。

(2)给出选修了课程号为"C02"的学生姓名的SQL查询语句。

(3)给出三种等价的关系代数表达式来完成上述查询。并从查询优化的角度说明哪一种关系代数表达式查询效率最高?并说明在此查询优化的基础上,对哪些字段建立索引可提高查询效率?

参考答案:

数据库的逻辑结构设计:student(s#xm)主键:s#course(c#cname)主键:c#sc(s#c#grade)主键;s#c#(2)SELECT student.xm FROM student sc WHERE student. s#=sc. s# AND sc. c#='CO2';(3)系统可以用三种等价的关系代数表达式来完成上述查询。第一种;πxm(σstudent. s#=sc. s# ∧sc. c#='C02'(student×sC))执行的步骤是:首先计算student和sc

计算机四级