设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可选多门课程,一门课程可以被多名学生选。每位学生由学号惟一标识,一个学生只在一个系学习;每门课程由课程号惟一标识。每个学生选的每门课程有惟一的成绩。 (1)请指出此关系模式的候选键。 (2)写出该关系模式的函数依赖集。 (3)该关系模式属于第几范式?并简单说明理由。 (4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
正确答案
(2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,(学号,课程号)→成绩
(3)属于第二范式,因为存在部分函数依赖:学号→姓名。
(4)第三范式关系模式:
学生(学号,姓名,所在系,性别) 课程(课程号,课程名,学分)
考试(学号,课程号,成绩),学号为引用学生的外键,课程号为引用课程的外键。
答案解析
相似试题
(单选题)
有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于()。
(简答题)
有三个关系, student:Sno(学号),Sname(姓名),Ssex(性别),Sage(年龄),Sdept(所在系)。 Course:Cno(课程号),Cname(课程名),Credit(学分),Semester(开课学期),Pcno(直接先修课)。 SC://Sno(学号),Cno(课程号),Grade(成绩)。 试用关系代数表达式完成下列查询: (1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。 (2)查询“数据库基础”课程的考试情况,列出学生姓名、所在系和考试成绩。 (3)查询考试成绩高于80分的学生的姓名、课程名和成绩。 (4)查询计算机系没选VB的学生姓名。
(简答题)
设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。 (1)请指出此关系模式的候选键。 (2)写出该关系模式的函数依赖集。 (3)该关系模式属于第几范式?并简单说明理由。 (4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
(单选题)
设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。
(单选题)
设数据库中已有教材中的Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Credit,Semster)和SC(Sno,Cno,Grade)表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是()。
(单选题)
现有学生表和修课表,其结构为: 学生表(学号,姓名,入学日期,毕业日期) 修课表(学号,课程号,考试日期,成绩) 现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是()。
(简答题)
假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句: 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询至少选修了两门课程(含两门)的学生学号; (5)查询王文芳同学选修的所有课程的课程号; (6)查询王文芳同学不学的课程的课程号; (7)查询所有上刘峰老师课程的学生学号; (8)查询所有选修“数据库原理”的学生的学号; (9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男) (10)删除三张表中所有学号为20020001的学生信息; (11)把学号为20030002的学生的年龄改为22岁。
(简答题)
设学生成绩表的结构为(学号、课程号、成绩),程序运行界面如图1所示。进入界面后,用户首先选择学号(Combo1)、课程号(Combo2),姓名(Text1)和课程名(Text2)从数据库中自动读入;然后,用户输入对应的成绩(Text3),点击“确认”按钮后,将结果插入到学生成绩表中。请补充完成下列程序代码。
(单选题)
设有描述图书出版情况的关系模式:出版(书号,出版日期,印刷数量),设一本书可以被出版多次,每次出版都有一个印刷数量。该关系模式的主码是()。