如何使用PowerDesigner创建物理数据模型

如何使用PowerDesigner创建物理数据模型,第1张

物理模型能够直观的反应出当前数据库的结构。在数据库中的表、视图、存储过程等数据库对象都可以在物理模型中进行设计。

在powerdesigner中创建物理数据模型的具体步骤如下图所示

新建一个物理模型后,此时就会进入物理模型的设计面板,如下图所示:

系统会显示一个专门用于物理模型设计的工具栏如下图所示:

若要在物理模型中添加一个表,单击按钮,然后再到模型设计面板中单击一次便可以添加一个表,系统默认为表命名为Table_n,这里的n会随着添加的表增多而顺序增加。添加的表是没有任何的列的,如下图所示:

单击工具栏的按钮,讲鼠标切换回指针模式,然后双击一个表,系统将打开表的属性窗口,在General选项卡中可以设置表的Name、Code等属性

例如我们要新建一个学生表(Student),则可以修改Name和Code

单击【Columns】切换到列选项卡,在下面的列表中可以添加表中的列,Name是模型上显示的名称,Code是生成的实际列名,后面的3个复选框P代表主键(primary key),F代表外键(foreign key),M代表不能为空。为学生表添加列,如下图所示:

点击【确定】按钮,就可以创建完成了,如下图所示:

Log File物理结构

从 ib_logfile0和 ib_logfile1这两个文件的物理结构可以看出,在Log Header部分还是有些许差异的, ib_logfile0会多一些额外的信息,主要是checkpoint信息。

并且每个Block的单位是512字节,对应到磁盘每个扇区也是512字节,因此redo log写磁盘是原子写,保证能够写成功,而不像index page一样需要double write来保证安全写入。

我们依次从上到下来看每个Block的结构

Log File Header Block

Log Goup ID,可能会配置多个redo组,每个组对应一个id,当前都是0,占用4字节

Start LSN,这个redo log文件开始日志的lsn,占用8字节

Log File Number,总是为0,占用4字节

Created By,备份程序所占用的字节数,占用32字节

另外在ib_logfile0中会有两个checkpoint block,分别是 LOG_CHECKPOINT_1/ LOG_CHECKPOINT_2,两个记录InnoDB Checkpoint信息的字段,分别从文件头的第二个和第四个block开始记录,并且只在每组log的第一个文件中存在,组内其他文件虽然没有checkpoint相关信息,但是也会预留相应的空间出来。这里为什么有两个checkpoint的呢?原因是设计为交替写入,避免因为介质失败而导致无法找到可用的checkpoint的情况。

Log blocks

请点击输入图片描述

log block结构分为日志头段、日志记录、日志尾部

Block Header,占用12字节

Data部分

Block tailer,占用4字节

Block Header

这个部分是每个Block的头部,主要记录的块的信息

Block Number,表示这是第几个block,占用4字节,是通过LSN计算得来的,占用4字节

Block data len,表示该block中有多少字节已经被使用了,占用2字节

First Rec offet,表示该block中作为第一个新的mtr开始的偏移量,占用2字节

Checkpoint number,表示该log block最后被写入时的检查点的值,占用4字节


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9602402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存