版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章数据库技术
4-1数据库基本概念
4-2关系代数
4-3数据库设计
4-4关系数据库语言(SQL)
4-5数据库的保护本章主要介绍:数据库系统的基本概念,关系代数,关系数据库的基本概念及设计方法。学会将一个具体问题抽象出实体、属性,找到关键字及它们之间的联系,能画出E-R图、初步E-R图和基本E-R图,并能将一个E-R图转化为具体的关系模式,能用关系代数和SQL语言对关系进行操作,找到所需信息。重点:
理解数据库系统的基本概念,掌握关系代数的基本运算和SQL语言,掌握关系数据库的基本概念及设计方法。难点:关系数据库的基本概念及设计方法,使用SQL语言正确完成复杂查询。4.1数据库基本概念4.1.1数据库系统概述一、数据与数据处理1、信息现实世界中各种事物的存在方式、运动形态以及它们之间的相互联系等诸要素在人脑中的反映,通过人脑的抽象后形成概念。2、数据信息的一种符号化表示方法。数据的概念包括两个方面含义:数据的内容是信息(语义),数据的表现形式是符号。
数据在大多数人头脑里的第一反应就是数字,其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。广义地,数据可以是文字、图形、图象、声音、学生档案记录、货物的运输情况等。数据有多种表现形式,它们都可以经数字化后存入计算机。3.信息与数据的关系数据是承载信息的物理符号(载体),信息是数据的内涵二者的区别:
数据可以表示信息,但不是任何数据都能表示信息,同一数据可以有不同的解释。信息是抽象的,同一信息可以有不同的数据表示方式。4、数据处理将数据转换成信息的过程。例:在学生档案中一个学生的数据可以这样描述 (李明,男,21,1972,江苏,物理系,2000)经过转换我们可得到如下信息:李明是一个大学生,1972年出生,男,江苏人,2000年考入物理系。如不将上述数据转换成信息,你也许就不能理解其数据的含义。
信息=数据+处理为提高数据处理后得到信息的价值,必须用科学的方法来管理数据,这种科学方法就是数据库技术。二、数据库管理技术
人工管理
→文件系统
→数据库管理系统人工管理:1.背景
20世纪50年代中期以前2.特点
数据面向应用程序,应用程序与其处理数据包含在程序中,用户必须考虑存储、使用数据的一切工作,3.程序与数据的关系存在问题:(1)数据不保存(2)应用程序管理数据(3)数据不能共享(4)数据不具有独立性文件系统阶段1.背景
20世纪50年代后期至60年代中期2.特点依靠操作系统的文系统将一大堆杂乱的数据按一定的规律组成文件,有独立的文件名。程序通过文件系统这个接口与数据文件发生联系。一个应用程序可用多个数据文件,而不同的应用程序也可使用同一个数据文件(1)数据可以长期保存(2)文件系统管理数据3.程序与数据的关系存在问题:①数据冗余度大数据冗余度是指不必要的重复存储。文件系统中数据文件基本上对应于一个应用程序,即文件是面向应用的,数据文件之间彼此孤立,不能反映数据之间的联系,当不同的应用程序具有相同的数据时,也必须建立各自的文件,同一数据可能重复出现在多个数据文件中,数据不能共享。例:学生成绩数据文件、学生团员数据文件、学生数据文件,这三个文件中可能有很多重复数据。②缺乏数据独立性文件系统中数据文件是为满足特定的需要而设置的,服务于某一特定的应用程序,数据和程序间相互依赖,修改数据必须修改程序,修改程序也必须要修改数据。③数据无集中管理除对数据项的存取由系统承担以外,对数据文件的其它管理(例如修改、增删)必须由应用程序承担。数据库管理系统数据库是结构化的相关数据集合,它不仅包含数据本身,而且还包含关于数据间的一切联系,数据库中数据不只面向某一项特殊的应用,而是面向多种应用,可以被多个用户、多个应用程序所共享(例如某个学校所涉及的全部数据的汇集)。其数据独立于使用数据的程序,有专门的软件对数据实行专门管理,对数据的修改、增删、检索等操作均由这个软件统一控制。1.背景20世纪60年代后期2.数据库系统阶段程序与数据的关系3.特点:(1)数据结构化数据库系统与文件系统的本质区别。(2)实现数据共享,减少冗余因数据是面向整个系统,而不是某个特定的应用程序,故数据可被多个用户所共享,共享可减少冗余度。(3)具有较高的数据独立性
物理数据独立性:用户应用程序与存储在磁盘上数据库中数据相互独立。数据在磁盘上的存储由DBMS管理,用户不需要了解,应用程序要处理的只是数据的逻辑结构,当数据物理(存储)结构改变时,应用程序不必改变。逻辑数据独立性:用户的应用程序与数据库的逻辑结构是相互独立的。(4)数据由DBMS统一管理和控制保证了数据安全性(无关人员不能随意读取)、完整性(未授权人员不能修改)、并发性(多个用户同时使用数据库中数据时,由DBMS统一分配管理,不会出现程序之间互相干扰)。三、数据库系统的构成①
数据库存贮在计算机内有结构的数据集合(存放数据仓库,它里面的数据按一定的格式存放)。②数据库管理系统(DBMS)以统一的方式管理和维护数据库,并提供访问数据库接口的软件(介于用户应用程序与数据库之间的一个接口)其主要功能:定义数据库结构、管理数据库、建立和维护数据库、与操作系统的通信。③数据库系统指引进数据库技术后的计算机系统。一般由支持数据库运行的软硬件、数据库、数据库管理系统、数据库管理员和用户等部分组成的。数据库的建立、使用和维护工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人称为数据库管理员(DBA)
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。4.1.2数据库系统结构从数据库管理系统的角度:数据库系统通常采用三级模式结构,数据库管理系统内部的系统结构。从数据库最终用户的角度:数据库结构分为集中式、分布式、客户/服务器和并行结构,这是数据库管理系统外部的系统结构。一、数据库系统模式概念模式是数据库中全体数据的逻辑结构和特征的描述,采用三级模式结构并提供两级映像功能,保证数据库中数据具有较高的逻辑独立性和物理独立性。
1、数据库系统三级模式结构①.模式(逻辑模式或概念模式)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发工具及高级程序设计语言无关。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构(例数据记录由那些数据项构成,数据项的名字、类型、取值范围等,还要定义数据之间的联系,定于与数据有关的安全性、完整性要求。
DBMS提供模式描述语言(模式DDL)定义模式②.外模式(子模式或用户模式)是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式一般是模式的子集。一个数据库可以有多个外模式,由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,其外模式描述就不同。即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。同一个外模式也可以为某一个用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。
DBMS提供子模式描述语言(子模式DDL)定义子模式③.内模式(存储模式)是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。(例记录的存储方式是顺序存储还是hash方式存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等)。一个数据库只有一个内模式。DBMS提供内模式描述语言(内模式DDL)定义内模式二、数据库的二级映象功能与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方法与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象。(1)“外模式/模式”之间的映象模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。当模式改变时由DBA对各个外模式/模式的映象作相应修改,可使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(2)“模式/内模式”之间的映象数据库只有一个模式,也只有一个内模式,模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变时,由DBA对各个模式/内模式的映象作相应修改,可使模式保持不变,从而应用程序也不用修改,保证了数据与程序的物理独立性,简称数据的物理独立性。
在数据库的三级模式结构中,数据库模式(全局逻辑结构)是数据库的中心和关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。
数据库外模式面向具体应用程序,它定义在逻辑结构之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应外模式不能满足需要,该外模式就应做相应修改,所以设计外模式时应充分考虑到应用的扩充性。
特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据的模式和存储结构独立。不同的应用程序可以共用同一个外模式。
数据库二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。
数据与程序之间的独立性,使数据的定义和描述可以从应用程序中分离出去。另外,由于数据存取有DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。4.1.3数据描述与数据模型模型是现实世界特殊的模拟和抽象。数据模型也是一种模型,它是现实世界数据特征的抽象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲,数据模型就是对现实世界的模拟。现有数据库系统均是基于某种数据模型的,因而了解数据模型的基本概念是学习数据库的基础数据模型应满足三个方面的要求:①能比较真实地模拟现实世界;②容易为人们所理解;便于在计算机上实现不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可将它们划分为两类,它们分属两个不同层次。①概念模型(信息模型):按用户观点来对数据和信息建模,主要用于数据库的设计。②数据模型:按计算机系统观点来对数据建模,主要用于DBMS
的实现,分为网络模型、层次模型和关系模型等。一、观念世界中名词术语(1)实体:客观存在并可相互区别的事物。它是客观存在的事物在人头脑中的反映。实体既可以是实际的事物,也可以是抽象的概念或联系。例:具体的人(如一个教师、一个学生等)、物(一本书、一门课);抽象的事物(一次借书);事物与事物之间的联系(某个教师在某系工作,某个学生选某门课)等。(2)属性:实体所具有的特性,一个实体可以由若干个属性描述例:学生实体可由(学号,姓名,性别,出生年份,系,入学时间)而(94002,张三,男,1976,物理,1994)张三这个学生。
即实体是若干属性的属性值的集合。(3)码(键、关键字):惟一标识实体属性或属性组合。例:学号是学生实体的关键字(码)(4)域:属性的取值范围称为该属性的域。例:学号的域为5位整数,姓名域为字符串集合,年龄域为小于40岁,性别域为(男、女)(5)实体型:表征某一类实体的属性(名)的集合。实体是若干属性的集合,具有相同属性的实体必然具有共同的特征和性质,用表征某一类实体的属性的集合来抽象刻画同一类实体,称为实体型。例:学生实体型:(学号,姓名,性别,出生年份,系,入学时间)→描述该类实体的特征(学生实体特征)学生实体:(94002,张三,男,1976,物理,1994)
→描述某个具体的实体(某个学生信息)分清属性名(姓名)与属性值(张三);
属性名集合→实体型,属性值集合→实体。(6)实体集:同类(具有相同属性)实体(值)的集合。例:同一个班的学生具有共同的属性,每个学生为一个实体,全班学生的集合称为实体集。实体值集合→实体集
(7)联系:联系分为两种:一种是实体内部各属性之间的联系,另一种是实体之间的联系。实体间的各种联系可以归结为三类:①一对一联系(1:1):如果对于实体集E1中的每个实体,实体集E2中至多有一个(可以没有)与之相对应,反之亦然,则称实体集E1与实体集E2具有一对一联系。②一对多联系(1:n):如果对于实体集E1中的每个实体,实体集E2中有n个实体(n≥0)与之相对应,反过来,实体集E2中的每个实体,实体集E1中至多只有一个实体与之联系,则称实体集E1与实体集E2具有一对多联系。③多对多联系(m:n):如果对于实体集E1中的每个实体,实体集E2中有n个实体(n≥0)与之相对应,反过来,实体集E2中的每个实体,实体集E1中也有m个实体(m≥0)与之联系,则称实体集E1与实体集E2具有多对多联系。
可看出1:1是1:n的特例,1:n又是m:n的特例。可以分别用图形表示两个实体之间的联系。
当涉及到三个及以上的实体集同时联系时,应认真分析,使之能真实地反映现实世界。例:如有三个实体集:教师、学生和课程,它们之间有如下关系:一门课可由若干学生选修,每个学生可选修多门课程,每门课程由不同的教师讲授。
同一实体集内部各实体之间也可以存在一对一、一对多和多对多的联系。例:职工实体集内部具有领导与被领导的联系,即一个职工(干部)领导若干名职工,而一个职工仅被另一个职工直接领导,故为一对多联系。
用上面概念可将现实世界中的事物及其联系在观念世界中描述出来。事物——实体事物特征——实体属性 不同事物之间联系——实体集之间联系事物内部联系——实体集中实体之间联系二、概念模型的表示方法
前面已介绍,我们用概念模型表示观念世界中的数据和信息,所以概念模型应该能够方便、准确地表示出上述观念世界中的常用概念。概念模型有很多种,其中最为流行的一种是由美籍华人陈平山于1976年提出的实体联系模型(Entity-RelationshipModel,简称E-R模型),这种图称为实体-联系图,简称E-R图,E-R图提供了表示实体集、属性和联系的方法
E―R图有三个要素:①用矩形框表示实体,框内标明实体名。②用椭圆框表示实体的属性,框内标明属性名,用连线与实体连接起来。③用菱形表示实体间的联系,框内标明联系名,用连线将菱形框分别与相关实体相连,并在连线上标明联系类型(1:1,1:n或m:n)。如这些联系具有属性,则这些属性也用连线与联系相连。例1:mn例2:用E-R图来表示某个工厂物资管理的概念模型,物资管理涉及的实体集有:仓库:仓库号、面积、电话号零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称这些实体集之间的联系如下:①一个仓库可存放多种零件,一个零件可存放在多个仓库,用库存量表示某个零件在某个仓库中的数量②一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作职工之间有领导与被领导的关系④一个供应商可以供给若干项目多个零件,每个项目可使用不同供应商供应的零件,每种零件可由不同供应商供给。仓库:仓库号、面积、电话号零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称实体-联系图(E-R图)一个仓库可存放多种零件,一个零件可存放在多个仓库,用库存量表示某个零件在某个仓库中的数量;一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作职工之间有领导与被领导的关系;一个供应商可以供给若干项目多个零件,每个项目可使用不同供应商供应的零件,每种零件可由不同供应商供给。例3、一个简单的工厂管理系统,通过实地调查分析,该工厂管理的实体集类型有:雇员、部门、项目、零件、供应商和仓库。雇员:雇员号、姓名、年龄、职称部门:部门号、名称、电话号项目:项目号、预算、开工日期零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号、帐号仓库:仓库号、面积、电话号这些实体集之间的联系如下:①一个雇员只能在一个部门工作,一个部门可以有多个雇员②一个雇员可参加一个以上项目,每个项目需多个人参加③每个项目必须确定一个负责人,一个人可负责多个项目一个供应商可以为多个项目提供零件,每个项目可从不同供应商那里采购零件,每个项目需多个零件⑤系统还保存多个供应商可以提供零件的种类和数量⑥一种零件可以由其它几种零件组装而成⑦购买的零件存放在仓库中,一个仓库可存放多种零件,一个零件也可以存放在不同的仓库中雇员:雇员号、姓名、年龄、职称部门:部门号、名称、电话号项目:项目号、预算、开工日期零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号、帐号仓库:仓库号、面积、电话号实体-联系图(E-R图)或参加零件
零件号
规格
描
述
名称
单价
雇
员
雇员号
姓
名
年
龄
职
称
部
门
部门号
名称
电话号
项
目
项目号
预
算
开工日期
仓
库
仓库号
面积
电话号
工
作
职
务
供应商
供应商号
地址
电话号
姓名
帐号
供应
可供应
零件类型
零件数
存放
库存量
供应量
装配
数量
1
n
mnm
n
p
m
n
m
n
m
n
三、数据模型
数据模型是将观念世界中实体及实体之间的联系进一步抽象成便于计算机处理的数据模型,一般分为三类(层次模型、网状模型、关系模型),现在又提出一种“面向对象模型”。任何一个DBMS都是基于某种数据模型的。一个数据模型由数据结构(逻辑结构、物理结构)、数据操作和完整性约束条件三个方面描述。
在非关系模型中:实体——记录实体属性——记录数据项(字段)
实体型——记录型实体集——文件实体间联系在非关系模型中转换为记录之间的联系。注意:这里讲的数据模型都是逻辑上的,即用户眼中看到的数据范围。同时它们又都是能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持的数据视图。这些数据模型将以一定的方式存储于数据库系统中,是DBMS中的存储模型。1、层次模型
用树型结构来表示记录及记录之间的联系,层次模型按树型结构组织数据,它是以记录型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。
层次模型容易表示1:n联系,但是它不能直接表示m:n的联系,必须分成几个1:n来实现,比较麻烦。2、网状模型以记录型为结点的网状结构(图),以记录型为结点,连线表示它们之间的关系,网中结点之间的联系不受层次限制,可以任意发生联系。容易实现m:n
学院
网状模型和层次模型都属性格式化模型,即在建立数据模型时,应根据应用需要,事先把数据之间的逻辑关系固定下来(必须先画出它们之间的联系图),结构复杂,不利于扩充、维护。
20世纪70年代网状模型和层次模型数据库在商业上得到广泛应用,但现在已退出历史舞台,取而代之的是关系模型,即关系型数据库。3、关系模型⑴、关系模型逻辑结构关系数据模型是由IBM公司的E.F.Codd于1970年首次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统(RDBMS),目前广泛使用。它是建立在严格的数学概念的基础上。在用户观念下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。例:
关系模型中,数据为一个二维表,每个二维表称为一个“关系(表)”。几个术语:关系(表)、元组(记录)、属性(字段)、关系模式、值域(域)、主键(关键字)、外键①关系(表)关系模型中一个具体的二维表称为关系。②关系模式
二维表表头称为关系模式,是对关系的描述。关系模式表示为:关系模式名(属性名1,属性名2,...,属性名n)例:学生(学号,姓名,性别,出生日期,所在系)关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系数据库中内容不断变化。主键
关系
表
关系模式
元组
行
属性
列
属性名
列名
jbqk
关系名
表名
③元组(记录)关系中的每一行称为关系的一个元组。④属性(字段)表中每一列称为一个属性,对属性的命名称为属性名,取值称为属性值⑤值域(域)每个属性的取值范围称为该属性的值域。如人年龄值域一般在{0~150}岁之间,性别的值域为{男、女},所在系的值域为一个学校所有系名的集合。⑥主键(关键字)能够惟一标识一个元组的属性集。⑦外键设F是关系R的一个或一组属性,但不是关系R的主键,如果F与另一关系S的主键K相对应,则称F是关系R的外键。例1:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)
学生关系“专业号”属性与专业关系的主键“专业号”相对应,因此“专业号”属性是学生关系外键。对于表示关系的二维表,最基本的要求:表中每一个元组的每一个分量,必须是不可分的数据项,即不允许表中再有表。12212212122
在关系模型中,实体及实体间的联系都用关系来表示例:学生与课程间多对多的联系在关系模型中可表示为三个关系学生(学号,姓名,性别,年龄,籍贯)课程(课程号,课程名,上课地点)选修(学号,课程号,成绩)通过选修中外键字段:学号、课程号,将学生与课程联系起来实体联系
在一个给定的应用领域中,所有实体及实体间联系的关系的集合构成一个关系数据库。⑵、关系模型物理结构
关系模型中,实体及实体间的联系都用关系(二维表)来表示。在数据库的物理组织中,关系表以文件形式存储。一个表或几个表对应一个操作系统文件。⑶、关系模型中数据进行操作关系模型中数据进行主要操作:查询、插入、删除、修改数据、投影、连接。⑷、关系模型的完整性约束条件在关系数据库中关系模式是型,关系是值。关系模式是对关系的描述,现实世界随时间在不断变化,因而在不同时刻,关系模式的关系也会有所变化。但现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的约束条件。这些约束条件或者通过对属性取值范围的限定(例大学生入学年龄小于30岁),或者通过属性值间的相互关连(属性间存在函数关系)反映,关系模式应当能刻划这些约束条件。完整性约束条件是一组完整性规则集合,完整性规则用于限定符合数据库状态及状态变化,以保证数据的正确、有效、相容。关系模型完整性约束条件有三类:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。①实体完整性规则
基本关系的所有主属性(主键中属性)都不能取空值关系模型中关系对应于现实世界的一个实体集,现实世界中实体是可区分的,即它们具有某种唯一性标识,在关系模型中用主键作为唯一标识,主键的属性值不能取空值。所谓空值就是“不知道”或“无意义”的值。如果主属性取空值,就说明存在某个不可识别的实体,即存在不可区别的实体,与现实世界中实体是可区分的相矛盾,因此这个规则称为实体完整性。例:学生(学号,姓名,性别,专业号,年龄)
课程(课程号,课程名,上课地点)选修(学号,课程号,成绩)②参照完整性规则
现实世界中实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这就存在关系与关系间的引用。例1:学生实体和专业实体用下列关系表示,主键用下划线标识学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)这两个关系间存在属性的引用,学生关系引用了专业关系的主键“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。学生关系中的某个属性的取值需要参照专业关系的属性取值。例2:学生、课程学生与课程间多对多联系可表示为三个关系学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)
这三个关系间也存在属性的引用,选修关系中某些属性取值需要参照其他关系的属性取值。例3:学生(学号,姓名,性别,专业号,年龄,班长)同一个关系内部属性间存在属性的引用。参照完整性规则就是定义外键与主键之间的引用规则。其规则为:
若属性(或属性组)F是关系R的外键,它与关系S的主键K相对应,则对于R中每个元组F上的值必须为:空值(F中每个属性值均为空值);或等于S中某个元组的主键值。例:根据参照完整性规则:对于例1,学生关系中每个元组的“专业号”属性只能取下面两类值:空值(表示尚未给该学生分配专业);非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中。对于例2,选修关系中“学号”和“课程号”属性只能取在学生和课程关系中已经存在的值(因“学号”和“课程号”为选修主键)对于例3,“班长”属性只能取空值(表示该学生所在班尚未选出班长)或“学号”属性中已经存在的学号值。③用户定义的完整性
任何关系数据库系统都应该支持实体完整性和参照完整性,除此之外,不同的关系数据库系统根据其应用环境不同,还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须遵循的特定语义约束条件。例如,在学校数据库中规定大学生入学年龄不得超过30岁,硕士研究生入学年龄不得超过38岁,学生累计成绩不得有三门以上不及格,分数属性取值范围在0~100等。
关系模型提供了定义和检验这类完整性的机制,以便用统一的系统方法处理它们,而不需应用程序承担这一功能。4、关系模型优缺点优点:由于实体和联系都用关系描述,因此数据结构简单直观、用户易理解②具有很高的数据独立性。在关系模型中,用户不涉及数据的物理存储,只与数据本身的特性发生关系,因此数据的独立性很高。③可以直接处理多对多的联系。在关系模型中,由于使用表格数据来表示实体之间的联系,因此,可以直接描述多对多的联系④有严格的设计理论(关系代数)⑤存取路径对用户透明,从而具有更高的独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作量。主要缺点:由于存取路径对用户透明,造成查询速度慢,效率低于非关系型数据模型。
现实世界 观念世界 关系模型事物 实体 元组事物特性 属性 属性同类事物特征 实体型 关系模式同类事物集合 实体集 关系事物之间联系实体间联系关系在关系模型中,不需要事先构造数据的逻辑关系,只需将数据按照一定的关系存入计算机(即将数据放在不同的关系表中),当需要用到这些数据时,就可将这些关系归结为集合的运算,如:并、交、差、投影等,从而在许多数据中选取所需的数据。
4.2关系代数 1.域定义1域:一组具有相同数据类型的值集合。例如:整数、实数、字符串、{男,女},{0,1}等都可以是域基数:域中数据的个数称为域的基数M。域被命名后用如下方法表示:D1={白亚春,陈韬,王雪莲},表示姓名的集合,基数是3;D2={计算机系,电子系}2.笛卡尔积定义2给定一组域Dl,D2,…,Dn,则Dl,D2,…,Dn的笛卡尔积为:Dl×D2×…×Dn={(d1,d2,…dn)|di∈Di,i=1,2,…n}其中每一个元素(d1,d2,…,dn)叫作一个元组,元组中的每一个值di叫作一个分量,di必须是Di中的一个值。显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,…,n)为有限集合,其基数为mi(i=1,2,…,n),则D1×D2×…×Di×…×Dn笛卡尔积的基数M为:例如,我们给出三个域:
Dl=导师集合supervisor={张清梅,刘逸}D2=专业集合speciality={计算机,信息}D3=研究生集合postgraduate={李勇,刘晨,王敏}Dl×D2×D3={(张清梅,计算机,李勇),(张清梅,计算机,刘晨),(张清梅,计算机,王敏),(张清梅,信息,李勇),(张清梅,信息,刘晨),(张清梅,信息,王敏),(刘逸,计算机,李勇),(刘逸,计算机,刘晨),(刘逸,计算机,王敏),(刘逸,信息,李勇),(刘逸,信息,刘晨),(刘逸,信息,王敏)}这2×2×3=12个元组可列成一张二维表:
supervisorspecialitypostgraduate张清梅计算机李勇张清梅计算机刘晨张清梅计算机王敏张清梅信息李勇张清梅信息刘晨张清梅信息王敏刘
逸计算机李勇刘
逸计算机刘晨刘
逸计算机王敏刘
逸信息李勇刘
逸信息刘晨刘
逸信息王敏3.关系定义3笛卡尔积D1×D2×…×Di×…×Dn的子集R称作在域D1,D2,…,Dn上的关系,记作:R(D1,D2,…,Di,…,Dn)其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名.当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。关系是笛卡尔积的有限子集,所以关系也是一个二维表,表中每行对应一个元组,每列对应一个域。由于域可以相同,为区分,必须对每列起一个名字,称为属性。n目关系必有n个属性。
从上例的笛卡尔积中取出一个子集来构造一个关系。由于一个导师只有一个专业,一个研究生只能师从于一个导师,学习某一个专业,所以笛卡尔积中许多元组是无意义的,从中取出有意义的元组来构造关系,该关系为:SPA(supervisor,speciality,postgraduate)关系可以分为三种类型:基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;查询表:是对基本表进行查询后得到的结果表;视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据supervisorspecialitypostgraduate张清梅信息刘晨张清梅信息李勇刘
逸信息王敏传统的集合运算传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。1、并运算∪R∪S
R-S
R∩S
3、差运算-2、交运算∩
并、交、差运算要求关系R与S具有相同的关系模式,且它们的值域相同,经过这些运算后,它们仍为一个与R、S相同元的关系。如R、S为n元,则R∪S也为n元。关系R关系S并R∪S交R∩SABCabcdefxyzABCxyzabcmnpABCabcdefxyzmnpABCabcxyz差R-SABCdef4.广义笛卡尔积两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有kl×k2个元组。记作R×S={tr
ts
|tr∈R且ts∈S}。ABC123456789ABCabcdefhij关系R
关系SABCABC123abc123def123hij456abc456def456hij789abc789def789hijR×S
3+3=6元关系前3个来自R后3个来自SR×S元组数为:3×3例:专门的关系运算专门的关系运算包括:选择、投影和连接,用于数据查询服务。5、选择运算在给定的关系中选择满足条件的元组,构成一个新关系,而这个关系是原关系的一个子集。选择运算结果是一个表行的子集,关系模式不变,元组数改变。记作:R关系名;g逻辑表达式(指定条件),取值为“真”或“假”。由关系运算符:=、≠、>、≥、<、≤和逻辑运算符:∧(与)、∨(或)、﹁(非)组成
或例:关系R如图所示,现选择所在系为“COM”、且所选课程为
C1的元组。S#(系编号)
SN(学生名)SD(系名)C#(课程名)S1MAELEC3S2HUCOMC1S3LIMATHC2S4CHENPHSYC1运算为:或:运算结果:S#(系编号)
SN(学生名)SD(系名)C#(课程名)S2HUCOMC1相当于数据库语言中的查找记录命令。6、投影从指定的关系中挑选出所需属性构成新的关系。这个操作对关系进行垂直分解,消去关系中某些列,并可重新排列属性次序,关系模式改变。选择运算的结果是一个表列的子集。记作:或
功能:从关系R中选择出若干属性列(字段)组成新关系。R为关系名;t(A)为选中属性列的名称;A为R的属性列(名称或列称)例:
一个学生关系(学生)如图所示,现需查询学生的姓名、学号和成绩,并将查询结果放入一个新关系SNM中CLS(班级)S#(学号)SN(姓名)SD(所属系)SA(年龄)MAR(成绩)W1S1MAPHSY1992W4S2ZHUMATH2087W2S5HUELE2083W3S6QICOM1991W1S3ZHOUELE1995学生运算为:或运算结果为:S#SNMARS1MA92S2ZHU87S5HU83S6QI91S3ZHOU95投影可在关系列的方向进行选择,当需取出表中某些列的值时,用投影运算很方便。投影后不仅取消了原关系中的某些列,而且还可能取消某些元组(行)。因取消列属性后,就可能出现重复行,应取消这些完全相同的行。7、连接运算对两个关系进行运算,从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组。设有k1元关系R和k2元关系S,则R与S两个关系的连接运算为:
连接运算符;
i、j表示关系R中第i个属性的属性名和S中第j个属性的属性名,它们之间具有可比性;
关系运算符。功能:找出关系R和S的笛卡尔积中属性i的值和属性j的值之间满足
关系的所有元组。比较符
为“=”时,称等值连接
为“<”时,称小于连接
为“>”时,称大于连接连接后是一个k1+k2元关系[i]
[j]例:关系R和关系S如图所示销往城市销售员产品号销售量C1M1D12000C2M2D22500C3M3D11500C4M4D23000产品号生产量订购数D137003000D255005000D340003500RS连接运算[3]=[1]销往城市销售员产品号销售量产品号生产量订购数C1M1D12000D137003000C2M2D22500D255005000C3M3D11500D137003000C4M4D23000D255005000
连接运算将两个关系通过属性间的关系连接起来,变成一个新关系。8、自然连接一种特殊的等值连接自然连接是对两个具有公共属性(属性名相同)的关系所进行的运算。如关系R和关系S具有公共属性,则R和S的自然连接是从它们的笛卡尔积R×S中选出公共属性值相同的那些元组,记为:
设关系R和关系S具有相同的属性名A1,A2,…,AK,则R与S的自然连接为:①计算R×S②挑选R×S中同时满足
R.A1=S.A1、R.A2=S.A2、…、R.AK=S.AK的那些元组③去掉S.A1、S.A2、…、S.AK这些重复属性例、关系R与S如图所示销往城市销售员产品号销售量C1M1D12000C2M2D22500C3M3D11500C4M4D23000产品号生产量订购数D137003000D255005000D340003500RS自然连接运算销往城市销售员产品号销售量生产量订购数C1M1D1200037003000C2M2D2250055005000C3M3D1150037003000C4M4D2300055005000
用关系运算可方便地对一个或多个关系进行各种拆分和组装操作。在关系数据库中,正是通过这些运算完成对数据库中的数据进行存取、修改、检索等操作。例1设有一个关系R,找出平均成绩在85分及以上的学生的姓名和学号。S#(学号)SN(姓名)SD(所属系)AVER(平均成绩)
SUM(总成绩)
S1MACS185425S2BICS181406S3FANCS291455S4WANGCS287437分两步:①找出平均成绩≥85分的元组——选择:②选择学号、姓名两个字段——投影:综合为:结果为:S#(学号)SN(姓名)S1MAS3FANS4WANG例2设有关系T和P,现找出讲授课程G1的教师姓名、所在系和该教师的职称。TN(姓名)TD(所属系)TA(年龄)TS(性别)T(职称)LIPHSY51男副教授WUCHEN42男讲师HECOM54男副教授LUELE35男讲师TN(姓名)TG(所任课程)LIPHSYWUCHENHECOMLUELETP①TP结果为:TN(姓名)TD(所属系)TA(年龄)TS(性别)T(职称)TG(所任课程)LIPHSY51男副教授PHSYWUCHEN42男讲师CHENHECOM54男副教授COMLUELE35男讲师ELE②选取讲授G1课程的教师(TP)
③选取姓名、系、职称字段(TP))
连接运算比较费时,尤其是在包含许多元组的关系之间进行的连接运算更是如此。设关系R和S分别有m和n个元组,R与S之间的连接过程要访问m×n个元组。从R第一个元组开始依次与S中各元组比较,符合条件首尾相接去掉重复的字段纳入新关系,一轮共比较n次,再用R第二个元组与S第1~n个元组进行比较。因此查询时,为提高效率,如有可能应先进行选择运算,使关系中元组尽量少,能投影的先投影,使关系中字段尽量少,然后再进行连接运算。根据这个思路,上题可改为:①
T()T②③例3设有一关系W,在W中增加(插入)一个元组(a,b,c,d,e,f,g)。ABCDEFGa1b1c1d1e1f1g1a2b2c2d2e2f2g2a3b3c3d3e3f3g3
W=W∪(a,b,c,d,e,f,g)
删除W中(a2,b2,c2,d2,e2,f2,g2)元组:
W=W-(a2,b2,c2,d2,e2,f2,g2)
从上面例子可看出,关系代数的运算结果仍是一个关系,我们可以用关系代数的运算表示我们所需进行的各种库查询和更新处理要求。例4:在关系W中查找字段A为a1的元组:将字段B为b2的元组从W中删除:W-4.3数据库设计一、数据库设计的基本概念数据库设计是指按照用户要求,结合某一数据库管理系统,为被设计的对象建立数据模型,并编制相应应用程序的过程。从本质上讲,数据库设计是将数据库系统与现实世界的应用对象紧密结合起来,构成一个有机整体的过程。因此要求数据库设计者对数据库系统和实际应用对象两方面都必须了解。数据库设计是一个应用课题,由于它涉及面较广,至今尚无一个统一的设计方法,但一般都是从局部到全局,从逻辑设计到物理设计,即对客观世界的事物进行抽象,转换成某一个DBMS的数据。数据库设计包含两方面的内容:①结构特性设计即数据模型与数据库结构设计(数据库框架),它应该是具有最小冗余的、能满足不同用户数据需求的、能实现数据共享的系统。数据库结构特性是静态的,应留有扩充余地,使系统容易改变。②
行为特性设计即应用程序、事物处理等的设计。
数据库结构设计是否合理,直接影响到系统中各个处理过程的性能和质量。
数据库设计是一项综合性技术。“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律。数据库设计与传统的软件设计有相同的地方,但在做法上侧重不同,它的主要精力首先是在结构特性的设计上,即要汇总各用户的要求,尽量减少冗余,实现数据共享,设计出满足各用户的统一的数据模型。二、数据库设计的过程1、需求分析
需求分析就是确定所要开发的应用系统的目标,收集和分析用户对数据及数据处理的需求,了解用户需要什么样的、做什么用的数据库。主要考虑“做什么”问题,而不是考虑“怎么做”问题需求分析的工作成果是产生用户和设计者都能接受的需求说明书,这是数据库概念设计的基础。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用
需求分析的重点是“数据”和“处理”,通过调查、分析,获得用户对数据库的信息和处理要求。信息要求指用户从数据库中获得信息的内容与性质。处理要求知用户对数据库在处理功能、响应时间、处理方式等方面的要求。信息需求处理需求
需求分析
需求说明书⑴了解用户环境和要求了解用户环境就是了解用户的业务活动,了解人工管理系统是如何进行工作的,为什么要这样做。在工作过程中,要了解用户的环境和要求,即需要哪些数据、如何发送、数据的格式是什么、需要保留哪些数据、数据量及数据的增长率有多少等。绘制现行人工管理系统的工作流程图,并描绘出各项工作的功能、数据的传输格式、类型、长度及时间性和完整性要求,从而对人工管理系统的优缺点做出正确地评价。在此阶段,要尽量让用户多提要求,使各方面的要求尽量详细、全面。例:某公司决定建立一个以数据库为基础的管理信息系统,以取代单一的人工管理。目标系统取名为“工资管理系统”。通过用户调查,初步整理出以下结果。
①当前系统工作状况该公司工资管理中使用三种源数据表和数据报表。三种数据表:人员基本情况表姓名性别年龄学历受聘日期部门职称婚否扣款表姓名水电费煤气费其他扣款效益工资表姓名效益工资两种数据报表:工资表姓名部门基本工资岗位津贴效益工资扣款应发工资部门工资表部门名称部门工资汇总
表一为该公司人员基本情况表,根据表中的学历、职称及受聘日期长短,决定工资表中基本工资和岗位津贴的具体数值;表二为公司扣款表,每月由各部门上报,根据扣款表的内容决定工资表中扣款项的金额;表三为效益工资表,每月由各部门根据当月效益及员工的表现申报,由财务部门审批。表四为每月的工资表;表五为每月部门工资汇总表。②对目标系统的总体需求
通过对当前系统的调查和与用户的共同讨论,对将要开发的目标系统提出以下总体需求:用数据文件代替现有的全部帐表具有对各种数据的录入和维护功能能根据人员的基本情况表、扣款表和效益工资表自动计算工作表各项内容
能够灵活修改工资项目按月打印公司工作表及工资汇总表有多种查询和统计功能...。
⑵软件需求说明书数据库开发中一项十分重要的任务是确定系统中使用的全部数据(数据分析)和系统(功能分析)的处理功能,并为它们取名和定义,产生软件需求说明书软件需求说明书是用户需求分析的规范化和形式化。制作软件需求说明书目的是为软件开发提出总体要求,并作为用户和开发人员之间相互了解和共同开发的基础。由数据流程图和数据字典组成。⑶软件需求分析方法和工具
数据流程图(描述数据和数据处理过程关系)和数据字典(系统中各类数据描述的集合)
数据流程图描述从输入到输出过程中数据和处理的关系。
人员基本情况数据表
扣款数据表
效益工资数据表工资项目计算
工资数据表录入
圆圈表示某种处理和加工;方框表示数据存储符号,包括数据库文件和其他形式文件;箭头表示数据传递或读写方向。
数据字典用于记载系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件,记录系统中用到的常量、变量、数组及其他数据单位,是系统开发与维护中不可缺少的重要文件。数据字典是关于数据库中数据的一种描述,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。数据字典内容根据具体系统,有很大的不同。一般,凡是关于数据描述的信息都可放入数据字典中。例实体、属性、实体联系、用户标识、口令、数据空间使用情况、各种数据使用情况、修改情况等。
数据项名称 应发工资含义员工当月应发工资类型及宽度 货币型7位取值基本工资+岗位津贴+效益工资-扣款
取值范围0000.00~9999.99
数据流名工资表组成姓名部门基本工资岗位津贴效益工资扣款应发工资来至过程工资项目计算数据流条目卡片数据项目条目卡片数据流:数据在系统内的传输路径。⑷数据分析和功能分析数据分析步骤:①确定各项数据在目标系统中名称
同一数据使用相同的名称、在容易识别的前提下尽量简化名称。②定义数据项的含义与取值③定义系统的输入数据和输出打印数据数据分析的结果是产生系统数据流程图和数据字典。功能分析
确定系统功能,在此阶段,开发人员和用户双方都必须十分谨慎,要全面考虑计算机究竟应该做哪些工作。一旦系统功能确定之后,一般情况下不能改动,以免影响后期工作例工资管理系统功能需求分析结果:
①数据录入模块②工资计算模块③工资项目修改模块按所选工资项目整体修改工资表内容
按任意条件和所选工资项目部分修改工资表内容
④查询统计模块⑤报表打印模块按月打印公司工资表及工资汇总表
分析阶段产生的系统说明书明确描述了用户要求,主要有三个作用:①作为用户和软件人员之间的合同,为双方相互了解提供基础②反映出问题的结构,可作为软件人员进行设计和编程基础③作为选取测试用例和进行验收的依据
系统说明书是软件生命周期中一份极其重要文档,在分析阶段必须及时建立并保证其质量。在建立系统说明书后,还应对它进行反复检查,争取尽早发现潜在的错误并及时纠正。需求分析是整个设计过程基础,是最困难、最耗费时的一步。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
2、概念结构设计概念结构的目标是将需求分析得到的用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,它是整个数据库设计的关键。它应该:①
充分反映实际应用中各实体间的相互关系;②直观,便于用户理解与直接参与;③概念模型方便扩充和修改;用E-R图进行概念结构设计。概念结构设计是对实体的抽象过程,可分三步来完成①选择局部应用,建立分E-R图建立分E―R图的主要工作是对需求分析阶段收集到的数据进行分类、组织,划分实体和属性,确定实体之间的联系。划分实体和属性的准则:属性本身不能再具有需要描述的性质或与其他实体具有联系(即属性必须是不可分的数据项,不能包含其它属性);属性不能与其它实体有联系(即E―R图中所表示的联系是实体之间的联系)。凡满足上述准则的事物,一般均可作为属性对待。例1:职工是一个实体,职工号、姓名、性别、年龄是职工实体的属性,职称如果没有与工资、福利挂钩,换句话说,没有需要进一步描述的特性,则可将它作为职工实体的属性。但如不同职称有不同的工资、住房标准和附加福利,则职称作为一个实体看待更恰当。例2在医院中,一个病人只能住在一个病房,病房号可作为病人实体的属性,但如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则病房应作为一个实体
病
人
住院号
性别
姓名
年龄
住在
病
房
病房号
电话
所属科室
1
n
医生
性别
姓名
年龄
医
疗
1
n
例3:某工厂管理信息系统,经过分析,确定了该系统由物资管理、销售管理、劳动人事管理等子系统组成,并为每个子系统组成了开发小组,分别进行需求分析,并画出每个子系统的分E-R图。物资管理分E-R图:职工号职工名年龄职称性别
名称
单价
面积
m
n
p
m
n
项目号
预
算
项目名
姓名
地址
帐号
供应商
零
件
项
目
供应
供应量
存放
仓库号
电话
库存量
供应商号
电话号
零件号
描
述
规格
工作
n
n
1
仓
库
职
工
领导
1
n
销售管理分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图的冲突是合并分E-R图的主要工作与关键所在。各分E-R图之间的冲突主要有三类:a)属性冲突:同一属性在不同的分E-R图中其值的类型、取值范围、取值单位等不一致。例年龄:有的以日期形式表示,有的以年龄形式表示。零件:有的以公斤为单位,有的以克为单位。编号:有的以整数形式表示,有的以字符串年龄形式表示。这需要各部门进行协调,使之统一。b)命名冲突:属性名、实体名、联系名之间有同名异义或异名同义的问题。例对科研项目:财务科称为“项目”、科研处称为“课题”、生产管理处称为“工程”——同义异名。对电话号码,供应商和顾客均有一个属性“电话”——同名异义这显然是不允许的,需通过协商解决改正。c)结构冲突:※同一对象在不同应用中具有不同的抽象。例:职工在某局部应用中被当成实体,在另一应用中被当成属性解决办法是将属性变为实体或实体变为属性,使它们具有相同的抽象※同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。解决办法是取各分E-R图中属性的并集,再适当调整属性次序。※实体间联系在不同分E-R图中为不同类型。如实体E1与E2在一个分E-R图中为1:1,在另一个分E-R图中为1:n;又如在一个分
E-R图中E1与E2发生联系,在另一个分E-R图中,E1、E2、E3
三者之间有联系。解决办法是根据应用的语义对实体联系的类型进行综合与调整。在合并各分E-R图时,必须要处理解决上述各类冲突,从而得到一个集中了各个用户信息要求,为所有用户共同理解和接受的初步总体模型,即E-R图。例分E-R图1分E-R图2因构成和供应两个联系不能互相包含例:上述管理系统三个分E-R图合并后,形成的初步E-R图项目和产品含义相同:某个项目实质上是指某个产品的生产,统一用产品作实体名。但因项目与产品中属性不同,取两者并集。联系名存在同名现象(物资管理分E-R图和劳动人事管理分E-R图);很多实体中属性名同名异义(电话、单价、顾客号),必须修改。③消除冗余,生成基本E-R图在初步E-R图中,可能存在一些冗余的数据和实体之间冗余的联系。所谓冗余数据是指可由基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医师事迹范文(5篇)
- 《环保节能培训》课件
- 办公室产品展会市场分析报告
- 办公环境中小学语文学习的价值
- 《次施工准备工作》课件
- 农业科技系统在医疗健康领域的创新应用
- 2025建筑工程分包合同
- 2025附条件赠与合同 标准版模板全
- 2025中国银行劳动合同范本
- 卷烟配件行业深度研究报告
- 小学体育足球课教育课件
- 《世界经济学课件》课件
- 安全生产知识负责人复习题库(附参考答案)
- 《玉米种植技术》课件
- 2023年聊城市人民医院招聘备案制工作人员笔试真题
- 收费站微笑服务培训
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 雨的形成课件教学课件
- GB/T 16288-2024塑料制品的标志
- 关于健康的课件图片
- 2024-2030年农产品物流行业市场深度分析及竞争格局与投资价值研究报告
评论
0/150
提交评论