1
数据库设计手册
1.1
概念模型与物理模型
1.1.1
概念模型与数据库类型无关
1.1.2
物理模型与数据库类型有关
1.1.3
同一个概念模型可以生成多个适合于不同数据库类型的物理模型
1.1.4
设计时关键是对概念模型进行设计
1.2
设计方法
1.2.1
概念设计
确定系统有哪些表,并确定好表的中文名称
确定每个表有哪些字段,并确定好字段的中文名称
为了避免由于字段中文名称相同导致的相互引用,字段中文名称必须以表中文名称加下划线开头
1.2.2
详细设计
确定每个表的英文代码(最长30个字符)
确定每个表的英文代码简写作为字段英文代码的前缀
确定字段英文代码(最长30个字符)
确定字段类型及长度
变长字符型长度:20、50、100、200、3000、4000
整数都采用LI(长整型)
布尔型用整数表达时,0表示假,1表示真
浮点数都采用LF(双精度)
确定字段是否必填
确定字段是否主键
确定字段的备注信息
生成物理模型,修改主键名称(Indexes、Keys中的Constraint name)
1:检查是否有错误
选择Tools->Check Model
2:生成物理模型
选择Tools->Generate physical data Model…,修改Generate new physical data Model中DBMS为:Oracle Version 8i(8.1.5)[oracle当前版本]
生成脚本
1:修改环境设置
选择Database->Edit Current DBMS…进入DBMS Properties,选择Script->Sql->Format->
CaseSensitivityUsingQuote,Value项选择NO,保存.
注:这个只要设置一次,以后就不用修改了.
2:选择Database->Generate Database,选择文件名:File,
有一定格式:临时库管理.oracle815.table.sql
生成数据库升级包,并通过它创建表
1.3
命名规范
1.3.1
文件命名
概念模型:系统名
.cdm
(
privilege.cdm
)
物理模型:系统名
(
数据库类型
).pdm
(
privilege(Oracle815).pdm
)
表:系统名
.
数据库类型
.table.sql
(
nmps.oracle815.table.sql
)
临时表:系统名
.
数据库类型
.temporary.sql
(
nmps.oracle815.temporary.sql
)
视图:系统名
.
数据库类型
.view.sql
(
nmps.oracle815.view.sql
)
序列号:系统名
.
数据库类型
.sequence.sql
(
nmps.oracle815.sequence.sql
)
索引:系统名
.
数据库类型
.index.sql
(
nmps.oracle815.index.sql
)
初始化:系统名
.
数据库类型
.init.sql
(
nmps.oracle815.init.sql
)
整合:系统名
.
数据库类型
.integration.sql
(
nmps.oracle815.integration.sql
)
字段引用:系统名
.
数据库类型
.field_reference.sql
(
nmps.oracle815.field_reference.sql
)
1.3.2
数据库对象命名
表:
tbl_
系统名
_
表名(
tbl_nmps_task
)
临时表:
tmp_
系统名
_
表名(
tmp_nmps_task
)
用于分页的临时表:
pg_
系统名
_
表名(
pg_nmps_task
)
字段:表名前缀
_
字段名(
usr_id
)
主键:
pk_
系统名
_
表名(
pk_nmps_task
)
序列号:
seq_
系统名
_
表名
_
字段名(
seq_lebut_user_id
)
包:
pkg_
系统名
_
表名(
pkg_lebut_user
)
索引:
idxN_
系统名
_
表名(
idx1_lebut_user
)
视图:
viw_
系统名
_
视图名(
viw_nmps_phase
)
用于分页的记录编号视图:
rn_
系统名
_
视图名(
rn_nmps_task
)