您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据库原理第三章作业
第三章关系数据库系统RDBS一.简答题1.表间数据完整性的实现方式?外键约束。2.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对表中其它一般性的列,用什么限制来保证它们的完整性?主键:主键约束。候选键:唯一约束。外键:外键约束。一般性列:一般性约束。3.SQL-92标准支持的完整性限制是否一定会在SQLSERVER中实现,举例说明?否。SQL-92标准推荐断言,SQLServer不支持断言。SQLServer支持触发器,SQL-92标准没有定义触发器。4.SQLSERVER中规则的目的?指定列的取值范围。5.SQLSERVER中在定义某些限制时,分列级与表级,其分类的原则是什么?列级:针对表中一列。表级:针对同一表中多列。6.外键限制定义的条件?定义外键约束的列必须是另一个表中的主键或候选键。7.请说明在维护表间数据完整时外键限制与触发器的异同。外键约束的行为是被DBMS固定的,触发器中的行为是由用户定义的,因此利用触发器可以完成更加灵活的表间数据一致性保护。8.关系代数的基本操作符?笛卡尔乘积最大的作用是什么?基本操作符:SELECTION(选择)、PROJECTION(投影)、UNION(并,或称联合)、INTERSECTION(交)、DIFFERENCE(差)、CROSSPRODUCT(积,或称笛卡尔乘积)。最大的作用:可将两张或多张有关联(即有相同的列)或无关联的表的数据组合起来。9.为什么说在实际查询中自然连接是用得比较多的?自然联结的结果,是从两个关系实例的笛卡尔乘积中,选出同时满足一个或多个条件等式的行,每个条件等式中的列名相同。同时,在结果模式中,对重复的字段只保留一个。当两个关系通过外键联系时,自然联结将用得非常频繁。10.关系代数中对结果有重复元组时,如何处理?SQL中呢?关系代数中:去掉重复元组。SQL中:保留重复元组。11.连接的分类?条件联结、等联结、自然联结、外联结。二.单项选择题1.(③)不是关系代数的基本操作。①Selection②Projection③Join④Intersection2.(③)用唯一限制来约束。①主键②外键③候选键④简单键3.(②)与“列”不同义。①字段②元组③成员④属性三.改错题(将划线部分改正填入各题后的括号中)1.关系代数中笛卡尔乘积操作的好处是可进行选择和投影。(可将多张表的数据组合)2.外连接是条件连接的特例。(等联结是条件联结)3.关系代数是与ER模型有关的查询语言。(关系模型)六.设有如下图所示三个关系实例X、Y和Z,请分别求出下列各表达式的值。(1)σA=a1(Y×Z)(2)YZ(3)XYZ(1)B(C)A(C)b1c2a1c1b2c1a1c1b1c1a1c1b1c3a1c1b1c2a1c2b2c1a1c2b1c1a1c2b1c3a1c2(2)ABCa1b2c1a1b1c1XABYBCZACa1b1b1c2a1c1a1b2b2c1a1c2a2b1b1c1a2c3a3b1b1c3a3c4a1b1c2a2b1c3a3nullc4(3)ABCa1b1c1a1b1c2a1b2c1a2b1c31.一个电影资料库有四个实体“电影”,“演员”,“导演”,“电影公司”。“电影”的属性有电影编号,电影名,电影类型,对白语言;“演员”的属性有演员工作证号,姓名,出生年,性别;“导演”的属性有导演工作证号,姓名,出生年,性别;“电影公司”的属性有公司名称,所在国家。这些实体间的联系及它们的属性有:演员出演电影,为多对多联系,该联系含角色属性;导演执导电影,每部电影只由一个导演执导;演员属于电影公司;导演属于电影公司;电影公司出品电影,有出品年份属性。1)请画出ER图,要求标出实体的主键、联系的约束类型和键约束。2)将此ER图转换为关系模型,要求标出各关系的主键,如果存在的话还应指明其候选键和外键。3)假定“电影公司”为主表,“导演”为从表,请利用触发器方式,定义从表到主表方向的完整性。4)请用关系代数表达式和SQL分别表达下列查询①查询1957年之前出生的男演员的姓名。②查询2000年环球公司出品的电影的名字和导演姓名。③查询张一导演所导演的影片中的主角演员姓名。1)2)电影(电影编号,电影名,电影类型,对白语言,导演工作证号,公司名称),电影编号为主键,导演工作证号和公司名称分别为外键。演员(演员工作证号,姓名,出生年,性别,公司名称),演员工作证号为主键,公司名称为外键。导演(导演工作证号,姓名,出生年,性别,公司名称),导演工作证号为主键,公司名称为外键。电影公司(公司名称,所在国家),公司名称为主键。出演(演员工作证号,电影编号,角色),(演员工作证号,电影编号)为主键,演员工作证号和电影编号分别为外键。执导(导演工作证号,电影编号),电影编号为主键,导演工作证号和电影编号分别为外键。属于1(演员工作证号,公司名称),演员工作证号为主键,演员工作证号和公司名称分别为外键。属于2(导演工作证号,公司名称),导演工作证号为主键,导演工作证号和公司名称分别为外键。出品(电影编号,公司名称,出品年份),电影编号为主键,电影编号和公司名称分别为外键。3)CREATETRIGGER导演_iuON导演FORINSERT,UPDATEAS导演执导演员电影公司公司名称所在国家电影编号属于11nnm电影属于2出演出品电影名电影类型对白语言演员工作证号姓名出生年性别导演工作证号姓名出生年性别角色出品年份n1n1n1DECLARE@num_rowsINTSELECT@num_rows=@@rowcountIF@num_rows=0RETURNIF(SELECTcount(*)FROM电影公司d,insertediWHEREd.公司名称=i.公司名称)!=@num_rowsBEGINRAISERROR53334ROLLBACKTRANSACTIONRETURNENDRETURN4)①关系代数表达式:π姓名(σ出生年1957(演员)∩σ性别=男(演员))SQL:SELECT姓名FROM演员WHERE出生年1957AND性别=‘男’②关系代数表达式:π电影名,导演.姓名(σ出品年份=2000(出品电影导演)∩σ公司名称=环球公司(出品电影导演))SQL:SELECT电影名,导演.姓名FROM出品NATURALJOIN电影NATURALJOIN导演WHERE出品年份=2000AND公司名称=‘环球公司’③关系代数表达式:π演员.姓名(σ导演.姓名=张一(导演执导出演演员))SQL:SELECT演员.姓名FROM导演NATURALJOIN执导NATURALJOIN出演NATURALJOIN演员WHERE导演.姓名=‘张一’2.某出版社管理系统有四个实体,即出版社(Publisher)、编辑(Editor)、作者(Author)和书籍(Book)。“出版社”的属性有出版社编码(Pid)、出版社名称(Pname)、地址(Paddr)和电话(Ptel);“编辑”的属性有编辑编码(Eid)、姓名(Ename)、性别(Egender)、电话(Etel);“作者”的属性有作者编码(Aid)、姓名(Aname)、性别(Agender)、电话(Atel);“书籍”的属性有国际图书分类号(Isbn)、书名(Bname)、单价(Bprice)。这些实体间的联系及它们的属性有:作者“主编”(ZB)书籍,为1:n联系;编辑“校对”(JD)书籍,为1:n联系;出版社“出版”(CB)书籍,为1:n联系;“出版”的属性有出版日期(Pdate)。(1)请画出概念数据模型的E-R图,要求标注联系的约束类型和键约束。(2)将此E-R图表示的数据模型转换为关系模型,要求标出各关系的主键。(3)给出创建“出版”关系(表)的SQL语句(需要创建相应的主键约束和外键约束)。(4)创建一个由地址中含有“成都市”的出版社出版的书籍的视图。(5)请分别用关系代数表达式和SQL查询语句表达下列查询:①由出版社“XNJDP”出版的、由编辑名为“MTQ”校对的书籍的ISBN号和书名。②由“男”性作者主编的、且由出版社“XNJDP”在2008.1.1至2008.12.31之间出版的书籍的ISBN号和书名。③由“女”性编辑校对的、且单价在20至40元之间的书籍的ISBN号和书名。(1)(2)出版社Publisher(出版社编码Pid,出版社名称Pname,地址Paddr,电话Ptel),出版社编作者编辑国际图书分类号书名出版社编码出版社校对出版出版社名称地址电话编辑编码姓名性别作者编码姓名性别单价出版日期1n1n1n电话电话书籍主编码Pid为主键。作者Author(作者编码Aid,姓名Aname,性别Agender,电话Atel),作者编码Aid为主键。编辑Editor(编辑编码Eid,姓名Ename,性别Egender,电话Etel),编辑编码Eid为主键。书籍Book(国际图书分类号Isbn,书名Bname,单价Bprice,出版社编码Pid,作者编码Aid,编辑编码Eid),国际图书分类号Isbn为主键,出版社编码Pid和作者编码Aid和编辑编码Eid分别为外键。出版CB(出版社编码Pid,国际图书分类号Isbn,出版日期Pdate),国际图书分类号Isbn为主键,出版社编码Pid和国际图书分类号Isbn分别为外键。主编ZB(作者编码Aid,国际图书分类号Isbn),国际图书分类号Isbn为主键,作者编码Aid和国际图书分类号Isbn分别为外键。校对JD(编辑编码Eid,国际图书分类号Isbn),国际图书分类号Isbn为主键,编辑编码Eid和国际图书分类号Isbn分别为外键。(3)CREATETABLECB(Pidchar(20)NOTNULLCONSTRAINTPid_constREFERENCESPublisher(Pid)ONDELETECASCADEONUPDATECASCADE,Isbnchar(20)PRIMARYKEYCONSTRAINTIsbn_constREFERENCESBook(Isbn)ONDELETECASCADEONUPDATECASCADE,PdatedatetimeNOTNULL)(4)CREATEVIEWBookviewASSELECTIsbn,Bname,Bprice,Pid,Aid,EidFROMPublisherNATURALJOINBookWHEREPublisher.Paddrlike‘%成都市%’(5)①关系代数表达式:πIsbn,Bname(σPname=XNJDP(PublisherEditorBook)∩σEname=MTQ(PublisherEditorBook))SQL:SELECTIsbn,BnameFROMPublisherNATURALJOINEditorNATURALJOINBookWHEREPname=‘XNJDP’ANDEname=‘MTQ’②关系代数表达式:πIsbn,Bname(σAgender=男(PublisherAuthorBookCB)∩σPname=XNJDP(PublisherAuthorBookCB)∩σPdate=2008-01-01(PublisherAuthorBookCB)∩σPdate=2008-12-31(PublisherAuthorBookCB))SQL:SELECTIsbn,BnameFROMPublisherNATURALJOINAuthorNATURALJOINBookNATURALJOINCBWHEREAgender=‘男’ANDPname=‘XNJDP’ANDPdate=‘2008-01-01’ANDPdate=‘2008-12-31’③关系代数表达式:πIsbn,Bname(σEgender=女(PublisherEditorBook)∩σBprice=20(PublisherEditorBook)∩σBprice=40(PublisherEditorBook))SQL:SELEC
本文标题:数据库原理第三章作业
链接地址:https://www.777doc.com/doc-2332694 .html