使用PowerDesigner绘制ER图和生成Sql Server表

一.概念

1.1概念数据库模型

    数据模型是现实世界中数据特征的抽象,数据模型应该满足一些需求

    1.能够真实第模拟现实世界

    2.容易被人们所理解

    3.能被计算机实现


    概念信息模型也称信息模型,以实体-联系(Entity-RelationShip)为理论基础,从用户的观点出发进行建模,主要用于数据库概念设计。

    通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。


1.2.实体,属性及标识符的定义

    实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,学校中的每个学生,医院中的每个手术。

每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。

    实体集(Entity Set)是具体相同类型及相同性质实体的集合。例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。

    实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,身份证号.............}。实体是实体类型的一个实例,在含义明确的情况下,实体、实体类型通常互换使用。

    实体类型中的每个实体包含唯一标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier),如“学号”是学生实体类型的标识符,“姓名”、“出生日期”、“信址”共同组成“公民”实体类型的标识符。

    有些实体类型可以有几组属性充当标识符,选定其中一组属性作为实体类型的主标识符,其他的作为次标识符。

引用:https://www.cnblogs.com/advocate/p/3730027.html

二.PowerDesigner的使用

1.首先创建概念模型


2.接下来我们选择长方形的这个小块,创建实体


3.选择attribute我们可以设置属性


    上面蓝色的小方格中,第一个是插入属性,第二个是末尾添加属性,第三个是从数据项中添加属性,第四个是重用已有的数据项。

       Add a DataItem 与 Reuse a DataItem的区别在于 Add a DataItem 情况下,选择一个已经存在的数据项,系统会自动复制所选择的数据项。如果您设置了UniqueCode选项,那系统在复制过程中,新数据项的Code会自动生成一个唯一的号码,否则与所选择的数据项完全一致。

    Reuse a DataItem情况下,只引用不新增,就是引用那些已经存在的数据项,作为新实体的数据项。

    下面会有如何设置UniqueCode的方法。

   ps: code为转化为数据库时的字段名,name是解释作用。

    4.操作方法


    5.双加设置属性


M表示强制,表示属性不能为空

P标识是否为主标识符

D标识是否显示在图形窗口中

    6.双击属性,设置属性内容


Domain是域,域就是列的取值范围,比如性别的域就是(男,女)

   7. Standard checks


参数 说明
Minimum 属性可接受的最小数
Maximum 属性可接受的最大数
Default 属性不赋值时,系统提供的默认值
Unit 单位,如公里、吨、元
Format 属性的数据显示格式
Lowercase 属性的赋值全部变为小写字母
Uppercase 属性的赋值全部变为大写字母
Cannot modify 该属性一旦赋值不能再修改
List Of Values 属性赋值列表,除列表中的值,不能有其他的值
Label 属性列表值的标签

    8.设置标识符

        identifier可能只是助于理解设计CDM 和表的设计并没有太大关系

     9.数据项的唯一性代码选项和重用选项 使用Tools--->Model Options->Model Settings。在Data Item组框中定义数据项的唯一性代码选项(Unique Code)与重用选项(Allow Reuse)。 注意: 如果选择Unique Code复选框 ,每个数据项在同一个命名空间有唯一的代码,而选择Allow reuse ,一个数据项可以充当多个实体的属性。 


    三.PowerDesigner生成Sql Server表

    3.1首先,我们画好E-R图

    

    这里的老师和学生是多对多的关系

    3.2.点击ools-->GeneratePhysical Data Model


    接着选择我们要生成的数据库代码,这里是Sql Server2012

    3.3.也许,在我们执行的时候会出现这个错误


    这可能是某些identifier(标识符)没设置好,设置标识符时,要在表的某一个属性上勾选P,有时候多余的次标识符也会报错。

这里的实验是多了一个次标识符student_id<ai>

    3.4.生成的物理模型如下


    3.5.接着执行生成Sql语句,Database-->Generate DataBase

    

    选择我们要保存Sql文件的目录,出现这样,完成了


    3.6.我们执行以下文件,成功了

    

    

猜你喜欢

转载自blog.csdn.net/Sirius_hly/article/details/80737460