阅读以下说明和关系表,回答问题1-3。[关系表]
问答题 试问以下行是否可以插入表“学生”中,并说明理由。
【正确答案】正确答案:第(1)行行不能插入,因为在表“院系”中不存在代号为1106的院系; 第(2)行不能插入,因为违反了键完整性,其学号键为空; 第(3)行可以插入,平均成绩可以为NULL值,表示现在尚未有成绩。
【答案解析】
问答题 若想再多建一个名为“导师”的表,其属性有“教师号”“姓名”“性别”“所在院系”“学生”“职称”。其中“教师号”与“姓名”属性不能为空,并将“教师号”设为主码,将“所在院系”设为表“院系”中属性“院系代号”的一个外键。规定各属性的数据类型如下:“教师号”:smallint;“姓名”:char(10);“性别”:char(2);“所在院系”:int;“学生”:char (10);“职称”:char(8)。 用SQL语言创建该表,并插入以下信息(以第(1)条为例即可)。
【正确答案】正确答案:创建“导师”表: create table 导师 (教师号 small int not NULL, 姓名 char(10) not NULL, 性别 char(2), 院系代号 int, 学生 char(10), 职称 char(8), primary key (教师号), foreign key (院系代号)reference 院系 ) 插入第(1)条信息: insert into 导师values(33‘张辉’‘男’,1101,陈鑫,‘教授’)
【答案解析】
问答题 (1)用关系代数表达式完成以下操作: 检索“平均成绩”低于80的学生的“学号”“姓名”“院系名称”; 检索“学生”陈鑫导师的“教师号”。(2)用SQL语言完成以下操作: 列出“平均成绩”最高的学生信息; 将03级的所有学生按“学号”升序进行排序。
【正确答案】正确答案:(1)第一题:∏学号,姓名,院系名称(σ平均成绩<80(院系学生)) 第二题:可建立一个临时关系R
【答案解析】