数据库原理复习题1.doc_第1页
数据库原理复习题1.doc_第2页
数据库原理复习题1.doc_第3页
数据库原理复习题1.doc_第4页
数据库原理复习题1.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理复习题1二、填空题 例题1在关系演算中,元组变量的变化范围是_某一个域_2关系模型是_用关系表示实体及其联系_ 3已知学生关系:(学号,性别,年龄,籍贯),若执行SQL语句:Select 姓名,年龄 From 学生 Where 籍贯=北京 说明该语句对学生执行了_投影和选择_操作4广义笛卡儿积_是关系代数的基本运算之一5. 从逻辑结构的角度进行分类,数据库的数据模型主要有_格式化_和_关系_模型6. 范式_是衡量模式优劣的标准,_范式_表达了模式中数据依赖之间应满足的联系7如果实体间的联系名相同但联系类型不同,就产生了联系类_冲突_.8一般地,属性个数少的表上不建_索引_,不同属性值少的属性上也不用建_索引_,元组数少或跟新频率高的关系上也不建索引.9在多个候选码当中,由数据库设计人员选定其中一个作为实体集的_主码_。10._ 数据库的安全性_是指对数据库中数据的保护措施,防止不合法使用造成数据泄露、修改或破坏11HAVING短语必须跟随_ group by _使用,它用来限定分组必须满足的条件12SQL语言是一种_关系型_型数据库系统,它是以_表_的形式组织起来的数据集合,二维表中的一行,在关系中称为_元组_;二维表中的一列,在关系中称为_属性_。13实体是_客观存在并可相互区别的_“事件”或“物体。14如果记录是做插入操作,那么撤销操作相当于_做数据删除操作_。15第一范式是指同一列中不能有_多个值_,即实体中的某个属性必须是原于项16分解具有无损连接性和分解保持函数依赖是两个互相独立的标准具有无损连接性的分解不一定能够保持_函数依赖_。同样,保持函数依赖的分解也不一定具有_无损连接性_。17数据库操纵技术就是指插入、_删除_、_修改_和检索表中数据的技术其中,前三种又被并称为更新操作18. 用SELECT进行模糊查询时,可以使用_%_或_下划线_匹配符19一个关系表中只能有_一_个PRIMARY KEY,UNIQUE可以有_任意_多个20. 数据库的完整性_是指保护数据库数据的正确性和有效性,防止数据库中存在不符合语义的、不正确的数据21. _ 数据字典_是关于数据库中数据的描述,即对元数据的描述22概念设计中最著名、最实用的方法就是_实体联系方法(E-R 方法)_.23关系模型由三部分组成,分别为关系数据结构,关系操作集合和_关系完整性约束.三、简答题 例题 3已知学生关系模式Student(Sno,Sname,Sdept,MN,Course,Grade),其中:Sno:学号,Sname:学生姓名,Sdept:系名,MN:系主任名,Course:课程名,Grade:成绩 (1)写出关系模式Student的基本函数依赖及其主码 (2)将关系模式分解为2NF,并说明为什么? (3)将关系模式分解为3NF,并说明为什么?答:(1)该关系模式存在以下函数依赖:SnoSname,SdeptMN,SnoSdept,(Sno,Course)Grade显然关系模式的码为Sno,Course。(2)原关系模式是属于1NF的,非主属性Grade完全按函数依赖于码,而其它非主属性对码的函数依赖均为部分函数依赖,所以不属于2NF。可将该关系模式分解为2NF如下:Student1(Sno,Sname,Sdept,MN)Student2(Sno,Course,Grade)(3)(2)中的关系模式Student1中存在SnoSdept ,SdeptMN,即非主属性MN传递依赖于码Sno,所以Student1可以进一步分解为3NF如下:Student11(Sno,Sname,Sdept)Student12(Sdept,MN)而Student2中不存在非主属性对码的传递依赖,故已经属于3NF。最终原关系模式分解为3NF得到:Student11(Sno,Sname,Sdept)Student12(Sdept,MN)Student2(Sno,Course,Grade) 6设有一关系:学生(学号,姓名,年龄,所在系,出生日期),依据通常的事实规则(即函数依赖关系),判断该关系属于第几范式,为什么?答:该关系模式属于BCNF,因为该关系模式存在以下函数依赖:学号姓名,学号年龄,学号所在系,学号出生日期除此之外不存在其它函数依赖,所以该关系模式首先属于2NF(每一个非主属性完全函数依赖于码即学号),又因为所有的非主属性对码非传递依赖,故该关系模式又是属于3NF的,注意到对任意函数依赖,其左部均含有码,因此该关系模式又是属于BCNF的。四、分析题 例题 2一个电影资料数据库假定有三个基本表:电影表Movie、演员表Actor和电影主演表Acts, 这三个关系的模式如下: (1)电影表Movie(电影名称Title,制作年份Year,长度Length) (2)演员表Actor(姓名Name,地址Address,性别Gender,出生日期Birthdate) (3)电影主演表Acts(电影名称MovieTitle,制作年份MovieYear,主演姓名ActorName) 用SQl实现如下查询或更新操作: (1)统计1999年制作电影的平均长度和最短长度 (2)在1999年主演过电影的演员姓名 (3)把电影 ”的世界” 的长度改为110分钟(4)删除1940年以前制作的所有电影记录以及电影主演记录解答:SQL查询语句来表达:(1)统计1999年制作电影的平均长度和最短长度。 2分select 平均长度=avg(Length), 最短长度=min(Length)from Moviewhere Year=1999(2)在1999年主演过电影的演员姓名 2分select ActorNamefrom Movie inner join Actson Movie.Title=Acts.MovieTitlewhere Movie.Year=1999(3)把电影我的世界的长度改为110分钟。 3分update Movieset Length=110where Title=我的世界(4)删除1940年以前制作的所有电影记录以及电影主演记录。 3分delete Actswhere MovieTitle in(select Titlefrom Moviewhere Year1904)delete MovieTitlewhere Year10000000 4现有如下的银行系统关系: Branch(branch_name nvarchar(10), branch_city nvarchar(10),asserts int ) Customer(customer_name nvarchar(10),customer_street nvarchar(10), customer_city rvarchar(10) Loan(10an_number nvarchar(10), branch_name nvarchar(10), amount int ) Borrower(customer_name nvarchar(10), loan_number nvarchar(10) Account(account_number nvarchar(10),branch_name nvarchar(10),balance int ) Depositor(customer_name nvarchar(10),account_number nvarchar(10) 试用SQL查询语句来表达下列查询: (1)查询customer_street中合有广州大道中的顾客的信息 (2)查询名字为Tom的所有贷款信息 (3)查询中国工商银行的贷款信息,结果按贷款额降序排列 (4)显示每个银行贷款颇最大的那条贷款信息解答:(1)查询customer_street中含有广州大道中的顾客的信息。 select *from customerwhere customer_street like %广州大道中%(2)查询名字为Tom的所有贷款信息。 select t1.*from loan as t1 inner join Borrower as t2on t1.loan_number=t2.loan_numberwhere t2.customer_name=Tom(3)查询中国工商银行的贷款信息,结果按贷款额降序排列。 select *from loanwhere branch_name=中国工商银行order by amount desc(4)显示每个银行贷款额最大的那条贷款信息。 select *from loan as t1where not exists( select *from loan as t2where t1.branch_name=t2.branch_name and t1.amountt2.amount) 5现有如下的银行系统关系: Branch(branch_name nvarchar(10), branch_city nvarchar(10),asserts int ) Customer(customer_name nvarchar(10),customer_street nvarchar(10), customer_city rvarchar(10) Loan(10an_number nvarchar(10), branch_name nvarchar(10), amount int ) Borrower(customer_name nvarchar(10), loan_number nvarchar(10) Account(account_number nvarchar(10),branch_name nvarchar(10),balance int ) Depositor(customer_name nvarchar(10),account_number nvarchar(10) 试用SQL查询语句来表达下列查询:(1)向Branch表中增加一个“address”列,其数据类型为10个字长的unicode字符串 (2)创建一个视图来显示每个顾客的顾客信息,贷款总额 (3)删除所有贷款在100以下的贷款记录(4)删除每家支行贷款数额最大的记录解答:1. SQL查询语句来表达: (1)向Branch表中增加一个address列,其数据类型为十个字长的unicode字符串。alter table Branch alter table Branch add address nvarchar(10)add address nvarchar(10)(3)删除所有贷款在100以下的贷款记录 delete from loan delete from loan where amount 100where amount100(4)删除每家支行贷款数额最大的记录 delete loanwhere not exists(select *from loan as t2where loan.branch_name=t2.branch_nameand loan.amountt2.amount) 30多值依赖具有( )性质A、A 对称性 B、B传递性 C、C 对称性、传递性 D、D非对称性31若要求分解具有无损连接性,那么模式分解一定能够达到( )A、A2NF B、B4NF C、C D、B E、CNF F、D3NF34由特殊化和一般化所产生的高层实体集和低层实体集之间存在一种特殊

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论