收藏 分销(赏)

E-R图和关系数据库设计.ppt

上传人:胜**** 文档编号:743850 上传时间:2024-02-29 格式:PPT 页数:122 大小:1.34MB
下载 相关 举报
E-R图和关系数据库设计.ppt_第1页
第1页 / 共122页
E-R图和关系数据库设计.ppt_第2页
第2页 / 共122页
点击查看更多>>
资源描述
第二章E-R图和关系数据库设计2.1实体-联系模型(E-R图)2.1.1基本概念n n 实体联系模型(ER模型)为数据库建模 提 供 了 3个 基 本 的 语 义 概 念:实 体(Entity)、联系(Relationship)、属性(Attributes)。n n 实体是指客观存在的、对于建立数据库有意义的、能够被清晰地辨识的事物或概念,实体用它的若干属性来描述的。【例例】实体实体“学生学生”,具有属性,具有属性“学号学号”、“姓姓名名”、“性别性别”、“年龄年龄”。基本概念n n所谓所谓属性属性是指事物的某一方面的特征,属性可是指事物的某一方面的特征,属性可以是基本属性或导出属性。例如,以是基本属性或导出属性。例如,学生的学号学生的学号是一个简单属性;学生的家庭地址是一个复合是一个简单属性;学生的家庭地址是一个复合属性,它由简单属性属性,它由简单属性“城市城市”、“街道街道”、“门牌号门牌号”等组成。等组成。n n 属属性性可可以以是是基基本本属属性性或或导导出出属属性性。例例如如,一一个个人人的的生生日日是是基基本本属属性性,年年龄龄是是导导出出属属性性,年年龄龄可以根据生日和当前日期导出。可以根据生日和当前日期导出。n n 属性值的取值范围称为值域(属性值的取值范围称为值域(DomainDomain),),例例如人的年龄值域为如人的年龄值域为02500250,图书馆的馆藏资料,图书馆的馆藏资料类型的值域为(书籍、杂志、会议录、内部资类型的值域为(书籍、杂志、会议录、内部资料)。料)。基本概念n n ERER模模型型中中的的联联系系是是指指实实体体类类型型之之间间的的联联系系。例例如如,教教师师教教学学生生,“教教”就就是是实实体体类类型型“教教师师”和和“学生学生”之间的联系。之间的联系。n n联联系系也也可可以以有有属属性性。例例如如,学学生生实实体体与与课课程程实实体体之之间间的的联联系系“选选课课”,可可以以有有属属性性学学号号、课课程程号、成绩等。号、成绩等。2.1.2ER图的组成n n在在ERER图图(E-R E-R DiagramDiagram)中中,基基本本的的图图形形元元素素有有3 3个个:实实体体集集合合框框,联联系系集集合合框框和和属属性性框框。实实体体集集合合框框用用矩矩形形框框表表示示,实实体体之之间间的的联联系系用用菱菱形形框框表表示示,属性属性用用椭圆形框椭圆形框(或圆形框)表示。(或圆形框)表示。ER图示例基数比约束n n基数比约束(CardinalityRatioConstraint)是对参与联系的实体的一种约束。一个联系的基数(Cardinality)是指,对应于该联系的另一方的实体集的单个实体,本实体集的实体的数量。ER模型支持的实体之间的一对一、一对多、多对多的联系。基数比约束示例参与约束n n 参与约束是对参与约束是对实体参与度实体参与度的约束。在一个给定的的约束。在一个给定的联系中的实体称为该联系的联系中的实体称为该联系的参与者参与者。n n所谓所谓实体参与度实体参与度是指实体参与联系的是指实体参与联系的最小和最大最小和最大的次数的次数。参与的次数可以用一个整数偶对(。参与的次数可以用一个整数偶对(min,min,maxmax)来表示,其中)来表示,其中minmin和和maxmax分别是实体参与联分别是实体参与联系的最小和最大的次数。系的最小和最大的次数。ER图的联系类型(1)n nER图中的联系类型有:递归联系、二元联系和多元联系。n n递归联系,即一个实体集合与其本身的联系。n n二元联系是指两个实体集合之间的联系。ER图的联系类型(2)n n多元联系是指三个以上实体集合之间的联系。如何建立ER模型n n在在建建立立ERER模模型型中中,首首先先确确定定实实体体集集合合,然然后后确确定定联系联系集合,最后给出实体和联系的集合,最后给出实体和联系的属性属性。n n下面的一些下面的一些启发性规则启发性规则可以帮助确定实体:可以帮助确定实体:对于汇集和维护企业组织的数据有重要意义的、确定的、可以对于汇集和维护企业组织的数据有重要意义的、确定的、可以标识的对象可以指定为实体;标识的对象可以指定为实体;每个实质性的确定的对象,如人员、位置、事物等可指定为实每个实质性的确定的对象,如人员、位置、事物等可指定为实体;体;抽象概念如部门或通信干线等可指定为实体;抽象概念如部门或通信干线等可指定为实体;在由唯一的术语标识的环境中的非实质性的概念,也可指定为在由唯一的术语标识的环境中的非实质性的概念,也可指定为实体,例如信用货款备忘录中的信用度,可作为一个实体。实体,例如信用货款备忘录中的信用度,可作为一个实体。ER图示例民航航班管理数据模型 首首先先选选择择实实体体集集及及相相应应的的属属性性。为为表表示示方方便便,约定如下符号:约定如下符号:n nCHAR(CHAR(n n)长度为长度为n n的字符串的字符串n nINT(INT(n n)n n位数字的整数位数字的整数 实体集和属性选择如下。实体集和属性选择如下。n n 实体集实体集11旅客旅客 PASSENGERSPASSENGERS属性:属性:姓名姓名 NAMENAME:CHAR(30)CHAR(30)住址住址 ADDRESSADDRESS:CHAR(30)CHAR(30)电话电话 PHONEPHONE:INT(10)INT(10)NAMENAME和和ADDRESSADDRESS组成本实体集的关键组成本实体集的关键字。字。民航航班管理数据模型n n实体集2航班FLIGHTS属性:航班号NUMBER:INT(3)出 发 地 SOURCE:CHAR(3)目 的 地 DEST:CHAR(3)开点 DEP-TIME:INT(4)到点 ARR-TIME:INT(4)n n为简化起见,假设是直达航班。本实体集可用NUMBER作关键字,也可用SOURCE与DEP-TIME组成关键字。民航航班管理数据模型n n实体集实体集33航次航次DEPARTURESDEPARTURES 属性:属性:日期日期DATEDATE:INT(3)INT(3)本实体集的每一个实体是在某日起飞的航次。本实体集的每一个实体是在某日起飞的航次。n n实体集实体集44机型机型PLANESPLANES 属性:属性:制造厂制造厂 MANUFACTURERMANUFACTURER:CHAR(10)CHAR(10)型号型号MODEL-NOMODEL-NO:CHAR(10)CHAR(10)这两个属性组成实体集的关键字。这两个属性组成实体集的关键字。n n实体集实体集55飞机飞机AIRCRAFTAIRCRAFT 属性:属性:序号序号SERIAL-NOSERIAL-NO:INT(5)INT(5)民航航班管理数据模型n n实体集6职工PERSONNEL属性:职工号EMP-NO:INT(6)姓名NAME:CHAR(30)住址ADDRESS:CHAR(30)工资SALARY:INT(6)职工号EMP-NO是本实体集的关键字。n n实体集7飞行员PILOTS实体集PILOTS无属性。民航航班管理数据模型实体集之间的实体集之间的联系集联系集定义如下:定义如下:(1 1)ISA(PILOTSISA(PILOTS,PERSONNEL)PERSONNEL)用用于于指明具体的飞行员个人,它是一对一联系。指明具体的飞行员个人,它是一对一联系。(2 2)BOOKED-ON(PASSENGERSBOOKED-ON(PASSENGERS,DEPARTURES)DEPARTURES)表示订票,它是多对多联系。表示订票,它是多对多联系。(3 3)INSTANCE-OF(DEPARTURESINSTANCE-OF(DEPARTURES,FLIGHTS)FLIGHTS)表表 示示 一一 次次 飞飞 行行 航航 班班,从从DEPARTURESDEPARTURES到到FLIGHTSFLIGHTS是多对一联系。是多对一联系。民航航班管理数据模型(4)ASSIGNED-TO(PERSONNEL,DEPARTURES)表示每个航次的空中乘务员,它是多对多联系。(5)CAN-FLY(PILOTS,PLANES)表示能驾驶飞机的飞行员,是多对多联系。(6)TYPE(AIRCRAFT,PLANES)从AIRCRAFT到PLANES是多对一联系,表示每架飞机的机型。实体间的依赖n n如果如果一个实体集合的存在与否一个实体集合的存在与否是是依赖于依赖于另一个实另一个实体集合的体集合的,那么称这两个实体集合之间存在依赖,那么称这两个实体集合之间存在依赖关系。关系。【例例】家属和职工、病房和医院家属和职工、病房和医院n n前者称为前者称为依赖实体集合依赖实体集合,又叫作,又叫作弱实体集合弱实体集合可用可用双矩形框双矩形框表示弱实体集合(或用带圆角的矩形框表示弱实体集合(或用带圆角的矩形框表示)。表示)。n n后者叫作后者叫作主实体集合或强实体集合主实体集合或强实体集合,用单个矩形,用单个矩形框表示。框表示。n n主实体集合与它的弱实体集合之间的联系称为主实体集合与它的弱实体集合之间的联系称为弱弱联系集合联系集合或或依赖联系依赖联系。在表示联系的菱形框内。在表示联系的菱形框内加加上字符上字符E E,可表示弱联系集合(或用,可表示弱联系集合(或用双菱形框双菱形框表示)表示)。n n用一个指向弱实体集合框的箭头表示用一个指向弱实体集合框的箭头表示依赖联系依赖联系。【例】实体间的依赖2.2实体-联系模型转换为关系模型把一个E-R模型转化为关系模型,可遵守下列规则:转换规则1n n规规则则1 1:每每一一个个实实体体集集转转换换为为一一个个关关系系。实实体体集集中中的的实实体体的的属属性性成成为为该该关关系系的的属属性性。实实体体的的标标识识符符成成为为该该关关系系的的关关键字。每个实体由该关系的一个元组表示。键字。每个实体由该关系的一个元组表示。n n例如实体集例如实体集productproduct转换成关系转换成关系PRODUCT(PRODUCT(product-numberproduct-number,product-name,cost-,product-name,cost-price)price)。转换规则2n n规规则则2 2:每每一一个个联联系系集集转转换换成成一一个个关关系系,该该联联系系集集自自身身所所拥拥有有的的属属性性,加加入入到到该该关关系系中中去去,而而该该关关系系的的主主关关键键字字由由该联系集所联系的实体集的关键字组成。该联系集所联系的实体集的关键字组成。n n例如联系集例如联系集Warehouse-product-orderWarehouse-product-order转换成关系转换成关系 n nWAREHOUSE-PRODUCT-ORDER(WAREHOUSE-PRODUCT-ORDER(warehouse-no,warehouse-no,product-no,order-noproduct-no,order-no,quantity-order),quantity-order)转换规则3n n规规则则3 3:如如果果一一个个联联系系集集的的两两侧侧标标明明的的基基数数比比是是1 1 N N(一一对对多多联联系系),且且联联系系无无自自身身的的属属性性,则则在在1 1侧侧的的实实体体集集的的关关键键字字应应加加入入到到另另一一侧侧的的实实体体转转换换成的关系中,成的关系中,联系集联系集本身可本身可不必不必单独转换成关系。单独转换成关系。n n例例如如下下图图实实体体集集CUSTOMERCUSTOMER的的关关键键字字应应加加入入到到对对应应于于实实体体集集ORDERORDER的的关关系系中中去去。经经过过转转换换后后可可得得关系模式为:关系模式为:n n CUSTOMER(CUSTOMER(cus-nocus-no,cus-name),cus-name)n nORDER(ORDER(order-noorder-no,order-date,order-date,cus-nocus-no)其中,对于关系其中,对于关系ORDERORDER,属性,属性cus-nocus-no是外来关键字。是外来关键字。转换规则3n n 1 1 1 1的联系也可以的联系也可以类似处理类似处理。如果。如果1 1 n n的的n n一方的一方的实体是实体是部分参与部分参与联系,为了联系,为了避免避免在转换后的关系在转换后的关系中的中的外来关键字出现空值外来关键字出现空值(NULLNULL),可以分别把),可以分别把实体集和联系集按照规则实体集和联系集按照规则1 1、2 2转换转换成关系。成关系。【转换示例】【例】一个简单的足球队数据模型。【例】一个简单的足球队数据模型。实体集选择如下:实体集选择如下:(1 1)球员)球员PLAYERSPLAYERS属性:姓名属性:姓名NAMENAME籍贯籍贯BPLACEBPLACE生日生日BDATEBDATENAMENAME为关键字。为关键字。(2 2)位置)位置POSITIONSPOSITIONS属性:名称属性:名称POSNAMEPOSNAME人数人数POSNUMBERPOSNUMBERPOSNAMEPOSNAME或或POSNUMBERPOSNUMBER均可作关键字,一般用均可作关键字,一般用POSNAMEPOSNAME。【转换示例】(3 3)球队)球队TEAMSTEAMS属性:球队名属性:球队名TEAM-NAMETEAM-NAME城市城市CITYCITY年年YEARYEARTEAM-NAMETEAM-NAME和和YEARYEAR组成关键字。组成关键字。上述实体集之间的联系集有:上述实体集之间的联系集有:(1 1)打打球球PLAYS(PLAYERSPLAYS(PLAYERS,POSITIONS)POSITIONS)从从PLAYERSPLAYERS到到POSITIONSPOSITIONS是多对多联系。是多对多联系。(2 2)参赛)参赛SEASON(PLAYERSSEASON(PLAYERS,TEAMS)TEAMS)从从PLAYERSPLAYERS到到TEAMTEAM是多对一联系。它有一个属性是多对一联系。它有一个属性BABA,表示比赛场次。,表示比赛场次。【转换示例】由上述实体集和联系集构成的ER图如图所示,它所转换成的关系模型具有如下5个关系:n nPLAYERS(NAME,BPLACE,BDATE)PLAYERS(NAME,BPLACE,BDATE)n nTEAMS(TEAM-NAME,CITY,YEAR)TEAMS(TEAM-NAME,CITY,YEAR)n nPOSITIONSPOSITIONS(POSNAME,POSNUMBER)(POSNAME,POSNUMBER)n nPLAYS(NAME,POSNAME)PLAYS(NAME,POSNAME)n nSEASON(NAME,TEAM-SEASON(NAME,TEAM-NAME,YEAR,BA)NAME,YEAR,BA)2.3关系数据库设计理论基础概述n n关系数据库设计的核心是关系模式的设计,即按照一定的原则,从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界、又具有良好性能的关系模式。关系范例的描述n nSCTSCT(S(S,C C,CNCN,GRADEGRADE,TNAMETNAME,BDATEBDATE,SALARY).SALARY).n n其中的属性依次代表学号、课程号、课程名、成绩、任课教师姓名、教师出生日期和工资。n n规定:每个学生选修每门课只有一个成绩;每门课只有唯一的课程号,并且由一个教师担任。【示例】问题n nSCT(学号,课程号,课程名,成绩,任课教师姓名,教师出生日期和工资)n n通过分析不难发现SCT存在如下问题。1数据冗余度问题(如教师姓名)2修改问题(如修改教师工资)3插入问题(如未开课的教师信息)4删除问题(如教师调离学校)【示例】改进如果把SCT分为如下三关系模式:n n选课关系:选课关系:SC(SC(学号学号,课程号课程号,成绩成绩)n n课程关系:课程关系:C(C(课程号课程号,课程名课程名,教师姓名教师姓名)n n教师关系:教师关系:T(T(教师姓名教师姓名,教师出生日期教师出生日期,工资工资)则上述问题便都得到解决。函数依赖(1)n n设设R R(U U)是是属属性性集集U U上上的的一一个个关关系系模模式式,X X和和Y Y均均为为U U A A1 1,A A2 2,A An n 的的子子集集,r r为为R R的的任任一一个个关关系系。如如果果对对于于r r中中的的任任意意两两个个元元组组u u、v v,只只要要有有u u X X v v X X ,就就有有u u Y Y v v Y Y,则则称称X X 函函数数决决定定Y Y或或称称Y Y函函数数依依赖赖于于X X,记记为为X X Y Y。其其中中X X 称称为为决定因素(决定因素(DeterminantDeterminant)。)。n n即即对对于于关关系系模模式式R R中中的的属属性性子子集集X X的的每每一一个个值值,任任何时候都只有一个确定的何时候都只有一个确定的Y Y值与之对应。值与之对应。函数依赖示意图n n但是S#和C#、S#和TNAME间不存在函数依赖关系。函数依赖(2)n n在R(U)中,如果XY,并且对于X的任何真子集X 都有X Y,则称Y完全函数依赖于X,记作(简记为XY)。【例】C#CNn n如果XY,且X中存在一个真子集X ,使得X Y成立,则称Y部分函数依赖于X,记作。【例】(S#,C#)CN根据联系确定函数依赖关系n n如果X和Y之间的联系是1:1的,则存在函数依赖XY和YX。【如】C#和CNn n如果X和Y之间的联系是n:1的,则它们之间只存在函数依赖XY。【如】C#TNAMEn n如果X和Y之间的联系是m:n的,则它们之间不存在函数依赖。【如】C#和S#关键字n n设R(U)为一关系模式,F为R的函数依赖集,X为属性集U的子集,如果满足:(1)XUF+;(2)不存在Y X,使得YUF+;则称X是R的关键字。n n分析 条件(条件(1 1)要求关键字能唯一地标识元组。)要求关键字能唯一地标识元组。条件(条件(2 2)保证关键字是最小的集合,不存在多余的属)保证关键字是最小的集合,不存在多余的属性。性。关键字分类n n候选关键字:任何一个能函数决定全部属性的最小属性集。n n主关键字:在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是唯一的。n n外部关键字:关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。n n主属性:包含在任一关键字中的属性。关系模式的规范化n n第一范式(1NF)n n第二范式(2NF)n n第三范式(3NF)n nBCNF1、第一范式(1NF)n n如果关系模式如果关系模式R R的所有的域为的所有的域为简单域简单域,其元素,其元素不不可再分可再分,则称,则称R R为第一范式的关系,简记为为第一范式的关系,简记为R R 1NF1NF。1NF1NF的关系模式要求属性不能再分,即的关系模式要求属性不能再分,即属性项不能是属性组。属性项不能是属性组。n n下列两个关系模式下列两个关系模式均不是均不是第一范式:第一范式:部门部门(部门号,名称,经理部门号,名称,经理(正经理,副经理正经理,副经理)雇员雇员(雇员号,姓名,工资雇员号,姓名,工资(基本工资,补贴,奖基本工资,补贴,奖金金)n n 可以可以转化为如下转化为如下1NF1NF的关系:的关系:部门部门(部门号,名称,正经理,副经理部门号,名称,正经理,副经理)。雇员雇员(雇员号,姓名,基本工资,补贴,奖金雇员号,姓名,基本工资,补贴,奖金)。2、第二范式(2NF)n n如果如果R R 1NF1NF,且每个,且每个非主属性非主属性完全函数依赖于关键字完全函数依赖于关键字,则,则关系模式关系模式R R属于第二范式,简记为属于第二范式,简记为R R 2NF2NF。【例例】SCTSCT(S S,C C,CNCN,GRADEGRADE,TNAMETNAME,BDATEBDATE,SALARY).SALARY).它它满满足足第第一一范范式式,但但是是存存在在非非主主属属性性对对关关键键字字的的部部分分函函数数依赖依赖。如:如:C C TNAMETNAMEn n可以把可以把SCTSCT分解为如下两个关系模式:分解为如下两个关系模式:SC(SC(S S,C,C,GRADE),GRADE)CT(CT(C C,CN,TNAME,BDATE,SALARY),CN,TNAME,BDATE,SALARY)在在CTCT中,中,C C TNAME,TNAMETNAME,TNAMESALARY,SALARY,存在存在SALARYSALARY对对C C 的的传递函数依赖传递函数依赖。【问题问题】不能增加没开课的教师信息。不能增加没开课的教师信息。3、第三范式(3NF)n n如果R2NF,且每个非主属性都不传递函数依赖于关键字,则称关系模式R为第三范式,简记为R3NF。n nSC是第三范式的,CT不是第三范式的,可以把CT进一步分解为如下两个关系模式:C(C,CN,TNAME)T(TNAME,BDATE,SALARY)3NF问题示例 关关 系系 模模 式式 R(S#,C#,CN,GRADE)R(S#,C#,CN,GRADE)中中,(S#,C#S#,C#)和和(S#,S#,CNCN)都都可可以以作作为为关关键键字字,S#S#、C#C#、CNCN都都是是主主属属性性,非非主主属属性性GRADEGRADE没没有部分和传递函数依赖,所以有部分和传递函数依赖,所以R R 3NF3NF。【问问题题】当当一一门门课课被被多多个个学学生生选选修修时时,CNCN的的数数据据冗冗余余问题严重。问题严重。【原因原因】主属性主属性C#C#CNCN,存在部分函数依赖。,存在部分函数依赖。【解决方案解决方案】R(S#,C#,GRADE)R(S#,C#,GRADE)4、BCNFn n若关系模式若关系模式R R 1NF1NF,且函数依赖集中每一个形式,且函数依赖集中每一个形式为为X XA A的非平凡函数依赖的决定因素都含有关键的非平凡函数依赖的决定因素都含有关键字,则称字,则称R R是是Boyde/CoddBoyde/Codd范式的,简记为范式的,简记为R R BCNFBCNF。n n可以得出关于可以得出关于BCNFBCNF关系模式的以下关系模式的以下结论结论:(1 1)非主属性对关键字完全函数依赖;)非主属性对关键字完全函数依赖;(2 2)主属性对不包含它的关键字完全函数依赖;)主属性对不包含它的关键字完全函数依赖;(3 3)没有属性完全函数依赖于一组非主属性。)没有属性完全函数依赖于一组非主属性。n n一个一个BCNFBCNF范式范式必定是必定是3NF3NF的。的。四种范式间的关系n n 四种范式之间存在如下的关系:四种范式之间存在如下的关系:BCNFBCNF 3NF3NF 2NF2NF 1NF1NFn n 即:即:1NF1NF 消除非主属性对关键字的部分函数依赖消除非主属性对关键字的部分函数依赖2NF2NF 消除非主属性对关键字的传递函数依赖消除非主属性对关键字的传递函数依赖3NF3NF 消除主属性对关键字的部分和传递函数依赖消除主属性对关键字的部分和传递函数依赖BCNFBCNF【注意】n n在实际应用中最有价值的是3NF和BCNF,一般分解到3NF已经足够,但用来表示一个实体集或一个1:n联系的关系一般已经是BCNF。n n在应用规范化理论时,千万不要盲目追求高范式,因为并非规范化程度越高的关系模式越好。2.4关系数据库设计数据库设计的含义数据库设计一般不是指DBMS的设计,而是指在现有DBMS上建立数据库的过程。数据库应用系统的设计包含两方面的内容:n n结构特性的设计,也就是数据库模型或数据结构的设计。(重点)n n行为特性的设计,即应用程序、事务处理的设计。数据库设计的目标 1 1满满足足用用户户的的应应用用要要求求,即即能能够够正正确确地地反反映映用户的现实环境。用户的现实环境。2 2准准确确模模拟拟现现实实世世界界,即即准准确确地地反反映映现现实实世世界的信息类别与信息之间的联系。界的信息类别与信息之间的联系。33能被某个能被某个DBMSDBMS所接受。所接受。44具有良好的性能、较高的质量。具有良好的性能、较高的质量。pp存存取取效效率率:每每个个逻逻辑辑存存取取所所需需的的平平均均物物理理存存取取次次数数的的倒倒数。数。pp存存储储效效率率:存存储储每每个个未未加加工工的的数数据据所所需需要要的的实实际际存存储储空空间的平均字节数的倒数。间的平均字节数的倒数。pp其其他他性性能能,如如便便于于维维护护与与扩扩充充,有有较较好好的的安安全全性性与与完完整整性,系统出现故障时容易恢复等。性,系统出现故障时容易恢复等。数据库设计的一般过程n n数据库生命周期一般包含数据库系统的规划、设计、实现、运行管理和维护、扩充和重构等大的阶段。数据库设计过程大致分为以下四个阶段。1需求分析2概念模型设计3逻辑设计4物理设计2.4.1数据需求分析主要任务n n是通过对现行的手工系统或已有的计算机系统进行调查和分析,以确定企业对即将建立的数据库应用系统的信息要求和处理要求。系统调查系统调查 系统分析系统分析 系统分析文档系统分析文档系统调查系统调查:目的是了解企业的业务状况、信息流程、经营方式、处理要求以及组织机构等。可以包括以下几个方面:(1 1)组织机构调查。)组织机构调查。(2 2)业务流程调查。)业务流程调查。(3 3)各部门对系统的信息要求和处理要求。)各部门对系统的信息要求和处理要求。(4 4)企业的限制和目标。)企业的限制和目标。系统分析对调查所获得的原始资料必须进行综合的分析,权衡各方面的利弊,确定数据库结构设计和程序设计的策略和方案。(1)业务流程分析。(2)信息收集和分析。(3)处理要求分析。(4)其他各种限制和要求分析。系统分析文档系统分析的结果形成系统分析报告,其主要内容包括系统目标、需求定义、功能说明、系统结构、计算机处理的边界与流程、工作量与预算经费等。其中,与数据库设计关系最大的文档有业务流程图、数据流图、数据词典等。一、数据流图数据流图数据流图(DataFlowDiagram,简称DFD)是描述系统的重要工具,它力图从数据传递和处理的角度,以图形的方式表示数据处理系统的工作状况。数据流图的组成n n数据流图通常由如图所示的4种基本符号组成。数据加工数据加工(P)外部项外部项(S S)数据流数据流(F)数据存储数据存储(D)数据流图的组成数据流。数据流即流动中的数据,代表信息流过的通道。数据加工。数据加工是对进入的数据流进行特定加工的过程,数据流被处理后将产生新的数据流。数据存储。代表一种数据的暂存场所,可对其进行存取操作。外部项。外部项用以说明数据的来源和归宿,即表示数据的源点和终点。示例n n下下图图是是一一个个简简单单的的DFDDFD。它它表表示示数数据据流流“付付款款单单”从从外外部部项项“客客户户”(源源点点)流流出出,经经加加工工“帐帐务务处处理理”转转换换成成数数据据流流“明明细细帐帐”,再再经经加加工工“打打印印帐帐簿簿”转转换换成成数数据据流流“帐帐簿簿”,最最后后流流向向外外部部项项“会会计计”(终终点点),加加工工“打打印印帐帐簿簿”在在进进行行转转换换时时,从数据存储从数据存储“总帐总帐”中读取数据。中读取数据。F3F3帐簿帐簿F2F2明细帐明细帐F1F1付款单付款单D D总帐总帐打印帐簿打印帐簿P2P2帐务处理帐务处理P1P1S1S1客客户户S2S2会会计计说明n n两个符号(加工、外部项、数据存储)之间可以有多个数据流存在。n n加工的符号分成标识部分和功能描述部分。标识部分用于标注加工编号,应具有唯一性;功能描述部分用来简要写出加工名。n n加工要逐层分解,以求得分解后的加工功能简单、易于理解。数据流图的绘制步骤(1)(1 1)确定所开发的系统的确定所开发的系统的外部项(外部实体)外部项(外部实体),即系统的数据来,即系统的数据来源和去处。源和去处。(2 2)确定整个系统的输出数据流和输入数据流,把系统作为一个确定整个系统的输出数据流和输入数据流,把系统作为一个加工环节,加工环节,画出关联图画出关联图。(3 3)确定系统的主要信息处理功能,按此将整个系统分解成几个确定系统的主要信息处理功能,按此将整个系统分解成几个加工环节加工环节(子系统)确定每个加工的输出与输入数据流以及与(子系统)确定每个加工的输出与输入数据流以及与这些加工有关的数据存储。这些加工有关的数据存储。(4 4)根据自顶向下,逐层分解的原则,对上层图中全部或部分根据自顶向下,逐层分解的原则,对上层图中全部或部分加工环节进行加工环节进行分解分解,分为若干子图,下层是上层的进一步说明。,分为若干子图,下层是上层的进一步说明。数据流图的绘制步骤(2)(5 5)重复步骤(重复步骤(4 4),直到逐层分解结束。),直到逐层分解结束。(6 6)对图进行对图进行检查和合理布局检查和合理布局,主要检查分解是否恰当、彻底,主要检查分解是否恰当、彻底,DFDDFD中各层是否有遗漏、重复、冲突之处,各层中各层是否有遗漏、重复、冲突之处,各层DFDDFD及同层及同层DFDDFD之之间关系是否争取及命名、编号是否确切、合理等,对错误与不间关系是否争取及命名、编号是否确切、合理等,对错误与不当之处进行修改。当之处进行修改。(7 7)和用户进行和用户进行交流交流,在用户完全理解数据图的内容的基础上征,在用户完全理解数据图的内容的基础上征求用户的意见。求用户的意见。数据流图的绘制步骤(3)a a关联图关联图.3.2图0BQRLSMABCABCDEFG12356图2.131NMPBL图2b b顶层图顶层图d d三层图三层图c c二层图二层图绘制数据流图过程示意图绘制数据流图过程示意图银行取款数据流图(1)(1 1)储户将填好的取款单、存折交银行,银行做如)储户将填好的取款单、存折交银行,银行做如下处理:下处理:审核并查对帐目,将不合格的存折、取款单审核并查对帐目,将不合格的存折、取款单退回储户,合格的存折、取款单送取款处理。退回储户,合格的存折、取款单送取款处理。处理取款修改帐目,将存折、利息单、结算处理取款修改帐目,将存折、利息单、结算清单及现金交储户,同时将取款单存档。清单及现金交储户,同时将取款单存档。银行取款数据流图(2)画出银行取款处理数据流图。n n第一步,画出关联数据流图。F2F2存存折折、利利率率单单、结结算算清单清单、现金、现金F1F1取取款款单单、存折存折取款系统取款系统P PS S储户储户S S储户储户 取款处理关联图取款处理关联图银行取款数据流图(3)n n第二步,逐层分解加工,画出下层DFD。取款处理顶层图取款处理顶层图F1取取 款款单、存折单、存折F1.2不不合合格格存存折折、取取款款单单F2存存 折折、利利率率单单、结结算算清清单单、现现金金 D1帐目库帐目库F1.1合合格格存存折、取款单折、取款单取款审核取款审核P1S储储户户S储储户户 D2取款记录取款记录取款处理取款处理P2【说明】n数据流图只能描述系统的概貌,无法表达出每个数据和处理的具体含义,这就需要用数据字典来弥补缺点。二、数据字典数据字典数据字典(DataDictionary,DD)用于定义数据流图中出现的所有数据元素和处理,即给出其确切的内涵解释。这些元素是:数据项、数据结构、数据流、数据存储、处理逻辑和外部实体。采用的符号=表示定义为。例如,学生情况学号+姓名+成绩+地址;+表示“与”:|表示“或”。如,性别男|女;()表示整体,与数学中用法相同;m.n表示值域。如,星期几=1.7,月份=1.12;采用的符号表示重复若干次。例如,通讯录文件:姓名+电话+邮码表示可选。例如,存款单=储户帐号+存款额+日期+密码,表示存款时可以/不带密码。【建议】数据流编号用字母”DF”打头,数据结构用”DS”打头,数据元素用“D”打头,文件”F”打头,加工”P”打头,外部项”E”打头。1、数据项n n数据项又称数据元素,是系统处理的基本数据单元。n n在数据字典中,数据项条目包括数据项编号(唯一)、名称、别名、意义、类型、长度、值域、备注等属性。【例】数据项n 数据项编号:D02 01 n 数据项名称:材料编号 n 别 名:材料代号 n 简 述:某种材料的代码 n 类型及宽度:字符型,4位 n 取 值 范 围:0001-9999 2、数据结构n n数据结构描述数据项间的关系,可由若干数据项、数据结构或数据项+数据结构混合组成。n n数据字典中,数据结构条目包括数据结构的名称、编号、简单描述及其组成等。【例】数据结构数据结构编号:DS03-01 数据结构名称:用户订货单 简 述:用户填的用户情况 及订货信息 数据结构组成:DS03-02+DS03-03+DS03-043、数据流n n数据流描述数据项或数据结构在系统中的传输路径。n n数据流条目包括数据流来源、去向、组成和流量等属性。【例】数据流 数据流的编号:DF03 08 数据流的名称:领料单 简 述:车间开出的领料单 数据流的来源:车间 数据流的去向:发料处理模块 数据流的组成:材料编号+材料名称+需用 数量+日期+领用单位 数 据 流 量:10份/每小时 高 峰 流 量:20份/小时 (上午 9:0011:00)4、数据存储n n数据存储指数据暂存或永久保存的地方。n n数据存储条目包括:名称、编号、流入/流出的数据流、组成、存取分析和关键字说明等。【例】数据存储 数据存储编号:F03-08 数据存储名称:库存账 简 述:存放配件的库存量和单价 数据存储组成:配件编号+配件名称+单价 +库存量+备注 关 键 字:配件编号 相关联的处理:P02,P035、处理逻辑n n处理逻辑条目是对数据流程图中最底层的处理逻辑加以说明。n n处理逻辑条目包括:在数据流程图中的名称、编号、对处理过程的简单描述、处理过程的输入/输出、数据流及其来源和去向、主要功能的描述等。【例】处理逻辑 处理逻辑编号:P02 03处理逻辑名称:检查库存情况简 述:根据合格订单零件号检查 零件库存,决定是否供货输入的数据流:合格订单处 理:若库存量=订货量,则供货,否则不供货 输出的数据流:缺货通知单,供货单 6、外部实体n n外部实体是系统环境中的源点和终点。n n数据字典中,外部实体条目的内容包括编号、名称、输出数据流、输入数据流、备注。【例】外部实体 外部实体编号:E03 01 外部实体名称:用户 简 述:购置本单位配件的用户 输入的数据流:F03-06,F03-08 输出的数据流:F03-01 说明n n数据字典(DD)可以是手工的,也可以是自动化的。n n手工DD是把字典条目逐一填写到卡片或表格中,再把它们按一定顺序排好、装订成册以便查阅。(适合小型系统)n n也可以编写电子DD。用计算机对字典实施管理。(适合大、中型系统)2.4.2概念结构设计概念结构设计n n数据库的概念模型是独立于任何计算机系统的信息结构模型,它是现实世界的“纯粹”表示。n n按照从简单到复杂的原则,使用E-R方法设计概念模型一般要经过三个步骤,即设计用户分E-R图,合并用户分E-R图构成总体E-R图,以及对总体E-R图进行优化。一、分E-R图的设计分E-R图即用户局部视图。(1)划分用户组首先应将数据要求和处理要求接近的用户分在一组;其次应考虑用户组的规模(一般局部视图内的实体数不超过9个)。(2)确定实体及其属性实体和属性之间并不存在一个形式上可以截然划分的界限。【例】学生-系分E-R图的设计n n在在给给定定的的应应用用环环境境中中,可可以以遵遵循循以以下下基基本本准准则则来划分实体和属性。来划分实体和属性。属属性性与与它它所所描描
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服