第1章 数据库系统概述 课件(共71张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

第1章 数据库系统概述 课件(共71张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共71张PPT)
第1章 数据库系统概述
本章目标
1.了解数据库技术的相关概念、常用的数据库管理系统、数据库系统的优点和数据库系统的结构。
2.了解关系数据库的基本概念和有关理论知识;掌握E-R 图的设计过程。
3.掌握1NF、2NF、3NF的定义和关系数据库的规范化理论。
4.了解数据库的设计步骤;掌握数据库设计的实
际应用。
1.1 数据库技术的基本概念
信息
信息是通过符号(如文字和图像等)、信号(如有某种含义的动作和光电信号等)等具体形式表现出来的内容。信息由意义和符号组成,它是对客观世界中各种事物的变化和特征的反映。
2. 数据
数据(Data)是载荷或记录信息的按一定规则排列组合的物理符号,可以是数字、文字、图像,也可以是计算机代码。
在计算机系统中,各种字母、数字符号的组合,例如语音,图形,图像等统称为数据
1.1 数据库技术的基本概念
3. 数据库
数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余、较高的数据独立性和易扩展性,并可为各种用户共享。
4. 数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
1.1 数据库技术的基本概念
5. 数据库管理员
数据库管理员(DataBase Administrator,DBA),是一个负责管理和维护数据库服务器的人。数据库管理员负责全面管理和控制数据库系统。
7. 数据库系统
数据库系统(DataBase Systems),是由数据库及其管理软件组成的系统。
数据库系统一般由以下4个部分组成。
(1)数据库(2)硬件(3)软件(4)人员
数据库系统结构图
1.2 数据库技术的特点
(1)面向企业或部门,以数据为中心组织数据,形成综合性的数据库,为各应用共享。
(2)采用一定的数据模型。数据模型不仅要描述数据本身的特点,而且要描述数据之间的联系。
(3)数据冗余小,易修改、易扩充。
(4)程序和数据有较高的独立性。
(5)具有良好的用户接口,用户可方便地开发和使用数据库。
(6)对数据进行统一管理和控制,提供了数据的安全性、完整性,以及并发控制。
1.2 数据库技术的特点
数据库系统阶段程序与数据的关系图
图1 数据库系统阶段
应用较多的实时数据库系统:
IBM 的DB2
Oracle
Sybase
SQL Server
MySQL
Access数据库
SQLite
1.3 常见的数据库
模型,是对客观事物、现象、过程或系统的简化描述。数据模型是数据库系统的核心和基础。
1.4.1 信息的三种世界及其描述
1.4数据模型
数据化
系统分析
信息化
现实世界
事物及联系
信息世界
信息模型
计算机世界
数据模型
数据库设计
图2 信息化过程
1.5.1 信息的三种世界及其描述
现实世界 信息世界 计算机世界
实体 实例 记录
特征 属性 数据项
实体集 对象或实体型 数据或文件
实体间的联系 对象间的联系 数据间的联系
概念模型 数据模型
表1-1 信息的三种世界术语的对应关系表
1.4 数据模型
1.4.2 常见的数据模型
●概念(数据)模型CDM,Conceptual Data Model
面向现实世界建模,主要用来描述现实世界的概念化结构,与具体的DBMS无关。最常用的概念模型是E-R模型。
● 逻辑(数据)模型LDM,Logical Data Model
面向用户建模,用户从数据库所看到的数据模型。
●物理(数据)模型 PDM,Physical Data Model
面向具体的DBMS,面向机器,描述数据在存储介质上的组织结构。
1.4 数据模型
1.4.3 概念模型
概念数据模型是面向用户、面向现实世界的数据模型,是与DBMS无关的。它主要用来描述一个单位的概念化结构。采用概念数据模型,数据库设计人员可以在设计的开始阶段,把主要精力用于了解和描述现实世界上,而把涉及DBMS的一些技术性的问题推迟到设计阶段去考虑。
1.4 数据模型
1.4.3 概念模型
(一)基本概念
1)实体(Entity)
客观存在并可相互区别的事物称为实体。实体可以是物、事、人,也可以是抽象的概念或联系
2)属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干属性来刻画。
1.4 数据模型
1.4 数据模型
1.4.3 概念模型
3)码(Key)
所谓码,是指在实体属性中,可用于区别实体中不同个体的一个属性或几个属性的组合,称为该实体集的“码”,有时也称为关键字。
当有多个属性可作为码而选定其中一个时,则称它为该实体的“主码”。若在实体诸属性中,某属性虽非该实体主码,却是另一实体的主码,则称此属性为“外部码”或简称“外码”。
1.4 数据模型
1.4.3 概念模型
4)域(Domain)
属性的取值范围称为该属性的域。
5)实体型(Entity Type)
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
6)实体集(Entity Set)
同型实体的集合称为实体集。
1.4.3 概念模型
(二)实体联系表示法(E-R方法)
概念模型中最常用的方法为实体-联系方法,简称E-R方法。该方法直接从现实世界中抽象出实体和实体间的联系,然后用E-R图来表示数据模型。在E-R图中实体用方框表示;联系用菱形表示,同时用边将其与相应的实体连接起来,并在边上标上联系的类型;属性用椭圆表示,并且用边将其与相应的实体连接起来。对于有些联系,其自身也会有某些属性,同实体与属性的连接类似,用边将联系与其属性连接起来。
1.4 数据模型
实体名称
联系名称
属性名称
实体:
联系:
属性:
1.4.3 概念模型
(三)实体间的联系方式
两个不同实体型之间的联系可以分为三类:
1)一对一联系(1:1联系)
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1,用图1-6表示:
1.4 数据模型
实体型A
实体型B
联系名
1
1
图3 1:1联系
1.4.3 概念模型
2)一对多联系(1:n联系)
如果对于实体集A中的每一个实体,实体集B中有n个(n≥0)实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n,用图1-7表示:
1.4 数据模型
实体型A
实体型B
联系名
1
n
图 4 1:n联系
1.4.3 概念模型
3)多对多联系(m:n联系)
如果对于实体集A中的每一个实体,实体集B中有n个(n≥0)实体与之联系。反之,对于实体集B中的每一个实体,实体集A中也有m(m≥0)之联系,则称实体集A与实体集B具有多对多联系,记为m:n,用图1-8表示:
1.4 数据模型
实体型A
实体型B
联系名
m
n
图5 m:n联系
1.4.3 概念模型
多个实体集之间的联系。
例如: 对于课程、教师与参考书这三个实体集,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的,如图6所示。
1.4 数据模型
课程
讲授
教师
参考书
n
m
1
图6 三个不同实体集间 1:m:n联系
1.4.3 概念模型
同一个实体集内的各实体之间也存在一对一、一对多、多对多的联系。例如学生实体集内部具有领导与被领导的联系,即某一学生(班长)“领导”若干名学生,而一个学生仅被另外一个学生(班长)直接领导,因此这是同一实体集一对多的联系,如图7所示。
1.4 数据模型
学生
班级---班长
1
n
图7 同一实体集内1:n联系
1.4.3 概念模型
(四)怎样设计E-R图
E-R图的设计分两步来完成,首先设计初步E-R图,其次,对初步E-R
图中的冗余进行消除得到基本E-R图。
设计初步E-R图的步骤:
第一,先设计局部E-R图,也称用户视图,步骤如下:
① 确定局部概念模型的范围;
② 定义实体;
③ 定义联系;
④ 确定属性;
⑤ 逐一画出所有的局部E-R图,并附以相应的说明文件。
第二,综合各局部E-R图,形成总的E-R图,即用户视图的集成。步骤如下:
① 确定公共实体类型;
② 合并局部E-R图;
③ 消除不一致因素;
④ 优化全局E-R图;
⑤ 画出全局E-R图,并附以相应的说明文件。
1.4 数据模型
1.4.3 概念模型
确定实体与属性的原则:
能作为属性的尽量作为属性而不要划为实体;
作为属性的数据元素与所描述的实体之间的联系只能是1:n的联系;
作为属性的数据项不能再用其他属性加以描述,也不能与其他实体或属性发生联系。
例如:一个机械制造厂的简单管理系统。首先按工厂技术部门和工厂供应部门设计两个局部E-R图。工厂技术部门关心的是产品的性能参数及由哪些零件组成,零件的材料和耗用量等;工厂供应部门关心的是产品的价格,使用材料的价格及库存量等。
按照部分划分,先单独设计某个部门的E-R图,如图8和图9所示。
1.4 数据模型
1.4.3 概念模型
1.4 数据模型
产 品
产品号
组 成
零 件
产品名
性能参数
零件数
零件号
零件名
耗用量产品号
m
n
图8 技术部门
m
n
产品
产品号
使用
材料
产品名
用量
存放量
仓库号
地点
价格
存量
仓库
材料号
材料名
价格
库存量
仓库名
m
n
图9 供应部门
1.4.3 概念模型
以上为局部E-R图,综合这两个分E-R图,得到初步E-R图,如图
10所示。
1.4 数据模型
某种材料耗量
每种材料总存量
仓库某种材
料库存量
某种零件所用
某种材料耗量
产品
产品号
组成
材料
产品名
用量
存放量
仓库号
地点
价格
存量
仓库
材料号
材料名
价格
库存量
仓库名
性能参数
使用
零件
零件数
零件号
零件名
消耗量
组成
图10 初步E-R图
1.5 关系数据库
1. 关系模型
关系模型:用二维表的形式表示
实体和实体间联系的数据模型。
关系模型具有以下优点:
(1)数据结构单一 ,一个关系就是一个二维表。
(2)关系规范化,并建立在
严格的理论基础上
(3)概念简单,操作方便
例如表1-2 ,学生学籍表是关系模型
关系数据库是支持关系模型的数据库系统
学号 姓名 性别 出生日期 班级
10101001 张永峰 0 1993-8-1 电子商务101
10101002 何小丽 1 1992-11-3 电子商务101
10101003 张红宇 0 1992-8-21 电子商务101
10102001 王斌 1 1991-7-14 网络技术101
10102002 包玉明 1 1993-11-15 网络技术101
10102003 孙平平 0 1992-2-27 网络技术101
10102004 翁静静 0 1992-5-9 网络技术101
11101001 刘淑芳 0 1994-6-10 电子商务111
11101002 王亚旭 1 1993-3-18 电子商务111
11101003 高磊 1 1993-5-11 电子商务111
表1-2 学生学籍表
1. 关系中的基本名词
1) 元组:关系表中的每一横行称作一个元组,组成元组的元素为分量。
2) 属性:关系中的每一列称为一个属性。
3) 候选码、主码、全码:若关系的候选码中只包含一个属性,则称它为单属性码;若候选码是由多个属性构成的,则称为它为多属性码。若关系中只有一个候选码,且这个候选码中包括全部属性,则这种候选码为全码。
4) 主属性和非主属性:关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。
1.5.1 关系模型及其定义
1.5.1关系模型及其定义
2. 数据库中基本关系的性质
1) 同一属性的数据具有同质性,即列是同质的。
如表1-3所示,其中,第三条记录(工商系,玉兔精,女,1988-11-22,0824006)就是一个不满足要求的记录,应更正为(0824006,玉兔精,女,1988-11-22,工商系),更正后的结果有效地保证了同一属性的数据是同质的。
学号 姓名 性别 出生日期 所在系
1122101 孙大圣 男 1990-01-01 计算机系
1023003 白骨精 女 1992-02-02 音乐系
工商系 玉兔精 女 1988-11-22 0824006
表1-3
1.5.1关系模型及其定义
2) 同一关系的属性名具有不能重复性。
3) 关系中的列位置具有顺序无关性。
4) 关系具有元组无冗余性。
如表1-4所示,有阴影的两组记录数据是重复出现,
应去掉重复的,保证关系中每个元组具有唯一性。
表1-4
学号 姓名 性别 出生日期 所在系
1122101 孙大圣 男 1990-01-01 计算机系
1023003 白骨精 女 1992-02-02 音乐系
1023003 白骨精 女 1992-02-02 音乐系
0824006 玉兔精 女 1988-11-22 工商系
1.5.1关系模型及其定义
5) 关系中的元组位置具有顺序无关性。
6) 关系中每一个分量都必须是不可分的数据项。
如表1-5所示,加阴影的部分在关系中就是不合法
的,也就是说,表1-5不是关系型的。
学号 姓氏 名字 性别 出生日期 所在系
1122101 孙大圣 男 1990-01-01 计算机系
1023003 白骨精 女 1992-02-02 音乐系
0824006 玉兔精 女 1988-11-22 工商系
表1-5
三、关系的完整性
1. 关系模型的域完整性
关系模型的域完整性指属性的取值范围,如性别取值
应为男或女。
2. 关系模型的实体完整性(Entity Integrity)
若属性A是基本关系R的主属性,则属性A的值不能为
空值。说明如下:
1) 实体完整性能够保证实体的唯一性。
2) 实体完整性能够保证实体的可区分性。
例如:在课程表(课程号,课程名,教师,周课时数
,备注)中,“课程号”属性为主键,则“课程号”不能取相
同的值,也不能取空值。
1.6 关系数据库
3. 关系模型的参照完整性
1) 外码和参照关系
设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选
码)。如果F与基本关系S的主码相对应,则称F是R的外码,并称R为
参照关系,S为被参照关系或目标关系。
例如,“基层单位数据库”中有“职工”和“部门”两个关系,其关系模
式如下:
职工(职工号,姓名,工资,性别,部门号);
部门(部门号,名称,领导人号)
其中:主码用下划线标出,外码用曲线标出。
再例,在学生课程体系中,关系模式表示为:
学生(学号,姓名,性别,年龄);
课程(课程号,课程名,学分);
选修(学号,课程号,成绩)
其中:主码用下划线标出。
1.6 关系数据库
2) 参照完整性规则
若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键
Ks相对应(关系R和S不一定是不同的关系),则对于关系R中每个元
组在属性F上的值必须为:
a.或者取空值(F中的每个属性值均为空);
b.或者等于S中某个元组的主键值。
例如:职工(职工号,姓名,性别,部门号,上司,工资,佣金)
   部门(部门号,名称,地点)
其中职工号是“职工”关系的主键,部门号是外键,而“部门”关系中
部门号是主键,则职工关系中的每个元组的部门号属性只能取下面两
类值:
第1类:空值,表示尚未给该职工分配部门;
第2类:非空值,但该值必须是部门关系中某个元组的部门号值
,表示该职工不可能分配到一个不存在的部门中,即被参照关系“部
门”中一定存在一个元组,它的主键值等于该参照关系“职工”中的外
键值。
1.6 关系数据库
4.用户定义的完整性
用户定义的完整性就是针对某一具体关系数据库的约
束条件,它反映某一具体应用所涉及的数据必须满足的语
义要求。
域完整性、实体完整性、参照完整性和用户定义的完
整性是关系模型中必须满足的完整性约束条件,只要是关
系数据库系统就应该支持域完整性、实体完整性和参照完
整性。除此之外,不同的关系数据库系统根据其应用环境
的不同,往往还需要一些特殊的约束条件,用户定义的完
整性就是对某些具体关系数据库的约束条件。例如:选课
表(课程号,学号,成绩),在定义关系选课表时,可以
对成绩这个属性定义必须大于等于0的约束。
1.6 关系数据库
1.6 关系数据库
学生.学号 姓名 出生日期 所在班级 选课.学号 课程名 成绩
11101001 刘淑芳 1994-6-10 电子商务111 11101001 文学欣赏 78
11101001 刘淑芳 1994-6-10 电子商务111 11101001 中国历史文化 67
10102002 包玉明 1993-11-15 网络技术101 10102002 视频编缉 95
学生.学号 姓名 出生日期 所在班级 课程名 成绩
11101001 刘淑芳 1994-6-10 电子商务111 文学欣赏 78
11101001 刘淑芳 1994-6-10 电子商务111 中国历史文化 67
10102002 包玉明 1993-11-15 网络技术101 视频编缉 95
学生 选课
学生.学号=选课.学号
学生 选课
1.6.3 关系数据库规范化理论
1.6 关系数据库
在设计关系数据库时,经常采用一种自下而上的设计方法。这种方法是对涉及的所有数据进行收集,然后按照栏目进行归纳分类。事实上,设计数据库就是为所存储的数据设计一种合适的逻辑结构。在关系数据库中,即是设计出合适的关系表以及表中的属性。如表1-8所示,其关系模式为:
学生选课表(学号,姓名,性别,出生日期,所在班级,课程号,课程名,成绩)
1.6 关系数据库
学号 姓名 性别 出生日期 所在班级 课程号 课程名 成绩
10101002 何小丽 1 1992-11-3 电商101 C038 Java语言 75
10101002 何小丽 1 1992-11-3 电商101 C220 网页制作 90
10101002 何小丽 1 1992-11-3 电商101 C108 Flash 88
11101003 高磊 0 1993-5-11 计应111 C060 JSP 80
11101003 高磊 0 1993-5-11 计应111 C200 数据结构 69
11101003 高磊 0 1993-5-11 计应111 C038 Java语言 93
表1-8 学生选课表
在该关系模式中存在如下问题:
数据冗余
插入异常
删除异常
更新异常
1.函数依赖的概念
关系模式的完整表示是一个五元组:
R〈U,D,Dom,F〉
其中:R为关系名;U为关系的属性集合;D为属性集U
中属性的数据域;Dom为属性到域的映射;F为属性集U的
数据依赖集。
函数依赖
设R〈U〉是属性集U上的关系模式,X、Y是U的子集。
若对于R〈U〉的任意一个可能的关系r,r中不可能存在两
个元组在X上的属性值相等,而Y上的属性值不等,则称X
函数确定Y函数,或Y函数依赖于X函数,记作X→Y。
1.6 关系数据库
例如,对于教学关系模式:教学〈U,F〉;
U={学号,姓名,年龄,性别,系名,系主任,课
程名,成绩};
F={学号→姓名,学号→年龄,学号→性别,学号→
系名,系名→系主任,(学号,课程名)→成绩}。
若X→Y,但Y X,则称X→Y是非平凡的函数依赖。若
不特别声明,总是讨论非平凡的函数依赖。
若 X→Y,但Y X,则称X→Y是平凡的函数依赖。
若X→Y,则X叫做决定因素(Determinant),Y叫做
依赖因素(Dependent)。
若X→Y,Y→X,则记作X Y。
若Y不函数依赖于X,则记作X Y。
1.6 关系数据库
完全函数依赖和部分函数依赖
在R〈U〉中,如果X→Y,并且对于X的任何一个真子
集X‘,都有X‘ Y,则称Y对X完全函数依赖,记作:X→Y;
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖
,记作: X→Y。
例如,在教学关系模式:(学号,课程名)→成绩,(学
号,课程名)→姓名
传递函数依赖
在R〈U〉中,如果X→Y,Y X,Y X,Y→Z,则称Z对
X传递函数依赖。传递函数依赖记作X → Z。
例如,在教学模式中,因为:学号→系名,系名→系
主任;所以:学号 → 系主任。
1.6 关系数据库
T
T
F
p
2.范式和规范化
1)1NF(第一范式)和2NF(第二范式)
如果关系模式R,其所有的属性均为简单属性,即每个属性都是
不可再分的,则称R属于第一范式,记作R 1NF。
若R 1NF,且每一个非主属性完全依赖于码,则R 2NF。
在教学关系模式中:
属性集={学号,姓名,年龄,系名,系主任,课程名,成绩}。
函数依赖集={学号→姓名,学号→年龄,学号→性别,学号→系
名,系名→系主任,(学号,课程名)→成绩}。
主码=(学号,课程名)。
非主属性=(姓名,年龄,系名,系主任,成绩)。
非主属性对码的函数依赖:
{(学号,课程名)→姓名,(学号,课程名)→年龄,(学号,课程号
)→性别 ,(学号,课程名)→系名,(学号,课程名)→系主任;(学号,
课程名)→成绩}。
显然,教学关系模式不服从2NF,即:教学 2NF。
1.6 关系数据库
2)3NF(第三范式)
设关系模式R〈U,F〉,仅当R是2NF,且每个非主属
性都非传递函数依赖于主码,则称R〈U,F〉 3NF。
可以证明,若R 3NF,则每一个非主属性既不部分函
数依赖于主码,也不传递函数依赖于主码。
考查教学关系模式,由于存在:学号→系名,系名→
系主任。
则: 学号 → 系主任。所以教学 3NF。
如果分解为:
学生(学号,姓名,年龄,性别,系名);
教学系(系名,系主任)。
显然分解后的各子模式均属于3NF。
1.6 关系数据库
T
1.7.1 数据库设计的步骤
1.7 数据库设计
图 1-17 数据库设计步骤
需求分析阶段
一、系统需求常用的分析方法
(1)自顶向下的设计方法。先定义全局概念结构的框架,然后逐步细化为完整的全局概念结构。
(2)自底向上的设计方法。先定义各局部应用的概念结构,后将它们集成,得到全局概念结构。
(3)逐步扩张的设计方法。先定义最重要的核心部分,后向外扩充,生成其他概念结构。
(4)混合策略设计的方法。即采用自顶向下与自底向上相结合的方法。
1.7 数据库设计
二、系统需求调查的方法
(1)开调查会
通过与用户座谈的方式来了解业务活动情况及用户需求。
(2)设计调查表请用户填写
数据库设计人员可以提前设计一个合理的、详细的业务活动及数
据要求调查表,并将此表发给相关的用户。
(3)查阅现实世界的数据记录
查阅与原系统有关的数据记录,包括帐本、档案或文献等。
(4)询问
对某些调查中的问题,可以找专人询问。
(5)请专人介绍
请业务熟练的专家或用户介绍业务专业知识和业务活动情况,设
计人员从中了解并询问相关问题。
(6)跟班作业
数据库设计人员亲身参加业务工作。
1.7 数据库设计
三、系统需求的调查步骤
(1)了解现实世界的组织机构情况
弄清所设计的数据库系统与哪些部门相关,这些部门
以及下属各个单位的联系和职责是什么。
(2)了解相关部门的业务活动情况
各部门需要输入和使用什么数据;在部门中是如何加
工处理这些数据的;各部门需要输出什么信息;输出到什
么部门;输出数据的格式是什么。
(3)确定新系统的边界
哪些功能现在就由计算机完成;哪些功能将来准备让
计算机完成;哪些功能或活动由人工完成。由计算机完成
的功能就是新系统应该实现的功能。
1.7 数据库设计
四、系统需求调查的内容
(1) 数据库中的信息内容
数据库中需存储哪些数据,包括用户将从数据库中
直接获得或间接导出的信息内容和性质。
(2)数据处理内容
用户要完成什么数据处理功能;用户对数据处理响应
时间的要求;数据处理的工作方式。
(3)数据安全性和完整性要求
数据的保密措施和存取控制要求;数据自身的或数据
间的约束限制。
1.7 数据库设计
五、数据字典
1.7 数据库设计
数据来源
数据存储来源
数据输出来源
处 理
数据流处 理
数据流处 理
图1-18 系统高层抽象图
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
概念结构的设计
使用E-R模型来进行概念模型的设计通常分两步进行,首先是建
立局部概念模型,然后综合局部概念模型,成为全局概念模型。
1.设计分E-R图
概念结构设计是利用抽象机制对需求分析阶段收集到的数据分类
、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类
型(一对一、一对多或多对多的联系),进而设计分E-R图。常用数
据抽象的三种方法
(1) 分类: 定义某一类概念作为现实世界中一组对象的类型,这些
对象具有某些共同的特性和行为。在E-R模型中,实体集就是这种抽
象。
(2) 聚集:定义某一类型的组成部分,它抽象了对象内部的类型和
“组成部分”的语义。
(3) 概括:定义类型之间的一种子集联系,它抽象了类型之间的“
所属”的语义。
1.7 数据库设计
2.合并分E-R图,生成初步E-R图(实例请参考“关系模型”中相关内容)
合并时主要在以下三个方面进行概念的统一:
(1) 属性冲突
A.属性域冲突,即属性值的类型、取值范围或取值集合不同。
B.属性取值单位冲突。
(2) 命名冲突
A.同名异义冲突,即不同意义的对象在不同的局部应用中具有相同的名字。
B.异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。
(3) 结构冲突
A.同一对象在不同的应用中具有不同的抽象。
B.同一实体在不同分E-R图中的属性组成不一致。
C.实体之间的联系在不同的分E-R图中呈现不同的类型。
3.消除不必要的冗余,设计基本E-R图
1.7 数据库设计
逻辑结构的设计
逻辑结构阶段设计的任务是将基本E-R图转换为与选
用DBMS产品所支持的数据模型相符合的逻辑结构。其过
程为:将概念结构转换为现有DBMS支持的关系、网状或
层次模型中的某一种数据模型;从功能和性能要求上对转
换的模型进行评价,看它是否满足用户要求;对数据模型
进行优化。概念模型向关系模型的转换规则如下:
1.实体集的转换规则
概念模型中的一个实体集转换为关系模型中的一个关
系,实体的属性就是关系的属性,实体的码就是关系的码
,关系的结构是关系模式。
1.7 数据库设计
2.实体集间联系的转换规则
(1) 1:1联系的转换方法
a) 将1:1联系转换为一个独立的关系:与该联
系相连的各实体的码以及联系本身的属性均转换
为关系的属性,且每个实体的码均是该关系的候
选码。
b) 将1:1联系与某一端实体集所对应的关系合
并,则需要在被合并关系中增加属性,其新增的
属性为联系本身的属性和与联系相关的另一个实
体集的码。
1.7 数据库设计
【例3-1】将图1-19中E-R图转换为关系模型。
方案1:联系形成的关系独立存在:
职工(职工号,姓名,年龄);
产品(产品号,产品名,价格);
负责(职工号,产品号).
方案2:“负责”与“职工”两关系合并:
职工(职工号,姓名,年龄,产品号);
产品(产品号,产品名,价格);
方案3:“负责”与“产品”两关系合并:
职工(职工号,姓名,年龄);
产品(产品号,产品名,价格,职工号)。
负责
1
产品
产品号
产品名
价格
1
职工
职工号
姓名
年龄
图1-19
1.7 数据库设计
(2) 1:n联系的转换方法
一种方法是将联系转换为一个独立的关系,
其关系的属性由与该联系相连的各实体集的码以
及联系本身的属性组成,而该关系的码为n端实体
集的码;另一种方法是在n端实体集中增加新属性
,新属性由联系对应的1端实体集的码和联系自身
的属性构成,新增属性后原关系的码不变。
1.7 数据库设计
【例3-2】将图1-20含有1:n联系的E-R图转换为关系模型。
1.7 数据库设计
方案1:联系形成的关系独立存在。
仓库(仓库号,地点,面积);
产品(产品号,产品名,价格);
仓储(仓库号,产品号,数量)。.
方案2:联系形成的关系与n端对象合并。
仓库(仓库号,地点,面积);
产品(产品号,产品名,价格,
仓库号,数量)。
仓储
n
产品
产品号
产品名
价格
1
仓库
仓库号
地点
面积
数量
图1-20
(3) m:n联系的转换方法
在向关系模型转换时,一个m:n联系转换为
一个关系。转换方法为:与该联系相连的各实体
集的码以及联系本身的属性均转换为关系的属性
,新关系的码为两个相连实体码的组合(该码
为多属性构成的组合码)。
1.7 数据库设计
【例3-4】将图1-21中含有m:n二元联系的E-R图,转换为关系模型。
1.7 数据库设计
转换的关系模型为:
学生(学号,姓名,年龄,性别);
课程(课程号,课程名,学时数);
选修(学号,课程号,成绩)。
学生
学号
姓名
年龄
性别
课程
课程号
课程名
学时数
选修
m
n
成绩
图1-21
(4) 三个或三个以上实体集间的多元联系的转换方法
a) 对于一对多的多元联系,转换为关系模型
的方法是修改1端实体集对应的关系,即将与联系
相关的其他实体集的码和联系自身的属性作为新
属性加入到1端实体集中。
b) 对于多对多的多元联系,转换为关系模型
的方法是新建一个独立的关系,该关系的属性为
多元联系相连的各实体的码以及联系本身的属性
,码为各实体码的组合。
1.7 数据库设计
【例3-6】将图1-22中含有多实体集间的多对多联系的E-R图转换为关系模型。
1.7 数据库设计
供应商
供应商号
供应商名
地址
零件
零件号
零件名
单价
产品
产品号
产品名
型号
供应
n
m
p
数量
图1-22 多实体集间多对多联系
图1-22转换后的关系模型为:
供应商(供应商号,供应商名,地址);
零件(零件号,零件名,单价);
产品(产品号,产品名,型号);
供应(供应商号,零件号,产品号,数量)。
物理结构设计
系统的物理结构设计是在逻辑设计完成后进行。物理
设计是在计算机的物理设备上确定应采取得数据存储结构
和存取方法,以及如何分配存储空间等问题。当确定之后
,应用系统所选用的DBMS提供的数据定义语言把逻辑设
计的结果(数据库结构)描述出来,并将源模式变成目标
模式。由于目前使用的DBMS基本上是关系型的,物理设
计的主要工作是由系统自动完成的,用户只要关心索引文
件的创建即可。尤其是对危机关系数据库用户来说,用户
可做的事情很少,用户只需用DBMS提供的数据定义语句
建立数据库结构。
1.7 数据库设计
数据库的实施、运行和维护
完成数据库的物理设计之后,设计人员就要用RDBMS
提供的数据定义语言和其他实用程序将数据库逻辑设计和
物理设计结果严格描述出来,成为DBMS可以接受的源代
码,再经过调试产生目标模式。然后就可以组织数据入库
了,这就是数据库的实施阶段。在数据部分入库后就可以
对数据库系统进行联合调试,即数据库的试运行。试运行
合格后,数据库的开发工作基本完成,就可以投入正式运
行。此后,根据各方面因素的变化,需要不段的对数据库
本身做经常性的维护工作,该工作交由DBA来完成,主要
包含:数据库的转储和恢复;数据库的安全性、完整性控
制;数据库性能的监督、分析和改造;数据库的重组织和
重构造四个方面。
1.7 数据库设计
1.7.2 数据库设计的实例
以学生选课系统为例。
1. 基本需求分析
某学校设计学生教学管理系统(暂不包括教师教学管
理部分)。学生实体包括学号、姓名、性别、出生日期、
籍贯,每名学生选择一个主修专业,专业包括专业编号、
名称和类别,一个专业属于一个院系,一个院系可以有若
干个专业。院系信息要存储院系号、院系名、主任。教学
管理还要管理课程表和学生成绩。课程表包括课程号、课
程名、学分,每门课程由一个院系开设。学生选修的每门
课程获得一个成绩。
1.7 数据库设计
2.概念结构设计阶段
1)该系统中各实体的属性组成如图1-23所示。
1.7 数据库设计
学生
学号
姓名
性别
籍贯
出生日期
专业
专业号
专业名
类别
课程
课程号
课程名
学分
院系
主任
院系名
院系号
图1-23 各实体的属性
2)经合并各分E-R图并消除冗余后的基本E-R图如图1-24所示。
1.7 数据库设计
n
m
n
1
学生
课程
院系
选修
成绩
开设
专业
主修
设置
1
n
1
n
图1-24 教学管理系统E-R图
3.逻辑结构设计阶段
由图1-24教学管理系统E-R图转换的关系模型是:
学生(学号,姓名,性别,出生日期,籍贯,
专业号)
专业(专业号,专业,专业类别,院系号)
院系(院系号,院系名,主任)
课程(课程号,课程名,学分,院系号)
成绩(学号,课程号,成绩)
1.7 数据库设计
4. 物理设计阶段
基于sql server 2008的数据库结构设计如下。
指定数据库文件的名称,并为设计好的关系
模型设计表结构。
数据库文件保存在“D:\教学管理系统\db”文
件夹中,数据库文件名:教学管理系统.MDB。
表包括:院系、专业、学生、课程、成绩单
。对应表结构如表1-9至表1-13所示。
1.7 数据库设计
1.7 数据库设计
字段名 类型 宽度 小数 主键/索引 参照表 约束 Null值
院系号 char 8 ↑(主)
院系名 varchar 16
主任 varchar 16 √
字段名 类型 宽度 小数 主键/索引 参照表 约束 Null值
专业号 char 8 ↑(主)
专业 varchar 16
专业类别 char 8 ↑
院系号 char 8 院系
表1-9 院系
表1-10 专业
1.7 数据库设计
字段名 类型 宽度 小数 主键/索引 参照表 约束 Null值
学号 char 8 ↑(主)
姓名 varchar 8
性别 char 2 男 or 女
出生日期 smalldatetime
专业号 char 8 专业 √
籍贯 varnchar 20 √
表1-11 学生
1.7 数据库设计
字段名 类型 宽度 小数 主键/索引 参照表 约束 Null值
课程号 char 8 ↑(主)
课程名 varchar 20
学分 double 1
院系号 char 8 院系
字段名 类型 宽度 小数 主键/索引 参照表 约束 Null值
学号 char 8 ↑ 学生
课程号 char 8 ↑ 课程
成绩 Float 4 1 >=0 and <=100 √
表1-12 课程
表1-13 成绩单
信息、数据、数据库、数据库管理系统、数据语言、数据库管理员、数据库系统的定义及关系
数据库系统的发展阶段:人工管理、文件管理和数据库管理
常用关系数据库的应用软件系统
E-R图的设计
数据模型的种类:层次模型、网状模型和关系模型
1NF、2NF、3NF的定义;关系数据库规范化的必要性、方法和过程。
数据库设计的步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的运行和维护;掌握各阶段的任务和实现方法
本章小结

展开更多......

收起↑

资源预览