把逻辑模型落到数据库,真正考验的是细节是否一致。模型一旦派生到物理层,字段类型、命名长度、约束语法都要跟目标数据库对齐,否则生成脚本时会出现类型不匹配、对象缺失、命名被截断等问题。下面围绕erwin逻辑模型怎么转物理模型,erwin数据库映射怎么设置,用一套从派生到生成的操作顺序,把关键入口与容易踩坑的点交代清楚。
一、erwin逻辑模型怎么转物理模型
逻辑转物理这一步,最好把范围控制在可落库的那一部分对象上,并把不需要下沉的业务概念提前标记掉。这样派生出来的物理模型更干净,后续映射与脚本生成也更省事。
1、先确认当前是逻辑物理合并模型还是单独逻辑模型
在界面上找到逻辑物理切换器并切到逻辑侧,确保后续编辑发生在逻辑层;如果你在新版本里找不到切换入口,可以从工具栏的下拉选择器里切换逻辑与物理显示。
2、把只用于业务表达的实体标记为Logical Only
点击【Model】→【Entities】打开实体编辑器,在导航网格里选中对应实体,勾选Logical Only后关闭窗口;这类实体会保留在逻辑侧,不会在派生的物理模型里生成对应表。
3、把不需要落库的属性标记为Logical Only
在实体属性编辑器中选中属性,找到Logical Only并勾选;当你后续派生物理模型时,这些属性不会生成物理列,适合处理纯说明字段、临时计算字段或仅用于分类展示的属性。
4、用派生向导从逻辑侧创建新的物理模型
点击【Action】→【Design Layer】→【Derive New Model】进入Derive Model向导,在Target Model里选择Physical,并在目标模型设置中选好数据库类型与版本;这一步决定了物理模型默认数据类型与DDL语法环境,尽量不要留到后面才补。
5、在向导里用Object Selection控制派生范围
在向导左侧进入Object Selection,只勾选本次需要派生的主题域或对象集合;如果你还需要控制派生对象的类别,可以进入Type Selection筛掉不需要的对象类型,避免把尚未定稿的部分一起带到物理层。
二、erwin数据库映射怎么设置
数据库映射做得好,意味着同一套逻辑设计可以稳定落到目标数据库的物理实现上。映射设置通常包含目标DBMS选型、逻辑到物理的数据类型映射、改库时的类型转换规则,以及命名标准的固化。
1、在物理模型里选择目标数据库与版本
切到物理侧后,进入【Actions】页签点击【Target Database】打开Target Server对话框,在Target SQL DBMS里选数据库类型,在Version里选版本并确认;状态栏里显示的数据库名称也可以作为核对点。
2、需要做库表对照或逆向核对时先检查连接上下文
在选择好目标DBMS后再打开数据库连接相关对话框填写连接参数,这样连接项会按目标数据库显示对应字段,避免在错误的数据库上下文里配了连接信息,后面又要全部重填。
3、用Data Type Standards把逻辑类型映射到物理类型
点击【Tools】→【Standards】→【Data Type Standards】打开Data Type Standards Editor,把常用逻辑数据类型逐条映射到目标DBMS的物理数据类型,并把精度、长度、是否可空等默认口径同步校准;这一步会直接影响派生与后续改库时的列类型结果。
4、更换目标DBMS时启用类型转换并核对映射规则
如果物理模型需要从一种DBMS切到另一种DBMS,仍然从【Actions】→【Target Database】进入Target Server对话框执行切换,并让系统按映射规则把现有数据类型转换到新目标库中最接近的类型;转换前先补齐映射规则,能明显减少手工改列类型的工作量。
5、用Domain与统一口径降低同名类型在不同表里的漂移
在逻辑层对关键属性尽量通过Domain统一类型、长度与校验口径,派生到物理层后同类字段更容易保持一致;如果你发现同名字段在不同表里类型不一致,通常需要回到Domain或逻辑数据类型的分配方式上做归一。
6、把物理命名规则固化为Naming Standard并激活
在Model Explorer里右键Naming Standard选择【New】,打开编辑器后在Physical相关页签设置表名、列名的组成规则与顺序,并将其设为可用状态;当你需要批量规范物理命名时,先固定规则再统一应用,会比逐表手改更稳。
三、erwin物理模型脚本生成前怎么校对
物理模型已经生成,并不代表脚本就一定能顺利落库。脚本生成前把目标DBMS、对象范围与生成选项对齐一次,可以把大多数问题在预览阶段就暴露出来。
1、确认当前处于Physical模式并再次核对目标DBMS
进入脚本生成入口前,先切到物理侧确认表与列对象显示正常,再查看【Actions】→【Target Database】里数据库类型与版本没有选错,避免在错误语法环境下生成DDL。
2、用Subject Area控制脚本生成范围并减少无关依赖
如果你的模型按主题域拆分过,可以先点击【Model】→【Subject Areas】创建或维护Subject Area,并把成员对象纳入对应主题域;生成脚本时只针对当前主题域输出,能减少引用到未纳入范围表的依赖项。
3、进入Forward Engineer向导预览脚本并调生成选项
点击【Actions】→【Schema】打开Forward Engineer Schema Generation向导,先在Option Selection里选择生成范围与语法选项,再进入下一步筛选对象,完成后优先使用预览内容核对表、索引、约束与默认值是否符合目标库习惯。
4、把常用派生设置保存为session便于复用
当你每次派生都需要重复相同选择,可以在Derive Model向导里保存当前设置为session,后续重复派生时直接加载同一套session,减少人工漏选导致的对象缺失与口径漂移。
总结
erwin逻辑模型怎么转物理模型,关键在于派生前把逻辑侧对象范围收敛,并用Logical Only把不落库的实体与属性提前隔离,派生时通过【Derive New Model】把目标DBMS与版本一次选准。erwin数据库映射怎么设置,需要在物理侧完成【Target Database】选型,并通过Data Type Standards与类型转换规则把逻辑到物理的数据类型映射做扎实,同时把命名标准固化为团队口径。把这些基础动作做完,再进入【Schema】向导预览与筛选输出范围,脚本生成与落库的稳定性会明显提升。
