ERwin记录材料-知道这些就够用了
实验一 ERWin实验
实验一 ERWin实验实验名称:用ERWin创建数据库模型实验目的:了解ERwin的基本功能,掌握ERwin的基本使用实验内容:利用Erwin进行数据库设计实验要求:Erwin的安装,利用Erwin实施数据库设计的正向工程、实施数据库设计的反向工程,利用Erwin生成报告步骤:ERwin全称是AllFusion ERwin Data Modeler,是CA公司AllFusion品牌下的建模套件之一,采用IDEF1X数据库建模语言。
一、数据库设计的工具数据库工作者和数据库厂商一直在研究和开发数据库设计工具,辅助人们进行数据库设计,该工具称为CASE(Computer Aided Software Engineering)或AD(Automic Designer)。
经过十多年的努力,数据库设计工具已经实用化和产品化,出现了一批有名的数据库设计工具。
(1) Oracle公司的Oracle DesignerOracle公司是全球最大的专业数据库厂商,其主要产品有DBMS、Designer、Developer。
其中以公司名称命名的Oracle数据库管理系统最为著名;Designer(原名为Designer/2000)是数据库设计工具,支持数据库设计的各个阶段;Developer是客户端应用程序设计工具;所有分析设计结果以元数据的方式存放在Oracle数据库中,以便共享和支持团队开发。
主要特点是方便的业务处理建模和数据流建模,易于建立实体关系图,支持逆向工程,概念结构转化逻辑结构容易。
(2)Sybase公司的Power DesignerSybase公司的Power Designer(简称为PD)是一个CASE工具集,它提供了一个完整的软件开发解决方案。
在数据库系统开发方面,能同时支持数据库建模和应用开发。
其中Process Analyst是数据流图DFD设计工具,用于需求分析;Data Architect是数据库概念设计工具和逻辑设计工具;App Modeler是客户程序设计工具,可以快速生成客户端程序(如Power Builder、Visual Basic、Delphi等程序);Warehouse Architect是数据仓库设计工具;Meta Works用于管理设计元数据,以便建立可共享的设计模型。
ERwin使用说明(中英文)
Getting Started with ER win (Erwin入门)by Dr. Peter WolcottDepartment of Information Systems and Quantitative AnalysisCollege of Information Science and TechnologyUniversity of Nebraska at Omaha(由内布拉斯加州的奥马哈大学信息科学与技术学院门的信息系统和定量分析博士彼得著)Introduction (介绍)ER win is a popular data modeling tool used by a number of major companies in Omaha and throughout the world. (Erwin是受奥马哈和世界各地的一些主要的公司欢迎的数据模型工具) The product is currently owned, developed, and marketed by Computer Associates, a leading software developer.(该产品是由具有领导地位的CA软件开发公司拥有、开发和销售) The product supports a variety of aspects of database design, including data modeling, forward engineering (the creation of a database schema and physical database on the basis of a data model), and reverse engineering (the creation of a data model on the basis of an existing database) for a wide variety of relational DBMS, including Microsoft Access, Oracle, DB2, Sybase, and others.该软件为多种多样的关系型数据库管理系统,包括Microsoft Access,甲骨文,Sybase,DB2,和其他人提供支持数据库设计的各个方面,包括数据建模、正向工程(在现有的数据模型的基础上创建数据模式和物理数据库)和逆向工程(在现在的数据库基础上创建数据模型)This brief tutorial steps you through the process of creating a data model using ER win.(你可以通过这个简单教程中的步骤运用Erwin来创建数据模型) It will not explain all aspects of ERwin, but will show you the minimum necessary to create and use data models for this class. (这个课程不可能全面地讲解Erwin,但它向你展示了必要的最基本的创建和使用数据模型的知识) It consists of three major segments, which correspond to the project-related assignments in your class: (这个课程由三个主要部分组成,它与有关项目任务相符)1.Creation of a basic data model (Conceptual data model) 创建一个基本的数据模型(概念数据模型)2.Creation of a database schema 建立数据库模式3.Creation of the database创建数据库This tutorial is a static one, suitable for printing.本教程是一个静态的,适合印刷A tutorial using screen captures and narration is also available. 一个指南使用屏幕捕捉和叙述是可用的。
ERWIN 操作简要说明
subject下的main subject area下是本文档中所有表的集合,所有分类下的表在此区域下都体现。
8. 文档输出
选择tools-àreport buildàreport build…ànewàentityà”entity” sectionàTABLE(选择输出项) —COLUM(à选择要输出的字段à选择字段后选section,选择字体。à点P后成。
ቤተ መጻሕፍቲ ባይዱ
在设计过程中,有两种状态可选择,一种是Logical模式,看到的是表的逻辑描述信息(就是中文名称),包括表的描述信息和字段的描述信息;一种是Physical模式,看到的是表的英文名称和字段的英文名称。
3. 建立新表
在左侧的导航菜单上有subject areas栏,先点击展开下面的分类(如内部组织、团体等),然后在你要建表分类下点击右键,选择go to,走到分类区域下。然后在左侧的导航菜单中 ,有一个entities栏(以逻辑模型为例, 如果是物理模型则是tables 选项),右键点击它. 选择new,建立一张新表,右面的区域就会产生一个实体或表的定义框,定义框上双击或右键选择就可以开始定义逻辑实体或表的定义,在逻辑实体状态下定义表逻辑名、表描述(definition)、字段逻辑名、字段描述(definition)等。在物理状态下定义表物理名、字段物理名、字段类型等,也可以定义表描述、字段描述,但当逻辑态下已经定义了相应的描述的情况下(有描述信息),物理态下定义的描述信息不会生效,需要注意。逻辑态下没有定义描述信息的情况下,物理态下定义的描述信息是生效的。
ERWIN 操作简要说明
1. ERWIN安装
在VSS上的工具软件下有ERWin 4.14 的软件包 ERWin.v4.1.rar,请使用get last version将软件包下载到本地,然后解开,点击AFEDM414-b3643, 进入安装界面。在注册的时候选择以后注册( register later )。
Erwin工具使用指南
Erwin工具使用指南(版本号:V 1.0)文档修订状况目录第一章基本概念 (4)1.1 数据模型(Modal) (4)1.2 视图 (4)1.2.1 逻辑视图(Logical) (4)1.2.2 物理视图(Physical) (4)第二章操作指南 (6)2.1 新建模型 (6)2.2 视图切换 (7)2.3 新建主题区域 (7)2.4 切换主题区域 (9)2.5 编辑主题区域 (10)2.5.1 选择现有数据实体到指定的主题区域。
(10)2.5.2 在主题区域新建数据实体 (11)2.5.3 在主题区域删除数据实体 (12)2.6 数据实体导航 (13)第一章基本概念1.1 数据模型(Modal)数据模型是数据实体(Entity)和数据实体间的关系(Relationship)总和。
可以简单的理解认为数据实体就是对应数据库表,实体间的关系就是表之间的关系。
1.2 视图Erwin对数据模型提供两种视——逻辑视图、物理视图。
1.2.1 逻辑视图(Logical)是以业务需求的概念对数据模型进行描述。
通俗的说,在逻辑视图中我们可以用中文或描述性的语言来描述数据实体(表)和数据实体的属性(字段)。
下面就是一个对车辆信信息实体的逻辑视图。
1.2.2 物理视图(Physical)物理视图与逻辑视图一一对应,物理视图是针对一种具体的数据库进行逻辑视图的物理映射。
通俗的说,在物理视图中我们必须为每一个在逻辑视图中出现的数据实体(表)指定一个可被具体数据库接纳的表名称,譬如我们使用MySQL作为我们的数据库实现,我们就必须为具体的实体指定一个数据库表名(英文单词或词组),同样的对实体属性(字段)的命名也需进行转换,数据类型也需要具体为数据库支持的数据类型。
下面就是对应车辆信息实体针对MySQL数据的物理视图。
主题区域(Subject Area)主题区域是一个逻辑概念,一个数据模型可以定义多个主题区域。
一个主题区域可以让设计者从整个数据模型的设计的某一方面去查看数据模型,主题区域也由实体与实体间的关系构成,从这个角度来说,主题区域是一个数据模型的子集,子模型。
ERWin详细使用教程资料
如何实现正向工程
通过正向工程能够快速方便生成DDL数据库定义语言。 选择Tools菜单,单击Forward Engineer 见图8-1
可以做相应的配置后单击preview 见图8-2
生成DDL数据库定义语言,保存成后缀 为.ers的文件 见图8-3
如何实现反向工程
选择目標
Entity定义 列印 存檔 開啟模型
Complete Compare
Edit Subject Area
縮小
放大到和視窗 一樣 正常顯示
如何新建工程
单击file 选择new键 选择配置后按OK键
图1-2
如何建主题域
双击Create Subject Areas 在Subject Areas界面单击New按键 在New Subject Areas界面Name:输入 主题域名,然后按OK键。 见图2-1及图2-2
单击New键,在New Trigger界面输入 触发器名,按OK键。 见右图
在Trigger Code输入代码,按OK键。 见右图
如何建立实体间的关系
ERwin使用的 IDEF1X模型语言建模
1. 2.
3.
Identifying ralationship Non-identifying relationship Many-to-many relationship
一、正向工程中文生成DDL脚本,在 脚本 中更改顺序后,新建一个模型 导入生成工程,在用原来工程利用比较 工程同生成工程进行比较,并新工程的 表导入到原工程中 二、直接对列的名字进行对调重命名。 三、在没有. NSM映射文件中有时可以直 接调整。
ERWin详细教程
选择目標
Entity定义 列印 存檔 開啟模型
Complete Compare
Edit Subject Area
縮小
放大到和視窗 一樣 正常顯示
如何新建工程
单击file 选择new键 选择配置后按OK键
图1-2
如何建主题域
双击Create Subject Areas 在Subject Areas界面单击New按键 在New Subject Areas界面Name:输入 主题域名,然后按OK键。 见图2-1及图2-2
选择菜单ModelMart单击Connection.. 见图12-1
输入相应的配置,单击Connect键连接 见图12-2
如何使用Domains
选择default右键,单击New则可生成一项域。 选择property可以给他选择相关的属性,比如 选择Datatype为VARCHAR(18),还可以给它选 择约束等等。
图2-3
如何选择主题域
单击所选的主题域,按右键选择Go To 见图3-1
如何选择逻辑或物理模型
见4-1图
如何建立实体(Entity)
单击Independent table 见图5-1
实体被指定作为独立实体,或依赖实体, 取决于其键的获得方式。
独立实体不依赖于模型中任何其它实体来标识 依赖实体依赖实体依存于模型中的其它实体。
建立数据模型方法-是一种语言 起源于美國空軍(1970s) 美國政府单位与工业界已使用 超过10年(FIPS PUB 184,1993)
IDEF0-通过分解功能、分类功能间的联系来描述系统功能
ERWin经验小结
ERWin经验小结1版本本文所述容均在ERWin Data Modeler 7.2.5中实验通过。
2基本使用2.1常用快捷键2.2显示级别在ERWin中可以显示实体(表)不同级别的视图,逻辑模型相关选项:物理模型相关选项:实体(表)级显示,逻辑模型相关选项:实体(表)级显示,物理模型相关选项:2.3重新排列对象3使用Name mapping设计好逻辑模型后,利用Name mapping的设置,可以通过2个映射文件,在物理模型里自动命名表名和列名。
一般情况下逻辑模型中的实体(表)和属性(列)名都使用中文,以便于理解,而在物理模型里一般使用英文,以实现比较优化的设计。
3.1映射文件例表名映射文件例:3.2Name mapping设置依次打开菜单项:Tools-Names-ModelNaming Options 选择Name Mapping选项卡3.3常见问题为什么在物理模型中不能通过映射文件自动修改表名?1.可能映射文件修改后,并没有被ERWin重新载入,把ERWin关闭后,重新打开再试2.物理模型的表名已经有值,所以没有通过映射文件自动修改表名,把表名清空后再试3.打开.erwin文件后,提示映射文件找不到这种情况可能发生在直接双击.erwin文件时,在开始菜单中打开ERWin,然后通过菜单打开.erwin文件即可解决。
4外键的使用在设计多维模型时,为维表和事实表建立外键关系,可以直观展示维表和事实表的关联关系。
观察一个事实表和与它直接相关联的维表,则可以看到一个清晰的星形模型。
一般情况下维表与事实表的关系是:维表是主表,事实表是子表,维表中的一行数据对应事实表中的多行数据,维表与事实表使用维表的唯一关键字(即主键)关联。
在ERWin中建立外键关联时,前提条件是在主表上创建了主键。
以下例子中均以事实表作为子表,维表作为主表建立外键关系。
4.1相同列名建立外键关联建立外键关联最简单的情况是维表的主键列与事实表的维度列具有相同的名称。
ERwin使用教程
IDEF1X
IDEF0-通过分解功能、分类功能间的联系来描述 系统功能 IDEF1-用于描述企业重要管理资料的方法 IDEF1X-关系数据库的设计方法 IDEF2-一种以数字逻辑为基础的模拟方法 IDEF3-为自使用者描述系统结构的方法 IDEF4-一种面向对象式数据库的设计方法 IDEF5-是一种收集事实与资料的方法 IDEF6-是信息系统设计原理的描述方法
Payment Number (FK) Customer Number (FK)
Order Date Order Shipment Charge
Order Total Order Shipment Date (IE4)
包含
AXON TECHNOLOGY
LINE ITEM
Order Number (FK) Line Item Sequence Number
置
Transaction Patterns
Physical Model
Sales Order
DBMS Functions
ERwin在Client/Server 发展环境的角色
Client Environment
E
Visual Basic
R
w
PowerBuilder
i
n
AXON TECHNOLOGY
AXON TECHNOLOGY
Primary Key,PK 实体中所有候选键中被指定为最优先或最 常用來唯一标识每个实例的某个属性或一 组属性
老師
教職員编号
姓 名字 住址 國別 電話 生日
erwin
构建逻辑模型
3、编辑实体定义
在标识出主要的实体之后,需要对每个实体 进行定义,以验证实体的正确性。 编辑实体定义有两种方法:直接在图中编辑; 通过实体编辑器。
实体注释 ERWIN提供了比较细致地对实体进行定义和说明的途径。其中, 实体定义用于描述在需求阶段发现该实体的人对该实体的解释。 实体的注释可以使我们进一步说明实体的有关信息。 ERWIN提供 了对实体的三种独立的注释区域,可以根据实际需要对注释加以选择 和分类。
物理表的设计
物理字段的设计
数据库中每个表的字段都有许多属性规定可以 保存哪些数据。 属性包含了数据的类型、大小、长度和限制。 限制进一步约束字段值的有效性:如可否为空、 有效性规则和默认值。
物理表的设计
对 字段的设计主要包括以下几方面:
字段名 数据类型 空值选项 有效性规则 默认值
物理表的设计
规范化
关系数据库中的关系是要满足一定要求的,满足 不同程度要求的为不同范式: 每一个分量必须是不可分的数据项,即满足第一 范式。 若R∈1NF,且每一个非主属性完全函数依赖于 码。则R∈2NF R∈3NF,则每个非主属性既不部分依赖于码, 也不传递依赖于码。 一个低一级范式的关系模式,通过模式分解可以转 换为若干个高一级的范式的关系模式的集合。
逻辑模型物理模型实体依赖实体外键是子表的主键独立实体外键不属于子表的主键属性字段逻辑数据类型textnumberdatetimeblob物理数据类型依赖于所选的目标数据库平台类型域逻辑的类型域物理的主键主键主键索引外键外键索引候选键ak候选键索引一个唯一的非主键索引查询间ieie索引一个非唯一索引用于通过一个不唯一的值检索表的信息索引业务规则触发器或存储过程有效性原则约束或限制关系使用外键实现的关系逻辑模型和物理模型对象之间的映射关系构建物理模型逻辑模型物理模型标识关系外键是子表主键的一部分非标识关系外键不属于子表主键的一部分分类关系反规范化的表多对多关系关联表参照完整性级联限制置成空值置成默认值insertupdatedelete触发器关系基数insertupdatedelete触发器视图或视图关系构建物理模型参照完整性是逻辑模型的一部分因为对于如何维护一个关系所做出的决策实际上是业务当中的决策
ERWin介绍
主键、候选键、外键的区别
• 候选键可以唯一决定一个元组或记录, 被选用的候选键为主键,外键是另一个 关系或表的主键。
• 比如一个球员一般属于一个球队。
球队
球员
team-id
player-id player-team-id.team-id(FK)
… …
主键、候选键、外键的区别(续)
• 如果一个球员属于一个球队,则球员可 认为是一个依赖实体,因为他的识别必 须通过球队。但是如果一个球员可以不 属于一个球队而存在。这时用另一种风 格表示。
定义实体间的关系
关系是模型定义中的核心部分。现在分几种情况介绍
• One-to-One • One-to-Many • Many-to-Many • N-ary Relationship • Recursive Relationship • Subtype Relationship • ERWin对Normalization的支持
内容导航
• 背景知识 • 逻辑模型的创建 • 定义实体 • 定义实体间的关系 • 模型的规范化 • 创建物理模型 • ERWin的其他特性
背景知识
• 数据模型和功能模型 • 高层模型和低层模型 • 一些基本的标记 • 命名规定
数据模型和功能模型
• 同等重要、共同发展。分析功能模型, 能揭示新的数据需要,并使该数据能满 足功能的要求。讨论数据模型,能分析 出新的功能需求。
球 队
球 员
team-id
player-id
player-team-id.team-id(FK) …
外键的一个命名规则
Rolename + “.” + keyname • 用dot分隔,前面是角色名,后面是外键
数据建模工具ERwin产品技术交流资料
销售人员 高层管理人员 财务人员
您需要我们从哪个 数据库中抽取报表? 我们有25个数据库 都包含customer 这个字段
Sybase
我的 customers 是 企业的内部员工。
支持工程师
HR
Oracle
DB2 Informix SQL Server Teradata
DBA
顺便说一下,不同的数据库里 customer的格式也是不一样 的,DB2里面是 “CUST_NM” Oracle里面是“cust_last_nm”, 着实很乱
12
January 24, 2013
[Insert PPT Name via Insert tab > Header & Footer]
Copyright © 2011 CA. All rights reserved.
缩短数据迁移时间
数据迁移是指将数据从一个地点转移到另外一个地点。通常在数据仓 库、商业智能和企业主数据管理等类型的项目中,数据迁移是一步必 须要做的工作。此外,随着企业的发展,也会出现数据冗余的现象, 同样的数据在不同的服务器或者库表中分别进行着维护。数据建模能 够降低企业的数据冗余程度,从而降低数据迁移的工作量,加快迁移 速度。这一益处往往容易被人忽视。但实际上,数据建模的过程本身, 以及其将数据视为企业资产的这一特征,能够降低企业对冗余数据、 冗余数据库的依赖程度。做一个现有数据库的复制,在某种程度上, 是可以提高性能,或者还有其他好处,但同时各个数据库之间的复制 移植、维护和同步也不可避免的带来大量的工作。
最大化的绘图调色板具有按需的 UI 模型显示主题和格式选项
能够按需调用工具栏和编辑器,从而节省宝贵的绘图空间—让客户可使 用全屏,从而获取大量的信息。
Erwin的使用手册
ERwin的使用手册1. ERwin简介ERwin是一个数据库关系实体模型(ER Model)设计工具,与Power Designer(Sybase公司开发)成为最常用的两种数据库设计工具。
目前该工具被CA收购,成为CA数据库解决方案中的一个关键部分。
与微软的Vision相比,ERwin只能设计er model,而且设计界面选项较多,相对来说并不那么友好,增加了使用的难度。
但如果你是一个出色的数据库应用开发者,那你一定会发现ERwin的好处。
因为在设计模型层次和复杂度提高以后,visio难以应付众多的数据对象设计和对象之间的关系设计。
而且ERwin提供了数据库正向工程、逆向工程和文档正向工程功能,可以把设计直接实施到数据库后者把数据库中的对象信息读到ERwin设计中,也可以生成设计文档,格式还可以自动定义。
在本教程中,将告诉大家我是怎样简单的使用ERwin来进行数据库设计的。
这里强调了简单二字,就是说有很多只有20%机会用到的80%的功能本教程是不会介绍的。
本文用到的ERwin版本是4.0。
2.ERwin使用2.1正向工程⑴新建文件,如图1所示:图1Logical:只创建逻辑模型Physical:只创建物理模型Logical/ Physical:二者均可创建⑵假设创建逻辑模型,可选择Logical,如图2所示:工绘图区图2常用的有以下几种::用于移动;:用于创建实体。
:用于“Complete sub-category”:用于连接。
“Identifying relationship”,即为标值关系。
注意:先点的为被引用的表,后点的为引用的表。
:用于多对多连接。
“Many-to-many relationship”注意:先点的为被引用的表,后点的为引用的表。
:用于连接。
“Non- identifying relationship”,即为非标值关系。
注意:先点的为被引用的表,后点的为引用的表。
如创建学生信息表,点击,在绘图区一点,便如图3所示:表主关非主图3注:单击“表名”位置可输入表名;一次回车或点击“主关键字”位置可输入或连续输入主关键字;连续两次回车“主关键字”位置可输入非主属性;“非主属性”位置同理。
ERwin---简化了的数据库设计工具
ERwin Database Design Made Easy简化的数据库设计工具---- ERwin 是业界领先的数据建模解决方案,用于生成和维护数据库、数据仓库及企业数据资源模型。
ERwin 模型以一种可以帮助用户更有效地组织和管理的方式来使数据结构可视化,并减少数据、数据库技术和部署环境的复杂性。
ERwin 既能帮助用户快速开发数据库,又能大大提高质量和可维护性。
数据-最重要的业务资产----电子商务、供应链管理、数据仓库...... 任何业务应用的成功都取决于数据库的设计和实施水平。
今天的应用软件与以往大相径庭,它必须能适应新的商业机会和战胜竞争压力。
无法为其客户提供正确信息和Internet 功能的公司将逐渐失去市场份额。
同样,如果公司不了解和利用当前的信息资产,也会丢失最具价值的竞争优势。
成功的信息管理----今天的机构必须拓展他们针对信息管理的方法,必须快速建立和维护应用软件,同时还必须增加对信息资产的了解和利用。
对于许多机构(包括大型和中型机构),ERwin 及其卓越的建模功能成为他们现代化信息管理战略的必要组成部分。
----当应用于项目一级时,ERwin 能提供卓越的成效。
数据库管理员(DBA )、应用软件开发人员和数据仓库开发人员都能使用ERwin 来设计、建立和维护数据库。
ERwin 模型将成为这些专业人员之间以及与业务人员(如数据仓库用户或规划官员)进行交流的途径。
----在企业一级,信息资源规划者和数据管理员可使用ERwin 编制信息资产目录,可视化企业数据需求并建立数据标准和使用策略。
无论是由来自于外部业界规定导致的公司变化、合并或并购,还是来自竞争压力,ERwin 专家都会了解变化所带来的影响并制定相适应的对策。
---- ERwin 提供集中的蓝图,保证所有企业数据的一致性、重用性和集成性。
为建模和设计效率建立标准---- ERwin 使数据库设计更加容易,只要单击鼠标就能生成满足数据需求和数据使用规则的图形化的实体关系(ER )模型。
erwin使用经验分享
erwin使用经验分享数据库ERWIN培训文档版本历史目录1文档介绍 (4)1.1 文档目的 (4)1.2 文档范围 (4)1.3 读者对象 (4)1.4 参考文献 (4)2 ERWIN软件简介 (4)3 新建ERWIN文件 (5)4 逻辑模式/物理模式 (6)4.1 逻辑模式/物理模式简介 (6)4.2 逻辑模式/物理模式的菜单项 (6)4.3 逻辑模式/物理模式的切换 (7)5 SUBJECT AREA (8)5.1 S UBJECT A REA简介 (8)5.2 新建SUBJECT AREA (8)5.3 切换S UB J ECT A REA (9)6 表的建模 (10)6.1 实体属性介绍 (10)6.2 建立表 (10)6.3 新建列 (12)7 正向/逆向工程 (14)7.1 正向/逆向工程简介 (14)7.2 正向工程的使用 (16)8 总结 (26)1 文档介绍该文档主要介绍了数据库建模工具erwin的使用方法,简化《北京AFC2.0业务系统》数据库设计和管理工作。
1.1 文档目的为了让《北京AFC2.0业务系统》开发人员能熟练的使用erwin做数据库建模,同步,管理工作。
特出具该培训文档。
1.2 文档范围该文档主要包含,erwin软件简介,新建erwin文件,建立数据库表,配置列,物理模型和逻辑模型的概念,subject area的概念,数据库正向/逆向工程等内容。
1.3 读者对象《北京AFC2.0业务系统》的开发人员。
1.4 参考文献Erwin自带的一些reference和网上的资料。
2 Erwin软件简介ERwin用来建立实体-关系(E-R)模型,是关系数据库应用开发的优秀CASE工具。
ERwin可以方便地构造实体和联系,表达实体间的各种约束关系,并根据模板创建相应的存储过程、包、触发器、角色等,还可编写相应的PB扩展属性,如编辑样式、显示风格、有效性验证规则等。
ERwin可以实现将已建好的ER模型到数据库物理设计的转换,即可在多种数据库服务器(如Oracle,Sql Server,Watcom等)上自动生成库结构,提高了数据库的开发效率。
ERwin方法论
ERwin Methods2003年10月17日星期五目录1 简介 (1)1.1 欢迎 (1)1.2 适用于 (1)1.3 文档习惯 (1)1.4 如何使用本文 (2)2 信息系统、数据库和数据模型 (2)2.1 关系数据库和ER WIN模型 (2)2.2 关系模型 (3)2.3 什么是信息建模型? (5)3 语言概述 (6)3.1 实体、属性和关系 (6)3.2 关系和外键属性 (9)4 命名、定义实体、属性 (14)4.1 命名为什么重要? (14)4.2 实体定义 (15)4.3 属性定义 (17)4.4 域 (17)4.5 数据类型与角色名 (18)4.6 定义与业务规则 (20)4.7 同义词、同音异义字与别名 (20)5 一些模型细节 (20)5.1 更多实体与属性 (20)5.2 关系类型与基数 (26)5.3 多对多关系 (29)5.4 角色名与申明 (33)5.5 存在与标识依赖 (34)5.5.1 关系描述与插入、替换、删除(IRD)规则 (34)5.5.2 删除规则 (35)5.5.3 插入与替换规则 (36)6 标准化 (36)6.1 介绍 (36)6.2 普遍问题 (36)重复数据组 (37)6.2.2 相同属性的多个用途 (38)相同事实的多个值 (40)6.2.4 相矛盾的事实 (40)6.2.5 丢失信息 (42)6.2.6 统一 (43)6.3 范式汇总 (44)6.4 ER WIN支持的规范化 (45)6.5 需要多高的范式级别? (46)7 信息模型方法学 (50)7.1 信息模型对象 (50)7.2 ER WIN 支持的模型理论 (51)7.2.1 Area Information Models (52)7.2.2 The Key Based (KB) Model (52)7.2.3 The Project Information Models (53)7.2.4 The Fully-attributed (FA) Model (53)7.2.5 The Transformation Model (53)7.3 关系系统的DBMS模型 (54)7.4 信息建模对话 (54)7.4.1 Session Roles (54)7.5 小结 (55)1简介1.1 欢迎欢迎使用ERwin信息模型,以前如果你从未见过模型,ERwin Methods Guide将帮助你了解什么是模型,以及它适合于什么。
ERWin建模工具使用指南
1.2.2
4)实现业务规则
5)数据模型转变为SQL命令
物理模型必须对列的属性进行明确的定义,包括:列名,数据类型(与特定数据库管理系统有关),长度,能否为空值,有效性规则,缺省值等。
为了提高数据查询的效率,结合具体的应用环境,在数据模型中可能会存在适当的冗余,在某种程度上会破坏逻辑模型的完美性,即非规范个属性的值唯一,不具有多义性;
2.每个非主属性必须完全依赖于整个主键,而非主键的一部分;
3.关系模式中不存在传递依赖。
逻辑模型是分阶段、自顶向下进行的。建立逻辑模型要经历项目规划、开发定义实体、定义实体间的关系、定义键、定义属性五个阶段。建模的不同阶段产生不同的成果,即实体关系视图(ER图)、键基视图(KB图)、全属性视图(FA图),这些视图具有不同的语法和语义,主要区别在于:
逻辑模型中的分类关系在物理模型中有两种实现方法。举例,教师为类属实体,专职、兼职、研究生为分类实体,它们是互斥的关系,第一种是单表实现方法,即建立一个表(表teacher),该表中的列teacher_hiretype不能为空值,而分类实体特有的列则可以为空值,为实现这种互斥的分类关系,在列teacher_begindate上建立以下有效性规则:
ERWin建模工具
第1章
1.1
模型是实际事物、实际系统的抽象。它是针对所需要了解和解决的问题,抽取其主要因素和主要矛盾,忽略一些不影响基本性质的次要因素,形成对实际系统的表示方法。模型的表示形式是可以多种多样的,可以是数学表达式、物理模型或图形文字描述等等。总之,只要能回答所需研究问题的实际事物或系统的抽象表达式,都可以称为模型。在CIM的研究中,由于企业实际问题的复杂性、不确定性和人的因素、主观因素的存在,我们更多应用的是图形模型和文字描述模型。
ERwin应用以及使用示例
实例
步骤: 1 单击File\new 创建一MFCAppWizard(exe) 程,工程名为:student(可以自己定义)。
工
2 单击确定\选择基于对话框类型\选择完成\ 单击确定,完成工程的创建。
进入对话框的编辑界面,选中上面的 三个控件,按delete键将其删除。
删除后的界面
添加三个button控件和一个edit控件。
4 设置实体的主键
方法: 右击所选实体,然后单击key groups,然后 选择实体的主键。
5 建好的实体
建立好的实体间的关系
6 产生数据库报表
第一步: 单击Tools\Report templates Builder\ Report Builder,弹出窗口如下所示:
选择输出的类型(这里选择html), 单击new弹出窗口:
erwin介绍erwin介绍erwin可以方便地构造实体和联系表达实体间的各种约束关系并根据模板创建相应的存储过程包触发器角色等还可编写相应的pb扩展属性如编辑样式显示风格有效性验证规则等
第一部分: Erwin的介绍 第二部分:数据库应用程序(vc++ 和sqlserver)
Erwin介绍
与以往相比,当前应用程序的开发不断发生 变化,各种基于Internet和客户机/服务器 结构 以及使用纯Java、C++和诸如Delphi、 PowerBuilder之类的可视化开发工具编写的 新系统层出不穷。但是,对遍布整个公司的信 息进行逻辑设计,以便生成物理数据库,对这种 数据库结构设计的需求没有发生变化。
运行介绍 了用VC++制作数据库应用系统的一个基本过 程。
方法:点击控件菜单上所要选的控件,然后 再点击在对话框上欲放的位置,即可完成控 件的添加。
ERWin介绍
E-R数据模型
设计E-R数据模型的目标是有效和自然的
模拟现实世界 ,而不是它在机器中如何 实现,因此,E-R数据模型只包含那些对 描述现实世界有普遍意义的抽象概念。 三个基本抽象概念:实体、联系、属性。 具有相同性质的一类实体的集合称为实 体集。
基于E-R图的数据库设计方法
在1976年由Peter P.S.Chen提出,其基本思想
非标识非强制关系(Non-Identifying Non-Mandatory Relationship)
实体 PK 迁移到子实体当作非主键且与子实体为 非标识行 ( Non-Identifying ) .实体与父实体间的标识为独立存在性 .实体信息本身不需完全依賴父实体
EMPLOYEE Department Number Department Name Department Location Employee Id
FOREIGN KEY(FK)
父实体的PK通过关系加入到
子实体中作为PK,此称之为外键 (FOREIGN KEY)
角色名(Rolename)
rolename是外键属性的新名字,角色名
定义一个新属性,它用来描述由关系体 现的业务陈述。
球员PLAYER的键属性 “player-team-id.team-id”给 我们演示定义和显示角色名的语法,第一半 (点号 之前)是角色名,第二半是外来键的原始名称,有时 称基本名称。role-name.base-name
TEACHER
Primary Key,PK
实体中所有候选键中被指定为最优先或最常用來唯一
标识每个实例的某个属性或一组属性
换用键(Alternate
Key)
除PK外的所有候选键 以
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章ERwin介绍
1.1.ERwin简介
流行的数据库建模工具
——PowerDesigner
——Rose
——ERwin
ERwin的全称是AllFusion ERwin Data Modeler,是CA公司AllFusion品牌下的建模套件之一,采用IDEF1X、IE(Information Engineering)数据库建模语言,是关系数据库应用开发的优秀CASE(Computer Aided Software Engineering)工具。
ERwin可以方便的构造实体和联系,表达实体间的各种约束关系,并根据模板创建相应的存储过程、包、触发器、角色等,还可以编写相应的PB扩展属性,如编辑样式、显示风格、有效性验证规则等。
ERwin可以实现将已建好的ER模型到数据库物理设计的转换,即可在多种数据库服务器(如Oracle、Sql Server、Mysql)上自动生成库结构,提高了数据库的开发效率。
1.2.ERwin界面说明
1.3. ERwin常见概念说明
1.3.1 ERwin中的实体
Erwin中的实体有两种:独立实体和依赖实体。
实体被指定作为独立实体,或依赖实体,取决于其键的获得方式。
独立实体由方角盒来指定,独立实体不依赖于模型中任何其它实体来标识。
依赖实体被指定为圆角盒,依赖实体依存于模型中的其它实体。
独立实体依赖实体
1.3.2 ERwin中的关系
实体间的三种关系:
1 标识关系(identifying relationship)
:把实体1中的主键作为实体2中的外键,且作为实体2的主键。
2 多对多关系(many- to- many relationship)
3 非标识关系(non-identifying relationship )
1.标识关系
3.非标识关系
第2章 ERwin中基本操作
2.1. 如何新建工程(Model)
方法①:菜单File—>New
方法②:直接点File按钮下的Create Model图标
弹出窗口如下:
注意:对于新建的Model必须使用文件或者从Model Manager库中的模板。
2.2. 如何新建主题域(Subject Area)
方法①:菜单Model—>Subject Area
方法②:工具条Edit Subject Area
方法③:导航区Model中右击Subject Area –>New
注意:对于任何模型不允许直接在Main Subject Area中操作,必须新建一个Subject Area,而且必须在Definition TAB中注释。
2.3. 如何选择主题域
单击所选的主题域,右击选择Switch to
2.4. 如何选择逻辑模型或物理模型
逻辑模型(Logical)显示的中文字段、物理模型(Physical)显示的英文字段。
2.5. 如何建立实体(Entry)
方法①:单击Logical 模型下的Entity
方法②:单击Physical模型下的Independent table
在实体中,E/2处填入表名,日字上口为主键区,下口非主键区。
主键字段可以通过鼠标直接拖拽至非主键区变为非主键,反之非主键字段也可以通过鼠标拖拽变为主键。
当然,主键也可以通过右击所选实体,选择Attributes→General→Primary key 选中设置。
2.6. 如何使实体排列有序
菜单栏 Format—>Preferences…—>Layout Entire Diagram
2.7. 如何设置实体界面显示
选择属性数据类型,外键和数据类型的图标显示。
2.8. 如何建立一个完整实体
2.8.1设置逻辑实体表名与属性
选中要设置的表,双击或右击。
右击后如下:
选Entity Properties,在弹出的窗口中Entity、Name、Definition项填入表名,此例中填:客户经理管户信息。
作用是在其DDL文件中标示出此表的中文名。
注:若在逻辑实体中设置了Definition,则在对应的物理实体的Table Properties 的comment一项中不必设置。
2.8.2建实体字段、设属性
选中要设置的实体表,右击—>Attributes…出现如下属性框:
New…新建字段Rename…重命名字段Delete删除字段
选择New…
在Attibute Name 栏写入中文字段,在Column Name 栏写入对于的英文字段。
如果此模型引入了Domain,则可以在上图选择数据类型,或者在General中选择也可以。
若没有引入,则可在Datatype中选择字段类型与长度。
最后,千万不要忘记:在Definition中标注上中文字段名。
属性的编辑:
方法①:右键单击所选实体,选择Attributes,在弹出的Attributes窗口中添加,删除或修改属性。
方法②:单击所选实体,按tab键也可以进行添加,删除,修改属性。
2.9. 如何删除实体
•确定是否是引用实体,如果是,选择Remove them from current subject area,如果不是,选择Delete them from the entire model •判断或操作不正确产生的结果:
–如果是引用实体,选择了Delete them from the entire model,则将该实体从模型中全部删除
–如果不是引用实体,选择了Remove them from current subject area ,则将Main Subject Area中还有该实体的垃圾存在
2.10. 如何引用其他主题的实体
呈现效果:
•引用其他主题的实体后,该实体在整个模型中的FillColor都是正黄色,表明该实体被其他实体引用;
•删除引用时首先将其FillColor置为无色,然后删除实体,在删除实体弹出窗口中选择第一项
•不要轻易完全删除被引用实体,在删除前,一定要通知引用该实体的建模人员。
•
引用方法:
•不允许在同一模型中从其他主题通过复制、粘贴实体
•不同模型间可以复制实体
•引用实体是将源Subject Area中源实体通过鼠标从导航区拖拽到目标Subject Area中目标实体
2.11. 如何得到模型风格
•菜单Format->Default Fonts & Colors:
–设置模型的整体风格:General属性页
–设置实体的风格:Entities属性页
–设置属性风格:Attributes属性页
–设置关系风格:Relationships属性页
–设置子类型风格:Subtype属性页
–设置画图字体风格:Drawing Object Text属性页
–设置画图图形风格:Drawing Object Colors属性页
第3章产生数据库报表
第一步:单击Tools\Report templates Builder\ Report Builder,弹出窗口如下所示:
第二步:选择输出的类型(这里选择html),单击new弹出窗口:
第三步:选择左边的picture,再单击,则右边区域出现picture section一
项,点击菜单栏上的,则可得到该模型的ER图:
第四步:点击logical下的entity,如上操作后,右击entity section\properties,选择欲输出的内容。
运行后即可得到一个数据字典。
第4章 ERwin导出建表语句
第一步:转换到物理模型视图Physical。
第二步:选择菜单栏Tools—>Forward Engineer—>Schema Generation ,弹出如下窗口:
在选项配置options下,选择如下:
Schema:Tablespace
Table :CREATE TABLE 、DROP TABLE
Column : DEFAULT VALUE
Materialized Query Table/View/Index 均不勾选
Referential Integrity : Primary key
Trigger : 不勾选
Other Options :Comments
Fiter… : 单击过滤需要生成SQL的表
Preview… : 预览生成的SQL脚本,保存脚本文件
注意:如果要导入数据库建表,需要将生成的脚本文件中开始部分Drop 语句与Create语句间的COMMENT 语句删除。
第5章 ERwin导出物理模型的Excel表
第一步:转换到物理模型视图Physical。
第二步:选择菜单栏Tools—>Data Browser…,在弹出的窗口中点击File New Report,新建csv文档。
在新弹出的对话框里填入导出的csv文档的名字Report Name,选择Physical,Category:Table,如图示:
在Options中选择:
Table:Name、Comment
Column:Name、Basename、Datatype、Is PK
完成后点击OK。
本例中的Report Name 以xiaozhang为例,弹出如下窗口:
右击xiaozhang,选择Execute report ‘xiaozhang’…出现如下图:
选择第三项Export result set ‘xiaozhang’,……
输出格式为CSV,Export… ,选择想要保存的文档路径,完成。