数据库简答答题er图_第1页
数据库简答答题er图_第2页
数据库简答答题er图_第3页
数据库简答答题er图_第4页
数据库简答答题er图_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、、简答题1、数据库系统主要由哪四部分内容组成?答: ( 1)数据库( 2)数据库管理系统( 3)应用系统( 4)数据库管理员2、关系的完整性约束条件有哪几种?答:实体完整性、参照完整性和用户定义的完整性。*3、数据库领域有哪几种常用的逻辑数据模型?答:层次模型、网状模型、关系模型、面向对象模型和对象关系模型。* 4、什么是事务?事务的四个特性是什么?答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务的四个特性是:原子性、一致性、隔离性、持续性。* 5 数据库设计的基本步骤。答:数据库设计基本可以分为以下6 步:需求分析、概念结构设计、逻辑结构设

2、计、物理结构设计、数据库实施、数据库运行和维护。* 6 并发操作带来的数据不一致性主要有哪些?答:主要有丢失修改、不可重复读和读脏数据。* 7 、数据库系统中的故障主要有哪几类?答:事务内部的故障、系统故障、介质故障和计算机病毒。* 8 、数据库系统中的数据独立性的内容及如何保证数据库中数据的独立性包括数据的逻辑独立性和物理独立性,其中逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构改变了,用户程序也可以不变,而用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,当数据的物理存储改变时,应用程序不用改变。数据独立性是通过DBMS 的三级模式和二级映像来保证的。

3、9、如何进行系统故障的恢复?答: ( 1)正向扫描日志文件(即从头扫描日志文件)在故障发生前已经提交的事务放入Redo 队列在故障发生时尚未完成的事务放入Undo 队列(2)对Undo队列事务进行UNDOt理(3) 对Redo队列事务进行REDOt理10、解释数据库的安全性及数据库安全的常用技术。答:指保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏。常用技术有用户标识和鉴别、存取控制、视图和密码存储等。、数据库概念结构设计(E-R图)1、假设某公司的业务规则如下:公司下设几个部门, 每个部门承担多个工程项目,每个工程项目属于 一个部门。每个部门有多名职工,每一名职工只能属于一个部门。

4、一个职工 可能参与多个工程项目,且每个工程项目有多名职工参与施工。 根据职工在 工程项目中完成的情况发放酬金。工程项目有工程号、工程名两个属性;部门有部门号、部门名两个属性; 职工有职工号、姓名、性别属性;(1)据上述规则设计E-R模型。(2)将E-R模型转换成关系数据模型,并指出每个关系的主键和外键。答:(1) E-R 图(2)职工(职工号、姓名,性别,部门号)部门号为外码项目(项目号,项目名,部门号)部门号为外码部门(部门号,部门名)参加(职工号,项目号,酬金)职工号,项目号为外码2、假设教学管理规定:一个学生可以选多门课,一门课可以有若干学生选修; 一个教师可以讲授多门课,一门课只有一名

5、教师讲授;学生选修一门课程 只有一个成绩;学生的属性有学号,姓名;教师的属性有教师编号、教师 姓名;课程属性有课程号、课程名和学分(1)根据以上情况,试构造满足需求的 E-R图;(2)将E-R模型转换成等价的关系模型结构(1) E-R 图(2)学生(空匕姓名)课程(课程号,课程名,学分,教师编号)教师编号为外码教师(教师编号,教师姓名)选修(学号,课程号,成绩)学号和课程号为外码3、设某汽车运输公司数据库中有 3个实体集。一是“车队”实体集,属性 有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂 日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队 与司机之间存在“

6、聘用”联系,每个车队可聘用若干司机,但每个司机只 能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有” 联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车 辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性, 每个司机可使用多辆汽车,每辆汽车可被多个司机使用。(1)试画出ER图,并在图上注明属性、联系类型、实体标识符。(2)将ER图转换成关系模型,并说明主键和外键。答:画E-R图:转换成关系模型:车队(车队号,车队名)车辆(牌照号,出厂日期,厂家,车队号)车队号为外码司机(司机编号,姓名,电话,车队号)车队号为外码使用(牌照号,司机编号,使用日期,公里

7、数)牌照号和司机编号为外码三、关系代数基本的关系代数运算:并、交、差和专门的投影、选择、连接1、 设有如图所示的关系:学生表 S (S#, SNAME AGE SEX课程表 C (C#, CNAME,TEAGHER学生选课表SC (S#,C#,SCORE试用关系代数表达式表示下列查询语句:(1 )检索所有课程名为高等数学课程的课程号(C #)和授课教师 (TEAGHEREEC # , TEAGHER ( 6 CNAME ="高等数学"(C)(2 )检索年龄大于20的女学生学号(S#)和姓名(SNAME)IIS# , SNAME ( 5 AGE >20A SEX=

8、9;女'(S)(3)检索选修了“刘洋“老师所授课程的学生姓名( SNAMEI!SNAME( 6TEACHER="刘洋"(S tX SC X?l C)(4)检索“李强“同学所学课程的课程名 (CNAME)IICNAME ( 6 SNAME ="李强"(S X SOX? C)(5)检索李强同学考试及格的课程号(C#)IIC#( 6SNAME=""ASCORE>60 (S OO SC)四、模式分解1、书店的业务描述:每一个订单有惟一的订单编号;一个订单可以订购多种 图书,且每一种图书可以在多个订单中出现 ,订购每种图书有订购数

9、量;一个订 单对应一个客户,且一个客户可以有多个订单;每一个客户有惟一的客户编号; 每一种图书有惟一的图书编号。 根据上述业务描述和订单格式得到关系模式R:R (订单编号,日期,客户编号,客户名称,客户电话,地址,图书编号,书名, 定价,数量)问题:(1)写出R的基本函数依赖集。(3分)(2)找出R的候选键。(2分)(3)判断R最高可达到第几范式,为什么? ( 3分)(4)将R分解为一组满足3NF的模式。(2分)答:(1)基本函数依赖集为(订单编号,图书编号)一数量 订单编号一客户编号订单编号一日期客户编号一客户名称 客户编号一客户电话客户编号一地址 图书编号一书名图书编号一定价(2)R的候选

10、码是(订单号,图书编号)(3)R最高满足1NF,因为存在函数依赖:订单号一客户编号,所以存在非主 属性”客户编号”对码的部分函数依赖,所以不满足2范式。(4)将R分解为:R1(客户编号、客户名称,客户电话,地址)R2(图书编号、书名,定价)R3(订单编号、图书编号、数量)R4 (订单编号,客户编号,日期)此时关系模式集R1,R2,R3,R4是3NF模式集合。2、设有关系模式R (职工名,项目名,工资,部门名,部门经理)如果规定:每个职工可参加多个项目;各领一份工资;每个项目只属于一 个部门管理;每个部门只有一个经理。(1)试写出关系模式R的基本函数依赖和主码。(2)说明R不是2NF的理由,并把

11、R分解成2NF.(3)进而将R分解为3NF,并说明理由。答:(1)基本的函数依赖:(职工名,项目名)一工资项目名一部门名部门名一部门经理R的主码(职工名,项目名)(4分)(2) R中有这样的函数依赖:职工名一部门名即存在非主属性部门名对码(职工名,项目名)的部分函数依赖的,所以R不是2NF模式。将R分解为:R1 (项目名,部门名,部门经理)R2 (职工名,项目名,工资)此处R1和R2都是2NF模式。(4分)R2已是3NF模式,在R1中,存在两个函数依赖:项目名一部门名部门名一部门经理因此 项目名一部门经理 是非主属性对码的传递依赖。所以 R1不是 3NF模式。对R1进行模式分解:R11 (项目

12、名,部门名)R12 (部门名,部门经理)所以,R11,R12,R2是一个3NF模式集。*3、设有一个记录各个球队队员每场比赛进球数的关系模式:R(队员编号,比赛场次,进球数,球队名,队长名),如果规定每个队员只能属于一个 球队。“进球数”为某队员某场比赛的进球数。每个球队只有一个队长。(1)试写出关系模式R的基本函数依赖和主码。(2)说明R不是2NF的理由,并把R分解成2NF.(3)进而将R分解为3NF,并说明理由。答:(1)基本的函数依赖有:队员编号一球队名球队名一队长名(队员编号,比赛场次)一进球数 R的主码(队员编号,比赛场次)(2) R中有函数依赖:队员编号一球队名,所以存在非主属性对

13、码的 部分函数依赖,R不是2NF。将R分解为:R1(队员编号、比赛场次、讲球数)R2 (队员编号.球队名,队长名)R1和R2中都不存在非主属性对码的部分函数依赖,是 2NF。(3) R1已经是3NF,但R2中存在非主属性对码的传递函数依赖:队员编号一球队名, 球队名一队长名,所以不是 3NF。将R2分解为:R21(队员编号,球队名)R22 (球队名,队长名)止匕时R1,R21,R22是一个3NF集。4、设有关系模式R (A,B,C,D,E,F),其函数依赖集为:F=E D,C B,(C,E) F,B A请回答如下问题:(1)指出R的所有候选码并说明原因;(2) R最高属于第几范式,为什么?(3

14、)分解R为3范式(1)可知A、B、D、F四个属性均不是决定因素,所以只有C和 E有可能构成该关系模式的主键,rfuC. E之间没有函数依赖 关系,且根据已知的函数依赖可知,CEABCDEF,所以R 的主键是CE .(2)由丁D部分依赖于主键CE , A、B部分依赖了主键CE,所 以r最高属1 NF。(3)将一个“不满足2NF的关系模式分解成3NF,总的原则是将 满足范式要求的函数依赖中包含的属性分解为一个关系模式, 将不满足范式要求的函数依赖中所包含的属性分别分解为多 个关系模式。首先将R分解为2NF,分解如下; R1 (E, D) R2 C B, A) R3 (C, E, F)上述三个模式中

15、,R1, R3都已经属于3NF,但在R2中,A传递依赖于C,故应该继续分解为3NF,分解如下;R21 (C, B) R22 (B, A)将R分解为R1, R21, R22, R3四个模式后,都属于3NF。五、SQL语句以下SQL语句均以下面的模式为例仓库(仓库编号,地址,保管员) 商品(商品号,商品名,单价,生产商) 库存情况(仓库编号、商品号、数量) 生产商(生产商名,地址,电话)1、建立一个商品表,并标明主键和外键CREATE TABLE 商品( 商品号 CHAR(8) PRIMARY KEY,商品名 CHAR(40),单价 FLOAT ,生产商 CHAR(40), FOREIGN KEY

16、 (生产商)REFERENCES生产商(生产商名);建立库存情况表CREATE TABLE库存情况( 仓库编号 CHAR(4),商品号 CHAR(8),数量 INT ,PRIMARY KEY仓库编号,商品号),FOREIGN KEY ( 商品号 ) REFERENCES 商品 (商品号 ) ,FOREIGN KEY仓库编号)REFERENCES仓库(仓库编号) );2、查询所有商品的商品号与商品名。SELECT 商品号,商品名FROM 商品;3、查询所有商品的详细记录。SELECT *FROM®品;4、查询所有商品名为“冰糖雪梨”的商品名单。SELECT 商品名FROM 品WHERE

17、?品名='冰糖雪梨;5、查询所有单价在20以下的商品名及其单价。SELECT 商品名,单价FROM 商品WHERE 单价 < 20;去掉因为去掉某些列而造成的重复DISTINCT6、查询库存数量小于100的商品的商品号。SELECT DISTINCT 商品号FROM 库存情况WHERE 数量<100;确定范围:BETWEEN AND 与 NOT BETWEEN AND7 查询单价在1020元(包括10元和20元)之间的商品的商品名、单价和生产商SELECT 商品名,单价,生产商FROM 商品WHERE 单价 BETWEEN 10 AND 20;8、查询单价不在1020元之间

18、的商品的商品名、单价和生产商SELECT 商品名,单价,生产商FROM 商品WHERE 单价 NOT BETWEEN 10 AND 20;确定集合:IN 和 NOT IN9 、 查询蒙牛乳业集团、完达山集团和伊利集团生产的商品的商品名和单价。SELECT 商品名,单价FROM 商品WHERE 生产商 IN ( 蒙牛集团 , 完达山集团, 伊利集团 ' );10 、 查询不是蒙牛集团、完达山集团和伊利集团生产的商品的商品名和单价。SELECT 商品名,单价FROM 商品WHERE 生产商 NOT IN ( 蒙牛集团 , 完达山集团, 伊利集团 ' );字符匹配;LIKE 与 NO

19、T LIKE %与-11 、查询所有果汁的商品名和单价。SELECT 商品名,单价FROM 商品WHERE 商品名 LIKE %果汁% ;12 、查询商品名最后一个字为" 茶 "且全部商品名为三个汉字的商品名。SELECT 商品名FROM 商品WHERE 商品名 LIKE ' 茶 ';涉及空值的查询:IS NULL 与 IS NOT NULL对于 SC (S# C#、GRADE)关系13 、 某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECT Sno, CnoFROM SCWHERE Grad

20、e IS NULL14、查所有有成绩的学生学号和课程号。SELECT Sno , CnoFROM SCWHERE Grade IS NOT NULL;多重条件查询15 、查询1号仓库中库存量在50以下的商品号。SELECT 商品号FROM 库存情况WHERE 仓库 = 1 AND 数量 <50;16、查询蒙牛集团生产的单价高于5 元的商品的商品号和商品名。SELECT 商品号,商品名FROM 商品WHERE 生产商= 蒙牛集团AND 单价 >5;对查询结果排序:ORDER BY和DESC、ASC缺省为升序(ASQ17、查询蒙牛集团生产的商品的商品名和单价,查询结果按单价降序排列。S

21、ELECT 商品名,单价FROM 商品WHERE 生产商= 蒙牛集团ORDER BY 单价DESC;18、查询所有商品库存情况,查询结果按仓库号升序排列,同一仓库中的商品按数量降序排列。SELECT *FROM 库存情况ORDER BY 仓库号,数量DESC;聚集函数:19、查询商品总数SELECT COUNT(*)FROM 商品 ;20、 查询仓库中存储的商品数SELECT COUNT(DISTINCT 品编号)FROM 库存情况;21、计算1号仓库中商品的平均数量。SELECT AVG 数量)FROM 库存情况WHERE 仓库编号= '1' ;22、 查询 1号仓库中的商品

22、的最高数量。SELECT MAX数量)FROM 库存情况WHER 仓库编号 = 1;23、查询商品编号为6982的商品的总库存量。SELECTSUM 数量)FROM 库存情况WHERE 商品编号= ' 6982 ' ;分组查询24、求各个仓库及相应存储的商品数。SELECT 仓库编号,COUNTS号)FROM 库存情况GROUP BY库编号;25、查询存储了200种以上商品的仓库号。SELECT 仓库号FROM 库存情况GROUP BY仓库号HAVINGCOUNT(*) >200 ;HAVINGS语与WHERE旬的区别: 作用对象不同?WHE卷句作用于基表或视图,从中选择

23、满足条件的元组?HAVING©语作用于组,从中选择满足条件的组。连接查询(多表查询)26、查询每种商品及其在仓库中的存储情况SELECT 商品 .* ,库存情况.*FROM 商品,库存情况WHERE 商品 . 商品号 =库存情况. 商品号27、查询存储了6982号商品且数量在200 以上的所有仓库的地址和保管员。SELECT地址,保管员FROM 仓库 , 库存情况WHEREfe库.仓库编号=库存情况.仓库编号AND库存情况. 商品编号= 6982 AND 库存情况. 数量 > 200 ;28、查询每种商品的商品号, 商品名 , 存储的仓库名和数量SELECT 商品 . 商品号,

24、商品名,仓库名, 数量FROM 商品,库存情况,仓库/* 多表连接*/WHERE 商品 . 商品号 = 库存情况. 商品号AND 库存情况. 仓库号 = 仓库 . 仓库号;嵌套查询29、查询存储在2 号仓库中的商品的商品名和生产商.SELECT 商品名 , 生产商/* 外层查询 /父查询 */FROM 商品WHERE商品号IN(SELECT品号/*内层查询/子查询*/FROM库存情况WHERE 仓库号 = '2' );30、找出商品存储超过其存储数量平均数的商品号和仓库号。SELECT 商品号,仓库号FROM 库存情况xWHERE 数量 >=(SELECT AVG数量)F

25、ROM 库存情况yWHERE y.商品号 =x. 商品号 );31、查询其他生产商生产的商品中比蒙牛集团生产的所有产品单价都低的商品的商品名及单价。方法一:用ALL谓词SELECT 商品名,单价FROM 商品WHERE 单价 < ALL(SELECT FROM WHEREAND 生产商 <> ' 方法二:用聚集函数单价商品生产商 = ' 蒙牛集团 ') 蒙牛集团 ;SELECT 商品名,单价FROM 商品WHERE 单价 <(SELECT MIN(单价 )FROM商品WHERE生产商 = ' 蒙牛集团')AND 生产商 <&

26、gt;' 蒙牛集团;数据更新32 将所有单价低于1 元的商品单价均上涨10%.Update 商品SET 单价=单价*1.1WHERE 单价 <1;33、将三鹿公司生产的所有商品库存数量置零。UPDATE 库存情况SET 数量 =0WHERE 商品号IN(SELETE商品号FROM商品WHERE生产商 = 三鹿公司);34、删除商品号为88452的商品记录。DELETEFROM 商品WHERE 商品号 = 88452 ' ;35、删除三鹿公司所有商品的库存记录。DELETEFROM 库存情况WHERE 商品号 IN (SELETE 商品号FROM商品WHERE生产商 = 三鹿公司);创建视图:语句格式CREA

温馨提示

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

评论

0/150

提交评论