您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页数据库原理与应用 第二版(张俊玲)清华大学出版社 课后习题答案完整版

数据库原理与应用 第二版(张俊玲)清华大学出版社 课后习题答案完整版

来源:爱问旅游网
数据库原理与应用 习题答案

第一章 一、填空题

1.常见的数据库管理系统有 Oracle、Microsoft SQL Server、Visual FoxPro 和Microsoft Access。

2.中文Microsoft Access 2003的基本工作界面包括 主窗口 (外面的大窗口)和数据库窗口(里面的小窗口)两部分。

3.数据库像一个电子表格,其中每一行称为 记录 ,每一列称为 字段 。 4. 从数据库窗口可以看出,Access 2000数据库系统的基本结构由数据库 对象 和 组 两部分组成,其中对象有7种,它们分别是数据表、查询、窗体、报表、Web页、宏和模块。 二、简答题

1.试述数据、数据库、数据库管理系统、数据库系统的概念。

答:数据(Data):描述事物的符号称为数据,它是数据库存储的基本对象。广义的数据包括数字、文字、图形和声音等。

数据库(DataBase,DB):指长期存储在计算机内的、有组织的、可共享的数据集合。

数据库管理系统(DataBase Management System,DBMS):是位于用户与操作系统之间的一层数据管理软件。 ‘

数据库系统(DataBase System,DBS):指在计算机中引入数据库后的系统,由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户构成。 2.使用数据库系统有什么好处?

答:使用数据库系统可以将现实中的大量有用信息,以数据的形式保存在计算机里,数据库本身可被看作是一种电子文件柜,它是收集计算机数据文件的仓库或容器,系统用户可以对这些文件执行一系列操作,如向数据库中增加新的空文件、向现有文件中插入数据、更改现有文件中的数据及删除数据库中的数据等。并能达到数据结构化、共享性高、冗余度低、性高的要求,提高了管理效率和准确性。

3.数据库管理系统的主要功能有哪些?

答:数据库管理系统的功能主要有数据定义功能、数据操纵功能、数据库的运行管理及数据库的建立与维护功能。 4.试述数据库系统的组成。

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

第三章

一、单选题 ACDDC 二、填空题

1.查看字段较多的数据表的内容时,采用 冻结 操作可以将某些字段暂时保留在原位不被移动。

2.创建数据表分 设计表结构 和输入数据两步。

3.Access 2003提供了 表向导 、数据表方法和设计方法三种创建数据表结构的方法。

4.在Access中,数据表有 数据表视图 和设计视图,两种视图经常需要切换。 5.在关系数据库中,表之间的相关性是依靠每一个的数据表内部键建立的。 6.表是由表名、 表结构 及表的具体内容组成的。 7.货币类型数据可自动加入 货币符号 。

8.字段格式只决定数据的输入和输出格式,不影响数据的 存储格式 。 9.如果某一字段没有设置标题,系统将 字段名 当成字段标题。 10.一个表只能有一个 主键 ,而索引字段可以有多个。 三、简答题

1.指出工具拦中的指定按钮的含义,如图3-2 所示。 答:按钮1的作用是按升序进行排序。 按钮2的作用是按选定内容筛选。 按钮3的作用是切换到数据库窗口。 按钮4的作用是显示表。 按钮5的作用是显示所有关系。

2.数据表设计中字段名应符合哪些规则?

答:数据表中的字段名是用来标识字段的,字段命名应符合Access 2 000数据库的对象命名规则。即:

(1)字段名称可以是1~个字符。

(2)字段名称可以采用字母、数字、空格以及其他一切特别字符(除句号、叹号、方括号以外)。

(3)不能使用A S CII码值为0-3 2的ASCII字符。 (4)不能以空格为开头。

3.数据表建立主关键字是否为必需的?

答:数据表不一定必须建立主关键字,但一般情况下最好建立主关键字,设置了主关键字后,系统查询数据的速度会比较快。 4.主关键字对应的字段必须满足什么条件? 答:主关键字段不能为空值,且无重复值。

5.能否对备注、超级链接和OLE对象数据类型字段设置索引?

答:不能对备注、超级链接和OLE对象数据类型字段设置索引。 6.修改数据表字段的属性,是否可能造成数据的丢失?

答:修改数据表字段的属性,可能会造成数据的丢失。例如将某个字段原数据类型为长整型,该字段中某条记录已有数据35000,若将该字段数据类型修改为整型时,该字段允许的最大数据值是32767,那么记录中原有数据值35000超过修改后的整型数据所允许的最大值,则该数据将会被删除。

7.更改数据表中某一行的高度,数据表中所有行的高度都会被更改吗? 答:更改数据表中某一行的高度,数据表中所有行的高度都会被更改。 8.如何对记录进行筛选?

答:筛选的方法有4种,它们分别为“按窗体筛选“、“按选定内容筛选”、“内容排除筛选”和“高级筛选/排序“。

9.查看记录较多的数据表的内容时,采用什么操作可以将某些记录暂时过滤掉?

答:查看记录较多的数据表的内容时,采用内容排除筛选操作,可以将某些记录暂时过滤掉。 ‘

1 0.被冻结列的内容在解冻前能否被修改?

答:被冻结列的内容在解冻前可以被修改。 四、综合题

1.Access支持哪些数据类型?简述各数据类型的定义、取值范围。

答:Access 2000支持的字段类型共有1O种,文本型、数字型、日期/时间型、货币型、自动编号型、是/否型(逻辑型)、OLE对象型、超级链接型、备注型和查阅向导型。

文本型:适用于文本或文本与数字的组合,也可以是不需要计算的数字,如地址、电话号码、身份证号码等,最长为255个字符。 数字型:用于数学计算的数字数据,包括以下几种。 整型——取值范围-32768~32767。

长整型——取值范围-21474838~21474837。

单精度型——保存从-3.402 8 2 3 E3 8到-1.40 1 2 9 8 E-4 5的负值,从l·4 0 1 2 9 8 E-4 5 到3.402 8 2 3 E 3 8的正值。

双精度型一一保存从一1.79769313486231E308到-4.940655841247E-324的负值,从1.7 9769313486231E308到4.940655841247E-324的正值。

日期/时间型:100---9999年之间的日期及时间值,可以进行时间计算,大小为8个字节。 .

货币型:货币值或用于数学计算的数字数据,可避免计算时的四舍五入,数据范围为小数点前1 5位,后4位。大小为8个字节。

自动编号型:在添加记录时,一次自动加1,或随机编号其大小为4个字节。 是/否型:该字段类型用于记录逻辑型数据,如Ye s/No、True/False、On/Off等,大小为1个字节。

OLE对象:可以链接或嵌入其他使用OLE协议的程序创建的对象,例如Microsoft Word文档、Microsoft Excel电子表格、图像、声音或其他二进制数据,但只能在窗体或报表中结合对象来显示OLE对象,大小可达1G字节,主要取决于磁盘空间的大小。

超级链接型:用于保存超级链接的字段,最长为000个字节。 备注型:适用于较长的文本及数字,如说明性文字,最长可达 000个字符。 查阅向导型:在向导创建的字段中,允许使用组合框来选择另一表中相关列的数值。从数据类型列表中选择该项,将打开向导进行定义。 2.建立用户自定义主关键字有哪些好处?

答:建立用户自定义主关键字后,系统查询数据的速度会比较快。 3.什么情况下应该考虑对字段设置索引?

答:在下列情况下,要考虑对字段设置索引。

·字段的数据类型为文本、数字、货币或日期/时间。 ·字段中包含要查找的值。 ·字段中包含要排序的值。

·在字段中保存许多不同的值。

4.如何对数据表中的记录进行排序?列举几种排序方法。

答:对数据表中的记录进行排序的方法是:打开数据表视图,将光标放置于用于排序字段内,单击数据表视图工具栏中的“升序排序”按钮鬻或“降序排序”

按钮塑,系统就按照所选择的字段和排序方法进行排列。 排序的方法有升序或降序两种。 5.能否只复制数据表结构?如何复制?

答:可以只复制数据表结构。复制方法如下。

(1)打开数据库,单击“数据库”窗口中“对象”栏中的“表”对象,选择要复制的数据库表,使其成反白状态。

(2)单击工具栏中的“复制”按钮辫,或打开“编辑”菜单,选择其中的“复制”命令,这样便将所选择的数据表复制到了“剪贴板”上。

(3)单击工具栏中的“粘贴”按钮篇,或打开“编辑”菜单,选择其中的“粘贴”命令,出现“粘贴表方式”对话框。

(4)在对话框中的“表名称”文本框中输入复制表的名称;在“粘贴选项”中选择“只粘贴结构”单选项,单击“确定”按钮即可。 6.采用什么方法可以将一个表中的数据导入到另一个表中? 答:采用复制的方法可以将一个表中的数据导入到另一个表中。复制时在“粘贴表方式”对话框中选择“将数据追加到已有的表”单选项。

7.Access数据库系统提供了哪几种使用已有数据表创建新数据表的方法?

答:Access数据库系统提供了3种使用已有数据表创建新数据表的方法,使用向导、应用“数据表视图”和复制数据表的方法。

另外,Access还可以通过“新建”一“导入表”的方法,将外部文件中的数据导入,建立新数据表。这些外部文件的格式可以是DBASE、Excel、Exchange、HTMI。、Lotus 1—2.3、Outlook和文本文件等。 8.能否同时依据两个或多个字段进行排序?

答:可以同时依据两个或多个字段进行排序。依据两个或两个以上字段进行排序时,重复按单个字段排序方法,即将光标放置于用于排序字段内,单击数据表视图工具栏中的“升序排序”或“降序排序”按钮。注意选择字段的顺序与排序规则有关。即先按选择的第一个字段排序,在第一个字段数据值相同时,再按第二个字段内容排序,依此类推。 9.什么是数据表之间的关系?

答:数据表之间的关系反映了多个表之间数据间参照关系。有时某一个数据表中的一列数据或多列数据由其他表中的数据决定,即表中数据来自其他数据表。

10.建立了关系的数据表具有什么特性? 答:建立了关系的数据表数据间满足一定参照关系,一个表中的一列或若干列数据来自另一个表,并且这些数据表的数据可以一起使用,为在查询、报表、窗体和数据访问页中同时使用多表数据提供了可能。

11.如何定义数据表之间的关系?用户在定义数据表之间的关系时,应该注意哪些问题?

答:定义数据表之间关系的步骤如下:

(1)打开数据库基本操作界面中的“工具”菜单,选择其中的“关系”命令,出现“显示表”对话框。

(2)单击“显示表”对话框中欲建立关系的表,再单击“添加”按钮,即可将该表添加到“关系”窗口中。

第四章

一、单选题 BCBC 二、填空题

1. 查询不仅可以重组表中的数据,还可以 更新、添加、删除 数据。 2. 在建立一个查询以后,可以将它的数据显示在 窗体、报表甚至数据访问页上。 3. 执行一个查询后,其结果所形成的记录集称为 结果集 。

4.交叉表查询将用于查询的字段分成两组,一组显示在左边,另一组显示在顶部,并将 统计结果 显示在交叉点上。

5.如果查询条件包含多个字段,则分别在各字段对应的 准则 中输入条件。 6.查询教师平均年龄使用 Avg 函数。

7. 统计各类职称人数使用 group by 和 count 函数。 8.使用 追加查询 可以向数据表增加新记录,增加的方式可以是将某一个表的全部或部分数据添加到另一个表中,也可是将一组给定的字段值添加到对应表中。

9.对字段内的值求和,使用 Sum 函数。 三、简答题

1.为什么使用查询处理数据?

答:使用查询可以浏览一个表或分散在多个表中符合一定条件的特定数据,还可以分析或修改数据,将经常需要访问的数据定义为查询,能够提高整个数据库的性能。

2.建立查询的方法有哪几种?

答:Access 2003创建查询时可以使用向导或使用设计视图两种方法。 3.如何运行查询?

答:运行已经创建的查询有以下几种方法。

(1)在“数据库”窗体“查询”对象中,双击查询名称。

(2)在“数据库”窗体“查询”对象中,单击查询名称,然后单击“数据库”窗体工具栏上的“打开”按钮。

(3)在查询设计视图状态下单击工具栏上的“运行”按钮。

(4)在查询设计视图状态下单击工具栏“视图”按钮型中的箭头,打开“视图”按钮选项,选择“数据表视图”选项执行查询。 4.使用简单查询向导适合建立具有什么特点的查询? 答:简单查询向导适合建立从一个或多个表/查询中选择部分列输出的查询,以及对数值型数据进行统计计算的查询。

5.用于建立简单查询的数据源只能来源于表吗?如果不是,还可以来源于什么? 答:建立简单查询的数据源不只是来自表,还可以来自已经建立的查询。 6.建立查询时若数据源为多个表时,对这些表有什么要求?

答:建立查询时如果数据源为多个表,这些表应先建立关系。 7.如何打开查询设计视图?

答:打开“数据库”窗体的“查询”对象,选中欲打开的查询名称,然后单击工具栏“设计”按钮,进入查询设计视图。 8.如何打开“显示表”对话框?

答:打开“显示表”对话框的方法有以下几种。

方法一:打开“数据库”窗体,单击“对象”中的“查询”标签,双击“使用设计器创建查询”,系统出现“显示表”对话框。

方法二:单击工具栏“显示表”按钮。

方法三:显示查询设计视图状态,在列表空白处单击鼠标右键,弹m快捷菜单,选择“显示表”选项,可以打开“显示表”对话框。 9.什么是选择查询?选择查询中的选择条件有哪两种形式?

答:选择查询是最常见的一种查询类型,它将数据源中的数据全部输出,或按照某些字段的限定条件进行记录及字段的筛选后输出结果,还可以使用选择查询来进行分组,并对记录作计数、总计、平均等或其他类型的计算。

选择条件有“与”和“或”两种,分别写在设计视图中对应字段的“准则”行和“或”行内。

10.如何在设计视图中增加“总计”行?

答:单击工具栏“总计”按钮,在设计视图中增加“总计”行。 11.分类统计结果形式与交叉表查询结果形式有什么不同?

答:

12.建立交叉表查询的关键是什么?有哪些限定条件?

答:建立交叉表查询的关键是明确选取哪些字段作为行标题,哪个字段作为列标题。建立交叉表查询的限定条件是行标题字段个数不能超过3个,列标题字段只有1个。

13.使用生成表查询得到的一个新表不仅包括表结构,而且还包括数据,对吗?

答:对。

第五章

一、单选题 ADCCA ABCAB DADB 二、填空题

1.报表可以将数据库中的数据进行分析、处理的结果通过打印机输,还可以对要输出的数据进行 汇总 等操作。

2.数据访问页是数据库中的一个特殊的数据库对象,它可以实现因特网与用户数据库中数据的 共享 。

3.窗体数据源来源于多个表时,如果以其中部分字段为输出字段时,要求这几个表已经正确 建立关系 。

4.如果想建立一个宏,希望执行该宏后,首先打开一个表,然后打开一个窗体,那么该宏应该使用 open table 和 open form 两个操作。 5.宏的0penQuer操作的含义是 执行查询 。

6.窗体的三种视图是设计视图、 窗体视图 和 数据表视图 。

第六章

一、单选题 CAACA CCBAC BBCDB 二、填空题

1. 数据管理技术经历了人工处理阶段、 文件管理阶段 和 数据库系统管理阶段 三个发展阶段。

2. 现实世界中客观存在并且可以 相互区别 的事务被称为实体,同类实体的集

合被称为 实体集 。

3. 在关系中,一个属性的取值范围叫做 域 。

4. 当前数据库系统的主流是 关系 型数据库系统。

5. 数据模型通常由 数据结构 、 数据操纵 和 数据完整性约束 三部分组

成。

6. 从数据库管理系统的角度划分数据库的体系结构可分为 外模式 、 模式 和

内模式 3层。

7. 模式 是数据库中全部的逻辑结构和特征的描述。 8. 内模式 是数据库物理结构和存储方式的描述。

9. 外模式 是用户可以看见和使用的局部数据的逻辑结构和特征的描述。 三、简答题

1.请简述数据库管理技术各阶段的特点。

答:数据库管理技术有3个阶段:人工管理阶段、文件管理阶段、数据库系统管理阶段。

人工管理阶段数据的管理者是用户、面向有一应用程序、数据之间无共享。文件管理阶段数据的管理者为文件系统、有一定的共享性、记录内有结构。而数据库系统管理阶段是由数据库管理系统来管理数据、数据共享性强、数据性高、结构化强等特点。

2.实体间的联系有哪几种?请各举一例说明。

答:实体间的联系是指不同实体集间的联系。两个实体间的联系分为三类,一对一联系、一对多(或多对一)联系和多对多联系。

一对一联系:球队和队长之间是一对一联系,一个球队只有一个队长,而一个队长只属于一个球队。

一对多联系:班级和学生之间是一对多关系,一个班级有多个学生,而一个学生只属于一个班级。

多对多联系:银行和客户之间是多对多关系,一个银行可以有很多客户,而一个客户可以在多个银行办理业务。

3.以一个关系为例说明什么是关系、元组、属性、主键、关系模式。 答:二维表“系部一览”即为一个关系,见下表。 部门编号 部门 系主任 0101 基础部 庞新 0202 自动化系 胡敏 0301 计算机系 高雪 0302 信息工程系 韩克 0303 管理系 任强 其中每一行数据为一个元组;每一列(部门编号,部门,系主任等)为一个属性;主键是部门编号。

关系模式表示为:系部一览(部门编号,部门,系主任)。 四、综合题

1.已知关系R和S 如下表所示,请计算R∩S、 R∪S 、R-S 、R╳S. R S

X Y Z X Y Z X1 Y2 Z2 X1 Y1 Z1 X1 Y3 Z2 X1 Y2 Z2 X2 Y2 Z1 X2 Y2 Z1 答: R∩S={(X1,Y2,Z2),(X2,Y2,Z1)}

R∪S ={(X1,Y1,Z1),(X1,Y2,Z2),(X2,Y2,Z1),(X1,Y3,Z2)} R-S={(X1,Y1,Z1)}

R╳S={(X1,Y1,Z1,X1,Y2,Z2), (X1,Y1,Z1,X1,Y3,Z2), (X1,Y1,Z1,X2,Y2,Z1), (X1,Y2,Z2,X1,Y2,Z2), (X1,Y2,Z2,X1,Y3,Z2), (X1,Y2,Z2,X2,Y2,Z1), (X2,Y2,Z1,X1,Y2,Z2), (X2,Y2,Z1,X1,Y3,Z2), (X2,Y2,Z1,X2,Y2,Z1)}

2.针对教学管理数据库,使用关系运算表示出下列结果。 (1)输出课程为公共课或学时不超过48学时的课程信息。

σ课程名=‘公共课’ or 学时〉=48(课程一览)

(2)输出所有女生的姓名、性别和出生日期。

ᅲ姓名,性别,出生日期(σ性别=‘女’(学生情况))

(3)表示学生的姓名、选修课程名及分数。

ᅲ课程名,姓名,分数(ᅲ课程名(ᅲ课程名,可称号(课程一览) ⋈学生成绩)⋈ᅲ学

号,姓名(学生情况)

第七章

一、单选题 ACBBD ADCDB 二、填空题

1. 在E-R图中,实体用 矩形 表示,属性用 椭圆 表示,实体之间的联系用 菱形 和 数字 表示。

2. 在关系模式R中,若每个属性都是单一值,则R满足 第一 范式。

3. 将局部E-R图集成全局E-R图时,需要解决 命名 冲突、 属性 冲突和 结构

冲突。

4. 参照 完整性维护实体间的联系。

在函数依赖集:学号→姓名中, 学号 是决定因素。 三、简答题

1.将现实世界的事物转换为计算机能处理的数字信息需要经过哪两个过程? 答:需要经过抽象化和数字化两个过程。抽象化将现实世界的事物抽象的信息世界的概念模型,数字化是将概念模型转化为机器世界的数学模型。 2.在e-r图中如何表示实体间一对一、一对多和多对多的关系。

答:在E-R图中实体间的联系用菱形来表示实体之间的联系,用线条将菱形与实体联系起来,并用1:1, 1:n和m:n标示在菱形对应的两个实体联线上来表示实体间的一对一、一对多和多对多。

3.关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。 答:关系模型的数据完整性包含: 实体完整性:保证RM元组唯一性;

参照完整性:定义外码与主码之间的引用规则,实质是不允许引用不存在的实体;

用户自定义完整性:针对某一具体RDB的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 4.逻辑设计的任务和步骤是什么?

答:逻辑设计的任务是将概念设计结果—E-R图转换为DBMS支持的数据模型(关系模型).逻辑设计的步骤一般分为: (1) 将概念结构转换为数据模型;

(2) 将转换来的数据模型转换为DBMS支持的数据模型. 5.由E-R图转换为关系模型的关键是什么?

答: 如何将实体及实体间的联系转换为关系模型中的关系模式, 如何确定主键和外键.

6.实体间一对一、一对多和多对多的关系转换为关系模型时各有什么方法? 答: 一个1:1联系可以转换为一个的关系模式,也可以与任意一端对应的关系模式合并

一个1:n联系可以转换为一个的关系模式,也可以与n端对应的关系模式合并(合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性) 一个m:n联系转换为一个关系模式。

关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合

7.什么是函数依赖?一个关系模式的函数依赖关系怎样表述?

答: 一个关系的属性中,如果某属性X的值确定了则其他属性Y的值也确定了,则成X函数确定Y. 或Y函数依赖于X, 表示为X→Y. 8. 函数依赖有哪几种?请举例说明.

答: 函数依赖分为完全函数依赖, 部分函数依赖和传递函数依赖. 如Student(Sno, Sname, Sdept,Saddr, cno, cname, grade),其函数依赖集合={ Sno ← Sname, Sno → Sdept, Sno → Saddr, Sdept → Saddr, Cno → Cname, (sno,cno) → grade}. 因为student的码为(sno,cno),所以(sno,cno) → Saddr为部分函数依赖, (sno,cno) → grade为完全函数依赖. Sno → Saddr, Sdept → Saddr为传递函数依赖.

9. 关系模式中的1NF, 2NF, 3NF的要求是什么?如何实现?

答: 如果关系模式R中的每一个属性只包含单一的值, 则R为1NF. 如果R满足1NF, 且它的所有非主属性都完全函数依赖于侯选码,则R为2NF. 如果R满足2NF , 且R中所有非主属性都不传递函数依赖于侯选码, 则R为3NF. 10. 举例说明什么是主键和外键.

答:在函数依赖中起决定因素的属性或属性组即为键,也称为候选键。在侯选键中选定一个作为主键. 在一个关系模型中,包含在候选键中的属性称主属性;不包含在候选键中的属性称为非主键(或非主属性)。若属性(或属性组)X并非关系R的主键,但却是另一关系的主键时,则属性X是关系R的外部键。如s(sno, sname, depa, sex, age), c(cno,cname, credit), sc(sno,cno, grade). Sno为S表中的主键, cno为C表的主键, (sno,cno)为SC表的主键, 而sno不是SC的主键但却是S的主键,因此, sno为S的外键. 同理, cno为SC的外键. 四、综合题

1.某图书管理系统对图书\\读者\\读者借阅情况进行管理.系统要求记录图书的书号,书名,作者,出版日期,类型,页数,价格,出版社名称,读者姓名,借书证号,性别,出生日期,学历,住址,电话,借书日期和还书日期. 请用E-R图表示出该业务的概念

模型,并实际系统的关系模型.

答: E-R模型中的实体包括图书(书号,书名,作者,出版日期,类型,页数,价格,出版社名称)和读者(读者姓名,借书证号,性别,出生日期,学历,住址,电话). 图书和读者之间的联系为m:n, 且联系上加属性借书日期和还书日期.对应的E-R图为:

书名 姓名 借书日期 书号 作者 借书证号 性别 出版 日期 m n 图书 出版社借阅 作者 电话 名称 出生日价格 还书 类型 学历住址 期 页数日期 (2) 将E-R图转换为关系模式,结果为:

图书(书号,书名,作者,出版日期,类型,页数,价格,出版社名称) 读者(读者姓名,借书证号,性别,出生日期,学历,住址,电话) 借阅(书号,借书证号,借书日期,还书日期)

2.现有一银行业务管理流程,需要管理客户和账户信息。其中顾客信息包括身份证号、姓名、地址、联系电话。账户信息包括帐号、开户日期、交易额,余额、交易时间。每个客户可以开多个帐户。请用E-R图表示出该业务的概念构型,并设计出系统的关系模型。

联系 地址 余额 交易额 电话

1 顾客 交易 n 帐户 身份 证号姓名 交易 时间帐号 开户 日期关系模式:

顾客(身份证号,姓名,地址,联系电话) 帐户(帐号,开户日期)

交易(顾客,账号,交易额,余额,交易时间) 3. 工厂(厂名和厂长名)需要管理以下信息:

厂内有多个车间,每个车间有车间号,车间主任名和电话;

一个车间内有多名工人,每个工人有职工号, 姓名,年龄,性别,工种及等级; 一个车间生产多种产品,产品有产品号,产品名;

一个车间生产多种零件,一种零件可能由多个车间制造,零件有零件号,重量和材料;

一个产品由多个零件组成,一种零件也可能装配在多种产品上. 根据以上信息,建立系统的E-R图模型,并设计系统的关系模型.

答: (1) E-R模型中实体有工厂(厂名和厂长名), 车间(车间号,车间主任名,电话), 工人(职工号, 姓名,年龄,性别,工种,等级),产品(产品号,产品名), 零件(零件号,重量,材料)等5个实体. 工厂与车间之间有1:n 属于联系, 车间与工人有1:n 包含联系, 车间与零件有1:n 生产联系, 车间与产品有1:n 生产联系, 零件与产品之间有m:n 装配关系(加数量属性). (2) 将E-R图转换为关系模式,结果为 工厂(厂名和厂长名)

车间(车间号,车间主任名,电话,厂名)

工人(职工号, 姓名,年龄,性别,工种,等级,车间号) 产品(产品号,产品名,车间号) 零件(零件号,重量,材料, 车间号) 装配(产品号,零件号, 数量)

4. 有一个图书发行公司,将各出版社的图书发行到各书店。每个出版社可以出版多种图书,一种图书由一个出版社出版。书店可以订多种图书,同一种书可以被多个书店订购。书店订书时,每笔订单可以订购多种图书。假设有如下一个关系模式:图书发行(订单号,书店编号,书店名称,书店地址,书店联系电话,书名,单价,订购数量,出版社编号,出版社名称,出版社联系电话,总金额,付款方式,经手人,订书日期)。将该关系模式分解为第3范式。

答:图书发行中的函数依赖集FD={订单号→(书店编号,总金额,付款方式,经手人,订书日期),出版社编号→(出版社名称,出版社联系电话),书店编号→(书店名称,书店地址,书店联系电话),书→(书名,单价,出版社编号),(订单号, 书名)→订购数量},其侯选码为(订单号, 书名)。根据函数依赖集FD可知所有属性在函数依赖集中出现。将函数倚赖集合按照左部相同进行分组,得到:订单号→(书店编号,总金额,付款方式,经手人,订书日期),出版社编号→(出版社名称,出版社联系电话),书店编号→(书店名称,书店地址,书店联系电话),书→(书名,单价,出版社编号),(订单号, 书名)→订购数量. 得到子关系模式为:

订单(订单号,书店编号,总金额,付款方式,经手人,订书日期) 出版社(出版社编号,出版社名称,出版社联系电话) 书店(书店编号,书店名称,书店地址,书店联系电话) 书(书名,单价,出版社编号)

订单明细(订单号, 书名,订购数量)

第八章

一、单选题 DCABD 二、填空题

1. SQL的功能不仅包含查询功能,而且还包括 数据定义 、 数据操纵 和 数据控制 功能。

2. SQL是一种非 非过程化 、面向 集合 的数据库语言。 3. 目前,关系型数据库的标准操纵语言是SQL,它的中文含义是 结构化查询语言 ,其英文表述为 Structured Query Language 。 4. T-SQL中的全局变量 不能 显示说明或赋值。

查看变量的命令格式为 select @变量名 或 select @@变量名 。

三.间答题

1. SQL 可进行哪些基本操作?使用的动词是什么?

答:SQL 可进行数据定义、数据操纵、数据控制等操作,使用的动词如下 数据定义(create, drop, alter), 数据查询(select),数据操纵(insert, delete, update), 数据控制(grant, revoke)。

2. SQL 对标点符号有什么要求? 答:SQL 要求使用英文标点符号。 目前SQL有哪些版本?适应何种环境?

答:目前SQL虽然有国际标准,但是不同数据厂商在自己的数据产品上有不同的实现版本,oracle使用PL/SQL, 而Sybase 和 Microsoft SQL Server 使用T-SQL。

3.SQL Server2000的版本主要有哪些?

答:SQL Server2000的版本有企业版、标准版、个人版和评估版。

第九章

一、单选题 AABCD DBA 二、填空题

1. 一个数据库可以包括 一 个主数据文件, 多 个次数据文件和 多 个日志文

件。

2. 向数据库添加数据文件时使用 alter database 命令。 3. 缩小数据文件时使用 dbcc shrinkfile 命令。

4. 命令“dbcc shrinkdatabase(userdb,30)”的含义是 将数据库userdb缩小到原来的30% 。

5. 删除数据库的命令为 drop database 。

第十章

一、单选题 CDDBC 二、填空题

1. 字段名在数据表中要求唯一,在整个数据库中 可以重名 。

2. 若某精确数定义为num_col(8,3),则该数的最大值是 99999.999 。 3. 时间戳类型数据与系统时间 无 关。 4. 修改数据表的命令是 alter table 。 5. T-SQL中提供了 primary key 、 unique 、 forgeign key 、 check 和 default 5种约束。

6. 索引的类型有 聚集索引 和 非聚集索引 。

第十一章

一、单选题 BCAACB 二、填空题

1. 在T-SQL中,如果要去掉查询结果中的重复记录,就使用关键字 distinct 。 2. 在以降序输出查询结果时使用关键字 desc 。

3. 通配符%的含义表示 匹配多个字符 ,而通配符_的含义表示 匹配单个字符 。

4. 对结果集进行排序时使用关键字 order by 。

5. 将记录分为若干组进行集合函数运算时使用关键字 group by 。 四、综合题

1.请将作者姓名按降序以姓名格式输出,并保存在au-bak表中.

Select au_fname+’ ‘+au_lname as au_name into au-bak form authors order by au_lanme, au_fname

2. 检索出图书编号和类型, 并以价格的十分之一以discount列名输出. Select title_id,type, price *0.1 as discount from titles

3. 检索出所有图书的类型(要求去掉重复结果). Select disctinct type from titles.

4.检索出订购数量>50的书店编号,图书编号和订购数量. Select stor_id, title_id, qty from sales where qty>50

5. 检索出CA州或salt lake city作者的编号,城市和州名

Select au_id, city, state from authors where state in (‘CA’, ’Salt Lake City’)

6.检索出价格在5-20元间的图书编号和价格.

Select title_id, price from titles where price between 5 and 20

7.检索出价格不在5-20元间的图书编号和价格.

Select title_id, price from titles where price not between 5 and 20

8.检索出mod_cook, trad_cook, business类图书的编号,价格和类型.

Select title_id, price, type from titles where type in (‘mod_cook’,’ trad_cook’, ‘business’)

10. 检索出居住在以S开头的城市的作者的姓,城市名和州名. Select au_lname, city ,state from authors where city like ‘S%’

11. 检索出图书的最高价格. Select max(price) from titles

12. 请计算图书数量和价格非空的图书的数量.

Select count(*) from titles where price is not null and ytd_sales is not null

13.请计算出business类图书的平均价格.

Select avg(price) from titles where type =’business’

14.请计算出各类图书的平均价格.

Select type, avg(price) from titles group by type

15. 请计算出business类图书和mod_cook图书的平均价格.

Select type, avg(price) from titles where type in (‘business’,’mod_cook’) group by type

16. 检索出business类图书和mod_cook类图书的平均价格和图书类型.

Select type, avg(price) from titles where type in (‘business’,’mod_cook’) group by type

17. 按图书类型检索出价格>10且平均价格>18的图书的类型和平均价格.

Select type, avg(price) from titles where price >10 group by type having avg(price)>18

18. 检索出图书名及其出版商名称.

Select title, pub_name from titles , publishers where titles.pub_id=publishers.pub_id

19. 检索出出版psychology类图书的出版商和书名.

Select pub_name, title from from titles , publishers where titles.pub_id=publishers.pub_id and type=’psychology’

20. 检索出分类图书平均价格低于所有图书平均价格的图书的类型及平均价格. Select type, avg(price) from titles group by type having( avg(price) <( select avg(price) from titles))

第十三章

一、单选题 ADACC 二、填空题

1. 视图是根据 子模式 设计的关系,是从一个或几个 基本表 或 视图 导出的

表,是一个虚表。

2. 修改视图的关键字是 alter view ,删除视图的关键字是 drop view 。 三. 简答题

1.什么是基本表? 什么是视图?两者的区别和联系是什么?

答: 基本表是存放数据的一个关系. 视图是从一个或多个基本表或视图导出的表,是虚表. 数据库中存放的是视图的定义,而不是存放视图的数据. 2. 视图的优点是什么?

答: 视图能简化用户的操作,视图机制可以使不同用户以不同的方式来看待同一数据, 还能对机密数据提供安全保护. 3. 修改视图时应该注意的问题是什么>

答: 修改视图时应注意,如果创建视图时使用了with check option, with encryption选项, 则修改时要注意保留这些选项. 4. 什么情况下必须指明视图所有的列名?

答: 目标列中有聚集函数或列表达式,或者需要选用新的列名时要指明视图中的

所有列名.

第十四章

一、单选题 AD 二、填空题

1. 数据的完整性是指数据的 正确性 、 相容性 。 2. 创建规则的命令是 create rule 。

3. 使用 sp_bind rule 可以将定义的规则绑定在数据库表的列上。 4. 使用 drop rule 可以删除规则。 三. 简答题

1. 规则的作用是什么? 它与check约束有什么区别?

答: 规则可以验证数据是否在一个指定的值域内,是否与特定格式相匹配. 对于表的永久性规则一般在定义表时用check约束, 在创建表工作结束后,要追加规则则可以通过create rule建立所需要的规则,并用sp_bindrule将规则绑定到表中. 2. 如何查看规则?

答: 可以用sp_help text显示规则.

3. 在定义表时定义默认, 与用create default 定义默认有什么区别?

答: 表的永久性默认时一般在建立表时用default定义, 对于追加的默认用create default来定义.

第十五章

一、单选题 ACDA 二、填空题

1. 修改存储过程的语句是 alter procedure 。

2. 创建存储过程的语句中,定义局部参数用 @参数名 表示。 3. 运行存储过程的命令是 exec[ute] <过程名> 。

4. 每个表最多只能有三个触发器,即 insert 、 update 和 delete 。

5. 当对指定表执行delete操作时,触发器被激活,并从指定表中删除元组,同

时将删除的元组放入一个特殊的逻辑表 deleted 中。

6. 当对指定表执行insert操作时,触发器被激活,激活后将插入表中的数据拷

贝并送到一个特殊的逻辑表 inserted 。

7. update触发器被激活后把将要被更新的数据移入 deleted 表中,更新数据插入到inserted表中。 三. 简答题

1. 解释事务的概念.

答: 事务是DBMS提供的一种特殊的手段, 是与实际生产中发生的某一事件相对应以便将该事件反映在数据库中的一段程序. 这段程序必须要么全部执行要么全部不执行.

2. 视图与存储过程有那些区别?

答: 视图不是真实存在的数据表, 而是从表后视图导出的虚表. 存储过程是一套已经编译好的SQL语句. 视图是封装好的select语句,而存储过程可以有select, update, insert等操作.

3. 解释存储过程的概念.

答: 存储过程是一套已经编译好的SQL语句,允许用户声明变量和输出参数.存储过程存储于数据库内,可由应用程序调用. 4. 解释触发器的概念.

答: 触发器是一个特殊的存储过程,它不需要语句来调用, 而是某个操作执行后自动激活触发器.

5. 创建触发器应考虑哪些问题?

答: 不能在临时表或系统表上创建触发器, 触发器的权限只分配给表的所有者, 不能将权限转让给其它用户. 四. 综合题

1. 输入并执行下列语句,测试使用if语句和while语句,给出输出结果. Declare @compute int Set @comput3e=0; While @compute<10 Begin

If @compute<5 Begin

Set @compute=@compute+1

Print ‘ 此时@compute变量小于5, 值为’+ cast(@compute as char(5)) End Else Begin

Set @compute=@compute+2

Print ‘ 此时@compute变量大于5, 值为’+ cast(@compute as char(5)) End End

输出结果为

此时@compute变量小于5, 值为1 此时@compute变量小于5, 值为2 此时@compute变量小于5, 值为3 此时@compute变量小于5, 值为4 此时@compute变量小于5, 值为5 此时@compute变量小于5, 值为7 此时@compute变量小于5, 值为9 此时@compute变量小于5, 值为11

2. 在northwind数据库中, 输入并执行下面语句…….这个存储过程的含义是什么?如何删除该存储过程.

答: 存储过程是显示价格最高的5种商品名称. 删除存储过程用drop proc firstproc

3. 学生选课库中包含三个基本表, 其结构为:

学生S(学号sno, 姓名sname, 年龄age,所在系depa) 课程C(课程号cno, 课程名cname, 先行课cpno)

选课SC(学号sno, 课程号cno, 成绩grade)

在学生选课库中, 为选课表建立一个插入触发器, 利用触发器来保证学生选课库中选课表的参照完整性. 以维护其外码与参照表中的主码一致. Create trigger sc_insert on sc for insert As

If (select(*) from s, inserted, c where s.sno=inserted.sno and c.cno=inserted.cno)=0 Rollback tran

4.根据第10章综合题1的设计结果(借阅(书号,借书证号,借书日期,还书日期)) , 为借阅信息表建立一个保证参照完整性, 以维护外码与被参照表中的主码一致的除法器.

答: create trigger sc_insert on sc for borrow As

If (select count(*) from book, reader, inserted where book.bk_id=inserted.bk_id and reader.rd_id=inserted. Rd_id)=0\\ Rollback tran

第十六章

一. 选择题 AADBD

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

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

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

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