3数据库静态结构设计.ppt
《3数据库静态结构设计.ppt》由会员分享,可在线阅读,更多相关《3数据库静态结构设计.ppt(68页珍藏版)》请在沃文网上搜索。
1、第三章 数据库静态结构设计3.1概念模型一般概念3.2PowerDesigner概述3.3实体 域、数据项和属性3.4实体之间的关系3.5继承(Inheritance)3.6概念数据模型实例分析3.7物理数据模型PDM3.8数据库的建立任务和方法任务:实现数据库设计新奥尔良方法中概念结构设计和逻辑结构设计方法:l使用PowerDesigner(简写PD)进行概念数据模型CDM设计,l由CDM生成物理数据模型PDM(逻辑结构)l用与PDM同时生成的针对具体DBMS的DDL语句构建数据库。3.1 概念模型一般概念把用户需求抽象为概念模型即为概念结构设计。概念模型除了要求能反映客观世界并且易于理解外
2、,还要求其易于向数据模型(如关系模型)转化。概念模型独立于具体的数据库系统,是整个数据库设计的基础。3.1.1 概念模型的两个要素实体和关系是构成概念模型的两个要素 3.1.1.1 实体(Entity)实体(Entity)、实体型(Entity Type)和实体集(Entity Set)属性(Attribute)域(Domain)码(Key)实体(Entity)、实体型(Entity Type)和实体集(Entity Set)实体(Entity):客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。如XXX学生。实体型(Entity Type):同类实体称为实体型,用实体名
3、及其属性名集合来抽象和刻画,如学生。实体集(Entity Set):同型实体的集合称为实体集。如xx班的学生。属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。如学生的姓名、性别。域(Domain):属性的取值范围称为该属性的域。如年龄的域为:1到150的整数码(Key):唯一标识实体的属性集称为码。如学号3.1.1.2 关系(Relationship)1:1关系:如果一个实体集A中的实体,在另一个实体集B中至多有一个实体与之对应,反之,实体集B中的实体,在实体集A中也至多有一个实体与之对应,则称A和B具有1:1的关系。1:n关系:如果一个实体集A中至少
4、有一个实体,在另一个实体集B中有多于一个实体与之对应,反之,实体集B中实体在实体集A中至多有一个实体与之对应,则称A和B具有1:n的关系。m:n关系:如果一个实体集A中至少有一个实体,在另一个实体集B中有多于一个实体与之对应,同时,实体集B中也至少有一个实体在A中也有多于一个实体与之对应,则称A和B具有m:n的关系。三类实体间关系的关系我们给出的三种实体间关系的定义,互不包含和交叉,两个实体之间的关系属于也只能属于其中的一种类型在对三类关系的计算机处理中,1:1关系可以看成是1:n关系得特例(n=1),1:n又可以看成是m:n关系的特例(m=1)3.1.2 实体关系图(E-R图)概念模型的核心
5、概念的图形表示即E-R图实体型、属性和关系是构成概念模型的核心概念。实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来关系:用菱形表示,菱形框内写明关系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上关系的类型(1:1、1:n或m:n)。关系本身也是一种实体型,也可以有属性。如果一个关系具有属性,则这些属性也要用无向边与该关系连接起来3.1.3概念模型向关系模型转换的方法和规则1:1关系的转换:在任意一方实体对应的关系(表)中,加入另一方实体对应的关系(表)的码作为其属性(即外码)。1:n关系的转换:在一对多的两个实体中的“多”的一方实体对应
6、的关系(表)中,加入另一方实体对应的关系(表)的码作为其属性(即外码)m:n关系的转换:多对多的两个实体的关系,转换成关系模型后将通过一个独立的关系(表)予以反映,该关系的属性由这两个实体的码组成,并把两个实体的码合并作为该关系(表)的码m:n关系的转换方法也适用前两者关系的转换3.1.4 确定实体属性的重要规则在概念模型中,不要试图使用属性来反映两个实体的关系,这本身就包含了实现方法,而实现方法应该由物理模型完成。辅导员不应该作为班级的属性,而应该通过班级和辅导员的关系来反映。学号不应该作为校园卡的属性,而应该通过学生和校园卡的关系来反映校园卡和学号的对应关系。课程和学生的关系Associa
7、tion即“选课”中不应该包括教师属性,而应该通过课程、学生和教师三者之间的Association来反映学生所选课和教师关系。3.2PowerDesigner概述3.2.1概念数据模型CDM概述使用PowerDesigner根据需求建立概念数据模型由概念数据模型生成关系数据模型,同时依据用户选择的具体数据库管理系统,产生数据定义语句(DDL)。为关系型数据库建模的主要和关键的工作是建立正确有效的概念数据模型设计数据库过程通常开始于概念级,在此级不需要考虑实际物理实现的细节。一个概念数据模型CDM代表了一个数据库的整体逻辑结构,它独立于任何软件或数据存储结构。3.2.2CDM分析设计的一般流程一
8、)E-R图学生课程班级校园卡学号姓名选课持有属于编号名称学分卡号余额班号班名mn11n1成绩班长11二)概念数据模型CDM使用Powerdesigner描述E-R图(TeachingCDM):三)生成的物理模型根据CDM生成的物理模型PDM图(TeachingPDM):四)生成的DDL语句(部分)PDM包含了选择的DBMS的DDL语句:create table Students(stdid char(6)not null,classid char(6)not null,name title null,constraint PK_STUDENTS primary key (stdid)alter
9、 table Students add constraint FK_STUDENTS_STDBELONG_CLASSES foreign key(classid)references classes(classid)3.2.3 建立CDM的一般操作目标:使用PowerDesigner建立概念数据模型新建:选菜单New,然后选Conceptual Data Model(概念模型),在Browse窗口的根WorkSpace下产生一个概念模型的结点,使用弹出菜单更名为“TeachingCDM”。图(Diagram):在该结点下已自动加入一个“图”,以图形化的方式显示概念模型,一个概念模型下至少有一个
10、“图”,自动显示概念模型下的实体等元素。右击工具栏,在弹出式菜单中打开Palette选项,在Palette窗口中包含了图形化方式显示的概念模型中的元素,可选中需要的元素加入“图”中。也可右击概念模型TeachingCDM,选择New/Entity或其他菜单在概念数据模型中加入元素。设置元素的特性:右击元素,选择菜单Properties将出现特性设置的对话框,不同类型的元素由不同的页框组成。元素的Name用于图中显示,所以一般取中文,而Code用于生成物理模型的对象名(如表名、列名等),一般取英文字母。概念数据模型对应文件的缺省名为该概念数据模型名 删除概念数据模型中对象的方法是选择要删除的对象
11、,然后按Del键在获得概念数据模型中的所有实体的属性信息后,必须分析整理出具有相同特性或必须保持一致特性的属性,把它们定义为“域(Domain)”或“数据项(Data Item)”3.3 实体 域、数据项和属性3.3.1 域域(Domain)由域名、数据类型、长度、缺省值、最大值和最小值等特性组成所有实体属性的Domain可取已定义的域,其Data type将被该域取值类型和范围所取代具有同一个“域(Domain)”的属性就具有和该域一样的数据类型和数据约束域定义保证了具有相同取值类型和范围的属性域的一致性,一旦域需要修改,不必再逐个对实体属性进行修改,而只要对定义的域作一次修改3.3.2数据
12、项(Data Item)数据项Data Item:在Entity中加入的所有属性将被自动加入在Data Items结点下作为数据项进行集中管理。也可以直接在Data Items下增加数据项,实体属性通过使用相同的Code引用该数据项定义。属性和数据项关系:实体的属性可以看作是Data Items下数据项的组合;Data Items是所有实体属性的集合引入数据项机制的意义:相同的数据项只需要定义一次,节省了设置的工作量最大限度保证了不同实体中相同性质的属性定义的一致性保证了相同性质的列名的一致性其中,第1,2条和“域(Domain)”的作用相似,2,3条在团队开发情况下非常有用,第3条是和“域(
13、Domain)”作用的不同之处选作实体主码的数据项的排它性:若一个数据项作为一个实体的主码,就不能再作为其他实体的属性。基于的理由是Powerdesigner假设与某一实体主码同名的属性必是外码,而外码是在生成物理模型时根据实体间关系自动生成,在概念模型中无需设置。引出的Code的取名(即表列名)问题:被选作主码属性的code不能被其他实体使用l所有实体主码属性的Code取值必须不同名。如实体一般均有编号,并且通常为主码,为此我们必须在编号前加上前缀,如StdId。l任一实体主码属性的Code值不能再被其他实体的属性使用Code数据项定义,同时Code列名,所以生成的物理模型中相同的列名必须具
14、有相同的定义。l在商场管理信息系统中,很多单据都有数量属性,若这些数量属性具有相同的长度和精度要求,则Code可相同,反之,则Code不能同名,如必须取名为OrderQty、SaleQty等。突破限制的方法:如在上述Code不能同名情况下,要求生成的物理模型列名一定要同名,可在生成的物理模型时打开选项:Convert Names into Codes,即把Name作为列名。但一般不建议这样做。选择菜单Tools/Model Options,对Model设置中的Data Item中关闭Unique Code选项。(注意:进入Model Options对话框内容根据当前Diagram是概念模型还是
15、物理模型而不同)3.3.3实体(Entity)实体特性窗口中主要包含下列页框:General:设置实体(Entity)的编码(Code)、名称(Name)和发生的行数(Number)Attributes(属性):设置实体的属性Identifiers:设置实体的标识(对应物理模型中码和唯一性约束)Rules(规则):设置约束条件3.3.3.1 实体属性实体属性:在实体的特性窗口的Attributes页框中设置实体的属性属性设置内容:包括Code、Name、Comment、Data type、Length、Domain和Standard Checks(Maximum、Minimum和Default
16、)等属性的Code值:l缺省情况下为Data Items的唯一性标识,不同实体相同Code属性被认为对应的是一个数据项定义。l是以后生成建表SQL语句的列名。属性的M、P和D:lM=Mandatory(强制):选中表示属性非空,当该属性为外码时表示强制的引用关系。lP=Primary Identifier:选中为主标识。lD=Displayed:选中在图中显示该属性,否则不显示。Attribute Properties列约束设置:双击某一属性,进入属性特性设置框,其中standard Checks页框中包含了下列常用设置:最大、最小、缺省值、格式以及所有合法值生成的物理模型中建表SQL语句示例
17、:age int null default 18constraint CKC_AGE_ENTITY_1 check(age is null or(age between 16 and 20 and age in(17,18,19,20,16),3.3.3.2规则(Rule)通过规则设置行约束:进货价格必须小于销售价格在概念模型中新建一个Business Rules,在Expresion/Server中输入“进货价格=销售价格”(Client中只在文档中反应,而不会对物理模型产生影响)在实体的Properties中的Rules页框点击Add Objects,选择上面建立的rule。在生成的物理模
18、型的建表的SQL语句中出现:constraint CKT_ENTITY_1 check(agelength)3.3.3.3 实体标识(Identifier)定义:实体的属性或属性组合,在非空情况下其值唯一地标识一个实体(可以为空)Primary Identifier:一个实体可有多个Identifier,但只能指定一个为Primary Identifier,一定非空。设置方法:在实体Propertise窗口的Identifier中设置,双击某个Identifier设置其对应属性。生成物理模型:Primary Identifier对应属性即为主码,其他Identifier对应属性被定义为Uniq
19、ue约束。Primary Identifier设置:在实体的Properties窗口的Attributes中指定一个实体的某些属性为Primary Identifier后,该实体将自动产生一个Identifier_1,其对应属性即为所有指定为Primary Identifier的属性。去除属性的Primary Identifier标志,并不会自动删除Identifier_1,但对应属性被自动删除;反之,删除Identifier_1或去除对应属性或去除Primary Identifier标志,则实体所有属性自动去除Primary Identifier标志。3.4 实体之间的关系Powerdesi
20、gner提供了两种方法建立实体之间关系。Relationships:为ER模型表示法Associations:为Merise表示法,Merise为信息系统设计和开发方法,类似UML。在一个概念数据模型中,可以只使用relationship或只使用Association,也可以两者同时使用。3.4.1关系(Relationship)建立实体之间的关系,在其Properties的Detail中设置关系的不同类型,内容包括(实体A to 实体B):l基数(Cardinality):n,m表示一个实体A可对应n-m个实体B,可选0,1、1,1、0,n和1,nl依赖关系(Dependent):l含义:A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 静态 结构设计