计算机相关思考与练习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章思考与练习题

一、选择题

1.设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合( A )。

A、第一范式

B、第二范式

C、第三范式

D、BNC范式

2.在第一个关系中出现,在第二个关系中不出现的记录组成的关系称为两个关系的( C )。

A、交

B、并

C、差

D、笛卡儿积

二、简答题

1.设关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个?

参考答案:

函数依赖有N×(N-1)个

2.设有关系模式R(职工号,职工名,工程号,工程名,工资),假设一个职工可参加多个工程,在每个工程中各领一份工资。那么请回答以下问题:

(1)请写出这个关系模式的函数依赖和主关键字;

函数依赖包括:职工号→职工名,工程号→工程名,(职工号,工程号)→工资

主键为(职工号,工程号)

(2)这个关系符合第几范式,为什么?

这个关系符合第一范式,因为它的每个属性都不可再分。

(3)请举例说明,这个关系存在哪些问题;

这个关系没有达到第二范式,可能出现数据冗余和操作异常。

例如,某个职工参与了多个工程的工作,他的职工号、职工名会重复多次存储。同样,如果一个工程有多名职工参加,工程号和工程名也会重复我次存储。另外,如果现在增加了一个新的工程,但暂时还没有安排职工参加,那么由于主键是(职工号,工程号),这个工程的信息可能无法插入。

(4)请把这个关系模式分解成3NF,并说明理由。

修改后的各个关系如下:

职工关系=(职工号,职工名)

工程关系=(工程号,工程名)

职工选择工程关系=(职工号,工程号,工资)

(注:此处的工资是指职工参加某个工程得到的劳动报酬)

3.关系完整性的主要内容是什么?为什么要保证关系的完整性?

参考答案:

关系完整性就是关系模型中数据的正确性、一致性和有效性。关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。

只有保证了关系的完整性,才能使数据库中的数据正确、一致和有效。

4.SQL Server中进行关系完整性的主要方法是什么,请写出相应的SQL语句。

参考答案:

1)SQL Server通过约束机制来实现数据库完整性保护。主要包括:Primary Key约束、Foreign Key约束、Default约束、Unique约束、Check约束等。

Primary Key约束:

学号 char (8) NOT NULL

PRIMARY KEY(学号)

Foreign Key约束:

学号 char (8) NOT NULL

REFERENCES 学生表(学号)

Default约束:

成绩 numeric(9,2) DEFAULT 0.00

Unique约束:

学号 char (8) NOT NULL

UNIOQUE(学号)

Check约束:

年龄 int CHECK (年龄)17 and 年龄<25)

2)使用规则实施数据的完整性。

创建规则的语法结构如下:

CREATE RULE 规则名 AS 条件表达式

3)使用默认实施数据完整性经管。

创建默认的语法如下:

CREATE DEFAULT 默认名 AS 默认值

5.为什么要进行规范化?规范化的相关理论是什么?请简要说明。

参考答案:

为确保数据库设计的正确性,在数据库逻辑设计阶段,常使用关系规范化理论来指导关系型数据库的设计。其基本思想是,每个关系都应满足一定的规范,才能使关系模式设计合理,达到减少冗余,提高查询效率的目的。

一个好的数据库关系,应该没有数据冗余、更新异常、插入异常、删除异常问题的存在,这就必须进行规范化处理。

规范化使用的理论是函数依赖。

6.什么是一个“好”的关系模式,一个“不好”的关系模式有什么缺点?

参考答案:

“好”的关系模式通常是指符合第三范式要求的关系,“不好”的关系模式会存在数据冗余、更新异常、插入异常、删除异常等问题。

7.请写出一个符合第三范式的关系模式,并说明理由。

参考答案:

学生=(学生号,姓名,性别,专业)

课程=(学生号,课程号,成绩)

选课=(课程号,课程名,课程学分)

第四章思考与练习题

一、填空题

1.数据库设计一般包括需求分析、概念设计、逻辑设计、物理设计、数据库实施和运行维护等阶段。

2.数据库应用系统的建设包括结构设计和行为设计两个方面。

3.数据库设计的主要原则包括表设计原则、字段设计原则和其他原则。

4.E-R图的设计关键在于对实体、联系的选择和表示。

5.物理设计的主要内容包括存储记录的格式设计、存储方法设计、访问方法设计以及完整性和安全性考虑。

二、简答题

1.请简要说明数据库应用系统设计的步骤。

参考答案:

数据库应用系统设计的步骤包括需求分析、概念设计、逻辑设计和物理设计。

2.数据库设计的目的是什么,请谈谈你的理解。

参考答案:

数据库设计指的是设计数据库及其应用系统的技术,是指对于一个给定的应用环境,包括硬件环境和操作系统、数据库经管系统(DBMS)等软件环境,如何使用这个环境来表达用户的要求,构造最优的数据库模式,建立数据库及围绕数据库展开的应用系统,使之能够有效地收集、存储、操作和经管数据,满足企业组织中各类用户的应用需求(信息需求和处理需求)。

3.基本表设计的主要原则是什么,坚持这些原则有什么好处?

参考答案:

基本表设计最主要的原则是关系规范化,尽可能达到第三范式。规范化有助于消除数据库中的数据冗余,减少更新异常。规范化有好几种形式,但第三范式通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守第三范式规范的数据库的表设计原则是:“One Fact in One Place”(一个事实对应一个地方),即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。

4.进行SQL Server数据库设计时,一般有哪些命名规则?

参考答案:

首先,命名的长度应尽量充足。假设某企业现有职工在一千人以内,如果用数字表示职工号的话,职工号的长度为3位即可,它最大可以表示999个职工。但是,如果考虑到企业未来的发展,那么职工号最好设为4位,当企业职工数目突破千人时,根本无需重构整个数据库。

其次,小心保留词。要保证字段名没有与SQL等保留词或者常用访问方法名发生冲突。

最后,慎用使用触发器。触发器在保证数据完整性方面发挥着积极作用,但它同时也会带来效率方面的问题,因此要慎用。触发器的功能通常可以用其他方式实现。

5.什么是数据流程图,数据字典的主要作用是什么,谈谈你的理解。

参考答案:

数据流图(Data Flow Diagram,简记DFD),是在业务流程分析基础上,描述实际数据流动和加工过程的图形表示法,它一般有4种符号,即外部实体、数据流、加工和存储。外部实体数据的来源和去向;数据流用带箭头的连线表示,反映数据的流动方向;加工用椭圆、圆或方框代表(本教材利用圆形表示加工),表示对数据的加工处理动作;存储表示数据的存档情况。

数据字典(Data Dictionary,简记DD),是对数据流程图中数据流和存储结构的描述。在数据库应用系统设计中,数据字典是表、视图设计的主要依据。

相关文档
最新文档