问答题某医院病房信息管理系统需要存储如下信息: ·科室:科室名,科室地址,科室电话。 ·病房:病房号,床位个数。 ·医生:姓名,职称,年龄,工作证号。 ·病人:病历号,姓名,性别,诊断说明。 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主治医生只有一个,一个病房可以有多个病人,但一个病人只属于一个病房。
问答题有学生表(学号,姓名,年龄,性别,系名,专业名,班号),设一个系可有多个专业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按“系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立一个非聚集索引。建立此索引有下列两种方法: 方法1:索引列顺序为(班号,系名)。 方法2:索引列顺序为(系名,班号)。
问答题事务T1、T2和T3按如下调度方式并发地对数据项A、B、C进行访问,假设A、B、C的初值分别为A=20,B=30,C=40。
问答题某学生选课数据库,库中包括学生、课程和选课3个表,其表结构为:
学生(学号,姓名,性别,年龄,所在系);
课程(课程号,课程名,先行课);
选课(学号,课程号,成绩)。
用Transact-SQL完成下列操作。
1)建立学生选课数据库。
2)建立学生、课程和选课表。
3)建立各表以主码为索引项的索引。
4)建立学生性别只能是“男”或“女”的规则,性别为“男”的缺省,并将它们绑定到学生表上。
5)建立在对选课表输入或更改数据时,必须服从参照完整性约束的INSERT和UPDATE触发器。
6)建立在删除学生记录时,同时也要把相应的选课记录删除的触发器。
7)列出学生学号、姓名及学习情况。学习情况用好、较好、一般或较差表示。当平均成绩大于85分时,学习情况为好;当平均成绩在70~85分之间,学习情况为较好;当平均成绩在60~70分之问,学习情况为一般;当平均成绩在60分以下,学习情况为较差。
问答题设有关系模式:教师(教师号,姓名,职称,研究方向,参与项目号,项目名称,项目经费,立项时间,系号,系名),满足以下函数依赖集: 教师号→姓名,教师号→职称,教师号→研究方向,参与项目号→项目名称,参与项目号→项目经费,参与项目号→立项时间,教师号→系号,系号→系名 ①请给出这个关系模式的主码。 ②请将其分解为满足3NF的关系模式(分解后的关系模式名自定)。 ③设这个应用系统需增加奖励信息,奖励信息有:奖项编号,奖项名称。设一名教师可以获得多个奖项,同一奖项可由多名教师获得,系统需要记录教师获奖时间。请根据以上要求补充关系模式。
问答题简述数据库设计中要进行关系规范化的必要性。
问答题现有关系数据库如下: 学生(学号,姓名,性别,年龄,籍贯,专业) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 用SQL语言实现以下操作:
问答题设关系数据库中有两个关系: Course(Course_name,TeacherID) Enrollment(Course_name,StudentID,Grade) 设有3门课程,5个学生,学生与课程之间有选修关系。试用聚集文件表示这两个关系的文件结构。
问答题关于Student表:
{{B}}Student表结构{{/B}}
列名
含义
数据类型
约束
Sno
学号
普通编码定长字符串,长度为7
主码
Sname
姓名
普通编码定长字符串,长度为10
非空
Ssex
性别
普通编码定长字符串,长度为2
取值范围为:{男,女}
Sage
年龄
微整型
大于等于14
Sdept
所在系
普通编码不定长字符串,长度为20
问答题某教学管理数据库中有如下3个基本表。
学生:S(
S#
,SNAME,AGE,SEX),属性分别表示学号、姓名、年龄和性别。
学习:SC(
S#,C#
,GRADE),属性分别表示学号、课程号和成绩。
课程:C(
C#
,CNAME,TEACHER),属性分别表示课程号、课程名和教师姓名。
试用SQL语句完成下列操作:
(1)查询年龄大于20岁的男学生的学号和姓名。
(2)查询选修课程名为“操作系统”课程的学生的平均年龄。
(3)查询教师“王明”所授课程的课程号和课程名。
(4)查询选修课程包含教师“王明”所授课程的学生学号。
(5)查询教师“王明”所授课程的每门课程的学生平均成绩。
(6)统计每门课程的学生选修人数(超过10人的课程才统计),要求输出课程号和选修人数,查询结果按选修人数降序排列,若人数相同,则按课程号升序排列。
(7)查询姓张的所有学生的姓名和年龄。
(8)查询成绩为空值的学生学号和课程号。
(9)查询年龄大于女学生平均年龄的男学生姓名和年龄。
(10)查询年龄大于所有女学生年龄的男学生姓名和年龄。
(11)查询选修课程门数超过学号为S0001的学生选修门数的所有学生信息。
(12)查询每个学生的学号、选修课程门数(COUNT_C)和总成绩(TOTAL_G),将查询结果保存在一个名为RESULT的新表中。
(13)将SC中尚无成绩的选课记录删除。
(14)将学生“张三”的学习选课信息全部删去。
(15)将选修“操作系统”课程且不及格的成绩全改为空值。
(16)将低于总平均成绩的女学生成绩提高10%。
问答题在SQL server 2000中,设有图书表(书号,书名,类别,单价)和图书印刷表(书号,印刷日期,印刷数量,印次),每个书号代表一种图书。书号、书名和类别的数据类型均为varehar(20),单价、印刷数量和印次的数据类型均为int,印刷日期的数据类型大smalldatetime.现需查询指定类别的图书在指定年份后(含指定年份)累计印刷总数量。请写出实现该功能的标量函数。(10分)
问答题设有商品表(商品号,商品名,单价)、销售表(商品号,销售时间,销售数量,销售单价)和毛利表(商品号,总毛利)。设单价、销售数量、销售单价和总毛利为整型,毛利表中已有全部商品的商品号记录且总毛利的初始值均为0。现有业务要求:每当在销售表中插入一行数据时,系统自动计算该商品的总毛利,毛利=销售数量×(销售单价-单价)。请定义满足该要求的后触发型触发器。
问答题在学籍管理中,设有4个表,关系模式分别为:
STUDFNT(SNO,SNAME,SEX,BIRTHDAY,CLASS)
TEACHER(TNO ,TNAME, SEX,BIRTHDAY,PROFESSION,DEPARTMENT)
COURSE(CNO,CNAME, TNO)
SCORE(SNO,CNO,DEGREE)
说明:
学生关系模式中:SNO:学号;SNAME:姓名;SEX:性别;BI]RTHDAY:出生日期;CLASS:班级;
教师关系模式中:TNO:教师号;TNAME:姓名;SEX:性别;BIRTHDAY:出生日期;PRO-FESSION:职称;DEPARTMENT:所在系;
课程关系模式中:CNO:课程号;CNAME:课程名;TNO:任课教师号;
成绩关系模式中:SNO:学号;CNO:课程号;DEGREE:分数。
请用SQL查询语句实现下列操作:
1)显示教师所有的单位,即不重复的DEPARTMENT列。
2)显示STUDENT表中“95031”班或性别为“女”的同学记录。
3)以CNO升序,DEGREE降序显示SCORE表的所有记录。
4)显示“95031”班的学生人数。
5)显示SCORE表中至少有5名学生选修的并以3开头的课程号的平均分。
6)显示最低分大于70,最高分小于90的SNO列。
7)显示选修“3 -105”课程的成绩高于“109”号同学成绩的所有同学的记录。
8)显示SCORE表中选学多门课程的同学中分数为非最高分成绩的记录。
9)列出学号为“108”的同学同年出生的所有学生的SNO、SNAME和BIRTHDAY。
10)显示“张三”教师任课的学生成绩。
问答题设工程一零件数据库中有4个基本表: 供应商(供应商代码,姓名,所在城市,联系电话)。 工程(工程代码,工程名,负责人,预算)。 零件(零件代码,零件名,规格,产地,颜色)。 供应零件(供应商代码,工程代码,零件代码,数量)。 试用SQL语句完成下列操作: (1)找出天津市供应商的姓名和电话。 (2)找出使用供应商S1所供零件的工程号码。 (3)查找预算在50000~100000元之间的工程的信息,并将结果按预算降序排列。 (4)找出上海厂商供应的所有零件号码。 (5)找出工程项目J2使用的各种零件名称及其数量。 (6)找出使用上海产的零件的工程名称。 (7)找出没有使用天津产的零件的工程号码。 (8)把全部红色零件的颜色改成蓝色。 (9)将由供应商S5供给工程代码为J4的零件P6改为由S3供应,并做其他必要的修改。 (10)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。
分析题阅读【说明】,回答问题
创建触发器TEST,定义AFTER行级触发器,要求每当在STUDENT表中修改数据后,将向客户端显示一条“记录已修改”的消息。
{{U}} (1) {{/U}} {{U}} (2) {{/U}} ON
STUDENT {{U}} (3) {{/U}} AS
Print '记录已修改'
SQL语言和主语言具有不同的数据处理方式,SQL是面向{{U}} (1) {{/U}}的,而主语言是面向{{U}} (2)
{{/U}}。
假设某数据库中有表SC(S#,C#,Grade),各属性分别表示为学号,课程号及相应的成绩。请补充如下查询语句,求各个课程号及相应的选课人数。
SELECT {{U}} (10) {{/U}} FROM SC
{{U}} (11) {{/U}}
设有三个基本表,表ITEM(项目号,项目名,项目负责人,电话),BIP(项目号,零件号,数量,日期),PART(零件号,零件名称,规格,单价),完成SQL语句统计出每个项目使用零件的金额和不同项目使用零件的合计金额,并将结果按表SSP(项目号,项目名,金额)的结构显示。
SELECT ITEM.项目,项目名,SUM(单价*数量)AS金额 FROM
ITEM,BIP,PART WHERE{{U}} (12) {{/U}}
GROUP BY ITEM.项目 {{U}} (13) {{/U}}
SELECT“合计”,SUM(单价*数量) FROM BIP,PART
WHERE{{U}} (14) {{/U}} ORDER BY 1
{{/U}} (15) {{/U}}
设供应商零件的关系模式为SP(Sno,Pno,Qty),其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句:
{{U}} (4) {{/U}} FROM SP SPX WHERE
{{U}}(5) {{/U}} (SELECT* FROM SP
SPY WHERE {{U}}(6) {{/U}} AND NOT EXISTS
(SELECT* FROM SP SPZ WHERE {{U}}(7)
{{/U}}))