第1章关系数据库管理系统基础知识ppt课件_第1页
第1章关系数据库管理系统基础知识ppt课件_第2页
第1章关系数据库管理系统基础知识ppt课件_第3页
第1章关系数据库管理系统基础知识ppt课件_第4页
第1章关系数据库管理系统基础知识ppt课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1 1章章 关系数据库管理系统基础知识关系数据库管理系统基础知识 1.1 数据库系统概述数据库系统概述 1.2 数据模型数据模型 1.3 关系数据库及其设计过程关系数据库及其设计过程 1.4 关系数据库的规范化关系数据库的规范化 1.5 数据表的关联与数据的完整性数据表的关联与数据的完整性 1.6 关系数据库应用实例关系数据库应用实例电脑器材销售电脑器材销售管理管理 1.7 实训要求与习题实训要求与习题第第1 1章章 关系数据库管理系统基础知识关系数据库管理系统基础知识 学习目的与要求数据库系统的基本概念数据模型的基本概念实体联系模型关系模型的概念和性质数据库系统的规范化理论等内容设计创建

2、一个数据库模型1.1 数据库系统概述数据库系统概述 计算机应用从科学计算进入数据处理是一个重大转折,数据处理是指对各种形式的数据进行收集、储存、加工和传播的一系列活动,其基本环节是数据管理。数据管理指的是对数据的分类、组织、编码、储存、检索和维护。数据管理方式多种多样,其中数据库技术是在应用需求的推动下,在计算机硬件、软件高速发展的基础上出现的高效数据管理技术。数据库系统在计算机应用中起着越来越重要的作用,从小型单项事务处理系统到大型信息系统,从联机事务处理(OLTP)到联机分析处理(OLAP),从传统的企业管理到计算机辅助设计与制造(CAD/CAM)、现代集成制造系统(CIMS)、办公信息系

3、统(OIS)、地理信息系统(GIS)等,都离不开数据库管理系统。正是这些不断涌现的应用要求,又不断地推动了数据库技术的更新换代。1.1.1 数据库技术的产生与发展 1. 数据库技术的产生 从20世纪60年代后期开始,计算机技术从科学计算迅速扩展到数据处理领域,随着数据处理的不断深入,数据处理的规模越来越大,数据量也越来越多,数据处理成为最大的计算机应用领域。数据处理技术也不断地完善,经历了人工管理、文件系统和数据库系统三个阶段。 (1) 人工管理阶段 计算机在其诞生初期,人们还是把它当作种计算工具,主要用于科学计算。通常是在编写的应用程序中给出自带的相关数据,将程序和相关数据同时输入计算机。不

4、同用户针对不同问题编制各自的程序,整理各自程序所需要的数据。数据的管理完全由用户自己负责。人工管理阶段程序与数据的关系人工管理阶段程序与数据的关系特点:特点: 数据不能单独保存。 数据无独立性。 数据冗余不能共享。(2) 文件系统阶段文件系统阶段在文件系统中,把数据组织成相互独立的数据文在文件系统中,把数据组织成相互独立的数据文件,利用件,利用“按文件名访问,按记录存取的管理技术,按文件名访问,按记录存取的管理技术,程序和数据分别存储为程序文件和数据文件。数据文程序和数据分别存储为程序文件和数据文件。数据文件是独立的,可以长期保存在外存储器上多次存取。件是独立的,可以长期保存在外存储器上多次存

5、取。数据的存取以记录为基本单位,并出现了多种文件组数据的存取以记录为基本单位,并出现了多种文件组织形式,如顺序文件、索引文件、随机文件等。织形式,如顺序文件、索引文件、随机文件等。文件系统阶段程序与数据的关系文件系统阶段程序与数据的关系 数据与程序缺乏独立性。 数据的冗余和不一致性。 数据的无结构性。特点:特点:(3) 数据库系统阶段数据库系统阶段为了从根本上解决数据与程序的相关性,把数为了从根本上解决数据与程序的相关性,把数据作为一种共享的资源进行集中管理,为各种应用据作为一种共享的资源进行集中管理,为各种应用系统提供共享服务,数据库技术应运而生,使信息系统提供共享服务,数据库技术应运而生,

6、使信息管理系统的重心从以加工数据的程序为中心转向以管理系统的重心从以加工数据的程序为中心转向以数据共享、统一管理为核心。数据共享、统一管理为核心。数据库系统阶段程序与数据的关系数据库系统阶段程序与数据的关系 数据结构化数据结构化 数据能够共享数据能够共享 数据冗余度小,易扩充数据冗余度小,易扩充 数据与程序的独立性较高数据与程序的独立性较高 对数据实行集中统对数据实行集中统控制控制优点:2. 数据库技术的发展数据库技术的发展随着计算机科学的不断发展,数据库技术大致上随着计算机科学的不断发展,数据库技术大致上经历了三个发展时期:经历了三个发展时期:(1) 20世纪世纪60年代的萌芽期年代的萌芽期

7、(2) 20世纪世纪70年代的发展期年代的发展期(3) 20世纪世纪80年代的成熟期年代的成熟期1.1.2 数据库数据库1、数据库、数据库数据库数据库(Database,简称,简称DB),顾名思义,是存放,顾名思义,是存放数据的仓库。只不过这个仓库是创建在计算机存储设数据的仓库。只不过这个仓库是创建在计算机存储设备上,如硬盘就是一类最常见的计算机大容量存储设备上,如硬盘就是一类最常见的计算机大容量存储设备。数据必须按一定的格式存放,以利于以后使用。备。数据必须按一定的格式存放,以利于以后使用。可以说数据库就是长期存储在计算机内、与应用程序可以说数据库就是长期存储在计算机内、与应用程序彼此独立的

8、、以彼此独立的、以定的组织方式存储在一起的、彼此定的组织方式存储在一起的、彼此相互关联的、具有较少冗余的、能被多个用户共享的相互关联的、具有较少冗余的、能被多个用户共享的数据集合。在这里要特别注意数据库不是简单地将一数据集合。在这里要特别注意数据库不是简单地将一些数据堆积在一起,而是把相互间有一定关系的数据,些数据堆积在一起,而是把相互间有一定关系的数据,按一定的结构组织起来的数据集合。按一定的结构组织起来的数据集合。2、数据库体系结构为了有效地组织、管理数据,人们为数据库设计了一个严为了有效地组织、管理数据,人们为数据库设计了一个严谨的体系结构,包括了内模式、模式和外模式三级模式结构,谨的体

9、系结构,包括了内模式、模式和外模式三级模式结构,这三级模式反映了看待数据库的三种不同的数据观点。这三级模式反映了看待数据库的三种不同的数据观点。1.1.3 数据库管理系统数据库管理系统数据库管理系统DataBase Management System,简称简称DBMS是位于用户与计算机操作系统之间的一是位于用户与计算机操作系统之间的一个系统软件,由一组计算机程序组成。它能够对数据个系统软件,由一组计算机程序组成。它能够对数据库进行有效的组织、管理和控制,包括数据的存储、库进行有效的组织、管理和控制,包括数据的存储、数据的安全性与完整性控制等。数据的安全性与完整性控制等。 DBMS主要功能:主要

10、功能:1.1. 数据定义功能数据定义功能2.2. 数据操纵功能数据操纵功能3. 3. 数据库的运行控制与管理数据库的运行控制与管理4. 4. 数据库的建立和维护功能数据库的建立和维护功能5.5. 数据通信接口数据通信接口1.1.4 数据库系统 数据库系统数据库系统Database System,简称,简称DBS是指在计是指在计算机系统中引入数据库后的系统,带有数据库的计算算机系统中引入数据库后的系统,带有数据库的计算机系统硬件和软件层次如图所示。机系统硬件和软件层次如图所示。数据库系统构成数据库系统构成 硬件平台硬件平台 数据库数据库 软件软件数据库管理系统数据库管理系统DBMS)、支持)、支

11、持DBMS运行的操作系统、具有数据库接口的高级语言及其编运行的操作系统、具有数据库接口的高级语言及其编译系统、以译系统、以DBMS为核心的应用开发工具。为核心的应用开发工具。 为特定应用环境开发的数据库应用系统。为特定应用环境开发的数据库应用系统。 相关人员相关人员数据库管理员数据库管理员DBA)、系统分析员、数据库设)、系统分析员、数据库设计员、应用程序员、用户计员、应用程序员、用户1.2 数据模型数据模型 概念数据模型:独立于计算机系统的数据模型,概念数据模型:独立于计算机系统的数据模型,用来描述所使用的信息结构。用来描述所使用的信息结构。 逻辑数据模型:现实世界的第二层抽象,反映数逻辑数

12、据模型:现实世界的第二层抽象,反映数据的逻辑结构。据的逻辑结构。 物理数据模型:反映数据在计算机中的存储结构。物理数据模型:反映数据在计算机中的存储结构。 在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。根据数据抽象层次,针对不同的数据对象和应用目的,可以分为三类:1.2.1数据模型的组成要素 数据结构:所研究的对象类型的集合,这些对象是数据结构:所研究的对象类型的集合,这些对象是数据库的组成成分。数据库的组成成分。 数据操作:指对数据库中不同数据结构的对象所允数据操作:指对数据库中不同数据结构的对象所允许执行的操作的集合,包括操作及操作规则。许执行的操作的集合,包括操作及操作规

13、则。 完整性约束:数据的完整性约束条件是一组完整性完整性约束:数据的完整性约束条件是一组完整性规则的集合。规则的集合。1.2.2 概念模型具体的数据库管理系统DBMS所支持的逻辑数据模型不便于非计算机专业人员理解和应用,在开始设计数据模型时,可以先用概念数据模型将现实世界中的客观事物用某种信息结构表示出来,再转化为用计算机表示的逻辑数据模型,如下图。概念模型涉及的概念(1) 实体:现实世界中客观存在并可相互区分的事物称实体:现实世界中客观存在并可相互区分的事物称为实体。为实体。(2) 属性:实体所具有的某一特性称为属性。属性:实体所具有的某一特性称为属性。(3) 实体和属性的型与值:型是结构,

14、用实体名及其属性实体和属性的型与值:型是结构,用实体名及其属性名集合描述同类实体,称为实体型;值是数据,不同名集合描述同类实体,称为实体型;值是数据,不同的实体有不同的属性内容属性值)。的实体有不同的属性内容属性值)。(4) 实体集:具有相同实体型的实体值的集合称为实体实体集:具有相同实体型的实体值的集合称为实体集。集。(5) 关键字:在实体属性中,能区别实体集合中不同个关键字:在实体属性中,能区别实体集合中不同个体的某一个或某几个属性的组合,称为关键字。体的某一个或某几个属性的组合,称为关键字。2. 实体间的联系实体间的联系两个实体集之间的联系可以分为三类:两个实体集之间的联系可以分为三类:

15、一对一联系一对一联系(1:1)一对多联系一对多联系(1:N)多对多联系多对多联系(M:N)3. 概念模型的表示方法概念模型的表示方法概念模型的表示方法很多,其中最著名最常用的概念模型的表示方法很多,其中最著名最常用的是是P.P.S.Chen于于1976年提出的实体年提出的实体-联系方法联系方法E-R方方法)。该方法用法)。该方法用E-R图描述信息世界的概念模型。图描述信息世界的概念模型。方法如下:方法如下: 实体型:用矩形表示,矩形框内写上实体名。实体型:用矩形表示,矩形框内写上实体名。 属性:用椭圆形或圆角矩形表示,图形内写上属性名,属性:用椭圆形或圆角矩形表示,图形内写上属性名,并用直线将

16、其与相应的实体连接起来。并用直线将其与相应的实体连接起来。 联络:用菱形表示,菱形框内写上表示联系行为的动联络:用菱形表示,菱形框内写上表示联系行为的动词表示联系名,并用直线分别与有关实体连接起来,同词表示联系名,并用直线分别与有关实体连接起来,同时在直线旁边标上联系的类型时在直线旁边标上联系的类型(1:1,1:N或或M:N)。如果一个联系具有属性,则这些属性也要用直线与该联如果一个联系具有属性,则这些属性也要用直线与该联系连接起来。系连接起来。学生实体学生实体通常在表示单个实体的通常在表示单个实体的E-R图中,除了要标明实体图中,除了要标明实体名外,还要标明实体所具有的属性。例如学生实体具名

17、外,还要标明实体所具有的属性。例如学生实体具有学号、姓名、性别、出生日期和所在系的属性,其有学号、姓名、性别、出生日期和所在系的属性,其E-R图如下:图如下: 实体之间的联系的表示实体之间的联系的表示在表示实体之间的联系时,每个实体只标明其实体名,而把在表示实体之间的联系时,每个实体只标明其实体名,而把实体属性单独用图表示或把所有实体集用列表表示。实体属性单独用图表示或把所有实体集用列表表示。两个以上的实体集之间联系的表示两个以上的实体集之间联系的表示同一个实体集内部联系的表示同一个实体集内部联系的表示1.2.3 层次模型层次模型在数据库中,对满足以下两个条件的数据模型称为层在数据库中,对满足

18、以下两个条件的数据模型称为层次模型。次模型。有且仅有一个节点无双亲,这个节点称为有且仅有一个节点无双亲,这个节点称为“根节点根节点”。其他节点有且仅有一个双亲。其他节点有且仅有一个双亲。层次模型中相关概念层次模型中相关概念 在层次模型中,同一双亲的子女节点称为兄弟节点;在层次模型中,同一双亲的子女节点称为兄弟节点; 没有子女的节点称为叶节点;没有子女的节点称为叶节点; 双亲节点与其任意一个子女节点都构成一个基本层次双亲节点与其任意一个子女节点都构成一个基本层次联系,表示一对多的关系。联系,表示一对多的关系。层次模型特点层次模型特点 层次模型的优点:层次模型的优点: 层次模型数据结构简单,对具有

19、一对多的层次层次模型数据结构简单,对具有一对多的层次关系的描述非常自然、直观、容易理解。记录之间的关系的描述非常自然、直观、容易理解。记录之间的联系通过指针来实现,查询效率较高。联系通过指针来实现,查询效率较高。 层次模型的缺点:层次模型的缺点: 上一层记录类型和下一层记录类型只能表示一上一层记录类型和下一层记录类型只能表示一对多联系,无法实现多对多联系。如果要实现多对多对多联系,无法实现多对多联系。如果要实现多对多联系,则非常复杂,效率非常低,使用也不方便。联系,则非常复杂,效率非常低,使用也不方便。1.2.4 网状模型 在网状模型中,允许:在网状模型中,允许:一个以上的节点无双亲。一个以上

20、的节点无双亲。一个节点可以有多于一个的双亲。一个节点可以有多于一个的双亲。网状模型的特点网状模型的特点 网状模型的优点:网状模型的优点: 记录之间联系通过指针实现,具有良好的性能,记录之间联系通过指针实现,具有良好的性能,存取效率较高。能够更为直接地描述现实世界,如一存取效率较高。能够更为直接地描述现实世界,如一个节点可以有多个双亲。个节点可以有多个双亲。 网状模型的缺点:网状模型的缺点: 随着应用环境的扩大,数据库的结构会变得越随着应用环境的扩大,数据库的结构会变得越来越复杂,编写应用程序也会更加复杂,程序员必须来越复杂,编写应用程序也会更加复杂,程序员必须熟悉数据库的逻辑结构。与层次模型一

21、样,现在的数熟悉数据库的逻辑结构。与层次模型一样,现在的数据库管理系统已经很少使用网状模型了。据库管理系统已经很少使用网状模型了。1.2.5 关系模型关系模型是三种数据模型中最重要的模型,是当前使用最广泛的数据模型。Microsoft SQL Server 2000数据库管理系统也是基于关系模型的。关系模型是建立在数学概念基础上的,它的主要特征是使用关系来表示实体以及实体之间的联系。1. 关系模型的基本术语关系模型的基本术语(1) 关系关系一个关系模型的逻辑结构是二维表,它由行和列组成。一个关系模型的逻辑结构是二维表,它由行和列组成。(2) 元组元组表中的一行称为一个元组,在数据库中也称为记录

22、。表中的一行称为一个元组,在数据库中也称为记录。(3) 属性属性表中的一列称为一个属性,用来描述事物的特征,属性表中的一列称为一个属性,用来描述事物的特征,属性分为属性名和属性值。在数据库中属性也称为字段。分为属性名和属性值。在数据库中属性也称为字段。(4) 域域属性的取值范围。属性的取值范围。(5) 关系模式关系模式关系模式描述关系的信息结构和语义限制,是型的概念;关系模式描述关系的信息结构和语义限制,是型的概念;而关系是关系模式中的而关系是关系模式中的个实例,是值的概念。关系模个实例,是值的概念。关系模式的描述形式式的描述形式-关系名属性关系名属性1,属性,属性2,属性,属性n)。)。1.

23、 关系模型的基本术语关系模型的基本术语 (6) (6) 关系数据库关系数据库 使用关系模型表示和处理数据的数据库,是一些相关使用关系模型表示和处理数据的数据库,是一些相关的表和其他数据库对象的集合。的表和其他数据库对象的集合。 (7) (7) 关键字关键字/ /码码若关系中的某一个属性或属性组的值惟一地决定其它若关系中的某一个属性或属性组的值惟一地决定其它所有属性,则这个属性或属性组称为该关系的关键字。所有属性,则这个属性或属性组称为该关系的关键字。 (8) (8) 候选键候选键/ /候选关键字候选关键字/ /侯选码侯选码如果一个关系中有多个属性或属性组都能用来标识该如果一个关系中有多个属性或

24、属性组都能用来标识该关系的元组,那么这些属性或属性组都称为该关系的关系的元组,那么这些属性或属性组都称为该关系的候选关键字。候选关键字。1. 关系模型的基本术语关系模型的基本术语 (9) (9) 主键主键/ /主关键字主关键字/ /主码主码在一个关系的多个候选关键字中指定其中一个作为该在一个关系的多个候选关键字中指定其中一个作为该关系的关键字,则称它为主关键字或主键、主码。关系的关键字,则称它为主关键字或主键、主码。 (10)(10)外键外键/ /外关键字外关键字/ /外码外码如果一个关系如果一个关系R R中的某个属性或属性组中的某个属性或属性组F F并非该关系的并非该关系的关键字,但它和另外

25、一个关系关键字,但它和另外一个关系S S的关键字的关键字K K相对应,则相对应,则称称F F为关系为关系R R的外键,同时要求外键的外键,同时要求外键F F的值要参照关系的值要参照关系S S中主键中主键K K的值。有时,的值。有时,R R和和S S可能为同一个关系。可能为同一个关系。2. 关系模型三要素关系模型三要素(1) 数据结构数据结构关系关系关系模型中数据的逻辑结构就是一张二维表格。在关系关系模型中数据的逻辑结构就是一张二维表格。在关系数据库中,关系模式是型二维表格),关系是值元数据库中,关系模式是型二维表格),关系是值元组的集合),关系模式必须指出这个元组集合的结构,组的集合),关系模

26、式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性采用何种类型、来自哪即它由哪些属性构成,这些属性采用何种类型、来自哪些域,以及属性与域之间的映像关系。些域,以及属性与域之间的映像关系。(2) 关系操作关系操作关系模型中常用的关系操作有数据查询和数据更新两大关系模型中常用的关系操作有数据查询和数据更新两大部分,其中数据查询包括选择、投影、衔接、除、并、部分,其中数据查询包括选择、投影、衔接、除、并、交、差;数据更新包括插入、删除、修改操作。交、差;数据更新包括插入、删除、修改操作。(3) 关系完整性约束关系完整性约束关系模型允许定义三类完整性约束:实体完整性、参照关系模型允许定义三类完

27、整性约束:实体完整性、参照完整性和数据类型的域完整性。实体完整性和参照完整完整性和数据类型的域完整性。实体完整性和参照完整性是关系模型必须满足的约束条件,由关系系统自动支性是关系模型必须满足的约束条件,由关系系统自动支持;数据类型的域完整性是数据取值要遵循的约束条件。持;数据类型的域完整性是数据取值要遵循的约束条件。3. 关系模型的特点关系模型的特点(1) 关系模型具有严格的理论基础关系模型具有严格的理论基础(2) 关系模型的数据结构单一关系模型的数据结构单一(3) 关系模型存取简单关系模型存取简单1.3 关系数据库及其设计过程关系数据库及其设计过程关系数据库是目前使用最广泛的数据库,现实世关

28、系数据库是目前使用最广泛的数据库,现实世界信息结构复杂、应用环境千变万化,如何构造一个界信息结构复杂、应用环境千变万化,如何构造一个合理的数据库系统,使之能够有效地存储数据,满足合理的数据库系统,使之能够有效地存储数据,满足各种用户的需求是我们要解决的首要问题,本节将结各种用户的需求是我们要解决的首要问题,本节将结合应用实例合应用实例研究关系数据库的设研究关系数据库的设计过程。计过程。1.3.1 关系与表格关系模型是建立在集合代数基础上的,关系是有严关系模型是建立在集合代数基础上的,关系是有严格的数学定义的,并不是所有的二维表格都可以称为关格的数学定义的,并不是所有的二维表格都可以称为关系,这

29、个表格应该具有如下一些性质。系,这个表格应该具有如下一些性质。(1) 关系必须是规范化的关系关系必须是规范化的关系 (2) 表中的表中的“行是惟一的行是惟一的(3) 行的次序可以任意行的次序可以任意(4) 表中的表中的“列名是惟一的列名是惟一的(5) 列的次序可以任意列的次序可以任意(6) 必须满足完整性约束条件必须满足完整性约束条件1.3.2 数据表基本概念关系数据库中包含若干关系关系数据库中包含若干关系二维数据表,可分为基本的数据二维数据表,可分为基本的数据表、查询结果集、视图等,其中数据表是最重要的一类关系,其它的表、查询结果集、视图等,其中数据表是最重要的一类关系,其它的对象大都依附于

30、数据表。对象大都依附于数据表。数据表是数据库中最基本的对象,用来在数据库中存储用户的全数据表是数据库中最基本的对象,用来在数据库中存储用户的全部数据。数据库中可以有多个数据表,每个数据表可代表用户某类有部数据。数据库中可以有多个数据表,每个数据表可代表用户某类有意义的需求信息。例如在一个学校意义的需求信息。例如在一个学校“教学管理数据库中有教学管理数据库中有“教师信息教师信息表表”、“学生信息表和学生信息表和“课程成绩表等。课程成绩表等。数据表中的每一行代表不同需求的一个实体对象。例如数据表中的每一行代表不同需求的一个实体对象。例如“学生信息学生信息表中用一个学生的档案信息属性作为一个实体;而

31、在表中用一个学生的档案信息属性作为一个实体;而在“课程成绩表课程成绩表中用一个学生的课程成绩信息属性作为一个实体。中用一个学生的课程成绩信息属性作为一个实体。数据表中的每一列都代表实体对象的一个属性特征,如学生的姓数据表中的每一列都代表实体对象的一个属性特征,如学生的姓名、住址等。数据表经设计完成并创建之后,就一直存储在数据库文名、住址等。数据表经设计完成并创建之后,就一直存储在数据库文件中,直到被删除为止。件中,直到被删除为止。1.3.3 数据库设计过程数据库设计所要解决的问题是建立数据表数据库设计所要解决的问题是建立数据表及其应用系统,具体说,就是指对一个给定的及其应用系统,具体说,就是指

32、对一个给定的需求和应用环境,构造最优化的数据库模式,需求和应用环境,构造最优化的数据库模式,建立数据库及其应用系统,满足用户的各种应建立数据库及其应用系统,满足用户的各种应用需求。大型数据库的设计和开发是一项庞大用需求。大型数据库的设计和开发是一项庞大的工程,是多学科的综合性技术。的工程,是多学科的综合性技术。数据库设计步骤大致可以分为需求分析、数据库设计步骤大致可以分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护几个阶段。设数据库实施、数据库运行和维护几个阶段。设计一个完善的数据库应用系统往往是上述六个计一个完善的

33、数据库应用系统往往是上述六个阶段的不断反复、逐步完善的过程,如下图。阶段的不断反复、逐步完善的过程,如下图。1.3.3 数据库设计过程1. 需求分析需求分析需求分析的任务是由计算机人员系统分析员和用户双方共需求分析的任务是由计算机人员系统分析员和用户双方共同通过详细的调查研究,充分了解用户的组织机构、业务规则、数同通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求、完整性约束条件、事务处理和安全性要求等,为概念设计据需求、完整性约束条件、事务处理和安全性要求等,为概念设计奠定基础。这个阶段的许多方法与系统分析设计、软件工程的方法奠定基础。这个阶段的许多方法与系统分析设计、软件工程的

34、方法类似,画出组织机构图、业务流程图,详细描述用户应用环境的业类似,画出组织机构图、业务流程图,详细描述用户应用环境的业务流程、数据需求。务流程、数据需求。2. 概念结构设计概念结构设计最常用的概念模型表示方法是实体最常用的概念模型表示方法是实体-联系模型,简称联系模型,简称E-R模型。模型。设计设计E-R模型应遵循的原则:模型应遵循的原则:(1) 首先针对特定用户的应用,确定实体、属性和实体间的联系,首先针对特定用户的应用,确定实体、属性和实体间的联系,做出局部做出局部E-R模型。模型。(2) 综合各个用户的局部综合各个用户的局部E-R模型,在消除冗余联系并保证数据完模型,在消除冗余联系并保

35、证数据完整性的前提下,产生能准确地反映原来的局部整性的前提下,产生能准确地反映原来的局部E-R模型包括实体、模型包括实体、属性及实体间的相互联系)、反映数据库整体概念、不存在相互表属性及实体间的相互联系)、反映数据库整体概念、不存在相互表达矛盾的总体达矛盾的总体E-R模型。模型。一个系统的一个系统的E-R模型并不是惟一的,强调不同侧面和不同联系,做模型并不是惟一的,强调不同侧面和不同联系,做出的出的E-R模型可能会有很大的差别。模型可能会有很大的差别。1.3.3 数据库设计过程3. 逻辑结构设计逻辑结构设计逻辑结构设计的任务就是把概念模型转换成逻辑结构设计的任务就是把概念模型转换成DBMS所支

36、持的数据所支持的数据模型,如关系模型、层次模型或网状模型。我们只讨论模型,如关系模型、层次模型或网状模型。我们只讨论E-R模型向关模型向关系模型的转换原则。系模型的转换原则。 (1) 实体向关系模型的转化实体向关系模型的转化(2) 一对一联系向关系模型的转化一对一联系向关系模型的转化(3) 一对多联系向关系模型的转化一对多联系向关系模型的转化(4) 多对多联系向关系模型的转化多对多联系向关系模型的转化用用E-R模型转换得到的关系模型要利用关系规范化理论进行进一模型转换得到的关系模型要利用关系规范化理论进行进一步的规范化设计,使之符合步的规范化设计,使之符合DBMS的要求。的要求。4. 物理结构

37、设计物理结构设计在物理结构设计时,应考虑以下几个方面:在物理结构设计时,应考虑以下几个方面:(1) 确定数据的存储结构确定数据的存储结构(2) 索引结构设计索引结构设计(3) 数据存储位置的考虑数据存储位置的考虑(4) 系统配置的优化系统配置的优化1.3.3 数据库设计过程5. 数据库实施数据库实施确定了数据库的逻辑结构和物理结构,就可以利用确定了数据库的逻辑结构和物理结构,就可以利用DBMS提供提供的数据定义语言建立数据库的结构。数据库的结构建立好之后,就的数据定义语言建立数据库的结构。数据库的结构建立好之后,就可以向数据库中装载数据。可以向数据库中装载数据。(1) 根据确定的逻辑结构与物理

38、结构,用根据确定的逻辑结构与物理结构,用DBMS提供的数据定义语提供的数据定义语言定义数据库结构。言定义数据库结构。(2) 数据装载数据库结构建立后向数据库中装载数据数据装载数据库结构建立后向数据库中装载数据(也称为数据加也称为数据加载载)。6. 数据库的运行与维护数据库的运行与维护数据库设计与应用开发工作完成之后,系统进入运行与维护阶数据库设计与应用开发工作完成之后,系统进入运行与维护阶段,主要任务如下。段,主要任务如下。(1) 维护数据库的安全性和数据完整性维护数据库的安全性和数据完整性(2) 数据库的转储和恢复数据库的转储和恢复(3) 监测并改善数据库性能监测并改善数据库性能(4) 数据

39、库的重新组织数据库的重新组织1.3.4 电脑器材销售管理电脑器材销售管理数据库的数据库的模型设计模型设计 本书以某电脑公司的本书以某电脑公司的数据库应用系统为例贯穿数据库应用系统为例贯穿全书,本节主要介绍如何设计该数据模型,在以后各章节均以该数据全书,本节主要介绍如何设计该数据模型,在以后各章节均以该数据库为【实例练习】进行操作,通过该实例的学习使读者掌握库为【实例练习】进行操作,通过该实例的学习使读者掌握SQL Server数据库系统与数据库应用技术。数据库系统与数据库应用技术。 【实例练习【实例练习1-1】某电脑公司】某电脑公司数据库应用系统的数据库应用系统的模型设计模型设计该电脑公司的需

40、求分析可以简单概括为:该电脑公司的需求分析可以简单概括为:“商品购进商品购进库存管理库存管理商商品销售三大环节。品销售三大环节。1、概念模型:、概念模型: 在概念模型中可以初步将商品、供货商、客户、员工对象作为实体,其在概念模型中可以初步将商品、供货商、客户、员工对象作为实体,其属性的描述:属性的描述: 商品商品编号或条形编码、商品名称、规格尺寸或型号、计量单位、商品商品编号或条形编码、商品名称、规格尺寸或型号、计量单位、供货厂家、进货价格、销售参考价格、库存数量)供货厂家、进货价格、销售参考价格、库存数量) 供货商供货厂家编号、厂家名称、厂家地址、进货商品名称、进货日供货商供货厂家编号、厂家

41、名称、厂家地址、进货商品名称、进货日期、进货数量、进货价格、厂家账户、厂家联系人、收货员工)期、进货数量、进货价格、厂家账户、厂家联系人、收货员工) 客户客户名称、销售商品名称、规格、计量单位、销售日期、销售单客户客户名称、销售商品名称、规格、计量单位、销售日期、销售单价、销售数量、销售金额、销售员工)价、销售数量、销售金额、销售员工) 员工员工编号、姓名、性别、年龄或出生日期、部门、工龄或工作时员工员工编号、姓名、性别、年龄或出生日期、部门、工龄或工作时间、照片、个人简历)间、照片、个人简历) 在一个关系数据库中允许有多个不同的关系在一个关系数据库中允许有多个不同的关系数据表,并对所有的数据

42、数据表,并对所有的数据表进行统一管理。我们可以根据各个不同职能部门的实际工作需要,把概表进行统一管理。我们可以根据各个不同职能部门的实际工作需要,把概念模型中的一个实体集作为一个关系,初步设计成关系数据库逻辑模型中念模型中的一个实体集作为一个关系,初步设计成关系数据库逻辑模型中的的4个二维数据表格。个二维数据表格。 2、逻辑模型、逻辑模型 (1公司管理层使用的简单公司管理层使用的简单的主要数据项见表的主要数据项见表1.5。货号货号货名货名规格规格单位单位平均进价平均进价参考价格参考价格库存量库存量 其中:其中:“平均进价根据从不同厂家购进同种商品的不同价格,平均进价根据从不同厂家购进同种商品的

43、不同价格,或从同一厂家因进货时间不同而价格不同时,由数据库或从同一厂家因进货时间不同而价格不同时,由数据库系统按加权平均方法自动计算的平均系统按加权平均方法自动计算的平均“进货价格进货价格”。“参考价格是公司为该商品制定的销售指导价格,允参考价格是公司为该商品制定的销售指导价格,允许销售员在许销售员在5%5%的范围内自主灵活销售。的范围内自主灵活销售。 2、逻辑模型、逻辑模型 (2 2进货部门按进货记录填写的每年度一张的进货部门按进货记录填写的每年度一张的 进货表进货表xxxxxxxx 该表用于保存详细的进货记录,由收货人每次进货时填写,该表用于保存详细的进货记录,由收货人每次进货时填写,采用

44、以一个年度或月份为单位使用一张采用以一个年度或月份为单位使用一张“进货表进货表”,表的,表的名称后缀年份或年月标志加以区分若前缀数字作数据名称后缀年份或年月标志加以区分若前缀数字作数据表名不符合标识符命名规则)。表名不符合标识符命名规则)。 本例题本例题 2019表示表示20192019年的年的“进货表进货表”,20192019年度结年度结束到束到20192019年时自动创建并使用年时自动创建并使用 进货表进货表20192019。 进进货货日日期期货货号号货货名名规规格格单单位位进进价价进进货货数数量量供供货货商商厂厂家家地地址址账账户户联联系系人人收收货货人人2、逻辑模型、逻辑模型 (3销售

45、部门按销售记录填写每年度一张的销售部门按销售记录填写每年度一张的销售表销售表xxxx 该表用于保存详细的销售记录,由销售员每次销售商品该表用于保存详细的销售记录,由销售员每次销售商品时填写。时填写。2019年使用年使用销售表销售表2019,2019年度结束到年度结束到2019年时自动创建并使用年时自动创建并使用销售表销售表2019。销销售售日日期期客客户户称称号号货货号号货货名名规规格格单单位位销销售售单单价价销销售售数数量量销销售售金金额额销销售售员员2、逻辑模型、逻辑模型 (4全公司职工的全公司职工的员工表员工表 结合整个公司的人事管理,能表示结合整个公司的人事管理,能表示中中“收货收货人

46、和人和中中“销售员的详细信息。销售员的详细信息。 其中其中“出生日期即代表年龄,如果使用出生日期即代表年龄,如果使用“年龄数据项年龄数据项则每年都需要改变,采用则每年都需要改变,采用“出生日期可以由数据库的函出生日期可以由数据库的函数自动计算并显示每年的当前年龄。数自动计算并显示每年的当前年龄。员工编员工编号号IDID姓姓名名性性别别出生出生日期日期部门部门工作工作时间时间照片照片个人个人简历简历1.4 关系数据库的规范化关系数据库的规范化 在在1.3.1节中我们介绍关系与表格时曾指出并不是所有的节中我们介绍关系与表格时曾指出并不是所有的二维表格都可以称为关系,在关系数据库中,每一个表格二维表

47、格都可以称为关系,在关系数据库中,每一个表格必须满足一定的要规范条件。必须满足一定的要规范条件。 数据模型是数据库应用系统的基础和核心,合理设计数数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统设计的关键,使用规范化的优点据模型是数据库应用系统设计的关键,使用规范化的优点是:是:l 大大改进数据库的整体组织结构大大改进数据库的整体组织结构l 减少数据冗余减少数据冗余l 增强数据的一致性和正确性增强数据的一致性和正确性l 提高数据库设计的灵活性提高数据库设计的灵活性 更好的处理数据库的安全性更好的处理数据库的安全性 1.4.1 数据库的三个规范化形式数据库的三个规范化形式

48、数据模型应进行规范化处理,一个数据库可以有三种不数据模型应进行规范化处理,一个数据库可以有三种不同的规范化形式,即:同的规范化形式,即:l l 第一规范化形式第一规范化形式 1NF 1NFl l 第二规范化形式第二规范化形式 2NF 2NFl l 第三规范化形式第三规范化形式 3NF 3NF1. 1. 第一规范化形式第一规范化形式1NF1NF 第一规范化形式简称第一范式:在一个关系数据表第一规范化形式简称第一范式:在一个关系数据表中没有重复的数据项,每个属性都是不可分割的最小数据中没有重复的数据项,每个属性都是不可分割的最小数据元素。即每列的列名字段名都是惟一的,一个关系中元素。即每列的列名字

49、段名都是惟一的,一个关系中不允许有两个相同的属性名,同一列的数据具有相同的数不允许有两个相同的属性名,同一列的数据具有相同的数据类型,列的顺序交换后不能改变关系的实际意义。据类型,列的顺序交换后不能改变关系的实际意义。 字段:就是数据表中的列,一列叫做一个字段,表示关字段:就是数据表中的列,一列叫做一个字段,表示关系中实体的一个属性。系中实体的一个属性。 简单说第一范式就是指数据表中没有相同的列简单说第一范式就是指数据表中没有相同的列字段字段惟一。关系数据库中所有的数据表都必须满足惟一。关系数据库中所有的数据表都必须满足1NF1NF。 2 2、第二规范化形式、第二规范化形式 2NF2NF 第二

50、规范化形式简称第二范式:在已满足第二规范化形式简称第二范式:在已满足1NF1NF的关系中,的关系中,一行数据元组、记录中所有非关键字数据元素都完全一行数据元组、记录中所有非关键字数据元素都完全依赖于关键字记录惟一)。即一个关系中不允许有两个依赖于关键字记录惟一)。即一个关系中不允许有两个相同的实体,行的顺序交换后不能改变数据表的实际意义。相同的实体,行的顺序交换后不能改变数据表的实际意义。关键字:也叫关键字段或主键,是所有数据都是惟一不重关键字:也叫关键字段或主键,是所有数据都是惟一不重复的字段或字段的组合。复的字段或字段的组合。 记录:数据表中的一行叫做一条记录,由表中各列的数记录:数据表中

51、的一行叫做一条记录,由表中各列的数据项组成,是一组多个相关数据的集合,也称为数据元组。据项组成,是一组多个相关数据的集合,也称为数据元组。如果指定一个关键字,则可以在这个数据表中惟一确定一如果指定一个关键字,则可以在这个数据表中惟一确定一条记录行),比如在条记录行),比如在 里指定里指定“学号为关键学号为关键字,则每个学号都惟一的表示一个学生的信息,其他属性字,则每个学号都惟一的表示一个学生的信息,其他属性都完全依赖于都完全依赖于“学号学号”。 简单说第二范式就是数据表中没有相同的行,通过关键简单说第二范式就是数据表中没有相同的行,通过关键字使记录惟一。不满足字使记录惟一。不满足2NF2NF的

52、数据表,将导致数据插入或删的数据表,将导致数据插入或删除的异常,稍有不慎会使数据不一致,规范化的数据表都除的异常,稍有不慎会使数据不一致,规范化的数据表都必须满足必须满足2NF2NF。 【实例练习【实例练习1-21-2】 根据第二范式要求,不难发现根据第二范式要求,不难发现 数据数据库模型表库模型表1.71.7xxxx不满足第二范式:不满足第二范式: 因为公司每天可以销售多种商品,那么因为公司每天可以销售多种商品,那么“销售日期不销售日期不惟一;一个客户可能多次购买不同的商品,那么惟一;一个客户可能多次购买不同的商品,那么“客户名客户名称不惟一;同一货号的商品会多次销售给不同的客户称不惟一;同

53、一货号的商品会多次销售给不同的客户。就是说就是说 xxxx中没有一列的值是保证不可重复的,中没有一列的值是保证不可重复的,无法指定关键字段使某条销售记录惟一,即不能保证没有无法指定关键字段使某条销售记录惟一,即不能保证没有相同的行。相同的行。 解决方法:解决方法: 增加一列增加一列“序号作为该表的关键字,该列数据没有重序号作为该表的关键字,该列数据没有重复的值,则可以保证没有重复的记录行),以满足复的值,则可以保证没有重复的记录行),以满足2NF2NF。 序序号号销销售售日日期期客客户户名名称称货货号号货货名名规规格格单单位位销销售售单单价价销销售售数数量量销销售售金金额额销销售售员员3 3、

54、第三规范化形式、第三规范化形式 3NF3NF 第三规范化形式简称第三范式:在已满足第三规范化形式简称第三范式:在已满足2NF2NF的关系中,的关系中,不存在传递依赖于关键字的数据项。不存在传递依赖于关键字的数据项。 传递依赖:某些列的数据不是直接依赖于关键字,而是传递依赖:某些列的数据不是直接依赖于关键字,而是通过某个非关键字间接的依赖于关键字。通过某个非关键字间接的依赖于关键字。 简单说第三范式就是表中没有间接依赖关键字的数据项。简单说第三范式就是表中没有间接依赖关键字的数据项。 实现第三范式的方法就是将不依赖关键字的列删除,单实现第三范式的方法就是将不依赖关键字的列删除,单独创建一个数据表

55、存储。独创建一个数据表存储。 规范化的数据库应尽量满足规范化的数据库应尽量满足3NF3NF,一个满足,一个满足3NF3NF的数据库的数据库将有效地减少数据冗余。将有效地减少数据冗余。 留意:三个范式不是独立的,留意:三个范式不是独立的,3NF3NF包含包含2NF2NF,2NF2NF又包含又包含1NF1NF。【实例练习【实例练习1-31-3】 进货表进货表xxxxxxxx既不满足第二范式也不满足第三范式。既不满足第二范式也不满足第三范式。 第一:由于每列数据都不能惟一标识一条进货记录,增第一:由于每列数据都不能惟一标识一条进货记录,增加一列加一列“序号作为关键字,即可以满足第二范式。序号作为关键

56、字,即可以满足第二范式。 第二:第二:“厂家地址、账户、联系人不是厂家地址、账户、联系人不是“进货记录实进货记录实体中必不可少的数据项,它们只依赖于体中必不可少的数据项,它们只依赖于“供货商供货商”,经过,经过“供货商而间接依赖于关键字,是具有传递依赖的数据供货商而间接依赖于关键字,是具有传递依赖的数据项。项。 解决方法:解决方法: 将将 xxxx中有传递依赖的中有传递依赖的“厂家地址、账户、联厂家地址、账户、联系人三列删除,单独建立一个存储进货厂家信息的系人三列删除,单独建立一个存储进货厂家信息的 供供货商表,指定货商表,指定“供货商供货商IDID字段为主键,使其满足第二字段为主键,使其满足

57、第二范式也满足第三范式)。范式也满足第三范式)。 供货商供货商IDID供货商供货商厂家地址厂家地址账户账户联系人联系人【实例练习【实例练习1-31-3】 添加添加 后,可在后,可在 xxxx中只保留一个中只保留一个“供供货商货商IDID字段,以便与字段,以便与 建立关联。建立关联。 留意:留意:u u 修改后的修改后的 xxxx在与在与 建立关联后在建立关联后在后面介绍),我们就可以通过后面介绍),我们就可以通过“供货商供货商IDID字段在字段在 中找到该厂家的所有信息。中找到该厂家的所有信息。u u 修改后的修改后的 xxxx仅仅消除了一部分传递依赖,仍仅仅消除了一部分传递依赖,仍不满足第三

58、范式,由于不满足第三范式,由于“货名货名”“规格规格”“单位也是依赖于单位也是依赖于“货号具有传递依赖的数据项,同样修改后的表货号具有传递依赖的数据项,同样修改后的表1.91.9xxxx也不满足第三范式,我们将在后面再进一步规范。也不满足第三范式,我们将在后面再进一步规范。序序号号进 货进 货日期日期货货号号货货名名规规格格单单位位进进价价进 货进 货数量数量供货供货商商IDID收收货货人人1.4.2 数据库规范化设计的原则数据库规范化设计的原则 规范化数据库的设计原则:规范化数据库的设计原则:ll 保证数据库中的所有数据表都能满足保证数据库中的所有数据表都能满足2NF2NF,力求绝大,力求绝

59、大多数数据表满足多数数据表满足3NF3NF;l l 保证数据的完整性;保证数据的完整性;l l 尽可能减少数据冗余。尽可能减少数据冗余。1.4.3 规范化的缺点及非规范化 数据库的设计都需要一定程度的规范化,但规范化的数据库的设计都需要一定程度的规范化,但规范化的缺点是降低了数据库的性能,由于规范化数据库要连接缺点是降低了数据库的性能,由于规范化数据库要连接不同表中的数据,必须给所关联的数据表进行定位、这不同表中的数据,必须给所关联的数据表进行定位、这会占用更多的会占用更多的CPUCPU、内存和输入输出,自然对数据库性、内存和输入输出,自然对数据库性能产生一定的负面影响。能产生一定的负面影响。

60、 所谓所谓“非规范化是对已经规范化的数据库做适当的非规范化是对已经规范化的数据库做适当的修改,允许有限度的冗余性,比如允许在一个表中使用修改,允许有限度的冗余性,比如允许在一个表中使用少量频率较高的重复数据,则有利于提高数据库的性能。少量频率较高的重复数据,则有利于提高数据库的性能。 留意:非规范化的数据库不同于没有规范化过的原始留意:非规范化的数据库不同于没有规范化过的原始数据库。数据库。1.5 数据表的关联与数据的完整性数据表的关联与数据的完整性1.5.1 1.5.1 表的关联表的关联 对相关的数据表进行连接对相关的数据表进行连接建立关联,可以使建立关联,可以使不同的数据表成为一个逻辑上的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论