您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页数据库技术总复习题

数据库技术总复习题

来源:筏尚旅游网
.

《数据库技术》复习要点

一、选择题

1.物理结构的改变不影响整体逻辑结构的性质,称为数据库的( A ) A.物理数据性 B.逻辑数据性 C.物理结构性 D.逻辑结构性 2.ER模型属于( D )

A.概念模型 B.层次模型 C.网状模型 D.关系模型 3.数据库系统的三级模式结构中,定义索引的组织方式属于( ) A.概念模式 B.外模式 C.逻辑模式 D.内模式

4.一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件之间的联系是( D )

A.一对一 B.一对多 C.多对一 D.多对多 5.数据库中存储的是( A )。

A.数据 B.数据模型

C.数据之间的联系 D.数据以及数据之间的联系 6.反映现实世界中实体及实体间联系的信息模型是( C )。

A.关系模型 B.层次模型 C.网状模型 D.E-R模型 7.下列四项中,可以直接用于表示概念模型的是( A )。

A.实体-联系(E-R)模型 B.关系模型 C.层次模型 D.网状模型 8. 下列四项中说法不正确的是( C )。

A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据性

9.要求“学生”关系的“性别”属性只能取0或1,这属于关系的( )。 A.参照完整性规则 B.实体完整性规则 C.用户定义完整性规则 D.域完整性规则 10.多个用户同时对同一数据进行操作,描述的是( B )。

A.数据库的完整性 B.数据库的并发控制 C.数据库的恢复 D.数据的完整性 11.视图是一个“虚表”,视图的构造基于( C )。

A.基本表 B.视图 C.基本表或视图 D.数据字典 12.SQL语言中,SELECT语句的执行结果是( B )。

A.属性 B.表 C.元组 D.数据库 13.SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且( A )。 A.包括20岁和30岁 B.不包括20岁和30岁 C.包括20岁但不包括30岁 D.包括30岁但不包括20岁 14.在SQL语言中,对输出结果排序的是( A )。

A.ORDER BY B..WHERE C.GROUP BY D.HAVING 15.在SELECT语句中使用*,表示( B )。

A.选择任何属性 B.选择全部属性 C.选择全部元组 D.选择主码

16.在SELECT语句中,对应关系代数中“投影”运算的语句是( B )。

-.

.

A.SELECT B.FROM C.WHERE D.SET 17.若用如下的SQL语句创建了一个表T CREATE TABLE T( T# CHAR(6) NOT NULL, TNAME CHAR(8) NOT NULL, TEX CHAR(2), AGE INTEGER)

现向T表插入如下行时,( )行可以被插入。 A.('991001','张芳',女,'23') B.('990746','李明',NULL,NULL) C.(NULL,'陈得','男',32) D.('992345',NULL,'女',25)

18.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。其中S#为学生号,SNAME为

学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE 子句。这里WHERE 子句的内容是( A )。

A. S.S#=SC.S# and SEX=“女” and CNAME=“计算机” B. S.S#=SC.S# AND C.C#=SC.C# and CNAME=“计算机” C. SEX=“女” and CNAME=“计算机”

D. S.S#=SC.S# and C.C#=SC.C# and SEX=“女” and CNAME=“计算机” 19.下列四项中,不正确的提法是( A )。 A.SQL语言是关系数据库的国际标准语言

B.SQL语言具有数据定义、查询、操纵和控制功能 C.SQL语言可以自动实现关系数据库的规范化 D.SQL语言称为结构查询语言

20. 下列哪组 SQL 命令全部属于数据定义语句的命令( A )。 A.CREATE,DROP,ALTER B.CREATE,DROP,SELECT C.CREATE,DROP,GRANT D.CREATE,DROP,UPDATE

21.在下面的两个关系中,职工号和部门号分别为职工关系和部门关系的主键(或称主码)

职工(职工号、职工名、部门号、职务、工资) 部门(部门号、部门名、部门人数、工资总额)

在这两个关系的属性中,只有一个属性是外键(或称外来键、外码、外来码),它是( B )。

A.职工关系的“职工号” B.职工关系的“部门号” C.部门关系的“部门号” D.部门关系的“部门名” 22.对于关系R,第三范式是R中的每个非主属性应满足( D )。 A.与主关键字存在单值依赖关系 B.与主关键字存在多值依赖关系 C.函数传递依赖主关键字 D.非函数传递依赖主关键字

23. 下列关于规范化理论各项中正确的是( B )。 A.对于一个关系模式来说,规范化越深越好 B.满足二级范式的关系模式一定满足一级范式 C.一级范式要求非主码属性完全函数依赖关键字

-.

.

D.规范化一般是通过分解各个关系模式实现的,但有时也有合并 24. 关系规范化中的删除操作异常是指( A )。

A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入 25.在数据库设计中,将ER图转换成关系数据模型的过程属于( B ) A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段

26. 在ER模型中,如果有6个不同实体集,有9个不同的二元联系,其中3个1:N联系,3个1:1联系,3个M:N联系,根据ER模型转换成关系模型的规则,转换成关系的数目是( )

A.6 B.9 C.12 D.15 27. ER方法中用属性描述事物的特征,属性在ER图中表示为( A )

A、椭圆形 B、矩形 C、菱形 D、有向边 28. 数据库设计中,概念模型是( D )

A、依赖于DBMS和硬件 B、依赖于DBMS于硬件 C、于DBMS依赖于硬件 D、于DBMS和硬件 29.设计DB的存储结构属于数据库设计的( D )

A、需求设计 B、概念设计 C、逻辑设计 D、物理设计 30. 在DB的概念设计和逻辑设计之间起桥梁作用的是( C )

A、数据结构图 B、功能模块图 C、ER图 D、DFD 31. 如果事务T获得了数据项Q上的排它锁,则T对Q( C ) A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写

32.下面各项中,属于数据库的并发操作可能带来的问题是( A )。 A.丢失更新 B.数据性会提高 C.非法用户的使用 D.增加数据冗余度

二、填空题

1. 标准的数据库三级模式是概念模式、 外_模式和_内_模式。

2. 在关系代数运算中,从关系中取出满足条件的元组的运算称为_选择_。 3. 实体完整性规则要求主码取值 不能取空值 。 4. 为了维护数据库中数据与现实世界的一致性,关系数据库的数据与更新操作必须

遵循实体完整性规则、 引用完整性规则 、用户定义的完整性规则。

5. 如果数据库的内模式发生了变化,应用程序仍可保持不变,则称数据库具有_物

理数据_性。

6. 关系代数中专门的关系运算包括:选择、 投影 、连接和除法。

7. 结构数据模型的三要素包括数据结构、数据操作以及 数据完整性约束 。

8. 数据库保护问题包括: 故障恢复 、并发控制、完整性控制、安全性控制等多方

面。

9. 在ER图中,菱形框表示 联系 。

10. 数据库管理系统(DBMS)通常提供 数据定义 、数据操纵、数据控制和数据库

维护。

11. 当数据库被破坏后,如果事先保存了日志文件和 数据库的副本 ,就有可能

恢复数据库。

-.

.

12. DB并发操作通常会带来三类问题,它们是丢失更新、_不一致分析_和读脏数

据。

13. 关系代数的选择运算对应于SQL查询语句的 FROM_子句。

14. 对于模式设计不好的数据库,一般存在 插入异常 、 数据冗余 、_安全性

差_和删除异常等异常情况。

15. 在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在A

中称为 。

16. 在关系模式R(姓名,年龄,职位,出生日)中最有可能做主键的是 姓名 。 17. 在关系模式R(U,F)中,如果X→Y,存在X的真子集X1,使X1→Y,称函数

依赖X→Y为 。

18. 规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数

据库中的关系必须满足其每一属性都是 不可分解的 。

19. 通过对象和类的概念来建立的数据库模型是 面向对象 模型。

20. 数据库管理系统在外模式、模式和内模式这三级模式之间提供了两层映象:

外模式/模式 映象和 模式/内模式 映象

21. 事务必须具有的四个性质是:原子性、一致性、 隔离性 和持久性。

22. 防止未经授权的用户恶意地存取数据库中的数据,这是数据库

的 ?控制要解决的问题。

23. 在进行数据库备份时,如果每次都转储整个数据库,则这种转储方式为

___________转储。

三、简答题

1. 名词解释:关系、码、关系模式、关系数据库

答:关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,每列对应一个域。给每列起一个名字,称为属性。 码:关系中能唯一标识一个元组的属性组称为码。

关系模式:关系模式(Relation Schema)是型,关系是值,关系模式是对关系的描述。通常简记为: R (A1,A2,…,An) 其中: R 关系名,A1,A2,…,An 是属性名。

关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。

2. 简述关系的三类完整性规则,并分别举例说明。

答:实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值。例:学生(学号,姓名,性别,出生日期)中学号属性为主码,则其不能取空值。

参照完整性:在关系模型中实体及实体间的联系都是关系来描述的,因此可能存在着关系与关系间的引用。例:学生实体、专业实体以及专业与学生间的一对多联系:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)

用户定义的完整性:用户定义的完整性是针对某一个具体关系数据库的约束条件,反映某一个具体应用所涉及的数据必须满足的语义要求。例:课程(课程号,课程名,学分)中“课程名”属性必须取唯一值,非主属性“课程名”也不能取空值,“学分”属性只能取值{1,2,3,4} 3. 简述基本关系的性质。 答:基本关系的6条性质:

1、 列是同质的,即每列中的分量是同一类型的数据,来自同一个域;

-.

.

2、不同列可出自同一个域,不同属性要给予不同的属性名; 3、列的顺序无所谓,可任意交换; 4、任意两个元组不能完全相同。

5、行的顺序无所谓,即行的次序可以任意交换;

6、分量必须取原子值,即每个分量都是不可分的数据项。 4. 什么是基本表?什么是视图?请简述两者的异同。

答 :基本表是本身存在的表,在SQL中一个关系就对应一个表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。 视图是从一个或几个基本表导出的表。它本身不存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。用户可以在视图上再定义视图。

5. 试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多等

各种不同的联系。

图5-2中:一个部门有一个负责人,一个负责人负责一个部门的工作,部门和负责人间的联系是一对一的联系:一个学生可以借阅多本书,一本书只能一个人借,学生和借阅间的联系为一对多的联系;一个学生可以参加多个社会团体,一个社会团体有多个学生参加,学生和社会团体间的联系为多对多的联系。

部门 学生 学生 1 1 n 负责 参加 借阅 1 n m 0 社团 负责人 图书

图5-2 三个部门的E-R图

6. 试述数据库系统的三级模式两级映像结构,这种结构的优点是什么?

答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象,正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑性和物理性。 数据按外模式的描述提供用户,按内模式的描述存储在硬盘上,而模式介于外、内模式之间,既不涉及外部的访问,也不涉及内部的存储,有利于保持数据的性,内模式依赖于全局逻辑结构,但可以于具体的存储设备。 7. 试述数据库系统的组成。

答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

8. 简述数据库管理系统的功能。您所使用过的数据库管理系统有哪些? 答:其功能有:

(1)数据定义功能: 提供数据定义语言(DDL),定义数据库中的数据对象。 (2)数据操纵功能: 提供数据操纵语言(DML) 操纵数据实现对数据库的基本操作 (查询、插入、删除和修改)。

(3)数据库的运行管理: 对数据库的建立、运用、维护进行统一管理和控制,

-.

.

以保证数据的安全性、完整性、并发使用和发生故障后的系统恢复。

(4)数据库的建立和维护功能(实用程序):包括数据库初始数据的输入,数据库转储、介质故障恢复,数据库的重组织和性能监视、分析等功能。

我所使用过的数据库管理系统有: Access Foxbase Foxpro

9. 简述数据模型的作用及数据模型的三要素。常见的数据模型有哪些?

答:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。 通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。

三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。 常见的数据模型有:层次模型、网状模型(Network Model) 、关系模型(Relational Model)、 面向对象模型。

10. 名词解释:数据 数据库 数据库管理系统 数据库系统 数据模型

答:数据是能被计算机存储和处理的、反映客观事物信息的物理符号。 数据库是长期储存在计算机内的、有组织的、可共享的数据集合。 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。

11. 名词解释:函数依赖、部分函数依赖、完全函数依赖、主码、外码、1NF、

2NF、3NF。

函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。

完全函数依赖:在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X;都有

f X’ Y, 则称Y完全函数依赖于X,记作X→Y。

部分函数依赖:若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,

P 记作X→Y。

主码:设K为关系模式R中的属性或属性组合。若K→U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。

外码:关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。

1NF:如果一个关系模式R的所有属性都是不可再分的基本数据项,则R∈1NF。

2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。 3NF:若关系R满足2NF,且它的每一非主属性都不传递依赖于码,则称属于3NF。

12. 简述数据库设计的基本步骤及每阶段的任务。 数据库设计的基本步骤(六个阶段)

1) 需求分析阶段:准确了解与分析用户需求(包括数据与处理),是整个设计过程

的基础。

2) 概念结构设计阶段:通过对用户需求进行综合、归纳与抽象,形成一个于具

体DBMS的概念模型。

3) 逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型,对其进行

优化。

4) 数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包

-.

.

括存储结构和存取方法)。

5) 数据库实施阶段:根据逻辑设计和物理设计的结果建立数据库,编制与调试应用

程序,组织数据入库,并进行试运行。

6) 数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数

据库系统运行过程中必须不断地对其进行评价、调整与修改。 13. 什么是封锁?简要说明基本的封锁类型。

封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁,加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。 基本的封锁类型有以下两种:

写操作要求的排它锁(exclusive locks ,简记为X锁)和读操作要求的共享锁(share locks, 简记为S锁)。

若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁

14. 简述并发控制的必要性。

答:多个用户同时对数据库的并发操作时会带来数据不一致的问题,包括丢失修改、不可重复读、读“脏数据”等。可能会存取和存储不正确的数据,破坏事务的隔离性和数据库的一致性,因此DBMS必须提供并发控制机制。

15. 数据库运行中可能产生的故障有哪些?应如何进行恢复?

答:数据库运行中可能产生的故障有四类:事务内部的故障、系统故障、介质故障、计算机病毒。最常用的恢复技术是数据转储和登记日志。

事务内部的故障的恢复:由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复由系统自动完成,不需要用户干预。

系统故障的恢复:Undo 故障发生时未完成的事务,REDO已完成的事务。系统故障的恢复由系统在重新启动时自动完成,不需要用户干预。

介质故障的恢复:重装数据库,使数据库恢复到一致性状态;重做已完成的事务。为预防介质故障,DBA必须周期性地转储数据库。 16. 简述事务的概念及其基本特性。

答:事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。四个特性分别是: 原子性 事务是数据库的逻辑工作单位。事务中包括的诸操作要么都做,要么都不做。 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性 对并发执行而言。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性 也称永久性(Permanence)。指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 17. 试述把E-R图转换为关系模型的转换规则

将实体、实体的属性和实体之间的联系转化为关系模式。

两个实体类型之间一对一联系:可以在任一个关系模式中加入另一个关系模式的码及联系的属性,实现一对一联系。

两个实体类型之间一对多联系:在n端实体转换的关系模式中加入1端实体的码及

-.

.

联系的属性实现一对多联系。

两个实体类型之间多对多联系:将联系转换为关系模式,用来联系双方实体。其属性为两端实体类型的码加上联系的属性,码为诸实体码的组合。

三个或三个以上实体间的一个多元联系:将多元联系转换为一个关系模式。属性为与该多元联系相连的各实体的码以及联系本身的属性,关系的码为各实体码的组合。 同一实体集的实体间的联系:即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

18. 什么是E-R图?构成E-R图的基本要素是什么?

E-R是概念模型的表示方法,通常称为是实体-联系方法。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。

E-R图由实体、实体的属性和实体之间的联系三个要素组成。 19. 简述数据库的安全性及数据库安全性控制的常用方法。

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏。数据库安全性控制的常用方法:用户标识和鉴定,存取控制,视图,审计,密码存储。

20. 试述查询优化在关系数据库系统中的重要性,并简述查询优化的一般准则。

答:查询优化在关系数据库系统中有着非常重要的地位。关系数据库系统和非过程化的SQL语言能够取得巨大的成功,关键是得益于查询优化技术的发展。关系查询优化是影响RDBMS性能的关键因素。优化对关系系统来说既是挑战又是机遇。所谓挑战是指关系系统为了达到用户可接受的性能必须进行查询优化。由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性。这就为关系系统在性能上接近甚至超过非关系系统提供了机遇。

查询优化的一般准则:

a) b)

选择运算应尽可能先做。可以使计算的中间结果大大变小。 在执行连接前对关系适当进行预处理。按连接属性排序或在连接

属性上建立索引。

c) d) 数。

e) f)

某些选择运算+在其前面执行的笛卡尔积成为连接运算。 找出公共子表达式。

投影运算和选择运算同时做。避免生复扫描关系。

将投影运算与其前面或后面的双目运算结合。减少扫描关系的遍

21. 简述数据库的完整性及DBMS完整性控制机制应具有的功能。 数据库的完整性是指数据的正确性和相容性。 DBMS的完整性控制机制应具有三方面的功能: (1)定义功能:一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。 (2)检查功能:检查用户发出的操作请求是否违背完整性约束条件。

(3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,采取一定

-.

.

的动作来保证数据的完整性。

22. 常用的关系运算有哪些?举例说明。

答:常用的关系运算有:选择(例如从学生关系表中查询年龄小于20岁的学生,从学生关系表中查询信息系的全体学生。)、投影(例如从学生关系表中查询学生的姓名和所在系,从学生关系表中查询其中都有哪些系。)、连接(有两类常用连接:等值连接和自然连接)、除。

四、应用题

1. 某企业集团由若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂

生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。请根据上述语义画出ER图,并在图中注明实体的属性、联系的类型及实体标识符。

工厂编号 厂名 地址 工厂 计划数量 m 1 聘期 生产 n 聘用 n 职工 工资 产品 产品编号 产品名 规格 职工号 姓名 2. 已知在某高校规定:一名学生可选多门课程,一门课程可以同时被多个学生所选

择,课程结业时有考试成绩;一名教师可以讲授多门课程。假若学生有学号、姓名、性别、班级等属性,课程有课程号、课程名等属性,教师有教师号、教师姓名、电话等属性。请画出E-R图,标出联系类型及相关属性,再将其转换为关系模型。

-.

.

学生 n 学习 m p 课程 讲授 1 教师 学号 姓名 性别 班级 成绩 课程号 课程名 教师号 电话 教师姓名

转换得到4个关系模式:

学生(学号,姓名,性别,班级) 课程(课程号,课程名,教师号) 教师(教师号,教师姓名,电话) 学习(学号,课程号,成绩)

3. 某工厂物资管理涉及的实体有:

仓库 属性有仓库号、面积、电话号码

零件 属性有零件号、名称、规格、单价、描述

供应商 属性有供应商号、姓名、地址、电话号码、帐号 项目 属性有项目号、预算、开工日期 职工 属性有职工号、姓名、年龄、职称

请根据上述语义画出各自的ER图,并在图中注明实体的属性、联系的类型及实体标识符。

(1) 一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。 (2) 一个仓库有多个职员当仓库保管员,一个职工只能在一个仓库工作。 (3) 仓库主任主任领导若干保管员。

(4) 一个供应商可以给多个项目供应多种零件,每个项目可以使用不同供应商

供应的零件,每种零件可由不同供应商供给。 (1)

仓库号 面积 电话号码 仓库 m 存放 n 零件 描述 零件号 名称 规格 单价 -.

.

(2)

仓库号 面积 电话号码 职工姓名 年龄 职称 仓库 1 工作 n 职工

(3)

(4)

供应商号 姓名 地址 职工 1 n 领导 电话号码 账号 供应商 m 供应 n 项目 p 零件 项目号 预算 开工日期 零件号 名称 规格 单价 描述

4. 有学生-课程数据库,包括3个表:

学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 其中:Sno学号,Sname姓名,Ssex性别,Sage年龄,Sdept系别

课程表:Course(Cno,Cname,Cpno,Ccredit) 其中:Cno课程号,Cname课程名,Cpno选修课号,Ccredit学分

学生选课表:SC(Sno,Cno,Grade) 其中:Sno学号,Cno课程号,Grade成绩

-.

.

请写出完成以下操作的SQL语句。

(1) 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。 CREATE TABLE Student

(Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT,

Sdept CHAR(15));

(2) 建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。 CREATE TABLE SC( Sno CHAR(5) , Cno CHAR(3) , Grade int,

Primary key (Sno, Cno));

(3) 向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD Scome DATE;

(4) 为学生-课程数据库中的SC表按学号升序和课程号降序建唯一索引。 CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); (5) 查询全体学生的姓名、学号、所在系。 SELECT Sname,Sno,Sdept FROM Student;

(6) 查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage FROM Student WHERE Sage < 20;

(7) 查询年龄不在20~23岁之间的学生姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM Student

WHERE Sage NOT BETWEEN 20 AND 23;

(8) 查询学号为95001的学生的详细情况。 SELECT *

FROM Student

WHERE Sno = '95001';

(9) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC

WHERE Cno= ' 3 '

ORDER BY Grade DESC;

(10) 查询选修2号课程且成绩在90分以上的所有学生的学号、姓名。 SELECT Student.Sno, student.Sname FROM Student, SC

-.

.

WHERE Student.Sno = SC.Sno AND

SC.Cno= ' 2 ' AND /* 其他限定条件 */ SC.Grade > 90;

(11) 将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。 INSERT

INTO Student

VALUES(‘95020’,’陈冬’,’男’,’IS’,18); (12) 将学生95001的年龄改为22岁。 UPDATE Student SET Sage=22

WHERE Sno=' 95001

(13) 删除2号课程的所有选课记录。 DELETE

FROM SC;

WHERE Cno='2'

(14) 建立信息系学生的视图IS_Student。 CREATE VIEW IS_Student AS

SELECT Sno,Sname,Sage FROM Student

WHERE Sdept= 'IS‘;

(15) 在信息系学生的视图IS_Student中找出年龄小于20岁的学生。 SELECT Sno,Sage

FROM IS_Student WHERE Sage<20;

5. 设有一个SPJ数据库,包括以下四个关系模式:

供应商表:S(供应商代码,供应商姓名,供应商状态,供应商所在城市) S(Sno,Sname,Status,City)

零件表:P(零件代码,零件名,颜色,重量) P(Pno,Pname,Color,Weight)

工程项目表:J(工程项目代码,工程项目名,工程项目所在城市) J(Jno,Jname,City)

供应情况表:SPJ(供应商代码,零件代码,工程项目代码,供应数量) SPJ(Sno,Pno,Jno,Qty) 仅有若干数据如下: S表(供应商表) 供应商代码 供应商姓名 供应商状态 供应商所在城Sno Sname Status 市 City S1 精益 20 天津 S2 盛锡 10 北京 S3 东方红 30 北京 S4 丰泰盛 30 上海 -.

.

P表(零件表) 零件代码 零件名 颜色 重量 Pno Pname Color Weight P1 螺母 红 12 P2 螺栓 绿 17 P3 螺丝刀 蓝 14 P4 螺丝刀 红 14 P5 凸轮 蓝 40 P6 齿轮 红 30 J表(工程项目表) 工程项目代码 工程项目名 工程项目所在城市 Jno Jname City J1 二建 北京 J2 一汽 天津 J3 弹簧厂 长春 J4 造船厂 天津 J5 机车厂 唐山 J6 无线电厂 常州 J7 半导体厂 南京 S2 P3 J1 400 S2 P5 J1 400 S3 P5 J2 100 S3 P6 J1 200 S4 P2 J1 300 SPJ表(供应情况表) 供应商代码 零件代码 工程项目代码 供应数量 Sno Pno Jno Qty S1 P1 J1 200 S1 P2 J2 100 试写出完成以下各项操作的SQL语句: 1) 用SQL语句建立这四个表。

答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:

CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6),Status C(2),City C(4)); 对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:

CREATE TABLE P(Pno C(2)UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT); 对于J表:J(JNO,JNAME,CITY);建J表:

CREATE TABLE J(Jno C(2)UNIQUE,JNAME C(8),CITY C(4)) 对于 SPJ 表;SPJ(SNO,PNO,JNO,QTY);建SPJ表: CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT)) 2) 所有零件的名称、颜色、重量。 STLECT PNAME,COLOR,WEIGHT FROM P

3) 工程项目J2使用的各种零件的名称及其数量。 SELECT PNAME,QTY FROM SPJ,P

-.

.

WHERE P.PNO=SPJ.PNO AND SPJ.JNO=‘J2’

4) 求供应工程J1零件为红色的供应商号码SNO。

SELECT SNO FROM SPJ,P WHERE JNO=‘J1’AND SPJ.PNO=P.PNO AND COLOR=‘红’ 5) 求所有供应商的姓名和所在城市。 SELECT ANAME,CITY FROM S

6) 求使用供应商S1所供应零件的工程号码。 SELECT DIST JNO FROM SPJ WHERE SNO=‘S1’ 7) 求上海厂商供应的所有零件号码。

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY=‘上海’ 8) 把全部红色零件的颜色改成蓝色。

UPDATE P SET COLOR=‘蓝’WHERE COLOR=‘红’ 9) 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的

记录。

A、 DELETE FROM S WHERE SNO=‘S2’ B、 DELETE FROM SPJ WHERE SNO=‘S2’

10) 将(S2,J6,P4,200)插入供应情况关系。 INSERT INTO VALUES(‘S2’,‘J6’,‘P4’,200)

为什么要进行关系规范化?简述关系模式规范化的基本步骤。

答:规范化理论正是用来改造关系模式,通过分解关系模式或来消除其中不合适的数据依赖。以解决插入异常,删除异常,更新异常,数据冗余问题。

基本步骤。

1NF向2NF——清除非主属性对码的部分函数依赖 2NF向3NF——清除非主属性对码的传递函数依赖

-.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务