数据库静态结构设计课件

上传人:我*** 文档编号:141440814 上传时间:2020-08-08 格式:PPT 页数:66 大小:264KB
返回 下载 相关 举报
数据库静态结构设计课件_第1页
第1页 / 共66页
数据库静态结构设计课件_第2页
第2页 / 共66页
数据库静态结构设计课件_第3页
第3页 / 共66页
数据库静态结构设计课件_第4页
第4页 / 共66页
数据库静态结构设计课件_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《数据库静态结构设计课件》由会员分享,可在线阅读,更多相关《数据库静态结构设计课件(66页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据库静态结构设计,一)主要内容 概念模型一般概念 PowerDesigner完整示例 PowerDesigner的概念数据模型CDM(Conceptual Data Model) PowerDesigner的物理数据模型PDM(Physical Data Model) SQL Server DDL语句,二)任务和方法,任务:实现数据库设计新奥尔良方法中概念结构设计和逻辑结构设计 方法: 使用PowerDesigner(简写PD)进行概念数据模型CDM设计, 由CDM生成物理数据模型PDM (逻辑结构) 用与PDM同时生成的针对具体DBMS的DDL语句构建数据库。,3.1 概念模型一般

2、概念,把用户需求抽象为概念模型即为概念结构设计。 概念模型除了要求能反映客观世界并且易于理解外,还要求其易于向数据模型(如关系模型)转化。 概念模型独立于具体的数据库系统,是整个数据库设计的基础。,基本概念:,(1)实体型(Entity Type) : 实体(Entity):客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。如XXX学生。 实体型(Entity Type):同类实体称为实体型,用实体名及其属性名集合来抽象和刻画,如学生。 实体集(Entity Set):同型实体的集合称为实体集。如xx班的学生。 (2)属性(Attribute):实体所具有的某一特性称为属

3、性。一个实体可以由若干个属性来刻画。 如学生的姓名、性别。 码(Key):唯一标识实体的属性集称为码。 如学号。 域(Domain):属性的取值范围称为该属性的域。如年龄的域为:1到150的整数 (3)关系(Relationship):实体型之间1对1、1对多和多对多之间的关系。,概念模型的核心概念的图形表示即E-R图:,实体型、属性和关系是构成概念模型的核心概念。 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来 关系:用菱形表示,菱形框内写明关系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上关系的类型(1:1、1:n或m:n)。关系

4、本身也是一种实体型,也可以有属性。如果一个关系具有属性,则这些属性也要用无向边与该关系连接起来,3.2 PowerDesigner完整示例一)E-R图,学生,课程,班级,校园卡,学号,姓名,选课,持有,属于,编号,名称,学分,卡号,余额,班号,班名,m,n,1,1,n,1,成绩,班长,1,1,二)概念数据模型CDM,使用Powerdesigner描述E-R图(TeachingCDM):,三)生成的物理模型,根据CDM生成的物理模型PDM图(TeachingPDM):,四)生成的DDL语句(部分),PDM包含了选择的DBMS的DDL语句: create table Students ( stdi

5、d char(6) not null, classid char(6) not null, name title null, constraint PK_STUDENTS primary key (stdid) ) alter table Students add constraint FK_STUDENTS_STDBELONG_CLASSES foreign key (classid) references classes (classid),3.3PowerDesigner的概念数据模型(Conceptual Data Model),PD对概念数据模型定义主要的内容: 设计数据库过程通常开

6、始于概念级,在此级不需要考虑实际物理实现的细节。 一个概念数据模型CDM代表了一个数据库的整体逻辑结构,它独立于任何软件或数据存储结构。,CDM主要作用: (PD help),以图形方式表示数据的组织结构(E-R图) 检验数据设计的有效性 产生物理数据模型Physical Data Model (PDM),其中包含了数据库的物理实现 可以产生一个使用UML标准表达的面向对象模型 Object-Oriented Model (OOM),3.3.1基本概念,目标:使用PowerDesigner建立概念数据模型 新建:选菜单New,然后选Conceptual Data Model(概念模型),在Br

7、owse窗口的根WorkSpace下产生一个概念模型的结点,使用弹出菜单更名为“TeachingCDM”。在该结点下已自动加入一个Diagram。 在概念模型中加入实体等元素:右击概念模型TeachingCDM ,选择New/Entity或其他菜单。 设置元素的特性:右击元素,选择菜单Properties将出现特性设置的对话框,不同类型的元素由不同的页框组成。 元素的Name用于图中显示,所以一般取中文,而Code用于生成物理模型的对象名(如表名、列名等),一般取英文字母。,3.3.1.1实体(Entity),实体特性窗口中主要包含下列页框: General:设置实体(Entity)的编码(C

8、ode)、名称(Name)和发生的行数(Number) Attributes(属性):设置实体的属性 Identifiers:设置实体的标识(对应物理模型中码和唯一性约束),一)实体属性(Attributes)和数据项(Data Items),实体属性:在实体的特性窗口的Attributes页框中设置实体的属性 属性设置内容:包括Code、Name、Comment、Data type、Length、Domain和Standard Checks(Maximum、Minimum和Default)等 数据项Data Item:在Entity中加入的所有属性将被自动加入在Data Items结点下作为

9、数据项进行集中管理。也可以直接在Data Items下增加数据项,实体属性通过使用相同的Code引用该数据项定义。 属性和数据项关系:实体的属性可以看作是Data Items下数据项的组合;Data Items是所有实体属性的集合,属性的Code值: 缺省情况下为Data Items的唯一性标识,不同实体相同Code属性被认为对应的是一个数据项定义。 是以后生成建表SQL语句的列名。 属性的M、P和D: M=Mandatory(强制):选中表示属性非空,当该属性为外码时表示强制的引用关系。 P=Primary Identifier:选中为主标识。 D=Displayed:选中在图中显示该属性,

10、否则不显示。,Attribute Properties列约束,设置:双击某一属性,进入属性特性设置框,其中standard Checks页框中包含了下列常用设置:最大、最小、缺省值、格式以及所有合法值 生成的物理模型中建表SQL语句示例: age int null default 18 constraint CKC_AGE_ENTITY_1 check (age is null or (age between 16 and 20 and age in (17,18,19,20,16) ), ,行约束:进货价格必须小于销售价格,在概念模型中新建一个Business Rules,在Expresio

11、n/Server中输入“进货价格=销售价格”(Client中只在文档中反应,而不会对物理模型产生影响) 在实体的Properties中的Rules页框点击Add Objects,选择上面建立的rule。 在生成的物理模型的建表的SQL语句中出现: constraint CKT_ENTITY_1 check (agelength) ,选作实体主码数据项的排它性,若一个数据项作为一个实体的主码,就不能再作为其他实体的属性。基于的理由是Powerdesigner假设与某一实体主码同名的属性必是外码,而外码是在生成物理模型时根据实体间关系自动生成,在概念模型中无需设置 。,引出的Code的取名(即表列

12、名)问题:,被选作主码属性的code不能被其他实体使用 所有实体主码属性的Code取值必须不同名。如实体一般均有编号,并且通常为主码,为此我们必须在编号前加上前缀,如StdId。 任一实体主码属性的Code值不能再被其他实体的属性使用 Code数据项定义,同时Code列名,所以生成的物理模型中相同的列名必须具有相同的定义。 在商场管理信息系统中,很多单据都有数量属性,若这些数量属性具有相同的长度和精度要求,则Code可相同,反之,则Code不能同名,如必须取名为OrderQty、SaleQty等。,突破限制的方法:,如在上述Code不能同名情况下,要求生成的物理模型列名一定要同名,可在生成的物

13、理模型时打开选项:Convert Names into Codes,即把Name作为列名。但一般不建议这样做。 选择菜单Tools/Model Options,对Model设置中的Data Item中关闭Unique Code选项。(注意:进入Model Options对话框内容根据当前Diagram是概念模型还是物理模型而不同),判定实体属性合适的准则:,在概念模型中,不要试图使用属性来反映两个实体的关系,这本身就包含了实现方法,而实现方法应该由物理模型完成。 辅导员不应该作为班级的属性,而应该通过班级和辅导员的关系来反映。 学号不应该作为校园卡的属性,而应该通过学生和校园卡的关系来反映校园

14、卡和学号的对应关系。 课程和学生的关系Association即“选课”中不应该包括教师属性,而应该通过课程、学生和教师三者之间的Association来反映学生所选课和教师关系。,二)实体标识(Identifier),定义:实体的属性或属性组合,在非空情况下其值唯一地标识一个实体(可以为空) Primary Identifier:一个实体可有多个Identifier,但只能指定一个为Primary Identifier,一定非空。 设置方法:在实体Propertise窗口的Identifier中设置,双击某个Identifier设置其对应属性。 生成物理模型:Primary Identifie

15、r对应属性即为主码,其他Identifier对应属性被定义为Unique约束。,Primary Identifier设置 :,在实体的Properties窗口的Attributes中指定一个实体的某些属性为Primary Identifier后,该实体将自动产生一个Identifier_1,其对应属性即为所有指定为Primary Identifier的属性。 去除属性的Primary Identifier标志,并不会自动删除Identifier_1,但对应属性被自动删除;反之,删除Identifier_1或去除对应属性或去除Primary Identifier标志,则实体所有属性自动去除Pri

16、mary Identifier标志。,3.3.1.2域(Domain),定义域,即属性的取值类型和范围。 所有实体属性的Domain可取已定义的域,其Data type将被该域取值类型和范围所取代。 例:定义一个名称域title,则学生姓名和课程名称的Domain取title。 域定义保证了具有相同取值类型和范围的属性域的一致性,一旦域需要修改,不必再逐个对实体属性进行修改,而只要对定义的域作一次修改。,3.3.1.3图(Diagram),以图形化的方式显示概念模型,一个概念模型下至少有一个Diagram,自动显示概念模型下的实体等元素。 打开Palette窗口:右击工具栏,在弹出式菜单中打开Palette选项。 在Palette窗口中包含了图形化方式显示的概念模型中的元素,可选中需要的元素加入Diagram中。,3.3.1.4关系,Powerdesigner提供了两种方法建立实体之间关系。 Relationships:为ER模型表示法 Associations:为Merise表示法, Merise为信息系统设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号