《关系数据库管理系统基础知识.ppt》由会员分享,可在线阅读,更多相关《关系数据库管理系统基础知识.ppt(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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)、现代集成制造系统、现代集成制造系统(CIMS)、办公
4、信息系统、办公信息系统(OIS)、地理信息系统、地理信息系统(GIS)等,都离不开数据库管理系等,都离不开数据库管理系统。正是这些不断涌现的应用要求,又不断地推动了数统。正是这些不断涌现的应用要求,又不断地推动了数据库技术的更新换代。据库技术的更新换代。1.1.1数据库技术的产生与发展1.数据库技术的产生数据库技术的产生从从20世纪世纪60年代后期开始,计算机技术从科学计算迅年代后期开始,计算机技术从科学计算迅速扩展到数据处理领域,随着数据处理的不断深入,数速扩展到数据处理领域,随着数据处理的不断深入,数据处理的规模越来越大,数据量也越来越多,数据处理据处理的规模越来越大,数据量也越来越多,数
5、据处理成为最大的计算机应用领域。数据处理技术也不断地完成为最大的计算机应用领域。数据处理技术也不断地完善,经历了人工管理、文件系统和数据库系统三个阶段。善,经历了人工管理、文件系统和数据库系统三个阶段。(1)人工管理阶段人工管理阶段计算机在其诞生初期,人们还是把它当作计算机在其诞生初期,人们还是把它当作种计算工具,种计算工具,主要用于科学计算。通常是在编写的应用程序中给出自主要用于科学计算。通常是在编写的应用程序中给出自带的相关数据,将程序和相关数据同时输入计算机。不带的相关数据,将程序和相关数据同时输入计算机。不同用户针对不同问题编制各自的程序,整理各自程序所同用户针对不同问题编制各自的程序
6、,整理各自程序所需要的数据。数据的管理完全由用户自己负责。需要的数据。数据的管理完全由用户自己负责。人工管理阶段程序与数据的关系人工管理阶段程序与数据的关系特点:特点:数据不能单独保存。数据无独立性。数据冗余不能共享。(2)文件系统阶段文件系统阶段在文件系统中,把数据组织成相互独立的数据文在文件系统中,把数据组织成相互独立的数据文件,利用件,利用“按文件名访问,按记录存取按文件名访问,按记录存取”的管理技术,的管理技术,程序和数据分别存储为程序文件和数据文件。数据文程序和数据分别存储为程序文件和数据文件。数据文件是独立的,可以长期保存在外存储器上多次存取。件是独立的,可以长期保存在外存储器上多
7、次存取。数据的存取以记录为基本单位,并出现了多种文件组数据的存取以记录为基本单位,并出现了多种文件组织形式,如顺序文件、索引文件、随机文件等。织形式,如顺序文件、索引文件、随机文件等。文件系统阶段程序与数据的关系文件系统阶段程序与数据的关系数据与程序缺乏独立性。数据的冗余和不一致性。数据的无结构性。特点:特点:(3)数据库系统阶段数据库系统阶段为了从根本上解决数据与程序的相关性,把数为了从根本上解决数据与程序的相关性,把数据作为一种共享的资源进行集中管理,为各种应用据作为一种共享的资源进行集中管理,为各种应用系统提供共享服务,数据库技术应运而生,使信息系统提供共享服务,数据库技术应运而生,使信
8、息管理系统的重心从以加工数据的程序为中心转向以管理系统的重心从以加工数据的程序为中心转向以数据共享、统一管理为核心。数据共享、统一管理为核心。数据库系统阶段程序与数据的关系数据库系统阶段程序与数据的关系数据结构化数据结构化数据能够共享数据能够共享数据冗余度小,易扩充数据冗余度小,易扩充数据与程序的独立性较高数据与程序的独立性较高对数据实行集中统对数据实行集中统控制控制优点:2.数据库技术的发展数据库技术的发展随着计算机科学的不断发展,数据库技术大致上随着计算机科学的不断发展,数据库技术大致上经历了三个发展时期:经历了三个发展时期:(1)20世纪世纪60年代的萌芽期年代的萌芽期(2)20世纪世纪
9、70年代的发展期年代的发展期(3)20世纪世纪80年代的成熟期年代的成熟期1.1.2数据库数据库1、数据库、数据库数据库数据库(Database,简称,简称DB),顾名思义,是存放,顾名思义,是存放数据的仓库。只不过这个仓库是创建在计算机存储设数据的仓库。只不过这个仓库是创建在计算机存储设备上,如硬盘就是一类最常见的计算机大容量存储设备上,如硬盘就是一类最常见的计算机大容量存储设备。数据必须按一定的格式存放,以利于以后使用。备。数据必须按一定的格式存放,以利于以后使用。可以说数据库就是长期存储在计算机内、与应用程序可以说数据库就是长期存储在计算机内、与应用程序彼此独立的、以彼此独立的、以定的组
10、织方式存储在一起的、彼此定的组织方式存储在一起的、彼此相互关联的、具有较少冗余的、能被多个用户共享的相互关联的、具有较少冗余的、能被多个用户共享的数据集合。在这里要特别注意数据库不是简单地将一数据集合。在这里要特别注意数据库不是简单地将一些数据堆积在一起,而是把相互间有一定关系的数据,些数据堆积在一起,而是把相互间有一定关系的数据,按一定的结构组织起来的数据集合。按一定的结构组织起来的数据集合。2、数据库体系结构数据库体系结构为了有效地组织、管理数据,人们为数据库设计为了有效地组织、管理数据,人们为数据库设计了一个严谨的体系结构,包括了内模式、模式和外模了一个严谨的体系结构,包括了内模式、模式
11、和外模式三级模式结构,这三级模式反映了看待数据库的三式三级模式结构,这三级模式反映了看待数据库的三种不同的数据观点。种不同的数据观点。1.1.3数据库管理系统数据库管理系统(数据库管理系统(DataBaseManagementSystem,简称,简称DBMS)是位于用户与计算机操作系统之间的)是位于用户与计算机操作系统之间的一个系统软件,由一组计算机程序组成。它能够对数一个系统软件,由一组计算机程序组成。它能够对数据库进行有效的组织、管理和控制,包括数据的存储、据库进行有效的组织、管理和控制,包括数据的存储、数据的安全性与完整性控制等。数据的安全性与完整性控制等。DBMS主要功能:主要功能:1
12、.1.数据定义功能数据定义功能2.2.数据操纵功能数据操纵功能3.3.数据库的运行控制与管理数据库的运行控制与管理4.4.数据库的建立和维护功能数据库的建立和维护功能5.5.数据通信接口数据通信接口1.1.4数据库系统数据库系统(数据库系统(DatabaseSystem,简称,简称DBS)是指在计)是指在计算机系统中引入数据库后的系统,带有数据库的计算算机系统中引入数据库后的系统,带有数据库的计算机系统硬件和软件层次如图所示。机系统硬件和软件层次如图所示。数据库系统构成数据库系统构成硬件平台硬件平台数据库数据库软件软件数数据据库库管管理理系系统统(DBMSDBMS)、支支持持DBMSDBMS运
13、运行行的的操操作作系系统统、具具有有数数据据库库接接口口的的高高级级语语言言及及其其编编译译系系统统、以以DBMSDBMS为核心的应用开发工具。为核心的应用开发工具。为特定应用环境开发的数据库应用系统。为特定应用环境开发的数据库应用系统。相关人员相关人员数据库管理员(数据库管理员(DBADBA)、系统分析员、数据库设)、系统分析员、数据库设计员、应用程序员、用户计员、应用程序员、用户1.2数据模型数据模型概念数据模型:独立于计算机系统的数据模型,概念数据模型:独立于计算机系统的数据模型,用来描述所使用的信息结构。用来描述所使用的信息结构。逻辑数据模型:现实世界的第二层抽象,反映数逻辑数据模型:
14、现实世界的第二层抽象,反映数据的逻辑结构。据的逻辑结构。物理数据模型:反映数据在计算机中的存储结构。物理数据模型:反映数据在计算机中的存储结构。在数据库中用数据模型来抽象、表示和处理现实世在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。根据数据抽象层次,针对不同的界中的数据和信息。根据数据抽象层次,针对不同的数据对象和应用目的,可以分为三类:数据对象和应用目的,可以分为三类:1.2.1数据模型的组成要素数据结构:所研究的对象类型的集合,这些对象是数据结构:所研究的对象类型的集合,这些对象是数据库的组成成分。数据库的组成成分。数据操作:指对数据库中不同数据结构的对象所允数据操作:指
15、对数据库中不同数据结构的对象所允许执行的操作的集合,包括操作及操作规则。许执行的操作的集合,包括操作及操作规则。完整性约束:数据的完整性约束条件是一组完整性完整性约束:数据的完整性约束条件是一组完整性规则的集合。规则的集合。1.2.2概念模型具体的数据库管理系统具体的数据库管理系统DBMS所所支持的逻辑数据模型不便于非计算机支持的逻辑数据模型不便于非计算机专业人员理解和应用,在开始设计数专业人员理解和应用,在开始设计数据模型时,可以先用概念数据模型将据模型时,可以先用概念数据模型将现实世界中的客观事物用某种信息结现实世界中的客观事物用某种信息结构表示出来,再转化为用计算机表示构表示出来,再转化
16、为用计算机表示的逻辑数据模型,如图所示。的逻辑数据模型,如图所示。概念模型涉及的概念(1)实体:现实世界中客观存在并可相互区分的事实体:现实世界中客观存在并可相互区分的事物称为实体。物称为实体。(2)属性:实体所具有的某一特性称为属性。属性:实体所具有的某一特性称为属性。(3)实体和属性的型与值:型是结构,用实体名及其属实体和属性的型与值:型是结构,用实体名及其属性名集合描述同类实体,称为实体型;值是数据,不性名集合描述同类实体,称为实体型;值是数据,不同的实体有不同的属性内容(属性值)。同的实体有不同的属性内容(属性值)。(4)实体集:具有相同实体型的实体值的集合称为实体集:具有相同实体型的
17、实体值的集合称为实体集。实体集。(5)关键字:在实体属性中,能区别实体集合中不关键字:在实体属性中,能区别实体集合中不同个体的某一个或某几个属性的组合,称为关键字。同个体的某一个或某几个属性的组合,称为关键字。2.实体间的联系实体间的联系两个实体集之间的联系可以分为三类:两个实体集之间的联系可以分为三类:一对一联系一对一联系(1:1)一对多联系一对多联系(1:N)多对多联系多对多联系(M:N)3.概念模型的表示方法概念模型的表示方法概念模型的表示方法很多,其中最著名最常用的概念模型的表示方法很多,其中最著名最常用的是于是于1976年提出的实体年提出的实体-联系方法(联系方法(E-R方法)。该方
18、方法)。该方法用法用E-R图描述信息世界的概念模型。图描述信息世界的概念模型。方法如下:方法如下:实体型:用矩形表示,矩形框内写上实体名。实体型:用矩形表示,矩形框内写上实体名。属性:用椭圆形或圆角矩形表示,图形内写上属性名,属性:用椭圆形或圆角矩形表示,图形内写上属性名,并用直线将其与相应的实体连接起来。并用直线将其与相应的实体连接起来。联系:用菱形表示,菱形框内写上表示联系行为的动词联系:用菱形表示,菱形框内写上表示联系行为的动词表示联系名,并用直线分别与有关实体连接起来,同时表示联系名,并用直线分别与有关实体连接起来,同时在直线旁边标上联系的类型在直线旁边标上联系的类型(1:1,1:N或
19、或M:N)。如如果一个联系具有属性,则这些属性也要用直线与该联系果一个联系具有属性,则这些属性也要用直线与该联系连接起来连接起来。学生实体学生实体通常在表示单个实体的通常在表示单个实体的E-R图中,除了要标明实体图中,除了要标明实体名外,还要标明实体所具有的属性。例如学生实体具有名外,还要标明实体所具有的属性。例如学生实体具有学号、姓名、性别、出生日期和所在系的属性,其学号、姓名、性别、出生日期和所在系的属性,其E-R图如下:图如下:实体之间的联系的表示实体之间的联系的表示在表示实体之间的联系时,每个实体只标明其实在表示实体之间的联系时,每个实体只标明其实体名,而把实体属性单独用图表示或把所有
20、实体集用体名,而把实体属性单独用图表示或把所有实体集用列表表示。列表表示。两个以上的实体集之间联系的表示两个以上的实体集之间联系的表示同一个实体集内部联系的表示同一个实体集内部联系的表示1.2.3层次模型层次模型在数据库中,对满足以下两个条件的数据模型称为层次在数据库中,对满足以下两个条件的数据模型称为层次模型。模型。有且仅有一个节点无双亲,这个节点称为有且仅有一个节点无双亲,这个节点称为“根节点根节点”。其他节点有且仅有一个双亲。其他节点有且仅有一个双亲。层次模型中相关概念层次模型中相关概念在层次模型中,同一双亲的子女节点称为兄弟节点;在层次模型中,同一双亲的子女节点称为兄弟节点;没有子女的
21、节点称为叶节点;没有子女的节点称为叶节点;双亲节点与其任意一个子女节点都构成一个基本层次双亲节点与其任意一个子女节点都构成一个基本层次联系,表示一对多的关系。联系,表示一对多的关系。层次模型特点层次模型特点层次模型的优点:层次模型的优点:层次模型数据结构简单,对具有一对多的层次关层次模型数据结构简单,对具有一对多的层次关系的描述非常自然、直观、容易理解。记录之间的联系的描述非常自然、直观、容易理解。记录之间的联系通过指针来实现,查询效率较高。系通过指针来实现,查询效率较高。层次模型的缺点:层次模型的缺点:上一层记录类型和下一层记录类型只能表示一对上一层记录类型和下一层记录类型只能表示一对多联系
22、,无法实现多对多联系。如果要实现多对多联多联系,无法实现多对多联系。如果要实现多对多联系,则非常复杂,效率非常低,使用也不方便。系,则非常复杂,效率非常低,使用也不方便。1.2.4网状模型在网状模型中,允许:在网状模型中,允许:一个以上的节点无双亲。一个以上的节点无双亲。一个节点可以有多于一个的双亲。一个节点可以有多于一个的双亲。网状模型的特点网状模型的特点网状模型的优点:网状模型的优点:记录之间联系通过指针实现,具有良好的性能,存记录之间联系通过指针实现,具有良好的性能,存取效率较高。能够更为直接地描述现实世界,如一个节取效率较高。能够更为直接地描述现实世界,如一个节点可以有多个双亲。点可以
23、有多个双亲。网状模型的缺点:网状模型的缺点:随着应用环境的扩大,数据库的结构会变得越来越随着应用环境的扩大,数据库的结构会变得越来越复杂,编写应用程序也会更加复杂,程序员必须熟悉数复杂,编写应用程序也会更加复杂,程序员必须熟悉数据库的逻辑结构。与层次模型一样,现在的数据库管理据库的逻辑结构。与层次模型一样,现在的数据库管理系统已经很少使用网状模型了。系统已经很少使用网状模型了。1.2.5关系模型关系模型是三种数据模型中最重要的模型,是当关系模型是三种数据模型中最重要的模型,是当前使用最广泛的数据模型。前使用最广泛的数据模型。MicrosoftSQLServer2000数据库管理系统也是基于关系
24、模型的。关系模型是建数据库管理系统也是基于关系模型的。关系模型是建立在数学概念基础上的,它的主要特征是使用关系来立在数学概念基础上的,它的主要特征是使用关系来表示实体以及实体之间的联系。表示实体以及实体之间的联系。1.关系模型的基本术语关系模型的基本术语(1)关系关系一个关系模型的逻辑结构是二维表,它由行和列组成。一个关系模型的逻辑结构是二维表,它由行和列组成。(2)元组元组表中的一行称为一个元组,在数据库中也称为记录。表中的一行称为一个元组,在数据库中也称为记录。(3)属性属性表中的一列称为一个属性,用来描述事物的特征,属性表中的一列称为一个属性,用来描述事物的特征,属性分为属性名和属性值。
25、在数据库中属性也称为字段。分为属性名和属性值。在数据库中属性也称为字段。(4)域域属性的取值范围。属性的取值范围。(5)关系模式关系模式关系模式描述关系的信息结构和语义限制,是型的概念;关系模式描述关系的信息结构和语义限制,是型的概念;而关系是关系模式中的而关系是关系模式中的个实例,是值的概念。关系模个实例,是值的概念。关系模式的描述形式式的描述形式-关系名(属性关系名(属性1,属性,属性2,属性,属性n)。)。1.关系模型的基本术语关系模型的基本术语(6)(6)关系数据库关系数据库 使用关系模型表示和处理数据的数据库,是一些相关的使用关系模型表示和处理数据的数据库,是一些相关的表和其他数据库
26、对象的集合。表和其他数据库对象的集合。(7)(7)关键字关键字/码码若关系中的某一个属性或属性组的值惟一地决定其它所若关系中的某一个属性或属性组的值惟一地决定其它所有属性,则这个属性或属性组称为该关系的关键字。有属性,则这个属性或属性组称为该关系的关键字。(8)(8)候选键候选键/候选关键字候选关键字/侯选码侯选码如果一个关系中有多个属性或属性组都能用来标识该关如果一个关系中有多个属性或属性组都能用来标识该关系的元组,那么这些属性或属性组都称为该关系的候选系的元组,那么这些属性或属性组都称为该关系的候选关键字。关键字。1.关系模型的基本术语关系模型的基本术语(9)(9)主键主键/主关键字主关键
27、字/主码主码在一个关系的多个候选关键字中指定其中一个作为该关在一个关系的多个候选关键字中指定其中一个作为该关系的关键字,则称它为主关键字或主键、主码。系的关键字,则称它为主关键字或主键、主码。(10)(10)外键外键/外关键字外关键字/外码外码如果一个关系如果一个关系R R中的某个属性或属性组中的某个属性或属性组F F并非该关系的关并非该关系的关键字,但它和另外一个关系键字,但它和另外一个关系S S的关键字的关键字K K相对应,则称相对应,则称F F为关系为关系R R的外键,同时要求外键的外键,同时要求外键F F的值要参照关系的值要参照关系S S中主中主键键K K的值。有时,的值。有时,R R
28、和和S S可能为同一个关系。可能为同一个关系。2.关系模型三要素关系模型三要素(1)数据结构数据结构关系关系关系模型中数据的逻辑结构就是一张二维表格。在关系关系模型中数据的逻辑结构就是一张二维表格。在关系数据库中,关系模式是型(二维表格),关系是值(元数据库中,关系模式是型(二维表格),关系是值(元组的集合),关系模式必须指出这个元组集合的结构,组的集合),关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性采用何种类型、来自哪即它由哪些属性构成,这些属性采用何种类型、来自哪些域,以及属性与域之间的映像关系。些域,以及属性与域之间的映像关系。(2)关系操作关系操作关系模型中常用的关
29、系操作有数据查询和数据更新两大关系模型中常用的关系操作有数据查询和数据更新两大部分,其中数据查询包括选择、投影、连接、除、并、部分,其中数据查询包括选择、投影、连接、除、并、交、差;数据更新包括插入、删除、修改操作。交、差;数据更新包括插入、删除、修改操作。(3)关系完整性约束关系完整性约束关系模型允许定义三类完整性约束:实体完整性、参照关系模型允许定义三类完整性约束:实体完整性、参照完整性和数据类型的域完整性。实体完整性和参照完整完整性和数据类型的域完整性。实体完整性和参照完整性是关系模型必须满足的约束条件,由关系系统自动支性是关系模型必须满足的约束条件,由关系系统自动支持;数据类型的域完整
30、性是数据取值要遵循的约束条件。持;数据类型的域完整性是数据取值要遵循的约束条件。3.关系模型的特点关系模型的特点(1)关系模型具有严格的理论基础关系模型具有严格的理论基础(2)关系模型的数据结构单一关系模型的数据结构单一(3)关系模型存取简单关系模型存取简单1.3关系数据库及其设计过程关系数据库及其设计过程关系数据库是目前使用最广泛的数据库,现实世关系数据库是目前使用最广泛的数据库,现实世界信息结构复杂、应用环境千变万化,如何构造一个界信息结构复杂、应用环境千变万化,如何构造一个合理的数据库系统,使之能够有效地存储数据,满足合理的数据库系统,使之能够有效地存储数据,满足各种用户的需求是我们要解
31、决的首要问题,本节将结各种用户的需求是我们要解决的首要问题,本节将结合应用实例电脑器材销售管理研究关系数据库的合应用实例电脑器材销售管理研究关系数据库的设计过程。设计过程。1.3.1关系与表格关系模型是建立在集合代数基础上的,关系是有严关系模型是建立在集合代数基础上的,关系是有严格的数学定义的,并不是所有的二维表格都可以称为关格的数学定义的,并不是所有的二维表格都可以称为关系,这个表格应该具有如下一些性质。系,这个表格应该具有如下一些性质。(1)关系必须是规范化的关系关系必须是规范化的关系(2)表中的表中的“行行”是惟一的是惟一的(3)行的次序可以任意行的次序可以任意(4)表中的表中的“列名列
32、名”是惟一的是惟一的(5)列的次序可以任意列的次序可以任意(6)必须满足完整性约束条件必须满足完整性约束条件1.3.2数据表基本概念关系数据库中包含若干关系关系数据库中包含若干关系二维数据表,可分为二维数据表,可分为基本的数据表、查询结果集、视图等,其中数据表是最重基本的数据表、查询结果集、视图等,其中数据表是最重要的一类关系,其它的对象大都依附于数据表。要的一类关系,其它的对象大都依附于数据表。数据表是数据库中最基本的对象,用来在数据库中存数据表是数据库中最基本的对象,用来在数据库中存储用户的全部数据。数据库中可以有多个数据表,每个数储用户的全部数据。数据库中可以有多个数据表,每个数据表可代
33、表用户某类有意义的需求信息。例如在一个学校据表可代表用户某类有意义的需求信息。例如在一个学校“教学管理教学管理”数据库中有数据库中有“教师信息表教师信息表”、“学生信息表学生信息表”和和“课程成绩表课程成绩表”等。等。数据表中的每一行代表不同需求的一个实体对象。例数据表中的每一行代表不同需求的一个实体对象。例如如“学生信息表学生信息表”中用一个学生的档案信息属性作为一个中用一个学生的档案信息属性作为一个实体;而在实体;而在“课程成绩表课程成绩表”中用一个学生的课程成绩信息中用一个学生的课程成绩信息属性作为一个实体。属性作为一个实体。数据表中的每一列都代表实体对象的一个属性特征,数据表中的每一列
34、都代表实体对象的一个属性特征,如学生的姓名、住址等。数据表经设计完成并创建之后,如学生的姓名、住址等。数据表经设计完成并创建之后,就一直存储在数据库文件中,直到被删除为止。就一直存储在数据库文件中,直到被删除为止。1.3.3数据库设计过程数据库设计所要解决的问题是建立数据库设计所要解决的问题是建立数据表及其应用系统,具体说,就是指数据表及其应用系统,具体说,就是指对一个给定的需求和应用环境,构造最对一个给定的需求和应用环境,构造最优化的数据库模式,建立数据库及其应优化的数据库模式,建立数据库及其应用系统,满足用户的各种应用需求。大用系统,满足用户的各种应用需求。大型数据库的设计和开发是一项庞大
35、的工型数据库的设计和开发是一项庞大的工程,是多学科的综合性技术。程,是多学科的综合性技术。数据库设计步骤大致可以分为需求数据库设计步骤大致可以分为需求分析、概念结构设计、逻辑结构设计、分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运物理结构设计、数据库实施、数据库运行和维护几个阶段。设计一个完善的数行和维护几个阶段。设计一个完善的数据库应用系统往往是上述六个阶段的不据库应用系统往往是上述六个阶段的不断反复、逐步完善的过程,如图所示。断反复、逐步完善的过程,如图所示。1.3.3数据库设计过程1.需求分析需求分析需求分析的任务是由计算机人员(系统分析员)和用户双方共需求分析的任
36、务是由计算机人员(系统分析员)和用户双方共同通过详细的调查研究,充分了解用户的组织机构、业务规则、数同通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求、完整性约束条件、事务处理和安全性要求等,为概念设计据需求、完整性约束条件、事务处理和安全性要求等,为概念设计奠定基础。这个阶段的许多方法与系统分析设计、软件工程的方法奠定基础。这个阶段的许多方法与系统分析设计、软件工程的方法类似,画出组织机构图、业务流程图,详细描述用户应用环境的业类似,画出组织机构图、业务流程图,详细描述用户应用环境的业务流程、数据需求。务流程、数据需求。2.概念结构设计概念结构设计最常用的概念模型表示方法是实体
37、最常用的概念模型表示方法是实体-联系模型,简称联系模型,简称E-R模型。模型。设计设计E-R模型应遵循的原则:模型应遵循的原则:(1)首先针对特定用户的应用,确定实体、属性和实体间的首先针对特定用户的应用,确定实体、属性和实体间的联系,做出局部联系,做出局部E-R模型。模型。(2)综合各个用户的局部综合各个用户的局部E-R模型,在消除冗余联系并保证数模型,在消除冗余联系并保证数据完整性的前提下,产生能准确地反映原来的局部据完整性的前提下,产生能准确地反映原来的局部E-R模型(包括实模型(包括实体、属性及实体间的相互联系)、反映数据库整体概念、不存在相体、属性及实体间的相互联系)、反映数据库整体
38、概念、不存在相互表达矛盾的总体互表达矛盾的总体E-R模型。模型。一个系统的一个系统的E-R模型并不是惟一的,强调不同侧面和不同联系,做出模型并不是惟一的,强调不同侧面和不同联系,做出的的E-R模型可能会有很大的差别。模型可能会有很大的差别。1.3.3数据库设计过程3.逻辑结构设计逻辑结构设计逻辑结构设计的任务就是把概念模型转换成逻辑结构设计的任务就是把概念模型转换成DBMSDBMS所支所支持的数据模型,如关系模型、层次模型或网状模型。我们持的数据模型,如关系模型、层次模型或网状模型。我们只讨论只讨论E-RE-R模型向关系模型的转换原则。模型向关系模型的转换原则。(1)(1)实体向关系模型的转化
39、实体向关系模型的转化(2)(2)一对一联系向关系模型的转化一对一联系向关系模型的转化(3)(3)一对多联系向关系模型的转化一对多联系向关系模型的转化(4)(4)多对多联系向关系模型的转化多对多联系向关系模型的转化用用E-RE-R模型转换得到的关系模型要利用关系规范化理模型转换得到的关系模型要利用关系规范化理论进行进一步的规范化设计,使之符合论进行进一步的规范化设计,使之符合DBMSDBMS的要求。的要求。4.物理结构设计物理结构设计在物理结构设计时,应考虑以下几个方面:在物理结构设计时,应考虑以下几个方面:(1)确定数据的存储结构确定数据的存储结构(2)索引结构设计索引结构设计(3)数据存储位
40、置的考虑数据存储位置的考虑(4)系统配置的优化系统配置的优化1.3.3数据库设计过程5.数据库实施数据库实施确定了数据库的逻辑结构和物理结构,就可以利用确定了数据库的逻辑结构和物理结构,就可以利用DBMS提供的数据定义语言建立数据库的结构。数据库提供的数据定义语言建立数据库的结构。数据库的结构建立好之后,就可以向数据库中装载数据。的结构建立好之后,就可以向数据库中装载数据。(1)根据确定的逻辑结构与物理结构,用根据确定的逻辑结构与物理结构,用DBMS提供提供的数据定义语言定义数据库结构。的数据定义语言定义数据库结构。(2)数据装载数据库结构建立后向数据库中装载数据数据装载数据库结构建立后向数据
41、库中装载数据(也称为数据加载也称为数据加载)。6.数据库的运行与维护数据库的运行与维护数据库设计与应用开发工作完成之后,系统进入运数据库设计与应用开发工作完成之后,系统进入运行与维护阶段,主要任务如下。行与维护阶段,主要任务如下。(1)维护数据库的安全性和数据完整性维护数据库的安全性和数据完整性(2)数据库的转储和恢复数据库的转储和恢复(3)监测并改善数据库性能监测并改善数据库性能(4)数据库的重新组织数据库的重新组织1.3.4电脑器材销售管理数据库的电脑器材销售管理数据库的模型设计模型设计本书以某电脑公司的电脑器材销售管理数据库应用本书以某电脑公司的电脑器材销售管理数据库应用系统为例贯穿全书
42、,本节主要介绍如何设计该数据模型,系统为例贯穿全书,本节主要介绍如何设计该数据模型,在以后各章节均以该数据库为【实例练习】进行操作,通在以后各章节均以该数据库为【实例练习】进行操作,通过该实例的学习使读者掌握过该实例的学习使读者掌握SQLServer数据库系统与数据数据库系统与数据库应用技术。库应用技术。【实例练习【实例练习1-1】某电脑公司电脑器材销售管理数据库】某电脑公司电脑器材销售管理数据库应用系统的模型设计应用系统的模型设计该电脑公司的需求分析可以简单概括为:该电脑公司的需求分析可以简单概括为:“商品购进商品购进库库存管理存管理商品销售商品销售”三大环节。三大环节。1、概念模型:、概念
43、模型:在概念模型中可以初步将商品、供货商、客户、员工对象作在概念模型中可以初步将商品、供货商、客户、员工对象作为实体,其属性的描述:为实体,其属性的描述:商品商品(商品编号或条形编码、商品名称、规格尺寸或型号、(商品编号或条形编码、商品名称、规格尺寸或型号、计量单位、供货厂家、进货价格、销售参考价格、库存数量)计量单位、供货厂家、进货价格、销售参考价格、库存数量)供货商供货商(供货厂家编号、厂家名称、厂家地址、进货商品名(供货厂家编号、厂家名称、厂家地址、进货商品名称、进货日期、进货数量、进货价格、厂家账户、厂家联系人、称、进货日期、进货数量、进货价格、厂家账户、厂家联系人、收货员工)收货员工
44、)客户客户(客户名称、销售商品名称、规格、计量单位、销售日(客户名称、销售商品名称、规格、计量单位、销售日期、销售单价、销售数量、销售金额、销售员工)期、销售单价、销售数量、销售金额、销售员工)员工员工(员工编号、姓名、性别、年龄或出生日期、部门、工(员工编号、姓名、性别、年龄或出生日期、部门、工龄或工作时间、照片、个人简历)龄或工作时间、照片、个人简历)在一个关系数据库中允许有多个不同的关系在一个关系数据库中允许有多个不同的关系数据表,并对数据表,并对所有的数据表进行统一管理。我们可以根据各个不同职能部门所有的数据表进行统一管理。我们可以根据各个不同职能部门的实际工作需要,把概念模型中的一个
45、实体集作为一个关系,的实际工作需要,把概念模型中的一个实体集作为一个关系,初步设计成关系数据库逻辑模型中的初步设计成关系数据库逻辑模型中的4个二维数据表格。个二维数据表格。2、逻辑模型、逻辑模型(1)公司管理层使用的简单商品一览表)公司管理层使用的简单商品一览表该表是公司所经营和准备扩展经营的全部商品明细,为该表是公司所经营和准备扩展经营的全部商品明细,为规范化经营管理,由公司决策部门对商品统一进行分类,规范化经营管理,由公司决策部门对商品统一进行分类,制定统一的商品编号,用制定统一的商品编号,用“货号货号”表示,并指定统一的商表示,并指定统一的商品名称,商品一览表的主要数据项见表品名称,商品
46、一览表的主要数据项见表1.5。货号货号货名货名规格规格单位单位平均进价平均进价参考价格参考价格库存量库存量其中:其中:“平均进价平均进价”根据从不同厂家购进同种商品的不同价根据从不同厂家购进同种商品的不同价格,或从同一厂家因进货时间不同而价格不同时,由数格,或从同一厂家因进货时间不同而价格不同时,由数据库系统按加权平均方法自动计算的平均据库系统按加权平均方法自动计算的平均“进货价格进货价格”。“参考价格参考价格”是公司为该商品制定的销售指导价格,是公司为该商品制定的销售指导价格,允许销售员在允许销售员在5%5%的范围内自主灵活销售。的范围内自主灵活销售。2、逻辑模型、逻辑模型(2 2)进货进货
47、部部门门按按进货记录进货记录填写的每年度一填写的每年度一张张的的进货进货表表xxxxxxxx 该表用于保存详细的进货记录,由收货人每次进货时填写,该表用于保存详细的进货记录,由收货人每次进货时填写,采用以一个年度(或月份)为单位使用一张采用以一个年度(或月份)为单位使用一张“进货表进货表”,表,表的名称后缀年份(或年月)标志加以区分(若前缀数字作数的名称后缀年份(或年月)标志加以区分(若前缀数字作数据表名不符合标识符命名规则)。据表名不符合标识符命名规则)。本本例例题题进进货货表表20062006表表示示20062006年年的的“进进货货表表”,20062006年年度结束到度结束到200720
48、07年时自动创建并使用进货表年时自动创建并使用进货表20072007。进进货货日日期期货货号号货货名名规规格格单单位位进进价价进进货货数数量量供供货货商商厂厂家家地地址址账账户户联联系系人人收收货货人人2、逻辑模型、逻辑模型(3 3)销销售售部部门门按按销销售售记记录录填填写写每每年年度度一一张张的的销销售售表表xxxxxxxx 该表用于保存详细的销售记录,由销售员每次销售商品该表用于保存详细的销售记录,由销售员每次销售商品时填写。时填写。20062006年使用销售表年使用销售表20062006,20062006年度结束到年度结束到20072007年时自动创建并使用销售表年时自动创建并使用销售
49、表20072007。销销售售日日期期客客户户名名称称货货号号货货名名规规格格单单位位销销售售单单价价销销售售数数量量销销售售金金额额销销售售员员2、逻辑模型、逻辑模型(4 4)全公司职工的员工表)全公司职工的员工表 结合整个公司的人事管理,能表示进货表结合整个公司的人事管理,能表示进货表xxxxxxxx中中“收货人收货人”和销售表和销售表xxxxxxxx中中“销售员销售员”的详细信息。的详细信息。其中其中“出生日期出生日期”即代表年龄,如果使用即代表年龄,如果使用“年龄年龄”数据数据项则每年都需要改变,采用项则每年都需要改变,采用“出生日期出生日期”可以由数据库的可以由数据库的函数自动计算并显
50、示每年的当前年龄。函数自动计算并显示每年的当前年龄。员工编员工编号号IDID姓姓名名性性别别出生出生日期日期部门部门工作工作时间时间照片照片个人个人简历简历1.4关系数据库的规范化关系数据库的规范化在在1.3.11.3.1节中我们介绍关系与表格时曾指出并不是所有节中我们介绍关系与表格时曾指出并不是所有的二维表格都可以称为关系,在关系数据库中,每一个表的二维表格都可以称为关系,在关系数据库中,每一个表格必须满足一定的要规范条件。格必须满足一定的要规范条件。数据模型是数据库应用系统的基础和核心,合理设计数数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统设计的关键,使用规范化的