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