版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1章章 关系数据库管理系统基础知识关系数据库管理系统基础知识 1.1 数据库系统概述数据库系统概述 1.2 数据模型数据模型 1.3 关系数据库及其设计过程关系数据库及其设计过程 1.4 关系数据库的规范化关系数据库的规范化 1.5 数据表的关联与数据的完整性数据表的关联与数据的完整性 1.6 关系数据库应用实例关系数据库应用实例电脑器材销售电脑器材销售管理管理 1.7 实训要求与习题实训要求与习题第第1章章 关系数据库管理系统基础知识关系数据库管理系统基础知识 学习目的与要求学习目的与要求 数据库系统的基本概念数据库系统的基本概念 数据模型的基本概念数据模型的基本概念 实体联系模型实体联
2、系模型 关系模型的概念和性质关系模型的概念和性质 数据库系统的规范化理论等内容数据库系统的规范化理论等内容 设计创建一个设计创建一个电脑器材销售管理电脑器材销售管理数据库模型数据库模型1.1 数据库系统概述数据库系统概述 计算机应用从科学计算进入数据处理是一个重大转计算机应用从科学计算进入数据处理是一个重大转折,数据处理是指对各种形式的数据进行收集、储存、折,数据处理是指对各种形式的数据进行收集、储存、加工和传播的一系列活动,其基本环节是数据管理。数加工和传播的一系列活动,其基本环节是数据管理。数据管理指的是对数据的分类、组织、编码、储存、检索据管理指的是对数据的分类、组织、编码、储存、检索和
3、维护。数据管理方式多种多样,其中数据库技术是在和维护。数据管理方式多种多样,其中数据库技术是在应用需求的推动下,在计算机硬件、软件高速发展的基应用需求的推动下,在计算机硬件、软件高速发展的基础上出现的高效数据管理技术。数据库系统在计算机应础上出现的高效数据管理技术。数据库系统在计算机应用中起着越来越重要的作用,从小型单项事务处理系统用中起着越来越重要的作用,从小型单项事务处理系统到大型信息系统,从联机事务处理到大型信息系统,从联机事务处理(oltp)到联机分析处到联机分析处理理(olap),从传统的企业管理到计算机辅助设计与制造,从传统的企业管理到计算机辅助设计与制造(cad/cam)、现代集
4、成制造系统、现代集成制造系统(cims)、办公信息系、办公信息系统统(ois)、地理信息系统、地理信息系统(gis)等,都离不开数据库管理等,都离不开数据库管理系统。正是这些不断涌现的应用要求,又不断地推动了系统。正是这些不断涌现的应用要求,又不断地推动了数据库技术的更新换代。数据库技术的更新换代。1.1.1 数据库技术的产生与发展 1. 数据库技术的产生数据库技术的产生 从从20世纪世纪60年代后期开始,计算机技术从科学计算迅年代后期开始,计算机技术从科学计算迅速扩展到数据处理领域,随着数据处理的不断深入,数速扩展到数据处理领域,随着数据处理的不断深入,数据处理的规模越来越大,数据量也越来越
5、多,数据处理据处理的规模越来越大,数据量也越来越多,数据处理成为最大的计算机应用领域。数据处理技术也不断地完成为最大的计算机应用领域。数据处理技术也不断地完善,经历了人工管理、文件系统和数据库系统三个阶段。善,经历了人工管理、文件系统和数据库系统三个阶段。 (1) 人工管理阶段人工管理阶段 计算机在其诞生初期,人们还是把它当作计算机在其诞生初期,人们还是把它当作种计算工具,种计算工具,主要用于科学计算。通常是在编写的应用程序中给出自主要用于科学计算。通常是在编写的应用程序中给出自带的相关数据,将程序和相关数据同时输入计算机。不带的相关数据,将程序和相关数据同时输入计算机。不同用户针对不同问题编
6、制各自的程序,整理各自程序所同用户针对不同问题编制各自的程序,整理各自程序所需要的数据。数据的管理完全由用户自己负责。需要的数据。数据的管理完全由用户自己负责。人工管理阶段程序与数据的关系人工管理阶段程序与数据的关系特点:特点: 数据不能单独保存。 数据无独立性。 数据冗余不能共享。(2) 文件系统阶段文件系统阶段在文件系统中,把数据组织成相互独立的数据文在文件系统中,把数据组织成相互独立的数据文件,利用件,利用“按文件名访问,按记录存取按文件名访问,按记录存取”的管理技术,的管理技术,程序和数据分别存储为程序文件和数据文件。数据文程序和数据分别存储为程序文件和数据文件。数据文件是独立的,可以
7、长期保存在外存储器上多次存取。件是独立的,可以长期保存在外存储器上多次存取。数据的存取以记录为基本单位,并出现了多种文件组数据的存取以记录为基本单位,并出现了多种文件组织形式,如顺序文件、索引文件、随机文件等。织形式,如顺序文件、索引文件、随机文件等。文件系统阶段程序与数据的关系文件系统阶段程序与数据的关系 数据与程序缺乏独立性。 数据的冗余和不一致性。 数据的无结构性。特点:特点:(3) 数据库系统阶段数据库系统阶段为了从根本上解决数据与程序的相关性,把数为了从根本上解决数据与程序的相关性,把数据作为一种共享的资源进行集中管理,为各种应用据作为一种共享的资源进行集中管理,为各种应用系统提供共
8、享服务,数据库技术应运而生,使信息系统提供共享服务,数据库技术应运而生,使信息管理系统的重心从以加工数据的程序为中心转向以管理系统的重心从以加工数据的程序为中心转向以数据共享、统一管理为核心。数据共享、统一管理为核心。数据库系统阶段程序与数据的关系数据库系统阶段程序与数据的关系 数据结构化数据结构化 数据能够共享数据能够共享 数据冗余度小,易扩充数据冗余度小,易扩充 数据与程序的独立性较高数据与程序的独立性较高 对数据实行集中统对数据实行集中统控制控制优点:2. 数据库技术的发展数据库技术的发展随着计算机科学的不断发展,数据库技术大致上随着计算机科学的不断发展,数据库技术大致上经历了三个发展时
9、期:经历了三个发展时期:(1) 20世纪世纪60年代的萌芽期年代的萌芽期(2) 20世纪世纪70年代的发展期年代的发展期(3) 20世纪世纪80年代的成熟期年代的成熟期1.1.2 数据库数据库1、数据库、数据库数据库数据库(database,简称,简称db),顾名思义,是存放,顾名思义,是存放数据的仓库。只不过这个仓库是创建在计算机存储设数据的仓库。只不过这个仓库是创建在计算机存储设备上,如硬盘就是一类最常见的计算机大容量存储设备上,如硬盘就是一类最常见的计算机大容量存储设备。数据必须按一定的格式存放,以利于以后使用。备。数据必须按一定的格式存放,以利于以后使用。可以说数据库就是长期存储在计算
10、机内、与应用程序可以说数据库就是长期存储在计算机内、与应用程序彼此独立的、以彼此独立的、以定的组织方式存储在一起的、彼此定的组织方式存储在一起的、彼此相互关联的、具有较少冗余的、能被多个用户共享的相互关联的、具有较少冗余的、能被多个用户共享的数据集合。在这里要特别注意数据库不是简单地将一数据集合。在这里要特别注意数据库不是简单地将一些数据堆积在一起,而是把相互间有一定关系的数据,些数据堆积在一起,而是把相互间有一定关系的数据,按一定的结构组织起来的数据集合。按一定的结构组织起来的数据集合。2、数据库体系结构数据库体系结构为了有效地组织、管理数据,人们为数据库设计为了有效地组织、管理数据,人们为
11、数据库设计了一个严谨的体系结构,包括了了一个严谨的体系结构,包括了内模式、模式和外内模式、模式和外模式模式三级模式结构,三级模式结构,这三级模式反映了看待数据库这三级模式反映了看待数据库的三种不同的数据观点。的三种不同的数据观点。1.1.3 数据库管理系统数据库管理系统(数据库管理系统(database management system,简称简称dbms)是位于用户与计算机操作系统之间的一)是位于用户与计算机操作系统之间的一个系统软件,由一组计算机程序组成。它能够对数据个系统软件,由一组计算机程序组成。它能够对数据库进行有效的组织、管理和控制,包括数据的存储、库进行有效的组织、管理和控制,包
12、括数据的存储、数据的安全性与完整性控制等。数据的安全性与完整性控制等。 dbms主要功能:主要功能:1.1. 数据定义功能数据定义功能2.2. 数据操纵功能数据操纵功能3. 3. 数据库的运行控制与管理数据库的运行控制与管理4. 4. 数据库的建立和维护功能数据库的建立和维护功能5.5. 数据通信接口数据通信接口1.1.4 数据库系统 数据库系统(数据库系统(database system,简称,简称dbs)是指在计)是指在计算机系统中引入数据库后的系统,带有数据库的计算算机系统中引入数据库后的系统,带有数据库的计算机系统硬件和软件层次如图所示。机系统硬件和软件层次如图所示。数据库系统构成数据
13、库系统构成 硬件平台硬件平台 数据库数据库 软件软件数据库管理系统(数据库管理系统(dbmsdbms)、支持)、支持dbmsdbms运行的操作运行的操作系统、具有数据库接口的高级语言及其编译系统、以系统、具有数据库接口的高级语言及其编译系统、以dbmsdbms为核心的应用开发工具。为核心的应用开发工具。 为特定应用环境开发的数据库应用系统。为特定应用环境开发的数据库应用系统。 相关人员相关人员数据库管理员(数据库管理员(dbadba)、系统分析员、数据库设)、系统分析员、数据库设计员、应用程序员、用户计员、应用程序员、用户1.2 数据模型数据模型 概念数据模型:独立于计算机系统的数据模型,概念
14、数据模型:独立于计算机系统的数据模型,用来描述所使用的信息结构。用来描述所使用的信息结构。 逻辑数据模型:现实世界的第二层抽象,反映数逻辑数据模型:现实世界的第二层抽象,反映数据的逻辑结构。据的逻辑结构。 物理数据模型:反映数据在计算机中的存储结构。物理数据模型:反映数据在计算机中的存储结构。 在数据库中用数据模型来抽象、表示和处理现实世在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。根据数据抽象层次,针对不同的界中的数据和信息。根据数据抽象层次,针对不同的数据对象和应用目的,可以分为三类:数据对象和应用目的,可以分为三类:1.2.1数据模型的组成要素 数据结构:所研究的对象类型
15、的集合,这些对象是数据结构:所研究的对象类型的集合,这些对象是数据库的组成成分。数据库的组成成分。 数据操作:指对数据库中不同数据结构的对象所允数据操作:指对数据库中不同数据结构的对象所允许执行的操作的集合,包括操作及操作规则。许执行的操作的集合,包括操作及操作规则。 完整性约束:数据的完整性约束条件是一组完整性完整性约束:数据的完整性约束条件是一组完整性规则的集合。规则的集合。1.2.2 概念模型具体的数据库管理系统具体的数据库管理系统dbms所所支持的逻辑数据模型不便于非计算机支持的逻辑数据模型不便于非计算机专业人员理解和应用,在开始设计数专业人员理解和应用,在开始设计数据模型时,可以先用
16、概念数据模型将据模型时,可以先用概念数据模型将现实世界中的客观事物用某种信息结现实世界中的客观事物用某种信息结构表示出来,再转化为用计算机表示构表示出来,再转化为用计算机表示的逻辑数据模型,如图所示。的逻辑数据模型,如图所示。概念模型涉及的概念(1) 实体:现实世界中客观存在并可相互区分的事物称实体:现实世界中客观存在并可相互区分的事物称为实体。为实体。(2) 属性:实体所具有的某一特性称为属性。属性:实体所具有的某一特性称为属性。(3) 实体和属性的型与值:型是结构,用实体名及其属性实体和属性的型与值:型是结构,用实体名及其属性名集合描述同类实体,称为实体型;值是数据,不同名集合描述同类实体
17、,称为实体型;值是数据,不同的实体有不同的属性内容(属性值)。的实体有不同的属性内容(属性值)。(4) 实体集:具有相同实体型的实体值的集合称为实体实体集:具有相同实体型的实体值的集合称为实体集。集。(5) 关键字:在实体属性中,能区别实体集合中不同个关键字:在实体属性中,能区别实体集合中不同个体的某一个或某几个属性的组合,称为关键字。体的某一个或某几个属性的组合,称为关键字。2. 实体间的联系实体间的联系两个实体集之间的联系可以分为三类:两个实体集之间的联系可以分为三类: 一对一联系一对一联系(1:1) 一对多联系一对多联系(1:n) 多对多联系多对多联系(m:n)3. 概念模型的表示方法概
18、念模型的表示方法概念模型的表示方法很多,其中最著名最常用的概念模型的表示方法很多,其中最著名最常用的是是p.p.s.chen于于1976年提出的实体年提出的实体-联系方法(联系方法(e-r方方法)。该方法用法)。该方法用e-r图描述信息世界的概念模型。图描述信息世界的概念模型。方法如下:方法如下: 实体型:用矩形表示,矩形框内写上实体名。实体型:用矩形表示,矩形框内写上实体名。 属性:用椭圆形或圆角矩形表示,图形内写上属性名,属性:用椭圆形或圆角矩形表示,图形内写上属性名,并用直线将其与相应的实体连接起来。并用直线将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写上表示联系行为的动联系:
19、用菱形表示,菱形框内写上表示联系行为的动词表示联系名,并用直线分别与有关实体连接起来,同词表示联系名,并用直线分别与有关实体连接起来,同时在直线旁边标上联系的类型时在直线旁边标上联系的类型(1:1,1:n或或m:n)。如果一个联系具有属性,则这些属性也要用直线与该联如果一个联系具有属性,则这些属性也要用直线与该联系连接起来。系连接起来。学生实体学生实体通常在表示单个实体的通常在表示单个实体的e-r图中,除了要标明实体图中,除了要标明实体名外,还要标明实体所具有的属性。例如学生实体具名外,还要标明实体所具有的属性。例如学生实体具有学号、姓名、性别、出生日期和所在系的属性,其有学号、姓名、性别、出
20、生日期和所在系的属性,其e-r图如下:图如下: 实体之间的联系的表示实体之间的联系的表示在表示实体之间的联系时,每个实体只标明其实在表示实体之间的联系时,每个实体只标明其实体名,而把实体属性单独用图表示或把所有实体集用体名,而把实体属性单独用图表示或把所有实体集用列表表示。列表表示。两个以上的实体集之间联系的表示两个以上的实体集之间联系的表示同一个实体集内部联系的表示同一个实体集内部联系的表示1.2.3 层次模型层次模型在数据库中,对满足以下两个条件的数据模型称为层在数据库中,对满足以下两个条件的数据模型称为层次模型。次模型。 有且仅有一个节点无双亲,这个节点称为有且仅有一个节点无双亲,这个节
21、点称为“根节点根节点”。 其他节点有且仅有一个双亲。其他节点有且仅有一个双亲。层次模型中相关概念层次模型中相关概念 在层次模型中,同一双亲的子女节点称为兄弟节点;在层次模型中,同一双亲的子女节点称为兄弟节点; 没有子女的节点称为叶节点;没有子女的节点称为叶节点; 双亲节点与其任意一个子女节点都构成一个基本层次双亲节点与其任意一个子女节点都构成一个基本层次联系,表示一对多的关系。联系,表示一对多的关系。层次模型特点层次模型特点 层次模型的优点:层次模型的优点: 层次模型数据结构简单,对具有一对多的层次关层次模型数据结构简单,对具有一对多的层次关系的描述非常自然、直观、容易理解。记录之间的联系的描
22、述非常自然、直观、容易理解。记录之间的联系通过指针来实现,查询效率较高。系通过指针来实现,查询效率较高。 层次模型的缺点:层次模型的缺点: 上一层记录类型和下一层记录类型只能表示一对上一层记录类型和下一层记录类型只能表示一对多联系,无法实现多对多联系。如果要实现多对多联多联系,无法实现多对多联系。如果要实现多对多联系,则非常复杂,效率非常低,使用也不方便。系,则非常复杂,效率非常低,使用也不方便。1.2.4 网状模型 在网状模型中,允许:在网状模型中,允许: 一个以上的节点无双亲。一个以上的节点无双亲。 一个节点可以有多于一个的双亲。一个节点可以有多于一个的双亲。网状模型的特点网状模型的特点
23、网状模型的优点:网状模型的优点: 记录之间联系通过指针实现,具有良好的性能,存记录之间联系通过指针实现,具有良好的性能,存取效率较高。能够更为直接地描述现实世界,如一个取效率较高。能够更为直接地描述现实世界,如一个节点可以有多个双亲。节点可以有多个双亲。 网状模型的缺点:网状模型的缺点: 随着应用环境的扩大,数据库的结构会变得越来越随着应用环境的扩大,数据库的结构会变得越来越复杂,编写应用程序也会更加复杂,程序员必须熟悉复杂,编写应用程序也会更加复杂,程序员必须熟悉数据库的逻辑结构。与层次模型一样,现在的数据库数据库的逻辑结构。与层次模型一样,现在的数据库管理系统已经很少使用网状模型了。管理系
24、统已经很少使用网状模型了。1.2.5 关系模型关系模型是三种数据模型中最重要的模型,是当关系模型是三种数据模型中最重要的模型,是当前使用最广泛的数据模型。前使用最广泛的数据模型。microsoft sql server 2000数据库管理系统也是基于关系模型的。关系模型是建数据库管理系统也是基于关系模型的。关系模型是建立在数学概念基础上的,它的主要特征是使用关系来立在数学概念基础上的,它的主要特征是使用关系来表示实体以及实体之间的联系。表示实体以及实体之间的联系。1. 关系模型的基本术语关系模型的基本术语(1) 关系关系一个关系模型的逻辑结构是二维表,它由行和列组成。一个关系模型的逻辑结构是二
25、维表,它由行和列组成。(2) 元组元组表中的一行称为一个元组,在数据库中也称为记录。表中的一行称为一个元组,在数据库中也称为记录。(3) 属性属性表中的一列称为一个属性,用来描述事物的特征,属性表中的一列称为一个属性,用来描述事物的特征,属性分为属性名和属性值。在数据库中属性也称为字段。分为属性名和属性值。在数据库中属性也称为字段。(4) 域域属性的取值范围。属性的取值范围。(5) 关系模式关系模式关系模式描述关系的信息结构和语义限制,是型的概念;关系模式描述关系的信息结构和语义限制,是型的概念;而关系是关系模式中的而关系是关系模式中的个实例,是值的概念。关系模个实例,是值的概念。关系模式的描
26、述形式式的描述形式-关系名(属性关系名(属性1,属性,属性2,属性,属性n)。)。1. 关系模型的基本术语关系模型的基本术语 (6) (6) 关系数据库关系数据库 使用关系模型表示和处理数据的数据库,是一些相关使用关系模型表示和处理数据的数据库,是一些相关的表和其他数据库对象的集合。的表和其他数据库对象的集合。 (7) (7) 关键字关键字/ /码码若关系中的某一个属性或属性组的值惟一地决定其它若关系中的某一个属性或属性组的值惟一地决定其它所有属性,则这个属性或属性组称为该关系的关键字。所有属性,则这个属性或属性组称为该关系的关键字。 (8) (8) 候选键候选键/ /候选关键字候选关键字/
27、/侯选码侯选码如果一个关系中有多个属性或属性组都能用来标识该如果一个关系中有多个属性或属性组都能用来标识该关系的元组,那么这些属性或属性组都称为该关系的关系的元组,那么这些属性或属性组都称为该关系的候选关键字。候选关键字。1. 关系模型的基本术语关系模型的基本术语 (9) (9) 主键主键/ /主关键字主关键字/ /主码主码在一个关系的多个候选关键字中指定其中一个作为该在一个关系的多个候选关键字中指定其中一个作为该关系的关键字,则称它为主关键字或主键、主码。关系的关键字,则称它为主关键字或主键、主码。 (10)(10)外键外键/ /外关键字外关键字/ /外码外码如果一个关系如果一个关系r r中
28、的某个属性或属性组中的某个属性或属性组f f并非该关系的并非该关系的关键字,但它和另外一个关系关键字,但它和另外一个关系s s的关键字的关键字k k相对应,则相对应,则称称f f为关系为关系r r的外键,同时要求外键的外键,同时要求外键f f的值要参照关系的值要参照关系s s中主键中主键k k的值。有时,的值。有时,r r和和s s可能为同一个关系。可能为同一个关系。2. 关系模型三要素关系模型三要素(1) 数据结构数据结构关系关系关系模型中数据的逻辑结构就是一张二维表格。在关系关系模型中数据的逻辑结构就是一张二维表格。在关系数据库中,关系模式是型(二维表格),关系是值(元数据库中,关系模式是
29、型(二维表格),关系是值(元组的集合),关系模式必须指出这个元组集合的结构,组的集合),关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性采用何种类型、来自哪即它由哪些属性构成,这些属性采用何种类型、来自哪些域,以及属性与域之间的映像关系。些域,以及属性与域之间的映像关系。(2) 关系操作关系操作关系模型中常用的关系操作有数据查询和数据更新两大关系模型中常用的关系操作有数据查询和数据更新两大部分,其中数据查询包括选择、投影、连接、除、并、部分,其中数据查询包括选择、投影、连接、除、并、交、差;数据更新包括插入、删除、修改操作。交、差;数据更新包括插入、删除、修改操作。(3) 关系
30、完整性约束关系完整性约束关系模型允许定义三类完整性约束:实体完整性、参照关系模型允许定义三类完整性约束:实体完整性、参照完整性和数据类型的域完整性。实体完整性和参照完整完整性和数据类型的域完整性。实体完整性和参照完整性是关系模型必须满足的约束条件,由关系系统自动支性是关系模型必须满足的约束条件,由关系系统自动支持;数据类型的域完整性是数据取值要遵循的约束条件。持;数据类型的域完整性是数据取值要遵循的约束条件。3. 关系模型的特点关系模型的特点(1) 关系模型具有严格的理论基础关系模型具有严格的理论基础(2) 关系模型的数据结构单一关系模型的数据结构单一(3) 关系模型存取简单关系模型存取简单1
31、.3 关系数据库及其设计过程关系数据库及其设计过程关系数据库是目前使用最广泛的数据库,现实世关系数据库是目前使用最广泛的数据库,现实世界信息结构复杂、应用环境千变万化,如何构造一个界信息结构复杂、应用环境千变万化,如何构造一个合理的数据库系统,使之能够有效地存储数据,满足合理的数据库系统,使之能够有效地存储数据,满足各种用户的需求是我们要解决的首要问题,本节将结各种用户的需求是我们要解决的首要问题,本节将结合应用实例合应用实例电脑器材销售管理电脑器材销售管理研究关系数据库的研究关系数据库的设计过程。设计过程。1.3.1 关系与表格关系模型是建立在集合代数基础上的,关系是有严关系模型是建立在集合
32、代数基础上的,关系是有严格的数学定义的,并不是所有的二维表格都可以称为关格的数学定义的,并不是所有的二维表格都可以称为关系,这个表格应该具有如下一些性质。系,这个表格应该具有如下一些性质。(1) 关系必须是规范化的关系关系必须是规范化的关系 (2) 表中的表中的“行行”是惟一的是惟一的(3) 行的次序可以任意行的次序可以任意(4) 表中的表中的“列名列名”是惟一的是惟一的(5) 列的次序可以任意列的次序可以任意(6) 必须满足完整性约束条件必须满足完整性约束条件1.3.2 数据表基本概念关系数据库中包含若干关系关系数据库中包含若干关系二维数据表,可分为二维数据表,可分为基本的数据表、查询结果集
33、、视图等,其中数据表是最重基本的数据表、查询结果集、视图等,其中数据表是最重要的一类关系,其它的对象大都依附于数据表。要的一类关系,其它的对象大都依附于数据表。数据表是数据库中最基本的对象,用来在数据库中存数据表是数据库中最基本的对象,用来在数据库中存储用户的全部数据。数据库中可以有多个数据表,每个数储用户的全部数据。数据库中可以有多个数据表,每个数据表可代表用户某类有意义的需求信息。例如在一个学校据表可代表用户某类有意义的需求信息。例如在一个学校“教学管理教学管理”数据库中有数据库中有“教师信息表教师信息表”、“学生信息表学生信息表”和和“课程成绩表课程成绩表”等。等。数据表中的每一行代表不
34、同需求的一个实体对象。例数据表中的每一行代表不同需求的一个实体对象。例如如“学生信息表学生信息表”中用一个学生的档案信息属性作为一个中用一个学生的档案信息属性作为一个实体;而在实体;而在“课程成绩表课程成绩表”中用一个学生的课程成绩信息中用一个学生的课程成绩信息属性作为一个实体。属性作为一个实体。数据表中的每一列都代表实体对象的一个属性特征,数据表中的每一列都代表实体对象的一个属性特征,如学生的姓名、住址等。数据表经设计完成并创建之后,如学生的姓名、住址等。数据表经设计完成并创建之后,就一直存储在数据库文件中,直到被删除为止。就一直存储在数据库文件中,直到被删除为止。1.3.3 数据库设计过程
35、数据库设计所要解决的问题是建立数据库设计所要解决的问题是建立数据表及其应用系统,具体说,就是指数据表及其应用系统,具体说,就是指对一个给定的需求和应用环境,构造最对一个给定的需求和应用环境,构造最优化的数据库模式,建立数据库及其应优化的数据库模式,建立数据库及其应用系统,满足用户的各种应用需求。大用系统,满足用户的各种应用需求。大型数据库的设计和开发是一项庞大的工型数据库的设计和开发是一项庞大的工程,是多学科的综合性技术。程,是多学科的综合性技术。数据库设计步骤大致可以分为需求数据库设计步骤大致可以分为需求分析、概念结构设计、逻辑结构设计、分析、概念结构设计、逻辑结构设计、物理结构设计、数据库
36、实施、数据库运物理结构设计、数据库实施、数据库运行和维护几个阶段。设计一个完善的数行和维护几个阶段。设计一个完善的数据库应用系统往往是上述六个阶段的不据库应用系统往往是上述六个阶段的不断反复、逐步完善的过程,如图所示。断反复、逐步完善的过程,如图所示。1.3.3 数据库设计过程1. 需求分析需求分析需求分析的任务是由计算机人员(系统分析员)和用户双方共需求分析的任务是由计算机人员(系统分析员)和用户双方共同通过详细的调查研究,充分了解用户的组织机构、业务规则、数同通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求、完整性约束条件、事务处理和安全性要求等,为概念设计据需求、完整性约束
37、条件、事务处理和安全性要求等,为概念设计奠定基础。这个阶段的许多方法与系统分析设计、软件工程的方法奠定基础。这个阶段的许多方法与系统分析设计、软件工程的方法类似,画出组织机构图、业务流程图,详细描述用户应用环境的业类似,画出组织机构图、业务流程图,详细描述用户应用环境的业务流程、数据需求。务流程、数据需求。2. 概念结构设计概念结构设计最常用的概念模型表示方法是实体最常用的概念模型表示方法是实体-联系模型,简称联系模型,简称e-r模型。模型。设计设计e-r模型应遵循的原则:模型应遵循的原则:(1) 首先针对特定用户的应用,确定实体、属性和实体间的联系,首先针对特定用户的应用,确定实体、属性和实
38、体间的联系,做出局部做出局部e-r模型。模型。(2) 综合各个用户的局部综合各个用户的局部e-r模型,在消除冗余联系并保证数据完模型,在消除冗余联系并保证数据完整性的前提下,产生能准确地反映原来的局部整性的前提下,产生能准确地反映原来的局部e-r模型(包括实体、模型(包括实体、属性及实体间的相互联系)、反映数据库整体概念、不存在相互表属性及实体间的相互联系)、反映数据库整体概念、不存在相互表达矛盾的总体达矛盾的总体e-r模型。模型。一个系统的一个系统的e-r模型并不是惟一的,强调不同侧面和不同联系,做模型并不是惟一的,强调不同侧面和不同联系,做出的出的e-r模型可能会有很大的差别。模型可能会有
39、很大的差别。1.3.3 数据库设计过程3. 逻辑结构设计逻辑结构设计逻辑结构设计的任务就是把概念模型转换成逻辑结构设计的任务就是把概念模型转换成dbmsdbms所支所支持的数据模型,如关系模型、层次模型或网状模型。我们持的数据模型,如关系模型、层次模型或网状模型。我们只讨论只讨论e-re-r模型向关系模型的转换原则。模型向关系模型的转换原则。 (1) (1) 实体向关系模型的转化实体向关系模型的转化(2)(2) 一对一联系向关系模型的转化一对一联系向关系模型的转化(3) (3) 一对多联系向关系模型的转化一对多联系向关系模型的转化(4) (4) 多对多联系向关系模型的转化多对多联系向关系模型的
40、转化用用e-re-r模型转换得到的关系模型要利用关系规范化理模型转换得到的关系模型要利用关系规范化理论进行进一步的规范化设计,使之符合论进行进一步的规范化设计,使之符合dbmsdbms的要求。的要求。4. 物理结构设计物理结构设计在物理结构设计时,应考虑以下几个方面:在物理结构设计时,应考虑以下几个方面:(1) 确定数据的存储结构确定数据的存储结构(2) 索引结构设计索引结构设计(3) 数据存储位置的考虑数据存储位置的考虑(4) 系统配置的优化系统配置的优化1.3.3 数据库设计过程5. 数据库实施数据库实施确定了数据库的逻辑结构和物理结构,就可以利用确定了数据库的逻辑结构和物理结构,就可以利
41、用dbms提供的数据定义语言建立数据库的结构。数据库提供的数据定义语言建立数据库的结构。数据库的结构建立好之后,就可以向数据库中装载数据。的结构建立好之后,就可以向数据库中装载数据。(1) 根据确定的逻辑结构与物理结构,用根据确定的逻辑结构与物理结构,用dbms提供的提供的数据定义语言定义数据库结构。数据定义语言定义数据库结构。(2) 数据装载数据库结构建立后向数据库中装载数据数据装载数据库结构建立后向数据库中装载数据(也也称为数据加载称为数据加载)。6. 数据库的运行与维护数据库的运行与维护数据库设计与应用开发工作完成之后,系统进入运数据库设计与应用开发工作完成之后,系统进入运行与维护阶段,
42、主要任务如下。行与维护阶段,主要任务如下。(1) 维护数据库的安全性和数据完整性维护数据库的安全性和数据完整性(2) 数据库的转储和恢复数据库的转储和恢复(3) 监测并改善数据库性能监测并改善数据库性能(4) 数据库的重新组织数据库的重新组织1.3.4 电脑器材销售管理电脑器材销售管理数据库的数据库的模型设计模型设计 本书以某电脑公司的本书以某电脑公司的电脑器材销售管理电脑器材销售管理数据库应用数据库应用系统为例贯穿全书,本节主要介绍如何设计该数据模型,系统为例贯穿全书,本节主要介绍如何设计该数据模型,在以后各章节均以该数据库为【实例练习】进行操作,通在以后各章节均以该数据库为【实例练习】进行
43、操作,通过该实例的学习使读者掌握过该实例的学习使读者掌握sql server数据库系统与数据数据库系统与数据库应用技术。库应用技术。 【实例练习【实例练习1-1】某电脑公司】某电脑公司电脑器材销售管理电脑器材销售管理数据数据库应用系统的模型设计库应用系统的模型设计该电脑公司的需求分析可以简单概括为:该电脑公司的需求分析可以简单概括为:“商品购进商品购进库库存管理存管理商品销售商品销售”三大环节。三大环节。1、概念模型:、概念模型: 在概念模型中可以初步将商品、供货商、客户、员工对象作在概念模型中可以初步将商品、供货商、客户、员工对象作为实体,其属性的描述:为实体,其属性的描述: 商品商品(商品
44、编号或条形编码、商品名称、规格尺寸或型号、(商品编号或条形编码、商品名称、规格尺寸或型号、计量单位、供货厂家、进货价格、销售参考价格、库存数量)计量单位、供货厂家、进货价格、销售参考价格、库存数量) 供货商供货商(供货厂家编号、厂家名称、厂家地址、进货商品名(供货厂家编号、厂家名称、厂家地址、进货商品名称、进货日期、进货数量、进货价格、厂家账户、厂家联系人、称、进货日期、进货数量、进货价格、厂家账户、厂家联系人、收货员工)收货员工) 客户客户(客户名称、销售商品名称、规格、计量单位、销售日(客户名称、销售商品名称、规格、计量单位、销售日期、销售单价、销售数量、销售金额、销售员工)期、销售单价、
45、销售数量、销售金额、销售员工) 员工员工(员工编号、姓名、性别、年龄或出生日期、部门、工(员工编号、姓名、性别、年龄或出生日期、部门、工龄或工作时间、照片、个人简历)龄或工作时间、照片、个人简历) 在一个关系数据库中允许有多个不同的关系在一个关系数据库中允许有多个不同的关系数据表,并对数据表,并对所有的数据表进行统一管理。我们可以根据各个不同职能部门所有的数据表进行统一管理。我们可以根据各个不同职能部门的实际工作需要,把概念模型中的一个实体集作为一个关系,的实际工作需要,把概念模型中的一个实体集作为一个关系,初步设计成关系数据库逻辑模型中的初步设计成关系数据库逻辑模型中的4个二维数据表格。个二
46、维数据表格。 2、逻辑模型、逻辑模型 (1)公司管理层使用的简单)公司管理层使用的简单商品一览表商品一览表 该表是公司所经营和准备扩展经营的全部商品明细,为该表是公司所经营和准备扩展经营的全部商品明细,为规范化经营管理,由公司决策部门对商品统一进行分类,规范化经营管理,由公司决策部门对商品统一进行分类,制定统一的商品编号,用制定统一的商品编号,用“货号货号”表示,并指定统一的商表示,并指定统一的商品名称,品名称,商品一览表商品一览表的主要数据项见表的主要数据项见表1.5。货号货号货名货名规格规格单位单位平均进价平均进价参考价格参考价格库存量库存量 其中:其中:“平均进价平均进价”根据从不同厂家
47、购进同种商品的不同价根据从不同厂家购进同种商品的不同价格,或从同一厂家因进货时间不同而价格不同时,由数格,或从同一厂家因进货时间不同而价格不同时,由数据库系统按加权平均方法自动计算的平均据库系统按加权平均方法自动计算的平均“进货价格进货价格”。“参考价格参考价格”是公司为该商品制定的销售指导价格,是公司为该商品制定的销售指导价格,允许销售员在允许销售员在5%5%的范围内自主灵活销售。的范围内自主灵活销售。 2、逻辑模型、逻辑模型 (2 2)进货部门按进货记录填写的每年度一张的)进货部门按进货记录填写的每年度一张的进货表进货表xxxxxxxx 该表用于保存详细的进货记录,由收货人每次进货时填写,
48、该表用于保存详细的进货记录,由收货人每次进货时填写,采用以一个年度(或月份)为单位使用一张采用以一个年度(或月份)为单位使用一张“进货表进货表”,表,表的名称后缀年份(或年月)标志加以区分(若前缀数字作数的名称后缀年份(或年月)标志加以区分(若前缀数字作数据表名不符合标识符命名规则)。据表名不符合标识符命名规则)。 本例题本例题进货表进货表20062006表示表示20062006年的年的“进货表进货表”,20062006年年度结束到度结束到20072007年时自动创建并使用年时自动创建并使用进货表进货表20072007。 进进货货日日期期货货号号货货名名规规格格单单位位进进价价进进货货数数量量
49、供供货货商商厂厂家家地地址址账账户户联联系系人人收收货货人人2、逻辑模型、逻辑模型 (3 3)销售部门按销售记录填写每年度一张的)销售部门按销售记录填写每年度一张的销售表销售表xxxxxxxx 该表用于保存详细的销售记录,由销售员每次销售商品该表用于保存详细的销售记录,由销售员每次销售商品时填写。时填写。20062006年使用年使用销售表销售表20062006,20062006年度结束到年度结束到20072007年时自动创建并使用年时自动创建并使用销售表销售表20072007。销销售售日日期期客客户户名名称称货货号号货货名名规规格格单单位位销销售售单单价价销销售售数数量量销销售售金金额额销销售
50、售员员2、逻辑模型、逻辑模型 (4 4)全公司职工的)全公司职工的员工表员工表 结合整个公司的人事管理,能表示结合整个公司的人事管理,能表示进货表进货表xxxxxxxx中中“收货人收货人”和和销售表销售表xxxxxxxx中中“销售员销售员”的详细信息。的详细信息。 其中其中“出生日期出生日期”即代表年龄,如果使用即代表年龄,如果使用“年龄年龄”数据数据项则每年都需要改变,采用项则每年都需要改变,采用“出生日期出生日期”可以由数据库的可以由数据库的函数自动计算并显示每年的当前年龄。函数自动计算并显示每年的当前年龄。员工编员工编号号idid姓姓名名性性别别出生出生日期日期部门部门工作工作时间时间照
51、片照片个人个人简历简历1.4 关系数据库的规范化关系数据库的规范化 在在1.3.11.3.1节中我们介绍关系与表格时曾指出并不是所有节中我们介绍关系与表格时曾指出并不是所有的二维表格都可以称为关系,在关系数据库中,每一个表的二维表格都可以称为关系,在关系数据库中,每一个表格必须满足一定的要规范条件。格必须满足一定的要规范条件。 数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统设计的关键,使用规范化的优数据模型是数据库应用系统设计的关键,使用规范化的优点是:点是:l l 大大改进数据库的整体组织结构大大改进数据库的整体组织结构l
52、 l 减少数据冗余减少数据冗余l l 增强数据的一致性和正确性增强数据的一致性和正确性l l 提高数据库设计的灵活性提高数据库设计的灵活性 更好的处理数据库的安全性更好的处理数据库的安全性 1.4.1 数据库的三个规范化形式数据库的三个规范化形式 数据模型应进行规范化处理,一个数据库可以有三种不数据模型应进行规范化处理,一个数据库可以有三种不同的规范化形式,即:同的规范化形式,即:l l 第一规范化形式第一规范化形式 1nf1nfl l 第二规范化形式第二规范化形式 2nf2nfl l 第三规范化形式第三规范化形式 3nf3nf1. 第一规范化形式第一规范化形式1nf1nf 第一规范化形式简称
53、第一范式:在一个关系(数据表)第一规范化形式简称第一范式:在一个关系(数据表)中没有重复的数据项,每个属性都是不可分割的最小数据中没有重复的数据项,每个属性都是不可分割的最小数据元素。即每列的列名(字段名)都是惟一的,一个关系中元素。即每列的列名(字段名)都是惟一的,一个关系中不允许有两个相同的属性名,同一列的数据具有相同的数不允许有两个相同的属性名,同一列的数据具有相同的数据类型,列的顺序交换后不能改变关系的实际意义。据类型,列的顺序交换后不能改变关系的实际意义。 字段:字段:就是数据表中的列,一列叫做一个字段,表示关就是数据表中的列,一列叫做一个字段,表示关系中实体的一个属性。系中实体的一
54、个属性。 简单说第一范式就是指数据表中没有相同的列简单说第一范式就是指数据表中没有相同的列字段字段惟一。惟一。关系数据库中所有的数据表都必须满足关系数据库中所有的数据表都必须满足1nf1nf。 2 2、第二规范化形式、第二规范化形式 2nf2nf 第二规范化形式简称第二范式:在已满足第二规范化形式简称第二范式:在已满足1nf1nf的关系中,的关系中,一行(数据元组、记录)中所有非关键字数据元素都完全一行(数据元组、记录)中所有非关键字数据元素都完全依赖于关键字(记录惟一)。即一个关系中不允许有两个依赖于关键字(记录惟一)。即一个关系中不允许有两个相同的实体,行的顺序交换后不能改变数据表的实际意
55、义。相同的实体,行的顺序交换后不能改变数据表的实际意义。关键字:也叫关键字段或主键,是所有数据都是惟一不重关键字:也叫关键字段或主键,是所有数据都是惟一不重复的字段或字段的组合。复的字段或字段的组合。 记录:记录:数据表中的一行叫做一条记录,由表中各列的数数据表中的一行叫做一条记录,由表中各列的数据项组成,是一组多个相关数据的集合,也称为数据元组。据项组成,是一组多个相关数据的集合,也称为数据元组。如果指定一个关键字,则可以在这个数据表中惟一确定一如果指定一个关键字,则可以在这个数据表中惟一确定一条记录(行),比如在条记录(行),比如在学生信息表学生信息表里指定里指定“学号学号”为为关键字,则
56、每个学号都惟一的表示一个学生的信息,其他关键字,则每个学号都惟一的表示一个学生的信息,其他属性都完全依赖于属性都完全依赖于“学号学号”。 简单说第二范式就是数据表中没有相同的行,通过关键简单说第二范式就是数据表中没有相同的行,通过关键字使记录惟一。字使记录惟一。不满足不满足2nf2nf的数据表,将导致数据插入或删的数据表,将导致数据插入或删除的异常,稍有不慎会使数据不一致,规范化的数据表都除的异常,稍有不慎会使数据不一致,规范化的数据表都必须满足必须满足2nf2nf。 【实例练习【实例练习1-21-2】 根据第二范式要求,不难发现根据第二范式要求,不难发现电脑器材销售管理电脑器材销售管理数数据
57、库模型表据库模型表1.71.7销售表销售表xxxxxxxx不满足第二范式:不满足第二范式: 因为公司每天可以销售多种商品,则因为公司每天可以销售多种商品,则“销售日期销售日期”不惟不惟一;一个客户可能多次购买不同的商品,则一;一个客户可能多次购买不同的商品,则“客户名称客户名称”不惟一;同一货号的商品会多次销售给不同的客户不惟一;同一货号的商品会多次销售给不同的客户。就。就是说是说销售表销售表xxxxxxxx中没有一列的值是保证不可重复的,中没有一列的值是保证不可重复的,无法指定关键字段使某条销售记录惟一,即不能保证没有无法指定关键字段使某条销售记录惟一,即不能保证没有相同的行。相同的行。 解
58、决方法:解决方法: 增加一列增加一列“序号序号”作为该表的关键字,该列数据没有重作为该表的关键字,该列数据没有重复的值,则可以保证没有重复的记录(行),以满足复的值,则可以保证没有重复的记录(行),以满足2nf2nf。 序序号号销销售售日日期期客客户户名名称称货货号号货货名名规规格格单单位位销销售售单单价价销销售售数数量量销销售售金金额额销销售售员员3 3、第三规范化形式、第三规范化形式 3nf3nf 第三规范化形式简称第三范式:在已满足第三规范化形式简称第三范式:在已满足2nf2nf的关系中,的关系中,不存在传递依赖于关键字的数据项。不存在传递依赖于关键字的数据项。 传递依赖:传递依赖:某些
59、列的数据不是直接依赖于关键字,而是某些列的数据不是直接依赖于关键字,而是通过某个非关键字间接的依赖于关键字。通过某个非关键字间接的依赖于关键字。 简单说第三范式就是表中没有间接依赖关键字的数据项。简单说第三范式就是表中没有间接依赖关键字的数据项。 实现第三范式的方法就是将不依赖关键字的列删除,单实现第三范式的方法就是将不依赖关键字的列删除,单独创建一个数据表存储。独创建一个数据表存储。 规范化的数据库应尽量满足规范化的数据库应尽量满足3nf3nf,一个满足,一个满足3nf3nf的数据库的数据库将有效地减少数据冗余。将有效地减少数据冗余。 注意:三个范式不是独立的,注意:三个范式不是独立的,3n
60、f3nf包含包含2nf2nf,2nf2nf又包含又包含1nf1nf。【实例练习【实例练习1-31-3】 进货表进货表xxxxxxxx既不满足第二范式也不满足第三范式。既不满足第二范式也不满足第三范式。 第一:由于每列数据都不能惟一标识一条进货记录,增第一:由于每列数据都不能惟一标识一条进货记录,增加一列加一列“序号序号”作为关键字,即可以满足第二范式。作为关键字,即可以满足第二范式。 第二:第二:“厂家地址、账户、联系人厂家地址、账户、联系人”不是不是“进货记录进货记录”实体中必不可少的数据项,它们只依赖于实体中必不可少的数据项,它们只依赖于“供货商供货商”,通,通过过“供货商供货商”而间接依
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冀少版八年级生物上册第五单元第二节食品保存技术课件
- 探险宾馆安全活动规则
- 电子产品卖场租赁联营协议
- 住宅小区物业管理租赁合同
- 离婚协议书中退休金处理
- 电子电器印刷质量评估准则
- 烘焙店设备安装合同
- 汽车销售广告施工合同文本格式
- 人力资源项目薪资激励策略
- 保险业用电合同管理规定
- 项目部单机油耗分析报告
- 基于Android的天气预报系统的设计与实现
- (完整)中医症候积分量表
- 小学奥数 等量代换(含答案)
- 绘制进度计划横道图
- 物联网技术在军事上的应用与现代战争教案
- 科技畅想未来主题班会 课件
- 常州高级中学2022-2023学年高一上学期期中质量检查物理试题(解析版)
- 简爱英文版课件
- 《员工心理健康》课件
- 北京市丰台区2023-2024学年七年级上学期期末数学试题
评论
0/150
提交评论