第2章数据库技术及Access教案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.1 关系数据模型
目前广泛应用的数据库管理系统几乎都是支持关系模型的,被称为关系数
据库管理系统(Relational DataBase Management System ,RDBMS)。
1. 关系数据模型的数据结构
关系模型中数据的逻辑结构是一张二维表,由行和列组成。
(1)关系(Relation):整个表就是一个关系,每个关系都有一个关系名。 (2)元组(Tuple):表中的一行称为一个元组,与实体相对应,相当于记录。 (3)属性(Attribute):表中的一列称为一个属性,如果给每个属性取一个名 字称为属性名。
四、练习
1.试给出3个实际部门的 E-R 图,要求实体型之间具有一对一、一对多、多对多各 种不同的联系。 2.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的 教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每 门课可由若干学生选修。请用E-R图画出此学校的概念模型。
第2章 关系数据库设计
2.1.2 关系代数
1. 传统的集合运算
传统的集合运算是二目运算,包括:并、差、交、广义笛卡尔积四种。
(1)并
关系R和S的并可以记作:R S = { t|t R t S }其结果仍为n目关系,由属于R或属于S
的元组构成。
(2)差
关系R和S的差可以记作:R S = { t|t R t S } 。其结果仍为n目关系,由属于R且不属于S 的元组构成。即:所有出现在一个关系而不在另一关系中的元组集合。
DBMS的概念模型。 3. 逻辑结构设计 将概念结构转换为某个RDBMS所支持的数据模型,并对其进行优化 4. 物理结构设计 5. 数据库实施 6. 数据库的维护
2020/12/4
-10-
目录 上页 下页 结束
第2章 关系数据库设计
本章小结
在数据库领域内,通常把使用数据库的各类信息系统都称为数据库应用系统。 数据库设计广义地讲是数据库及其应用系统的设计,即设计整个的数据库应用系 统。狭义地讲是设计数据库本身即设计数据库的各级模式并建立数据库,这是数 据库应用系统设计的一部分。
2020/12/4
-13-
目录 上页 下页 结束
第2章 关系数据库设计
习题
三、简答题
1.试述数据、数据库、数据库系统、数据库管理系统的概念。 2.使用数据库系统有什么好处 ? 3.试述数据库系统的特点。 4.数据库管理系统的主要功能有哪些 ? 5.试述概念模型的作用。 6.定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系。 7.试述数据库系统三级模式结构,这种结构的优点是什么? 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与 程序的独立性? 9.试述数据库系统的组成。 10.DBA的职责是什么?
2020/12/4
-11-
目录 上页 下页 结束
第2章 关系数据库设计
习题
一、选择题
1.对关系模型叙述错误的是( )。 A.建立在严格的数学理论、集合论和谓词演算公式的基础之上 B.微机DBMS绝大部分采取关系数据模型 C.用二维表表示关系模型是其一大特点 D.不具有连接操作的DBMS也可以是关系数据库系统
比的属性组。θ:比较运算符。 连接运算包括两类:等值连接和自然连接。
2020/12/4
-5-
目录 上页 下页 结束
第2章 关系数据库设计
2.2 关系模式的规范化
2.2.1 模式规范化的必要性
在针对一个具体问题,该如何构造一个适合于它的数据模式,确切地讲是关系数据库 逻辑设计问题,即关系模式的规范化。
(4)主码(Key):是表中的某个属性组。它可以惟一确定一个元组。 (5)域(Domain):属性的取值范围。 (6)分量:一个元组在一个属性上的值称为该元组在此属性上的分量。 (7)关系模式:对关系的描述,由关系名及其所有属性名组成的集合。 格式:关系名(属性1,属性2,…)。
2020/12/4
-2-
习题
6.在通常情况下,下面的关系中不可以作为关系数据库的关系是( )。 A.R1(学生号,学生名,性别Biblioteka B.R2(学生号,学生名,班级号)
C.R3(学生号,学生名,出生日期) D.R4(学生号,学生名,简历)
二、填空题
1. DBMS在三级模式之间提供两层映像,以保证数据库中的数据具有较高的 _________独立性与_________独立性。
2.关系数据库管理系统应能实现的专门关系运算包括( )。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表
3.关系模型中,一个关键字是( )。 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是
对于一张二维表,如果它的每一个分量都是不可分的数据项。我们称这个关系模 式满足了第一范式(1NF)。 ② 第二范式(2NF)
若关系R∈1NF,且每一个非主属性完全函数依赖于码,则关系R∈2NF。 ③ 第三范式(3NF)
关系模式R(U,F)中,若不存在这样的码X,属性组Y及非主属性Z(Z Y),使得下
-9-
目录 上页 下页 结束
第2章 关系数据库设计
2.3 关系数据库设计的步骤与内容
2.3.1 数据库设计的一般步骤
1. 用户需求分析 理解用户对该项目所提出的各种要求,并进一步对各个环节进行抽象。需求分析
是整个设计过程的基础, 2. 概念结构设计 通过用E-R图表示,对用户需求进行综合、归纳与抽象,形成一个独立于具体
-4-
目录 上页 下页 结束
第2章 关系数据库设计
2.1.2 关系代数
2. 专门的关系运算
(1)选择 基本定义:在关系R中选择满足给定条件的元组(从行的角度)。
格式: F (R ) { t|t R ,F (t) T R U E }
(2)投影 基本定义:关系R的投影是从R中选择出若干属性列组成新的关系。
在R(U)中,如果X→Y,并且对于X的任何一个真子集X‘,都有X’ Y,则 称Y对X完全函数依赖,记作X Y 。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X Y。 (3)码 设K为R(U,F)中的属性或属性组合,若K U,则K为R的候选码。若候 选码多于一个,则选定其中的一个为主码(Primary Key)。
Sno
Cname
G
2020/12/4
Sdept
MN
-6-
目录 上页 下页 结束
第2章 关系数据库设计
2.2.1 模式规范化的必要性
“毛病”: ①插入异常 ②删除异常 ③冗余太大 原因:这个模式中的函数依赖存在某些不好的性质。从直观上分析一个 学生的情况与这个系的系主任有没有必然的联系?没有!一个学生某门 课的成绩与这个学生在哪个系又有必然的联系?没有!可以想像可能正 是将这些不相关的数据放到一起从而造成了关系模式不好的特性。 解决的方法:对原模式进行分解。 S(Sno,Sdept,Sno→Sdept); SG(Sno,Cname,G,(Sno,Cname)→G); DEPT(Sdept,MN,Sdept→MN);
主属性 非主属性(Nonprime Attribute)或非码属性(Non-key Attribute) 全码(All-Key):整个属性组是码。
2020/12/4
-8-
目录 上页 下页 结束
第2章 关系数据库设计
2.2.2 模式的规范化
2. 范式
范式是对关系的不同数据依赖程度的要求,根据满足的约束条件确定满足那个范 式,满足最低要求的为第一范式(1NF)。 ① 第一范式(1NF)
目录 上页 下页 结束
第2章 关系数据库设计
2.1.1 关系数据模型
2. 关系模型的操作
(1)主要包括:查询、插入、删除和修改数据。 (2)关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。 (3)关系模型的存取路径对用户是透明的,用户在存取时不需要考虑其物理存取路径。
3. 完整性约束
(1)实体完整性 关系的主码中的属性值不能为空值。
如:我们需要建立一个数据库来描述学生的一些情况。
对象有:学生(Sno),系(Sdept),系主任(MN),课程(Cname)和成绩(G)。 事实有: (1)一个系有若干学生,但一个学生只属于一个系; (2)一个系只有一名系主任; (3)一个学生可以选修多门课程,每门课程有若干学生选修; (4)每个学生学习每一门课程只有一个成绩。
第2章 关系数据库设计
教学目的
掌握关系数据模型的基本概念 掌握关系数据模型的相关术语 掌握关系运算 掌握关系模式的规范化 掌握数据库设计的步骤
2.1关系模型与关系运算 2.2 关系模式的规范化
2.3 数据库设计的步骤
2.4 本章小结 2.5 习 题 2.6 实 验
第2章 关系数据库设计
2.1 关系数据模型与关系运算
4.在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称这个属性 为( )。 A.关键字 B.数据项 C.主属性 D.主属性值
5.同一个关系模型的任两个元组值( )。 A.不能全同 B.可全同 C.必须全同 D.以上都不是
2020/12/4
-12-
目录 上页 下页 结束
第2章 关系数据库设计
2. 常用的数据模型有_________和_________。 3. 数据库是长期存储在计算机内的_________的和_________的数据集合。 4. 数据库系统的三级模式是指数据库系统由_________、_________和内模式三级 构成。 5. 数据模型是现实世界数据特征的_________,它是按计算机系统的观点对数据建 模,主要用于DBMS的实现,依赖于特定的_________系统。
式成立:X→Y(Y X),Y→Z,则称R 3NF,或称消除非主属性对码的传递依赖。
④ BCNF(修正的第三范式) 关系模式R(U,F)中,对于属性组X,Y,若X→Y且Y X时X必含有码,则R(U,F)
BCNF。即要求在关系模式R中,每一个决定因素都包含码,或称消除主属性对码的
部分、传递依赖。
2020/12/4
(2)参照完整性 定义:设F是基本关系R的一个或一组属性,但不是关系R的主码。如果F与基
本关系S的主码KS相对应,则称F是基本关系R的外码。并称基本关系R为参照关 系,基本关系S为被参照关系或目标关系。 (3)用户定义的完整性
用户针对具体的应用环境定义完整性约束条件。
2020/12/4
-3-
目录 上页 下页 结束
2020/12/4
-7-
目录 上页 下页 结束
第2章 关系数据库设计
2.2.2 模式的规范化
1. 基本概念
(1)函数依赖 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一
个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属 性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。 (2)完全、部分、传递函数依赖
(3)交
关系R和S的交可以记作:R S = { t|t R t S } 。其结果仍为n目关系,由属于R且属于S的 元组构成。交运算可以通过差运算来重写:。
(4)广义笛卡尔积
关系R(n目)和S(m目)的广义笛卡尔积是一个(n+m)列的元组的集合。
记作: R S trts|tr R ts S
。
2020/12/4
如果只考虑函数依赖这一种数据依赖(属性间的决定关系),我们就得到了一个描述 学生的数据模式:S〈U,F〉,其中U表示S的属性,即U = { Sno,Sdept,MN,Cname,G }; F表示属性间的依赖关系,即F = { Sno→Sdept,Sdept→MN,(Sno,Cname)→G } ,含义是 Sno可以唯一决定Sdept,Sdept可以唯一决定MN,Sno和Cname可以唯一决定G。
格式 : A (R ) t[A ]|t R } ,A R . 即:A为R中的属性列。
(3)连接 基本定义:连接也称为θ连接,它是从两个关系中笛卡尔积中选取属性间满足一
定条件的元组。格式为: = {trts | tr R∧ts S∧tr [A]θts [B] } A和B:分别为R和S上度数相等且可
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑 模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理 数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的 运行环境。设计一个数据库应用系统需要经历需求分析、概念设计、逻辑结构设 计、物理设计、实施、运行维护六个阶段,设计过程中往往还会有许多反复。