400 likes | 730 Views
Visual Studio .NET 企业设计师版中的基于 Visio 的 数据库建模. 曹严明 软件开发工程师 微软. 日程. 建模过程 运用对象角色建模 (ORM) 方法设计数据库 创建实体关系图 (ER Diagram) 创建数据库 对现有数据库进行反向工程 修改数据库 对代码进行操作. 预备知识. 数据库 数据库模型概念. 日程. 建模过程 运用对象角色建模 (ORM) 方法设计数据库 创建实体关系图 (ER Diagram) 创建数据库 对现有数据库进行反向工程 修改数据库 对代码进行操作.
E N D
Visual Studio .NET企业设计师版中的基于Visio的数据库建模 曹严明 软件开发工程师 微软
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
预备知识 • 数据库 • 数据库模型概念
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
建模过程为什么要建立数据库模型? • 数据库强制业务规则 • 建立模型迫使你为业务规则提供文档 • 建立模型让你决定数据库如何强制业务规则 • 识别重要的事物 • 及早识别潜在的瓶颈 • 设计更高性能的重要的事物 • 降低维护费用 • 数据库结构已归档 • 决定及权衡取舍已归档 • 数据库满足业务需求
建模过程概念层 • 对象角色建模(ORM) • 允许你把注意力集中在系统中的对象和他们所扮演的角色 • 可用于数据库的概念层设计阶段 • 企业设计师版很容易把ORM模型转换成 ER图
建模过程逻辑层 • 创建实体关系图 (ERD) • 系统用实体和属性等术语来描述 • 可用于数据库的逻辑层设计阶段 • 企业设计师版很容易从ER图创建物理的数据库
建模过程物理层 • 企业设计师版中的工具使你很容易编辑数据库里的各种对象 • 表 • 视图 • 存储过程 • 函数 • 触发器 • Check子句
Visual Studio®企业设计师版 • 包含Visio®专业版,加上: • 数据库架构生成 • 直接生成或通过DDL脚本间接生成 • 模型错误检查 • 模型--数据库同步化 • 数据库报告 • 基于业务规则的数据库设计 (ORM)
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
用ORM设计数据库基于业务规则的设计 • 对象角色建模(ORM) • 使用自然语言的事实和例子进行概念层数据库设计 • 自动生成逻辑数据库和物理数据库模型 • 通过非技术人员可理解的语言来产生数据库模型
用ORM设计数据库 • 对象角色建模(ORM) 是: • 易理解 • 用英语及直观的图形来表述事实和规则 • 可靠 • 用英语及数据抽样来验证规则 • 易表达 • 用图形捕获更多的业务规则 • 稳定 • 把模型和数据库变化所产生的影响减少到最小
用ORM设计数据库输入业务规则 • 在ORM模型中要表述业务规则,将每个事实用对象类型和谓词 • 例子 • Employee works for Department • Employee 和Department 是对象类型 • 两者关系由谓词 “works for” 来表述 • 添加约束 • Each Employee works for at most one Department
用ORM设计数据库事实编辑器 • 定义一个新的事实 • Employee works for Department • Department employs Employee
用ORM设计数据库输入约束 • 回答自然语言问题来定义约束
用ORM设计数据库ORM 模型到逻辑模型 • 创建一个新的逻辑数据库模型 • File > New > Database Model • 把ORM模型添加到逻辑数据库模型的项目列表中 • 通过生成这个项目把ORM模型转换成逻辑模型 • 把生成的表拖到绘图页上来查看结果
用ORM建模 演示#1
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
创建实体关系图概述 • ER图 • 允许你详细说明数据库是如何实现你的ORM概念模型的 • 允许你定义具体的数据库细节 • 索引 • 键 • 触发器 • 关系基数 • 扩展属性 • 文件组
表和视图窗口 数据库 属性窗口 模版 创建实体关系图界面
创建实体关系图扩展属性 • 数据库属性窗口让你对表,列,关系等设置扩展属性 • 例子 • SQL Server中的文件组属性 • Oracle 和 DB2中的表空间属性
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
创建数据库概述 • 生成物理数据库: • 一个新的数据库 • 使用现有的数据库 • 确认
创建数据库 演示#5
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
对现有数据库进行反向工程概述 • 生成 • ER模型 • ORM模型 • 给现有的数据库结构建立文档记录 • 允许你对数据库设计作出更全面的决定
反向工程 演示#3
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
修改数据库概述 • 用新的变化更新数据库 • 生成DDL脚本 • 更新直接数据库 • 冲突检测
修改数据库 演示#4
日程 • 建模过程 • 运用对象角色建模(ORM)方法设计数据库 • 创建实体关系图(ER Diagram) • 创建数据库 • 对现有数据库进行反向工程 • 修改数据库 • 对代码进行操作
对代码进行操作两种方法 • 作为设计和实现过程的一环, 可有两种方法来对代码进行操作 • 在Visio设计工具中访问代码 • 在Visual Studio的Server Explorer访问代码
对代码进行操作Server Explorer • 可以编辑,创建: • 表 • 视图 • 存储过程 • 函数 • 与存储过程调试程序集成
对代码进行操作代码窗口/代码编辑器 • 使用代码窗口/代码编辑器查看并编辑数据库代码
对代码进行操作 演示#6
总结 • Visio 企业设计师版可以使你: • 在概念建模阶段很容易地创建ORM图 • 把ORM图转换成ER图, 此ER图包含关于数据库实现的详细的信息 • 很容易地从ER图生成物理数据库 • 很容易地从现有的数据库创建ORM图和ER图
更多的信息… • MSDN Web 站点 • msdn.microsoft.com • Visual Studio 站点 • msdn.microsoft.com/vstudio • 关于建模的资源 • www.orm.net • www.inconcept.com/jcm
更多的信息… • 书籍 • Handbook of Relational Database Design. Fleming et al • Foundations of Databases: The Logical Level. Abiteboul et al • Information Modeling and Relational Databases . Terry Halpin