关系数据库基础.doc_第1页
关系数据库基础.doc_第2页
关系数据库基础.doc_第3页
关系数据库基础.doc_第4页
关系数据库基础.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

第1章关系数据库基础关系数据库建立在关系数据模型基础之上。它可以使两个数据表中的值匹配,将一个数据表中的数据与另一个数据表中的数据相关联。在关系数据库中,通常只存储特定类型的数据。Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。本章围绕Access 2003数据库应用软件,介绍关系数据库中一些简单的理论内容。通过这些理论内容再深入地学习Access 2003数据库的相关内容。本章学习要点 数据库概述 数据模型 关系模型理论 完整性及范式理论1.1 数据库概述数据库是按照数据结构来组织、存储和管理数据的仓库。在日常工作中,常常需要把某些相关的数据放进数据库,并根据管理的需要进行相应的处理。1.1.1 数据库的基本概念在学习数据库之前,首先了解数据库的概念。如果从不同的角度来描述数据库,则数据库的概念也就有不同的定义。如数据库是一个“记录保存系统”(强调数据库是若干记录的集合);数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关数据的集合”(重于数据的组织性)等。当然,各种说法不一,并不严谨。下面介绍数据库的一些基本概念,有助于更好地了解数据库。1数据与信息数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等多种表现形式。为了了解世界,交流信息,人们需要描述事物。在日常生活中,可以直接用自然语言(如汉语)来描述。有时需要将这些事物记录下来,即将事物变成信息进行存储。而信息是对客观事物属性的反映,也是经过加工处理并对人类客观行为产生影响的数据表现形式。例如,在计算机中,为了存储和处理这些事物,需要抽象地描述这些事物的特征。下面以“学生信息表”为例,通过学号、姓名、性别、年龄、系别、专业和年级等内容来描述学生在校的特征:(0411002郑晓明女25历史系文学历史04专升本)这里的学生记录就是信息。在数据库中,记录与事物的属性是对应的关系,其表现如示意图1-1所示。 记录信息2数据库(Database,DB)从上述内容中可以理解数据库为存储在一起的相互有联系的数据集合,所以可以将它比作一个存储数据的“仓库”。在这个“仓库”中,数据被分门别类、有条不紊的保存。严格地说,数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。这是J.Martin给数据库下的一个比较完整的定义。 存储信息因此,在Access数据库中,可以将这个“数据仓库”以表的形式表现出来。其中,每条记录中存储的内容即所指的信息。例如,在“图书信息表”中,“图书信息表”数据表存储了图书情况的数据内容,如图1-2所示。通过数据库记录数据,与以前的数据记录方式相比,可以带来许多好处:如减少了数据的冗余度,从而大大节省了数据的存储空间;实现数据资源的充分共享等。此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。3数据库管理系统(DataBase Management System,DBMS)数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 定义数据 删除记录用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。主要包括以下几方面的功能: 数据定义功能DBMS提供数据定义语言(Data Definition Language,DDL),通过它可以方便的对数据库中的数据对象进行定义。例如,在Access数据表中,可以定义数据的类型、数据的属性(如字段大小、格式)等,如 图1-3所示。 数据操纵功能DBMS还提供数据操纵语言(Data Manipulation Language,DML),可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。例如,在“图书信息表”中,可以右击记录,执行【删除记录】命令,即可删除数据内容,如图1-4所示。 数据库的运行管理 分析数据表中的数据数据库在建立、运用和维护时,由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性。 数据库的建立和维护功能它包括数据库初始数据的输入、转换功能;数据库的转储、恢复功能;数据库的管理重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。例如,执行【工具】|【分析】|【性能】命令,弹出【性能分析器】对话框,在【表】选项卡中,启用【库存图书表】复选框,单击【确定】按钮,即可在【性能分析器】对话框中显示分析结果,如图1-5所示。4数据库系统(DataBase System,DBS)数据库系统数据库系统是一个实际可运行的存储、维护和为应用系统提供数据的软件系统。它通常由存储介质、软件、处理对象和管理系统、数据库和数据管理员组成,如图1-6所示。其中,软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员(DataBase Administrator,DBA)负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般由业务水平较高、资历较深的人员担任。1.1.2 数据管理技术的发展数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。它经历了人工管理、文件管理、数据库管理3个阶段。每一阶段的发展以数据存储冗余不断减小、数据独立性不断增强、数据操作更加方便和简单为标志,各有各的特点。1人工管理阶段早期,人们运用常规的手工从事记录、存储和加工数据,也就是利用纸张来记录及计算,并主要使用人的大脑来管理这些数据。计算机主要用于数值计算,也无管理数据的软件,并且计算机内记录的数据量小、数据无结构。用户直接进行管理,数据间缺乏逻辑组织,数据仅依赖特定的应用,缺乏独立性,如图1-7所示。人工管理阶段应用程序与数据之间的对应关系文件系统数据不能长期保存,一个程序中的数据无法被其他程序利用,程序与程序间存在大量的重复数据,称为数据冗余。2文件系统阶段这一阶段,计算机处理数据的速度和存储能力大大提高,可直接存取的磁盘成为联机的主要外存,软件上也出现了高级语言和操作系统。这样数据可长期保存在计算机外存上,可以对数据进行反复处理,并支持文件的查询、修改、插入和删除等操作,这就是文件系统。但是这一时期的文件系统的数据文件主要是服务于某一特定的应用程序,数据和程序相互依赖,而且同一数据项可能重复出现在多个文件中,数据冗余量大,浪费空间,增加更新开销。由于冗余多,不能统一修改数据,造成了数据的不一致性。在文件系统阶段,程序与数据之间的关系如图1-8所示。文件系统是专门管理外存储器的数据管理软件。在文件系统阶段,程序与数据有了一定的独立性,程序和数据分开,有了程序文件和数据文件的区别。3数据库系统阶段20世纪60年代后期,计算机性能得到了进一步的提高,应用范围也越来越广泛。同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。更重要的是出现了大容量磁盘,存储容量大大增加且价格下降。数据库系统技术此时,为克服文件系统管理数据时的不足,满足和解决实际应用中多个用户、多个应用程序共享数据的要求,从而使数据能为尽可能多的应用程序服务,数据库技术便应运而生,出现了统一管理数据的专门软件系统数据库管理系统,如图1-9所示。4技术特点的简单比较用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技术的飞跃。20世纪80年代后不仅在大、中型计算机上实现并应用了数据管理的数据库技术,如Oracle、Sybase、Informix等,在微型计算机上也可使用数据库管理软件,如常见的SQL Server、Access、FoxPro等软件,使数据库技术得到了广泛应用和普及。1.1.3 数据库系统的三级模式结构 数据库的系统结构数据模式是数据库的框架,是数据模型用数据描述语言给出的精确描述。数据库系统的结构一般划分为3个层次,它们是概念模式、外模式和内模式,如图1-10所示。这样,整个数据库的体系结构可以分为三级模式和二级映射,其中三级模式包含有以下3种。1概念模式概念模式亦称模式,是数据库的总框架。描述数据库中关于目标存储的逻辑结构和特性,基本操作和目标与目标及目标与操作的关系和依赖性,以及对数据的安全性、完整性等方面的定义。所有数据都按这一模式进行装配。概念模式由概念模式描述语言DDL来进行描述。概念模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。2外模式外模式亦称子模式,是数据库用户的数据视图。它属于概念模式的一部分,描述用户数据的结构、类型、长度等。所有的应用程序都是根据外模式中对数据的描述而不是概念模式中对数据的描述而编写的。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。3内模式内模式亦称存储模式,是对数据库在物理存储器上的具体实现的描述。它规定数据在存储介质上的物理组织方式、记录寻址技术、定义物理存储块的大小,溢出处理方 法等。为了实现上述3个抽象级别的模式联系和转换,数据库管理系统在这三层结构之间提供了二级映像。 逻辑映像(外模式/模式映像)对于每一个外模式,数据库系统都有一个逻辑映像。它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而不必修改应用程序,保证了数据的逻辑独立性。如: 在模式中增加新的记录类型,而不破坏原有记录类型之间的联系; 在原有记录类型之间增加新的联系; 在某些记录类型中增加新的数据项。 物理映像(模式/内模式)数据库中只有一个模式,也只有一个内模式,所以物理映像是唯一的。它定义了数据全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式描述中。当数据库的存储结构改变时,由数据库管理员对物理映像作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。如: 改变存储设备或引进新的存储设备; 改变数据的存储位置; 改变存储记录的体积; 改变数据组织方式。1.2 数据模型数据模型(Data Model)是现实世界数据特征的抽象。它不仅反映数据本身的内容,而且反映数据之间的联系。1.2.1 数据模型概述数据模型的转变数据库是某个单位、企业、组织所涉及的数据的综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。计算机不能直接处理现实世界中的具体事物,所以需要事先将具体事物转换成计算机能够处理的数据。描述从现实世界转换为DBMS所支持的数据模型,如 图1-11所示。不同的数据模型实际上所提供的模型化数据和信息也不相同。数据模型按不同的应用层次可划分为两类。 概念模型 它又称信息模型,是一种面向客观世界、面向用户的模型,主要用于数据库设计,例如E-R模型、扩充的E-R模型等都属于概念模型。 数据库模型 它是一种面向数据库系统的模型,主要用于DBMS的实现,如层次模型、网状模型、关系模型等均属于这类数据模型。1.2.2 数据模型的组成数据模型是严格定义的一组概念的集合,是现实世界中的事物及其间联系的一种抽象表示。通常,一个数据库的数据模型由下列三部分组成。 数据结构数据结构是所研究的对象类型的集合。这些对象描述数据的类型、内容、性质和数据之间的相互关系。数据结构是刻画一个数据模型性质的最重要的方面。在数据库系统中通常按照数据结构的类型来命名数据模型。例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。 数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。例如,数据库中主要的操作有查询和更新(插入、删除、修改)两大类。数据模型要给出这些操作确切的含义、操作规则和实现操作的语言。因此,数据操作规定了数据模型的动态特性。 数据的约束条件数据的约束条件是一组完整规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库的状态以及状态的变化,以保证数据的正确、有效、相容。1.2.3 数据结构模型数据库系统模型是指数据库中数据的存储结构。根据具体数据存储需求的不同,数据库可以使用多种类型的系统模型。较常见的有层次模型、网状模型和关系模型,以及表示现实复杂问题的面向对象的模型。1层次模型这种模型描述数据的组织形式像一棵倒置的树,它由节点和连线组成,其中节点表示实体。树有根、枝、叶,在这里都称为节点,根节点只有一个,向下分支,是一种一对多的关系。例如,行政机构或者家族谱的组织形式都可以看作是层次模型,如图1-12所示。此种类型数据库的优点:层次分明、结构清晰、不同层次间的数据关联直接简单。它的缺点:数据将不得不纵向向外扩展,节点之间很难建立横向的关联。对插入和删除操作限制较多,查询非直系的节点非常麻烦。层次模型示意图2网状模型网状模型示意图这种模型描述事物及其联系的数据组织形式就像一张网,节点表示数据元素,节点间连线表示数据间的联系。它去掉了层次模型的两个限制,允许多个节点没有双亲节点,允许节点有多个双亲节点,此外它还允许两个节点之间有多种联系。节点之间是平等的,无上下层关系。如学校中的“教师”、“学生”、“课程”、“教室”等事物之间有联系但无层次关系,可认为是一种网状结构模型,如图1-13所示。此种类型数据库的优点:能很容易地反映实体之间的关联,同时避免了数据的重复性。关系模型示意图缺点是结构比较复杂,路径太多,当加入或删除数据时,牵动的相关数据较多,不易维护和重建。3关系模型关系型数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格的形式体现的。数据表与数据库之间存在相应的关联,这些关联将用来查询相关的数据,如图1-14所示。在二维表中,每一行称为一条记录,用来描述一个对象的信息。每一列称为一个字段,用来描述对象的一个属性。4面向对象模型面向对象数据模型能完整地描述现实世界中复杂的数据结构,并具有封装性和继承性等面向对象技术的特点。面向对象的数据模型基于对象(现实世界中实体的抽象)、属性(描述对象的特性)、类(具有相同特性的对象被分组为类)、类层次(类似于一棵倒立的树,其中每个类只有一个双亲)和继承性(类层次中的对象继承上层类的属性和方法的能力)。1.3 关系模型理论关系模型对数据库的理论和实践产生了很大的影响,并且比层次和网状模型有明显的优点,成为当今市场的主流。若要深入学习Access 2003的相关内容,则了解及掌握关系模型理论是非常必要的。1.3.1 关系数据库概述关系数据库是利用数据库进行数据组织的一种方式,是现代流行的数据管理系统中应用最为普遍的一种,也是最有效率的数据组织方式之一。关系数据库建立在集合论坚固的数学基础之上,是集合论在数据组织领域的应用。1关系模式在关系数据库里,所有的数据都按表(按关系理论的术语,表应该被称为“关 系”)进行组织和管理。实体和联系均用二维表来表示的数据模型称为关系数据模型,如图1-15所示。 二维表二维表的表头那一行称为关系模式,又称表的框架或记录类型。其关系模式特点 如下: 是记录类型,决定二维表的内容; 数据库的关系数据模型是若干关系模式的集合; 每一个关系模式都必须命名,且同一关系数据模型中的关系模式名不允许相同; 每一个关系模式都由一些属性组成,关系模式的属性名通常取自相关实体类型的属性名; 关系模式可表示为关系模式名(属性名1,属性名2,.,属性名n)的形式,如教师信息表(编号,姓名,职称,年龄,性别,所属院系,电话)。2关系对应于关系模式的一个具体的表称为关系,又称表(Table)。关系数据库是若干表(关系)的集合。关系模式决定其对应关系的内容。每一个关系都必须命名(通常取对应的关系模式名),且同一关系数据模型中的关系名互不相同。3实体实体是客观世界中存在的且可互相区分的事物。实体可以是人,可以是物体实物,也可以是抽象概念。例如:图书、学生、教师、课程等都是实体。同一类实体的所有实例就构成该对象的实体集。实体集是实体的集合,由该集合中实体的结构或形式表示,而实例则是实体集中的某个特例。例如,在“教师信息”表中,该数据表为一个实体集,如图1-16所示,而每位教师的信息为一个实体。 实体集在实体集中包含有多个实体。而对于数据库来说,则该数据表有许多记录内容。因此,一个实体也可以看作数据库中的一个条记录。4键键(Key)在关系中用来标识行的一列或者多列。键可以是唯一(Unique)的,也可以不唯一(NonUnique)。表1-1中描述了关系数据库中一些关于键的内容。关系模式中的键键 名英 文含 意键码Key关系模型中的一个重要概念,在关系中用来标识行的一列或多列候选关键字Candidate Key唯一地标识表中的一行而又不含多余属性的一个属性集主关键字Primary Key被挑选出来作为表行的唯一标识的候选关键字。一个表只有一个主关键字,主关键字又称为主键公共关键字Common Key在关系数据库中,关系之间的联系是通过相容或相同的属性或属性组来表示的。如果两个关系中具有相容或相同的属性或属性组,那么这个属性或属性组被称为这两个关系的公共关键字外关键字Foreign Key如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外关键字。由此可见,外关键字表示了两个关系之间的联系。外关键字又称作外键教师信息表例如,在“教师信息”表中,【编号】列是唯一键,如图1-17所示,因为一个编号值可以唯一地确定一行。5关系类型在关系模型中,实体和实体间的联系都是用关系表示的。也就是说,二维表格中既存放着实体本身的数据,又存放着实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。 一对一关系 一对一关系如果对于实体集A中的每一个实例,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为“1:1”。例如,在“选修课表”中,【课程号】字段与“成绩表表”中的【课程号】字段之间的内容是单一的,并且课程与课程之间具有一对一的联系,如图1-18所示。 一对多关系如果对于实体集A中的每一个实例,实体集B中有n个实例(n0)与之联系。反之,对于实体集B中的每一个实体,实体集A中至多只有一个实例与之联系,则称实体集A与实体集B具有一对多联系,记为“1:n”。例如,在“系别信息表”中的【专业编号】字段的一个编号,可以在“学生信息表”的【专业编号】字段中找到相对应的多个编号,如图1-19所示。 一对多关系 多对多关系如果实体集A中的每一个实例在实体集B中有n个实例(n0)与之联系。反之,对于实体集B中的每一个实例,实体集A中也有m个实例(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。1.3.2 关系数据库操作关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式。它用于关系运算及表达式查询。关系运算符有四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符,如表1-2所示。数据操作运 算 类 型含 义集合运算符并、差、交比较运算符大于、大于等于、小于、小于等于、等(不等)于逻辑运算符非、与、或专门运算符笛卡儿积、选择、投影、连接、除根据运算符的不同,在关系代数中,可以将运算符分为传统的集合运算符和专门运算符。1传统的集合运算传统的集合运算是从关系的水平方向进行的,主要包括:并、交、差及广义笛卡儿积。 并(Union) 关系R与S的并记作:RUStR V tS。 差(Difference) 关系R与S的差记作:R-StR tS。 交(Intersection) 关系R与S的交记作:RStR tS。 广义笛卡儿积(Extended Cartesian Product) 两个分别为n目和m目的关系,R和S的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有K1个元组,S有K2个元组,则R和S的广义笛卡儿积有 K1K2 个元组。记作:RS trts | trR tsS。2专门的关系运算专门的关系运算可以从关系的水平方向进行运算,也可以向关系的垂直方向运算。下面介绍常见的3种方法。 选择运算选择是从关系中查找符合指定条件行的操作。以逻辑表达式为选择条件,将筛选满足表达式的所有记录。选择操作的结果构成关系的一个子集,是关系中的部分行,其关系模式不变。选择操作是从二维表中选择若干行的操作。 选择操作例如,在Access中,将“图书信息表”中的记录按照【类别编号】字段进行选择查询。例如,选择类别编号为A的记录,如 图1-20所示。 投影运算投影是从关系数据表中选取若干个属性的操作。所选择的若干属性将形成一个新的关系数据表,其关系模式中属性的个数由用户来确定,或者排列顺序不同,同时也可能减少某些元组。因为排除了一些属性后,特别是排除了关系中关键字属性后,所选属性可能有相同值,出现了相同的元组,而关系中必须排除相同元组,从而有可能减少某些元组。例如,在单个关系数据表“图书信息表”中查看【书名】、【作者】和【出版社】等字段的内容,如图1-21所示。 投影操作 连接运算连接是将两个或者两个以上的关系数据表的若干属性拼接成一个新的关系模式 的操作。对应的新关系中包含满足连接条件的所有行。连接过程是通过连接条件来控 制的,连接条件中将出现两个关系数据表中的公共属性名,或者具有相同语义、可比的属性。例如,将“学生信息表”中的【姓名】字段、“选修课表”中的【课程名】字段、“成绩表”中的【成绩】字段拼合成一个实体集,如图1-22所示。 连接操作1.3.3 关系模型与关系图实体-关系体数据模型(E-R模型)是一种高阶概念性的数据模型,此数据模型被重视的理由是,E-R模型可以协助数据库的设计且被数据库系统广泛采用。实体-关系模型(Entity Relationship Model,ER Model)与实体-关系图(Entity Relationship Diagram,ER Diagram)是用来建置数据模型的主要工具。实体关系模型是系统分析中数据分析的表达和描述。1实体-关系模型实体-关系模型是一项详细的逻辑性(Logical)和观念性(Conceptual)的数据表示法(Data Representation)。用以表达企业所需记载和储存的数据项。实体-关系模型是理论性定义,而实体-关系图是表达此理论的应用方法。 实体在前面已经了解了实体及实体集内容,如由数个属性和值来描述的信息,是实实在在的客观存在。实体本身不能被装进数据库,在数据库里出现的实体只能是实体的名称或标识符以及实体的一部分属性。实体又分为实体型态(Entity Type)和实体实例(Entity Instance)。实体型态是具有相关属性的数据型态的集合,或是实体实例的属性集合。实体实例则是具有实际值(Value)且实际存在的数据主体中的一员。例如,员工是实体型态,而员工信息是实体实例。 属性属性描述数据实体的本质(Property)或特性(Characteristic),如一本书的作者、出版社、定价、出版日期、页码数。根据系统的需求,每个属性都有它的数据类型和特性。特性是指定该属性在某些情况下是否为必需的,属性有默认值以及属性的取值限 制等。 联系所谓关系(Relationship),是指两个以上实体之间的关系。例如,在选修课表中,每一条记录对应着“教师信息”表中的教师信息,即每一门课程都需要有一位教师来担任。这就是两个关系数据表之间的联系,如图1-23所示。 实体关系2实体-关系图实体-关系图是绘制实体关系模型的绘制图形工具(Diagramming Tool)。用E-R图表示数据结构,是一种用来在数据库设计过程中表示数据库系统结构的方法。它的主导思想是使用实体(Entity)、属性(Attribution)以及实体之间的关系(Relationship)来表示数据库系统的结构。因此,E-R图中的具体表示方法为: 实体型 用矩形表示,矩形框内标明实体名; 属性 用椭圆形表示,并用无向边将其与实体连接起来; 联系 用菱形表示,菱形框内标明联系名,并用无向边连接有关实体,同时在无向边旁标明联系类型。下面用E-R图来完成“图书销售管理系统”的概念模型设计:首先,需要对该管理系统进行需求分析,从而得出该系统运作的数据流程图(这些内容不作详细阐述)。然后,设计局部E-R图进行概念模型设计。在原有的数据流程图的基础上设计局部E-R图并提取实体型态。因此,可以将实体型态归纳起来,大致有“图书信息表”、“库存图书表”、“销售图书表”、“进书表”、“销售人员表”、“进货人员表”等。 “图书信息表”实体型态图书信息表在“图书信息表”实体型态中包含有“书号”、“书名”、“出版社”、“作者”和“类别编号”等实体内容,而“书号”为主键,如图1-24所示。 “库存图书表”实体型态在“库存图书表”实体型态中包含有“书号”、“进库日期”、“数量”和“进货员编号”等实体内容,而“书号”为主键,如图1-25所示。 “图书类别表”实体型态在“图书类别表”实体型态中包含有“类别编号”和“类别名称”等实体内容,而“类别编号”为主键,如图1-26所示。库存图书表 图书类别表 销售图书表 销售人员表 “销售图书表”实体型态在“销售图书表”实体型态中包含有“书名”、“数量”、“折扣”、“操作员编号”和“金额”等实体内容,而“书名”为主键,如 图1-27所示。 “销售人员表”实体型态在“销售人员表”实体型态中包含有“员工ID”、“员工姓名”、“年龄”、“性别”和“联系方式”等实体内容,而“员工ID”为主键,如图1-28所示。 “进书表”实体型态在“进书表”实体型态中包含有“书名”、“数量”、“进书单价”、“进书日期”和“操作员编号”等实体内容,而“书名”为主键,如图1-29所示。 “进货人员表”实体型态在“进货人员表”实体型态中包含有“员工ID”、“员工姓名”、“联系方式”、“性别”和“年龄”等实体内容,而“员工ID”为主键,如图1-30所示。通过上述的实体型态设计E-R图后,再来研究各实体型态之间的联系。也可以参照用户自己所设计的流程图来建立实体形态联系,并完善它们之间的关系类型。图1-31为创建的各个实体形态联系。 进书表 进货人员表 实体型态联系1.4 完整性及范式理论数据库中的数据是从外界输入的,而在输入数据时会发生意外,如输入无效或错误信息等。保证输入的数据符合规定,是多用户的关系数据库系统首要关注的问题,也是数据完整性的重要特性。因此,在设计数据库时,最重要的是确保数据正确存储到数据库的表中。当然使用正确的数据结构可以极大地简化数据库管理系统(如查询、窗体、报表、代码等)。这是表设计的一种规范,也称之为“数据库规范化”。1.4.1 关系数据库完整性数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,所以数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。在关系数据模型中一般将数据完整性分为3类。1实体完整性实体完整性规定表的每一行在表中是唯一的实体。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。实体完整性规则如下: 实体完整性要保证关系中的每个元组都是可识别的和唯一的。 实体完整性规则的具体内容是:若属性A是关系R的主属性,则属性A不可以为空值。 实体完整性是关系模型必须满足

温馨提示

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

评论

0/150

提交评论