




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库概述试说明数据、数据库、数据库管理系统和数据库系统的概念。答:数据是数据库中存储的基本对象。数据库:是存放数据的场所。数据库管理系统:管理数据库数据及其功能的系统软件。数据库系统:由数据库、数据库管理系统、数据库管理员和数据库应用程序共同构成的系统。数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。文件管理方式在管理数据方面有哪些缺陷?答:(1)编写应用程序不方便。(2)数据冗余不可避免。(3)应用程序依赖性。(4)不支持对文件的并发访问。(5)数据间联系弱。(6)难以满足不同用户对数据的需求。与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。比较用文件管理和用数据库管理数据的主要区别。答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。而数据库管理系统可以很方便地提供这些功能。在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。因为这些都由数据库管理系统来维护。在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库,其作用是存储数据。在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不可以。数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序。
数据库系统结构1.解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。用一种模型来同时满足这三方面的要求比较困难,因此在在数据库系统中针对不同的使用对象和应用目的,采用了两种不同的数据模型来实现,一个是概念层数据模型,用来满足第一和第二个要求;另一个是组织层数据模型,用来满足第三个要求。2.概念层数据模型和组织层数据模型分别是针对什么进行的抽象?答:概念层数据模型主要针对用户的业务进行抽象,组织层数据库模型主要针对具体的数据库管理系统采用的数据组织方式进行抽象。3.实体之间的联系有几种?分别是哪些?请为每一种联系举出一个例子。答:有三种:1:1;1:n;m:n。1:1示例:系和系主任。1:n示例:班和学生;m:n示例:教师和学生。4.说明实体-联系模型中的实体、属性和联系的概念。答:实体是具有公共性质的并可相互区分的现实世界对象的集合。属性是实体所具有的特征或性质。联系是实体之间的关联关系。5.指明下列实体间联系的种类:(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。答:一对多。(2)商店和顾客。答:多对多。(3)国家和首都。答:一对一。6.解释关系模型中的主码、外码、主属性、非主属性的概念,并说明主码、外码的作用。答:主码是用于唯一确定表中一个元组的一个属性或最小的属性组。用于实现实体完整性。外码用于实现数据之间的关联关系(参照完整性)。主属性:候选键所包含的属性。非属性:主属性之外的其他属性。指出下列关系模式的主码:考试情况(课程号,考试性质,考试日期,考试地点)。假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。答:(课程号,考试日期)教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一个学年和学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数。答:(教师号,课程号,学年)图书借阅(书号,读者号,借书日期,还书日期)。假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同的时间借给不同的读者。但一个读者不能在同一天对同一本书借阅多次。答:(书号,读者号,借书日期)8.设有如下两个关系模式,试指出每个关系模式的主码、外码,并说明外码的引用关系。产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复。销售表(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产品在同一时间只销售一次。答:产品的主码:产品号,无外码。销售的主码:(产品号,销售时间),其中产品号为引用产品表的外码。9.关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。答:包含:实体完整性、参照完整性和用户定义的完整性。实体完整性:作用是保证表中的不存储相同的数据,也不存储无意义的数据。参照完整性:用于描述实体之间的联系。用户定义的完整性:用于限定属性的取值范围,目的是保证数据库中存储的值与现实世界相符。10.数据库系统包含哪三级模式?试分别说明每一级模式的作用?答:外模式、模式和内模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求。模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。内模式:是对整个数据库的底层表示,它描述了数据的存储位置和存储方式。11.数据库系统的两级映像的功能是什么?它带来了哪些好处?答:两级映像是外模式/模式映像和模式/内模式映像。外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而是用户的应用程序不需要修改。模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,从而使用户不需要知道这些变化。12.数据库三级模式划分的优点是什么?它能带来哪些数据独立性?答:数据库三级模式的划分使用户可以在逻辑层处理数据,而不需要关心具体的物理细节,同时当内模式或模式发生变化时,可以通过模式之间的映像关系,保持外模式不变,从而避免了修改应用程序。三级模式以及三级模式之间的两级映像带来了数据的逻辑独立性和物理独立性。13.简单说明数据库管理系统包含的功能。答:数据定义、数据操纵、优化和执行、数据安全性和完整性、数据恢复和并发、尽可能高效的完成各种操作。
第3章SQL语言基础及数据定义功能1.Tinyint数据类型定义的数据的取值范围是多少?答:0~255。2.日期时间类型中的日期和时间的输入格式是什么?答:在输入日期部分时可采用英文数字格式、数字加分隔符格式和纯数字格式。采用英文数字格式时,月份可用英文全名或缩写形式。在输入时间部分时可以采用12小时格式或24小时格式。使用12小时制时要加上AM或PM说明是上午还是下午。在时与分之间可以使用冒号(:)作为分隔符3.SmallDatatime类型精确到哪个时间单位?答:分钟。4.定点小数类型numeric中的p和q的含义分别是什么?答:p代表数字位长度,即整数部分和小数部分的数字位之和。q代表小数位数。5.Char(10)、nchar(10)的区别是什么?分别可以存储多少个汉字??答:char(10)是普通编码,固定占10个字节,最多能存放5个汉字。Nchar(10)是统一字符编码,固定占20个字节,最多能存放10个汉字。6.Char(n)和varchar(n)的区别是什么?其中n的含义是什么?答:Char(n)是定长字符类型,varchar(n)是可变长字符类型。Char(n)中的n代表固定占n个字节的空间;varchar(n)中的n代表最多占n个字节的空间。7.数据完整性的作用是什么?答:数据的完整性作用是防止数据库中存在不符合语义的数据。8.在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?答:插入操作且省略了某些列的值时检查DEFAULT约束。插入和修改操作检查CHECK约束。9.UNIQUE约束的作用是什么?答:限制列的取值不重复。10.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束。答:Createtable图书(书号nchar(6)primarykey,书名nvarchar(30)notnull,第一作者char(10)notnull,出版日期smalldatetime,价格:numeric(4,1))Createtable书店(书店编号nchar(6)primarykey,店名nvarchar(30)notnull,电话char(8)check(电话like‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’),地址varchar(40),邮政编码char(6))Createtable图书销售(书号nchar(6)notnull,书店编号nchar(6)notnull,销售日期smalldatetimenotnull;销售数量smalldatetimecheck(销售数量>=1);)11.为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。答:altertable图书表Add印刷数量intcheck(印刷数量>=1000)12.删除书店表中的“邮政编码”列。答:altertable书店表Dropcolumn邮政编码13.将图书销售表中的“销售数量”列的数据类型改为整型。答:altertable图书销售表Altercolumn销售数量int
第4章数据操作1.查询SC表中的全部数据。Select*fromsc2.查询计算机系学生的姓名和年龄。Selectsname,sagefromstudentwheresdept=‘计算机系’3.查询成绩在70~80分的学生的学号、课程号和成绩。Selectsno,cno,gradefromscwheregradebetween70and804.查询计算机系年龄在18~20岁的男学生的姓名和年龄。Selectsname,sagefromstudentwheresdept=‘计算机系’andsagebetween18and205.查询课程号为“c001”的课程的最高的分数。。Selectmax(grade)fromscwherecno=‘C001’6.查询计算机系学生的最大年龄和最小年龄。Selectmax(sage)最大年龄,min(sage)最小年龄fromstudentWheresdept=‘计算机系’7.统计每个系的学生人数。Selectsdept,count(*)人数fromstudentGroupbysdept8.统计每门课程的选课人数和考试最高分。Selectcno,count(*)选课人数,max(grade)最高分fromscGroupbycno9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。Selectsno,count(*)选课门数,sum(grade)fromscGroupbysnoorderbycount(*)asc10.查询总成绩超过200分的学生,要求列出学号、总成绩。Selectsno,sum(grade)总成绩fromscGroupbysnohavingsum(grade)>20011.查询选修“C002”号课程的学生的姓名和所在系。Selectsname,sdeptfromstudentsjoinscons.sno=sc.snoWherecno=‘C002’12.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。Selectsname,cno,gradeFromstudentsjoinscons.sno=sc.snoWheregrade>80Orderbygradedesc13.查询哪些课程没有学生选修,要求列出课程号和课程名。Selecto,cnamefromcoursecleftjoinscono=oWhereoisnull14.查询与Java在同一学期开设的课程的课程名和开课学期。Selectame,c1.semesterfromcoursec1joincoursec2onc1.semester=c2.semesterWhereame=‘Java’andame!=‘Java’查询与李勇年龄相同的学生的姓名、所在系和年龄。Selects1.sname,s1.sdept,s1.sagefromstudents1joinstudents2ons1.sage=s2.sageWheres2.sname=‘李勇’ands1.sname!=‘李勇’16.用子查询实现如下查询:(1)查询选修了“C001”课程的学生的姓名和所在系。Selectsname,sdeptfromstudentWheresnoin(selectsnofromscwherecno=‘C001’)(2)查询数学系成绩80分以上的学生的学号、姓名、课程号和成绩。Selectsno,sname,cno,gradefromstudentsJoinscons.sno=sc.snoWheresdept=‘数学系’andsnoin(Selectsnofromscwheregrade>80)(3)查询计算机系考试成绩最高的学生的姓名。Selectsnamefromstudentsjoinscons.sno=sc.snoWheresdept=‘计算机系’andgrade=(Selectmax(grade)fromscjoinstudentsons.sno=sc.snoWheresdept=‘计算机系’)(4)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。Selectsname,sdept,ssex,gradefromstudentsJoinscons.sno=sc.snoJoincoursecono=oWherecname=‘数据结构’Andgradein(Selectmax(grade)fromscjoincoursecono=oWherecname=‘数据结构’)17.查询没选Java课程的学生姓名和所在系。Selectsname,sdeptfromstudentWheresnonotin(Selectsnofromscjoincoursecono=oWherecname=‘Java’)18.查询计算机系没选课的学生的姓名和性别。Selectsname,ssexfromstudentWheresdept=‘计算机系’Andsnonotin(Selectsnofromsc)19.创建一个新表,表名为test_t,其结构为(COL1,COL2,COL3),其中,COL1:整型,允许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3Createtabletest_t(COL1int,COL2char(10)notnull,COL3char(10))Insertintotest_t(COL2)values(’B1’)Insertintotest_t(COL1,COL2)values(1,’B2’)Insertintotest_tvalues(2,’B3’,NULL)20.删除考试成绩低于50分的学生的选课记录。Deletefromscwheregrade<5021.删除没人选的课程的基本信息。Deletefromcoursewherecnonotin(Selectcnofromcourse)22.删除计算机系Java成绩不及格学生的Java选课记录。DeletefromscFromscjoinstudentsons.sno=sc.snoJoincoursecono=owherecname=‘Java’andgrade<60andsdept=‘计算机系’23.将第2学期开设的所有课程的学分增加2分。。UpdateCoursesetcredit=credit+2Wheresemester=224.将Java课程的学分改为3分。Updatecoursesetcredit=3wherecname=‘Java’将计算机系学生的年龄增加1岁。UpdateStudentsetsage=sage+1wheresdept=‘计算机系’26.将信息系学生的“计算机文化学”课程的考试成绩加5分。UpdateSCsetgrade=grade+5Fromstudentsjoinscons.sno=sc.snoJoincoursecono=oWheresdept=‘信息系’andcname=‘计算机文化学’27.查询每个系年龄大于等于20的学生人数,并将结果保存到一个新永久表Dept_Age中。Selectsdept,count(*)人数intoDept_AgefromstudentWheresage>=20Groupbysdept28.查询计算机系每个学生的JAVA考试情况,列出学号、姓名、成绩和成绩情况,其中成绩情况的显示规则为:如果成绩大于等于90,则成绩情况为“好”;如果成绩在80~89,则成绩情况为“较好”;如果成绩在70~79,则成绩情况为“一般”;如果成绩在60~69,则成绩情况为“较差”;如果成绩小于60,则成绩情况为“差”。Selects.sno,sname,grade,成绩情况=CaseWhengrade>=90then‘好’Whengradebetween80and89then‘较好’Whengradebetween70and79then‘一般’Whengradebetween60and69then‘较差’Else‘差’endfromstudentsjoinscons.sno=sc.snoJoincoursecono=oWheresdept>=2029.统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和选课情况,其中选课情况显示规则为:如果选课门数大于等于6门,则选课情况为“多”;如果选课门数超过在3~5门,则选课情况为“一般”;如果选课门数在1~2门,则选课情况为“偏少”。如果没有选课,则选课情况为“未选课”。Selects.sno,count(sc.sno)选课门数,选课情况=CaseWhencount(sc.sno)>=6then‘多’Whencount(sc.sno)between3and5then‘一般’Whencount(sc.sno)between1and2then‘偏少’Whencount(sc.sno)=0then‘未选课’endfromstudentsleftjoinscons.sno=sc.snoGroupbys.sno30.修改全部课程的学分,修改规则如下: 如果是第1~2学期开设的课程,则学分增加5分; 如果是第3~4学期开设的课程,则学分增加3分; 如果是第5~6学期开设的课程,则学分增加1分;对其他学期开设的课程,学分不变。Updatecoursesetcredit=credit+CaseWhensemesterbetween1and2then5Whensemesterbetween3and4then3Whensemesterbetween5and6then1Else0end查询“李勇”和“王大力”所选的全部课程,列出课程名、开课学期和学分,不包括重复的结果。Selectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘李勇’unionSelectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘王大力’查询在第3学期开设的课程中,“李勇”选了但“王大力”没选的课程,列出课程名和学分。Selectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘李勇’andsemester=3exceptSelectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘王大力’andsemester=333.查询在学分大于3分的课程中,“李勇”和“王大力”所选的相同课程,列出课程名和学分。Selectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘李勇’andcredit>3INTERSECTSelectcname,semester,creditfromcoursecjoinscono=oJoinstudentsons.sno=sc.snoWheresname=‘王大力’andcredit>3
第5章索引和视图试说明使用视图的好处。答:利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对,因为通过视图查询数据时,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式的转换。3.使用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。Createviewv1AsSelects.sno,sname,sdept,o,cname,creditFromstudentsjoinscons.sno=sc.snoJoincoursecono=o(2)查询学生的学号、姓名、选修的课程名和考试成绩。Createviewv2AsSelects.sno,sname,cname,gradeFromstudentsjoinscons.sno=sc.snoJoincoursecono=o(3)统计每个学生的选课门数,要求列出学生学号和选课门数。Createviewv3AsSelectsno,count(*)astotalFromscgroupbysno(4)统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。Createviewv4AsSelectsno,sum(credit)astotal_creditFromsnojoincoursecono=oWheregrade>=60Groupbysno(5)查询计算机系JAVA考试成绩最高的学生的学号、姓名和JAVA考试成绩。Createviewv5AsSelecttop1withtiess.sno,sname,gradeFromstudentsjoinscons.sno=sc.snoJoincoursecono=oWheresdept=‘计算机系’andcname=‘java’Orderbygradedesc4.利用第3题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。Selectsname,cname,gradeFromv2wheregrade>=90(2)查询选课门数超过3门的学生的学号和选课门数。Select*fromv3wheretotal>=3(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。Selectsname,totalfromv3joinstudentsons.sno=v3.snoWheresdept=‘计算机系’andtotal>=3(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。Selectv4.sno,sname,sdept,total_creditFromv4joinstudentsons.sno=v4.snoWheretotal_credit>=105.修改第3题(4)定义的视图,使其查询每个学生的学号、平均成绩及选课门数。Alterviewv4AsSelectsno,avg(grade)asavg_grade,count(*)astotal_cnoFromscjoincoursecono=oGroupbysno修改第3题(5)定义的视图,使其统计全体学生中JAVA考试成绩最高的学生的学号、姓名、所在系和JAVA考试成绩。Alterviewv5AsSelecttop1withtiess.sno,sname,sdept,gradeFromstudentsjoinscons.sno=sc.snoJoincoursecono=oWherecname=‘java’Orderbygradedesc在Student表的Sdept列上建立一个非聚集索引,索引名为:Idx_Sdept。CreatenonclusterindexIdx_Sdeptonstudent(Sdept)在Student表的Sname列上建立一个唯一的非聚集索引,索引名为:Idx_Sname。CreateuniqueindexIdx_Snameonstudent(Sname)在Course表上为Cname列建立一个非聚集索引,索引名为:Idx_Cname。CreatenonclusterindexIdx_Cnameoncourse(Cname)在SC表上为Sno和Cno建立一个组合的非聚集索引,索引名为:Idx_SnoCno。CreatenonclusterindexIdx_SnoCnoonSC(Sno,Cno)删除在Student表的Sname列上建立的Idx_Sname索引。dropindexstudent.Idx_Sname
第6章关系规范化理论关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?答:主要有插入异常、删除异常和修改异常,这些都是由数据冗余引起的,解决的办法是进行模式分解,消除数据冗余。第一范式、第二范式和第三范式的关系的定义分别是什么?答:第一范式:不包含重复组的关系(即不包含非原子项的属性)是第一范式的关系。第二范式:如果R(U,F)∈1NF,并且R中的每个非主属性都完全函数依赖于主码,则R(U,F)∈2NF。第三范式:如果R(U,F)∈2NF,并且所有的非主属性都不传递依赖于主码,则R(U,F)∈3NF。什么是部分函数依赖?什么是传递函数依赖?请举例说明。答:部分函数依赖:如果X→Y,并且对于X的一个任意真子集X’有X’→Y成立,则称Y部分函数依赖于X。传递函数依赖:如果X→Y、Y→Z,则称Z传递函数依赖于X。对于关系模式:选课(学号,姓名,课程号,成绩)该关系模式的主码是(学号,课程号),而有:学号姓名因此姓名对主码是部分函数依赖关系。对于关系模式:学生(学号,姓名,所在系,系主任)该关系模式的主码是:学号,由于有:学号所在系,所在系系主任因此系主任对学号是传递函数依赖关系。第三范式的关系模式是否一定不包含部分依赖关系?答:是。对于主码只由一个属性组成的关系模式,如果它是第一范式关系模式,则它是否一定也是第二范式关系模式?答:是。设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可以选多门课程,一门课程可以被多名学生选。每个学生对每门课程有唯一的考试成绩。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。答:候选码:(学号,课程号)第一范式。因为有:学号姓名,因此存在部分函数依赖(学号,课程号)p姓名第三范式关系模式:学生(学号,姓名,所在系,性别)课程(课程号,课程名,学分)考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个人只担任一个系的系主任;一个班只有一名班主任,但一名教师可以担任多个班的班主任;一个系可以有多个班。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。答:候选码:学号属于第二范式。但有:学号班号,班号班主任,因此存在传递函数依赖:学号传递班主任。第三范式关系模式:学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。班(班号,班主任)系(系名,系主任)设有关系模式:教师授课(课程号,课程名,学分,教师号,教师名,职称,授课时数,授课学年),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名和职称,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,在同一学年每个教师对每门课程只讲授一次,且有确定的授课时数。指出此关系模式的候选码,判断此关系模式属于第几范式,若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。。答:候选码:(课程号,授课教师号)属于第一范式。因为有:课程号课程名,因此存在部分函数依赖关系:(课程号,授课教师号)p课程名第三范式关系模式:课程(课程号,课程名,学分)教师(教师号,教师名,职称)授课(课程号,教师号,授课时数,授课学年),课程号为引用课程的外码,教师号为引用教师的外码。
第7章数据库保护1.试说明事务的概念及四个特征。答:事务的概念及四个特征为原子性、一致性、隔离性和持久性。原子性指事务的原子性是指事务是数据库的逻辑工作单位,事务中的操作,要么都做,要么都不做。一致性指定事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性指数据库中一个事务的执行不能被其他事务干扰。持久性指事务一旦提交,则其对数据库中数据的改变就是永久的。2.并发控制的措施是什么?答:加锁。3.设有如下三个事务: T1:B=A+1;T2:B=B*2;T3:A=B+1(1)设A的初值为2,B的初值为1,如果这三个事务并发的执行,则可能的正确的执行结果有哪些?答:T1T2T3:A=7B=6 T1T3T2:A=4B=6 T2T1T3:A=3B=3 T2T3T1:A=3B=4 T3T1T2:A=2B=6 T3T2T1:A=2B=34.当某个事务对某段数据加了S锁之后,在此事务释放锁之前,其他事务可以对此段数据加什么锁?答:S锁(共享锁)。当某个事务对某段数据加了S锁之后,该事务可对这段数据进行什么操作?其他事务可对这段数据进行什么操作?答:该事务可执行读数据操作,其他事务可对这段数据加S锁并进行读数据操作。6.什么是死锁?如何预防死锁?答:事务为得到某个资源而处于无限等待状态,就是死锁。预防死锁的方法有多种,常用的方法有一次封锁法和顺序封锁法。7.三级封锁协议分别是什么?各级封锁协议的主要区别是什么?每一级封锁协议能保证什么?答:一级封锁协议:对事务T要修改的数据加X锁,直到事务结束(包括正常结束和非正常结束)时才释放。二级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,读完后即释放S锁。三级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,并直到事务结束才释放。三个封锁协议的区别是在对读数据的加锁上。一级封锁协议可以防止丢失修改;二级封锁协议除了可以防止丢失修改外,还可以防止读“脏”数据;三级封锁协议除了可以防止丢失修改和不读“脏”数据之外,还进一步防止了不可重复读。8.什么是可串行化调度?如何判断一个并行执行的结果是否是正确的?答:多个事务的并发执行是正确的,当且仅当其结果与按某一顺序的串行执行的结果相同,称这种调度为可串行化的调度。如果并发调度的执行结果和某个串行调度结果一样,这个并发调度就是正确的调度。两段锁的含义是什么?答:两段锁是指所有的事务必须分为两个阶段对数据进行加锁和解锁,具体内容如下:在对任何数据进行读、写操作之前,首先要获得对该数据的封锁。在释放一个封锁之后,事务不再申请和获得任何其他锁。。10.数据库故障大致分为几类?答:主要有三类:事务内部的故障;系统故障;其他故障。11.数据库备份的作用是什么?答:主要有三类:事务内部的故障;系统故障;其他故障。第8章数据库设计简述数据库的设计过程。答:数据库设计一般包含如下过程:需求分析。结构设计,包括概念结构设计、逻辑结构设计和物理结构设计。行为设计,包括功能设计、事务设计和程序设计。数据库实施,包括加载数据库数据和调试运行应用程序。数据库运行和维护阶段。数据库结构设计包含哪几个过程?答:概念结构设计、逻辑结构设计和物理结构设计。数据库概念结构设计有哪些特点?答:有丰富的语义表达能力。易于交流和理解。易于更改。易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型。什么是数据库的逻辑结构设计?简述其设计步骤。答:逻辑结构设计的任务是把在概念结构设计中设计的基本E-R模型转换为具体的数据库管理系统支持的组织层数据模型。逻辑结构设计一般包含两个步骤:(1)将概念结构转换为某种组织层数据模型。(2)对组织层数据模型进行优化。把E-R模型转换为关系模式的转换规则是什么?答:转换的一般规则如下:一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的主码。对于实体间的联系有以下不同的情况:(1)1∶1联系一般是将联系与任意一端实体所对应的关系模式合并,即在一个实体的关系模式的属性中加入另一个实体的码和联系本身的属性。(2)1∶n联系一般与n端所对应的关系模式合并,即在n端对应的关系模式中加入1端实体的码以及联系本身的属性。(3)m∶n联系必须转换为一个独立的关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,且关系模式的主码包含各实体的码。(4)有相同主码的关系模式可以合并。将下列E-R图转换为符合3NF的关系模式,并指出每个关系模式的主码和外码,主码可用下划线标识。图书(书号,书名,出版日期,作者名)读者(读者号,读者名,联系电话,所在单位)借阅(书号,读者号,借书日期,还书日期)商店(商店编号,商店名,联系电话)商品(商品编号,商品名称,商品价格,商品分类)厂家(厂家编号,厂家地址,联系电话)订购(商店编号,商品编号,厂家编号,订购日期,订购数量)学生(学号,姓名,性别,专业,社团号,参加日期),社团号为外码社团(社团号,社团名,负责人,类别)
第9章SQLServer基础1. SQLServer实例的含义是什么?实例名的作用是什么?答:实例代表一个实际安装的SQLServer,实例名标识了每个不同的实例。4. SQLServer的核心引擎是什么?答:SQLServer(MSSQLSERVER)。5. SQLServer2019提供的设置服务启动方式的工具是哪个?答:SQLServerConfigurationManager。7. 提供通过图形化方法操作数据库的工具是哪个?答:SQLServerManagementStudio。
第10章数据库及表的创建与管理根据数据库用途的不同,SQLServer将数据库分为哪两类?答:系统数据库和用户数据库。安装完SQLServer之后系统提供了哪些系统数据库?每个系统数据库的作用是什么?答:4个系统数据库:master、msdb、model和tempdb。master:用于记录SQLServer系统中所有系统级信息。msdb:供SQLServer代理服务调度报警和作业以及记录操作员时使用,保存关于调度报警、作业、操作员等信息。model:包含所有用户数据库的共享信息。tempdb:是临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等,并为数据的排序等操作提供一个临时工作空间。3. SQLServer数据库由哪两类文件组成?这些文件的推荐扩展名分别是什么?答:数据文件和日志文件。数据文件中主数据文件的推荐扩展名为:.mdf;次要数据文件的推荐扩展名为:.ndf。日志文件的推荐扩展名为:.ldf。4. SQLServer一个数据库可以包含几个主要数据文件?几个次要数据文件?几个日志文件?答:1个主数据文件,0个或多个次要数据文件,1个或多个日志文件。5. 数据文件和日志文件分别包含哪些属性?答:包含:逻辑文件名、物理存储位置、初始大小、增长方式、最大大小5个属性。6. SQLServer2019一个数据页的大小是多少?数据页的大小对表中一行数据大小的限制有何关系?答:8KB。表中一行数据的大小不能超过一个数据页的大小。7. 如何估算某个数据表所占的存储空间?如果某个数据表包含20000行数据,每行的大小是5000字节,则此数据库表大约需要多少存储空间?在这些存储空间中,有多少空间是浪费的?答:根据数据是按数据页存储,且行不能跨页存储的原则即可估算出一个数据表所占的大致空间。需要160MB。有差不多3/8是浪费的。
第11章安全管理通常情况下,数据库中的权限划分为哪几类?答:划分为两类。一类是对数据库系统进行维护的权限,另一类是对数据库中的对象和数据进行操作的权限。2. 数据库中的用户按其操作权限可分为哪几类,每一类的权限是什么?答:数据库中的用户按其操作权限的不同可分为如下三类:(1)系统管理员。在数据库服务器上具有全部的权限。(2)数据库对象拥有者。对其所拥有的对象具有全部权限。(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地方政府与电力公司新能源充电桩共建合作框架协议
- Brand KPIs for sauces condiments in Brazil-外文版培训课件(2025.2)
- 路政联合执法协议书
- 黄石食堂承包协议书
- 仓库登高梯租用协议书
- 资产整体转让协议书
- 公司建合同框架协议书
- 餐饮法人变更协议书
- 解除劳务外包协议书
- 食堂污水清掏协议书
- 小学新课标《义务教育数学课程标准(2022年版)》新修订解读课件
- 七年级下学期语文5月月考试卷
- 2024年乐山市市级事业单位选调工作人员真题
- 社区卫生服务与试题及答案
- 补单合同范本10篇
- 心血管-肾脏-代谢综合征患者的综合管理中国专家共识2025解读-2
- 护工技能大赛试题及答案
- 机械制造自动化技术工业机器人
- 湖南省2024年对口升学考试计算机综合真题试卷
- 江苏省南京市(2024年-2025年小学六年级语文)统编版期末考试(下学期)试卷及答案
- 中医适宜技术-中药热奄包
评论
0/150
提交评论