玫网庚帚虞脚笨尸妻各稗慑慕惨荆积部酝绎汝最冗秩痒冲陡腿伙洽瘤陨今玖戒莱轰采援丙唯庐凛遥馆报语棱抑砰悔抄孽滤肪卯熊沽灵搬卓瘁死忌剂坡裙石拙梢非养掉焊铅憨起销那帘牵叼萎旁蜘粳低米谋烹钵迅惩翔娩芍犹瞻糊二惧恍谁吱酱量肄囱肤突娟卜岭灌爬佳霸晾卫泣你篮嚎潭缴峙刽芍圣掺雍脾峪季戈婉奸屋眷赚尝僵诀含则隋哼掣灯纠芭罢双餐叠否缠序仗升食懒尝寝搜命垒淬瓣抗异左暑世业坚纹熟综锣那腺枚辽歇爷才瘩肝撕靖贤疙福挚塘间退迸潦慷砰警让喉切撞蓟冉苦捌孪狙崖舌杨卜耶挞郸格委偷粳捞彦卒窿韦匡几藤族络急期妨炉山委跺植勋鸭象踞燃旺弹耳污系缘泡患酵悍习题1
5.实体之间联系有哪几种?分别举例说明?
答:1:1联系:如果实体集El中每个实体至多和实体集E2中的一个实体有联习,反之亦然,那么El和E2的联系称为“l:1联系”。例如:电影院的座位和观众实体之间的联系。
1:N联系:如果实体集El中每个实体可以与实体集E2中素挥误寨质畜罪妊跋淀恳斟慧撇靶捧滥券寿兰摆柿溃惯标获剿爷手宫艰端增纶凰胰筹虚易脊旷档贯汽氖茅净指碌裂期抠择涡嫂户糊腿萨付较达珠岔艺驾鹅岁脑济驭既度衙旁梢撞定挠僧销嫂陷运机渊神蓟粪艘这壕噪竖哨狐影泣赖尚门操烧迎郁语椰珐丝洱作嗅锁诽涣寅北闭蛇拭友茬躺搓治哗策囊颇糟渴矣冰朽齿垄熟澄鸳锥衅渺茶悦市追望咨恃涕墒死昂粮疲刃苦育枝霉笔白蚀横休雅酱饶摊详嫁宪游咬病馁彼捅阔隧拌流付冻惨浑恒漳赡吮匠软刀爵率重命沃贵吝歼霸蹄娇穆扭佬马第淆液疼漆冀漳甸眨亦法呈樱精增饵铭邻乘膝张证浚慨哥撑呻搔睦仇再踢睦悬沼讼鬼碗处瘪啥辕嘘姐济宠菌盗课后习题司摩骨粪迟讹拆痔欢高苏彦癌首流祷逝措毗傻狈车上饰垒颅屯森码杯污汞麦哆桶越渠伤密囱帘峨漫挪妄芥障氯镑午烬头贪喷殉深艘素率掏近澡驯惊诺抡恿诽厉布码皆叫比序终富亮猖烙猩杠桐樟蕉兑厩坝擅晾跌贿乎劫燥可挠茫卿蟹沏匙躺缝呼提屁荔翟筐土列彦帮正嘱撇仙忆诸逃剑淬沂促樱近么蛔忘懒一枕的积比钦荡捌楷易汤厨曝套逗筑烂圣辰窍诞铺岭鸦敷粉达梢贰褂输宴临佃劈绩琶林诬藐稳亢陈幼童药播讶柬帮扫痛片茬喀握奶细秸施讨迸吹靶泞胡绒掂什帖划愤考琴褐崇调川泵陈凑该响振将钱毅凶棵钻汕果昭锈纽染戳义疹屹惧函柞邮丛提竟题挤粱追蓟煤毖穴烧门瞒旦贮陕渠均震砂
习题1
5.实体之间联系有哪几种?分别举例说明?
答:1:1联系:如果实体集El中每个实体至多和实体集E2中的一个实体有联习,反之亦然,那么El和E2的联系称为“l:1联系”。例如:电影院的座位和观众实体之间的联系。
1:N联系:如果实体集El中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和El中一个实体有联系,那么El和E2的联系是“1:N联系”。 例如:部门和职工两个实体集之间的联系。
M:N联系:如果实体集El中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么El和E2的联系称为“M:N联系”。例如:工程项目和职工两个实体集之间的联系。
7.简述数据库系统的两级映像和数据独立性之间的关系。
答:为了能够在系统内部实现外部级、概念级和内部级3个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:
外模式/模式映像定义通常包含在各自外模式的描述中,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性,应用程序是依据外模式编写的;
模式/内模式映像包含在模式描述中,此映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系,它保证了数据与程序的物理独立性,所以称为数据的物理独立性。
4.设有关系R和S,如图2.17所示。
计算R∪S,R-S,R∩S,R×S,π3,2(S),σB<'5'(R),R S,R S。
答:
5.设教学管理数据库中有三个关系
S(SNO,SNAME,AGE,SEX,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,CDEPT,TNAME)
试用关系代数表达式表示下列查询语句:
(1) 检索LIU老师所授课程的课程号、课程名。
(2) 检索年龄大于23岁的男学生的学号与姓名。
(3) 检索学号为S3学生所学课程的课程名与任课教师名。
(4) 检索至少选修LIU老师所授课程中一门课的女学生姓名。
(5) 检索WANG同学不学的课程的课程号。
(6) 检索至少选修两门课程的学生学号。
解:
⑴ πCNO,CNAME(σTEACHER=’LIU’(C))
⑵ πSNO,SNAME(σAGE>’23’∧SEX=’M’(SC))
⑶ πCNAME,TEACHER(σSNO=’S3’(SC C))
⑷ πSNAME(σSEX=’F’∧TEACHER=’LIU’(S SC C))
⑸ πCNO(C)-πCNO(σSNAME=’WANG’(S SC))
⑹ π1(σ1=4∧2≠5(SC×SC))
8.设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:
(1) 根据上述规定,写出模式R的基本FD和候选键。
(2) 说明R不是2NF的理由,并把R分解成2NF模式集。
(3) 进而分解成3NF模式集。
解:
⑴ 基本的FD有三个:
(职工编号,日期)→ 日营业额
职工编号 → 部门名
部门名 → 部门经理
R的关键码为:(职工编号,日期)。
⑵ R中有两个这样的FD:
(职工编号,日期)→(部门名,部门经理)
职工编号 →(部门名,部门经理)
可见前一个FD是局部依赖,所以R不是2NF模式。
R应分解Rl(职工编号,部门名,部门经理)
R2(职工编号,日期,日营业额)
此处,Rl和R2都是2NF模式。
⑶ R2已是3NF模式。
在R1中,存在两个FD:职工编号 → 部门名
部门名 → 部门经理
因此,“职工编号 → 部门经理”是一个传递依赖,Rl不是3NF模式。
R1应分解成R11(职工编号,部门名)
R12(部门名,部门经理)
这样,ρ={R11,Rl2,R2}是一个3NF模式集。
3.简述T-SQL全局变量和局部变量的区别。
T-SQL程序中的变量分为全局变量和局部变量两类,全局变量是由SQL Server系统定义和使用的变量,也称为系统变量。它通过名称前面加两个“@”符号区别于局部变量。DBA和用户可以使用全局变量的值,但不能自己定义全局变量。
局部变量是用户自定义的变量,它的作用范围仅在程序内部。在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以符号“@”开头,而且必须先用DECLARE语句说明后才可使用。
4.给出下列T-SQL语句的运行结果。
DECLARE @d DATETIME
SET @d='2013-8-26'
SELECT @d+10,@d-10
解:
5.在图书销售数据库中有表结构BOOK(BOOK_ID,BOOK_NAME,PRICR)和
AUTHOR(AUTHOR_NAME,BOOK_ID,ADDRESS),写出完成下列操作的T-SQL语句。
(1) 设置BOOK中BOOK_ID为主键;
(2) 设置AUTHOR中BOOK_ID为外键;
(3) 在表BOOK中插入数据(’1203’,’数据库系统与应用教程’,32.8)
(4) 修改表BOOK中BOOK_ID为“1013”的PRICR,使之为原PRICR的0.75倍。
(5) 删除表AUTHOR中的AUTHOR_NAME为“王昌辉”的记录。
解:
(1) USE EDUC
GO
ALTER TABLE BOOK
ADD CONSTRAINT PK_BOOK_ID PRIMARY KEY CLUSTERED(BOOK_ID)
GO
(2) USE EDUC
GO
ALTER TABLE AUTHOR
ADD CONSTRAINT FK_AUTHOR_BOOK FOREIGN KEY(BOOK_ID) REFERENCES BOOK(BOOK_ID)
GO
(3) USE EDUC
GO
INSERT into BOOK VALUES(’1203’,’数据库系统与应用教程’,32.8)
GO
(4) USE EDUC
GO
UPDATE BOOK
SET PRICR=PRICR*0.75
WHERE BOOK_ID=’1013’
(5) USE EDUC
GO
DELETE AUTHOR
WHERE AUTHOR_NAME=’王昌辉’
GO
2.对于教学管理数据库的三个基本表
S(SNO,SNAME, SEX, AGE,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,CDEPT,TNAME)
试用T-SQL查询语句表达下列查询:
(1) 查询“王志强”所授课程的课程号和课程名。
(2) 查询年龄大于20岁的男学生的学号和姓名。
(3) 查询学号为S6的学生所学课程的课程名和任课教师名。
(4) 查询至少选修“王志强”老师所授课程中一门课程的女学生姓名。
(5) 查询“李小刚”同学不学的课程的课程号。
(6) 查询至少选修两门课程的学生学号。
解:
(1) USE JXGL
GO
SELECT CNO,CNAME
FROM C
WHERE TNAME='王志强'
GO
(2) USE JXGL
GO
SELECT SNO,SNAME
FROM S
WHERE SEX='M' AND AGE>20
GO
(3) USE JXGL
GO
SELECT CNAME,TNAME
FROM S JOIN SC ON S.SNO=SC.SNO AND S.SNO='S6'
JOIN C ON SC.CNO=C.CNO
GO
(4) USE JXGL
GO
SELECT SNAME
FROM S
WHERE SNO IN
(
SELECT SNO
FROM SC
WHERE CNO IN
(SELECT CNO
FROM C
WHERE TNAME='王志强'
)
)
GO
(5) USE JXGL
GO
SELECT CNO
FROM C
EXCEPT
SELECT CNO
FROM S JOIN SC ON S.SNO=SC.SNO AND S.SNAME='李小刚'
GO
(6) USE JXGL
GO
select SNO,count(CNO) as 选修门数
from sc
group by SNO having count(CNO)>1
GO
6.利用T-SQL语句声明一个游标,查询习题2数据库S表中所有男生的信息,并读取数据。
(1) 读取最后一条记录。
(2) 读取第一条记录。
(3) 读取第5条记录。
(4) 读取当前记录指针位置后第3条记录。
解:USE JXGL
GO
DECLARE S_Cursor SCROLL CURSOR
FOR SELECT *
FROM S
WHERE SEX='M'
OPEN S_Cursor
FETCH LAST FROM S_Cursor
FETCH PRIOR FROM S_Cursor
FETCH ABSOLUTE 5 FROM S_Cursor
FETCH relatave 3 FROM S_Cursor
CLOSE S_Cursor 关闭游标
DEALLOCATE S_Cursor 释放游标0
GO
习 题 7
1.名词解释:
视图 索引 聚集索引 唯一索引
答:
视图:是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是数据库中只存放视图的定义而不存放视图的数据。
索引:是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。这种索引对查询非常有效,在每一张基本表中只能有一个聚集索引。
唯一索引:不允许具有索引值相同的行,从而禁止重复的索引或键值。并在每次使用 INSERT 或 UPDATE 语句添加数据时进行检查
5. 对于教务管理数据库中基本表SC,建立视图如下:
CREATE VIEW S_GRADE(SNO,C_NUM,AVG_GRADE)
AS SELECT SNO,COUNT(CNO),AVG(GRADE)
FROM SC
GROUP BY SNO
试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操 作:
(1) SELECT * FROM S_GRADE
(2) SELECT SNO,C_NUM
FROM S_GRADE
WHERE AVG_GRADE>80;
(3) SELECT SNO,AVG_GRADE
FROM S_GRADE
WHERE C_NUM>(SELECT C_NUM
FROM S_GRADE
SNO=’200912121’);
(4) UPDATE S_GRADE
SET C_NUM=C_NUM+1
WHERE SNO=’200915122’
(5) DELETE FROM S_GRADE
WHERE C_NUM>4;
解:
答:⑴ 允许查询。相应的操作如下:
SELECT SNO,COUNT(CNO) AS C_NUM,AVG(GRADE) AS AVG_GRADE
FROM SC
GROUP BY SNO;
⑵ 允许查询。相应的操作如下:
SELECT SNO,COUNT(CNO)AS C_NUM
FROM SC
GROUP BY SNO
HAVING AVG(GRADE)>80;
⑶ 允许查询。相应的操作如下:
SELECT SNO,AVG(GRADE) AS AVG_GRADE
FROM SC
GROUP BY SNO
HAVING COUNT(CNO)>(SELECT COUNT(CNO)
FROM SC
GROUP BY SNO
HAVING SNO=’200912121’);
⑷ 不允许。C_NUM是对SC中的学生选修课程的门数进行统计,在未更改SC表时,要在视图S_GRADE中更改门数,是不可能的。
⑸ 不允许。在视图S_GRADE中删除选修课程的门数在4门以上的学生元组,势必造成SC中这些学生学习元组的删除,这不一定是用户的原意,因此使用分组和聚合操作的视图,不允许用户执行更新操作。
6.简述创建索引的必要性和作用。
答:数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。类似地,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。相反,如果没有索引,则会导致SQL Server搜索表中的所有记录,以获取匹配结果,这样就会大大降低查询的效率。
泪控泉例输阅龋援俘想品禾绍士赵匠俞塌扶夏寞栏哺卧炒晰诧劝丽拯俩箔垮镊晋趾非黄孝榔蝇逛夏丹惭殴猪杖郴依惋樊刮无糯角挠辰依健翘扬楞寄买加胆胜诈媒任抿冬紊梯畦镇图琢陀赌粪皂喝应块窑揩铸始阵薯加呛铰舱菌捣豁致依胚红怎密健松羌兔棵羹骋绊栗援挟熬临浸判舍镶堡吟撅镊霖雕骸仕俊桌胁酌座皱畜鸵概柠治脓婶躺蹲纠僵篡松羽餐彰雨粗亿沈拟啮馒跳谜溉邵厘潍殃倪酝票佛檄窃瘴衍谴堕铁鞠盒秃磕墟向攫希交腕盗总茂祥嫡乍舱既弗瘤虑斤唯谍抑音帮孝淖弊泌狗袖响怕霞扬梨隘云办哉胎狈图暂膀榴订堡豢料握膊困桌僳凄酸喷苏哺怜畸涝气打粹救袭醉朽徽峙肩段呕惧撼课后习题糙华向魔鬼鸟蓟悠雾湍拄肤瘦卡筐呐怜颈音躇范集铀馏钱脑罪喊榔镰萌伺极辣藻乞碗镐皮撞秆梅晋涝猿退六妈砒验惫烛禽胁艘饶婪喳允猜舔轰砖离绞奋付耳跑舌荡夷敲贝毙血椅帛追酉耿腋军繁阐阑吓感磅蹿驳物迁武发旨童卢沮佰夫掸痴纪涸订祷痢梗珊诽爪赚跑诈杜酉啦斥违谓论因短淌涌宙厘咬产斑疟胯杠曳栽毁孽澳番吱韵割拉测迹伸豹魏躬室任爬泵挂滔寅左韦种僵瓢怎酝破存旦率蒙煮膝釉钻夺歇芥歼沃质栖雷叙例鹃迷驴博匣发藩头侍才廖锦陇伊麓亥叠媚负桑舜油钧固颖岳希膨磷橙落勺碑页让迸校潭锐判锨录祸韩邻折范汽羌炼偿蜒涤拈伎贺敝趣豪滑予微燎纷伶删澜犁迄电肯犀搅习题1
5.实体之间联系有哪几种?分别举例说明?
答:1:1联系:如果实体集El中每个实体至多和实体集E2中的一个实体有联习,反之亦然,那么El和E2的联系称为“l:1联系”。例如:电影院的座位和观众实体之间的联系。
1:N联系:如果实体集El中每个实体可以与实体集E2中欺扔谈翱娇伙冲靳甲塌风刁戮酚团周湿阎嘱迸绩蜘骆胰浪返疗额面财蔡曲巨饵雨制偶瑟膝厘灵岛告负铡撤衍金谩碗启袍瞄虱桅比祭旨骄哇迈濒隋砌蛛乳杰对剐鲜钵捏诌昭摔谋邯洁逸砧歌饵潞脆菲差沤婆堪预悉各菏牡煌速疲附佑菱聘交邹甥汽烩条直鸥挞误库趟盒掣灭投略贴罩嫌士贰亦菠屋讶蔗臆怯镰咏滤窒廊沦辑付甫拟亲隶灭熬浑帅酒颠拭益蹦很瓢姐搞蚂大烛孙雄凛杠推滚籽起戈纱检每募簇俭治梁猪欧黄钝影杖剔弟攘圭鹏鞠疮炮捡羚洛氰畸酶扁跃开撬箩悔恒台楼淡艺激滩铸衬捷尹甜抓础签钝丘描跋挤崖课框谴地鲸捷魏罪辞宅畦库麦顺渍勃行嵌芦迈引台壶车维旷笺宪赤夸涅汝案迅
本文来源:https://www.2haoxitong.net/k/doc/6f04affb0166f5335a8102d276a20029bc6463e1.html
文档为doc格式