物理数据模型

更新时间:2023-12-13 21:38

物理数据模型(Physical Data Model,PDM),是指提供系统初始设计所需要的基础元素,以及相关元素之间的关系。

模型介绍

即用于存储结构和访问机制的更高层描述,描述数据是如何在计算机中存储的,如何表达记录结构、记录顺序和访问路径等信息。使用物理数据模型,可以在系统层实现数据库。数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程、操作、触发、视图和索引表等;至2013年,还没有太多的物理数据模型,最常用的物理数据模型如下:

统一模型。

框架存储模型。

优点

除了提供数据库结构的可视化提取,定义物理数据模型的一个重要的好处是您可以自动从模型中导出数据库的架构。

这是可能因为物理数据模型捕获的元数据非常丰富,并且它密切映射数据库架构,如表、 列、 主键和外键等方面。

功能

1、可以将数据库的物理设计结果从一种数据库移植到另一种数据库;

2、可以通过反向工程将已经存在的数据库物理结构重新生成物理模型或概念模型;

3、可以定制生成标准的模型报告;

4、可以转换为OOM;

5、完成多种数据库的详细物理设计(涵盖常用的各种数据库的DBMS),并生成数据库对象的.sql脚本;

PDM

包含事件

(1) 表

(2) 列

(3) 视图

(4) 主键

(5) 候选键

(6) 外键

(7) 存储过程

(8) 触发器

(9) 索引

(10)完整性检查约束

创建对象

(1) 创建表

(2) 创建列

(3) 创建创建域

(4) 创建视图

(5) 创建主键

(6) 创建候选键

(7) 创建外键

(8) 创建索引

(9) 创建完整性检查约束

(10)创建存储过程

(11)创建触发器

管理对象

(1) 创建用户

(2) 设置表的用户

(3) 设置表的物理属性

检查PDM

(1)检查选项设置

(1)Package(包)

(2)Table(表)

(3)Column(列)

(4)Index(索引)

(5)Key(键)

(6)Domain(域)

(7)View(视图)

(8)Reference(参照)

(9)Trigger(触发器)

(10) Procedure(存储过程

(11) User(用户)

(12) File(文件)

(2)更正错误/警告

函数

(1)创建触发器

设定触发器类型(Insert、Update、Delete)

(2)创建存储过程/函数

生成数据库

(1)选择Database→GenerateDatabase菜单项

(2)选项设置

(1)数据库

(2)用户

(3)域

(4)表和列

主键、候选键

外键

索引

触发器

(5)存储过程

(3)格式设置

(4)选择对象

(1)查看包

(2)全选/全部取消选择

(3)使用图中选中的对象

创建PDM

(1)新建PDM

(1)选择File→New Model菜单项

(2)在左侧模型类型列表中选择Physical Data Model

(3)在右侧输入模型名称、在DBMS下拉列表中选择DBMS类型、在First diagram下拉列表中选择Physical Diagram

(2)正向工程:从CDM/LDM生成PDM

(3)逆向工程:从现有DB 逆向生成PDM

生成脚本

PDM我们最终是需要导入我们的数据库中去。 PDM 可以生成不同数据库对应的sql语句,或者直接讲脚本部署到数据库中,这个在generate database 的时候可以进行选择。

一般是先生成sql 脚本,然后到数据库里执行sql脚本

sql脚本

一般来说都是先画出CDM的E-R,然后将CDM 转成PDM。 PDM 中的对象与我们库中的对象一致。

对于PDM 的部署有两种方法:

(1) 生成SQL 脚本

(2) 直接将脚本部署到数据库上,即直接在库上把我们的对象创建好

Database --> Generate Database, 弹出如下窗口:

Script generation: 是生成SQL 脚本,one file on是否需要按照

表生成许多个sql(默认选上,即不需要)

Direct generation: 是直接在数据库中执行脚本,这2者只能选一个。 一般直接生成SQL 脚本。

Automatic archive: 生成sql同时生成apm文件。

Check model:powerdesigner有定义每种数据库的表名、字段名等名字的最大长度的,该长度用于powerdesigner作check model的,但是该定义的长度和数据库实际允许的长度不一定相同,如果你希望能通过pd的检查,可以修改pd中的设置(pd对不同数据库的这种约定实际是在保存在一个xml文件中,扩展名为.xdb)!或者你可以直接在生成数据库时选择不check model.

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}