数据库设计规范V1.00
数据库设计规范

数据库设计规范数据库设计是软件开发过程中至关重要的一步。
一个良好设计的数据库可以提高系统性能,降低错误发生的概率,并提高数据的可靠性和一致性。
以下是一些数据库设计的规范和最佳实践,以帮助您开发出高效可靠的数据库系统。
引言数据库是组织、存储和管理数据的关键工具。
在设计数据库时,开发人员需要考虑到多个方面,以确保数据库能够满足用户需求,并且能够有效地存储和检索数据。
数据库设计规范涉及到数据模型选择、表结构设计、关联关系定义、索引创建等方面。
数据模型选择选择合适的数据模型是数据库设计的基础。
数据模型用于描述数据之间的关系,常见的数据模型有层次模型、网状模型和关系模型。
在大多数情况下,关系模型是最常用的,因为它简单、易于理解和管理。
关系模型使用表来表示实体和关系,具有良好的结构化特性,适用于大多数应用场景。
表结构设计在数据库设计中,表是最基本的数据存储单元。
良好的表结构设计可以提高数据的存储效率和查询性能。
以下是一些表结构设计的最佳实践:1. 表名和字段名的命名规范表名和字段名应该具有可读性和描述性,能够准确地反映其所代表的含义。
避免使用过于简单或含糊不清的名称,使用下划线或驼峰命名法来提高可读性。
2. 合理定义字段类型和长度根据数据的实际需求,合理选择字段的数据类型和长度。
避免过度分配存储空间,以节省存储空间并提高查询性能。
3. 主键和唯一约束每个表应该有一个主键,用于唯一标识每一条记录。
主键应该是一个稳定的、不易变的字段。
另外,对于需要保证唯一性的字段,应该添加唯一约束,以避免重复数据的出现。
4. 外键关联在建立表之间的关联关系时,应该使用外键来确保数据的完整性和一致性。
外键关联可以用于建立表之间的一对一、一对多或多对多关系。
数据库范式数据库范式是一个指导原则集合,用于确保数据库的数据一致性和可靠性。
范式的级别从第一范式到第五范式,每个级别都有其特定的规范和要求。
第一范式(1NF)第一范式要求数据库中的每个字段都是原子的,不能再细分为更小的单位。
数据库设计规范(初稿)v1.0

数据库设计文档李伟2010-12-25目录1. 数据库物理设计原则 (5)1.1. 数据库环境配置原则 (5)1.1.1. 操作系统环境 (5)1.1.2. 内存要求 (5)1.1.3. 交换区设计 (5)1.1.4. 其他 (6)1.2. 数据库设计原则 (6)1.2.1. 数据库SID (6)1.2.2. 数据库全局名 (6)1.2.3. 数据库类型选择 (6)1.2.4. 数据库连接类型选择 (7)1.2.5. 数据库SGA配置 (7)1.2.6. 数据库字符集选择 (8)1.2.7. 数据库其他参数配置 (9)1.2.8. 数据库控制文件配置 (9)1.2.9. 数据库日志文件配置 (10)1.2.10. 数据库回滚段配置 (10)1.2.11. 数据库临时段表空间配置 (11)1.2.12. 数据库系统表空间配置 (11)1.3. 数据库表空间设计原则 (11)1.3.1. 表空间大小定义原则 (11)1.3.2. 表空间扩展性设计原则 (12)1.4. 裸设备的使用 (12)2. 数据库逻辑设计原则 (13)2.1. 命名规范 (13)2.1.1. 表属性规范 (13)2.1.2. 索引 (14)2.1.3. 视图 (15)2.1.4. 实体化视图 (15)2.1.5. 存储过程 (15)2.1.6. 触发器 (15)2.1.7. 函数 (16)2.1.8. 数据包 (16)2.1.9. 序列 (16)2.1.10. 表空间 (16)2.1.11. 数据文件 (16)2.1.12. 普通变量 (16)2.1.13. 游标变量 (17)2.1.14. 记录型变量 (17)2.1.15. 表类型变量 (17)2.2. 命名 (17)2.2.1. 语言 (17)2.2.2. 大小写 (18)2.2.3. 单词分隔 (18)2.2.4. 保留字 (18)2.2.5. 命名长度 (18)2.2.6. 字段名称 (18)2.3. 数据类型 (18)2.3.1. 字符型 (18)2.3.2. 数字型 (19)2.3.3. 日期和时间 (19)2.3.4. 大字段 (19)2.3.5. 唯一键 (19)2.4. 设计 (20)2.4.1. 范式 (20)2.4.2. 表设计 (20)2.4.3. 索引设计 (23)2.4.4. 视图设计 (24)2.4.5. 包设计 (24)2.4.6. 安全性设计 (25)2.5. SQL编写 (26)2.5.1. 字符类型数据 (26)2.5.2. 复杂sql (27)2.5.3. 高效性 (27)2.5.4. 健壮性 (28)2.5.5. 安全性 (29)2.5.6. 完整性 (30)3. 备份恢复设计原则 (30)3.1. 数据库exp/imp备份恢复 (30)3.1.1. 数据库级备份原则 (30)3.1.2. 用户级备份原则 (30)3.1.3. 表级备份原则 (31)3.2. 数据库冷备份原则 (31)3.3. Rman备份恢复原则 (31)3.3.1. Catalog数据库 (31)3.3.2. Archive Log (33)3.3.3. 全备份策略 (33)3.3.4. 增量备份策略 (33)3.3.5. 恢复原则 (33)3.4. 备用数据库原则 (34)3.5. 一些小经验 (34)3.6. 系统调优知识 (35)3.6.1. 生成状态报表(statspack的使用) (35)3.6.3. 内存调整 (37)3.6.4. 排序的优化 (40)3.6.5. 统计信息 (42)4. 设计工具 (42)1.数据库物理设计原则1.1.数据库环境配置原则1.1.1.操作系统环境对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负载均衡能力要求较高的系统,可以采用Oracle10gRAC的集群数据库的方法,集群节点数范围在2—64个。
数据库设计规范1

数据库设计规范1 目的规范数据库设计。
2 概述从数据库的设计原则设计文档几方面论述数据库设计的规范思想及命名规则。
3 数据库应用结构根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的表之间以及与程序模块间的关系。
4 数据库应用结构根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的表之间以及与程序模块间的关系。
4.1 数据表和程序模块的分类根据“处理特点”,将数据表和程序模块进行分类如下:数据表分类:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表。
程序模块分类:初始化、业务处理、完整性检测与修正、结算处理、统计处理。
4.1.1 数据表分类说明业务数据表:记录业务发生的过程和结果。
如,合同、出仓单、申请单、凭证。
基本编码表:描述业务实体的基本信息和编码。
如,产品、客户、供应商、雇员。
辅助编码表:描述属性的列表值。
如,合同类型、职称、民族、付款方式。
系统信息表:存放与系统操作、业务控制有关的参数。
如,用户信息、权限、用户配置信息、成本核算方式。
累计数据表:存放业务的当前值和累计值。
如,当前库存、当前存款、累计销售、累计支出、应收账款。
结算数据表:存放各个时期末的结存数。
如,月末库存、月末银行存款、应收账款月结。
决策数据表:存放各个时期内发生的统计值。
如,月销售统计、月回款统计、出入库统计。
4.1.2 程序模块分类说明初始化:系统运行前对系统进行数据的初始化。
如,库存初始化。
业务处理:业务过程的控制和结果记录。
如,合同录入、费用审批、出入库。
完整性检测与修正:对累计数据表进行检查并自动修正。
如对当前库存、当前存款、累计销售的检查和重新计算。
结算处理:计算并记录各个时期末的结存数。
库存月结、应收账款月结。
统计处理:计算并记录各个时期内发生的统计数。
如,统计月销售、统计月回款、统计出入库。
5 数据库命名规则对数据库所有对象的命名,要本着清晰、简短的原则,名称反映功能,力求见名知义;如果名称太长,可以使用部分重点单词相连,能接近本意即可。
MySQL数据库设计规范_v1.0

MySQL数据库设计规范_v1.0⼀. 设计规范⽬录MySQL数据库设计规范 1⼀. 设计规范 11.1 数据库设计 21.1.1 库名 21.1.2 表结构 21.1.3 列数据类型优化 31.1.4 索引设计 51.1.5 分库分表、分区表 51.1.6 字符集 61.1.7 程序层DAO设计建议 61.1.8 ⼀个规范的建表语句⽰例 61.2 SQL编写 71.2.1 DML语句 71.2.2 多表连接 82.2.3 事务 81.2.4 排序和分组 91.2.5 线上禁⽌使⽤的SQL语句 91.1 数据库设计以下所有规范会按照【⾼危】、【强制】、【建议】三个级别进⾏标注,遵守优先级从⾼到低。
对于不满⾜【⾼危】和【强制】两个级别的设计,DBA会强制打回要求修改1.1.1 库名1) 【强制】库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量提现join的关系,如user表和user_login表2) 【强制】库的名称格式:业务系统名称_⼦系统名,同⼀模块使⽤的表名尽量使⽤统⼀前缀3) 【强制】⼀般分库名称命名格式是库通配名_编号,编号从0开始递增,⽐如fenbiao_001以时间进⾏分库的名称格式是“库通配名_时间”4) 【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者utf8mb4。
创建数据库SQL举例:create database db1 default character set utf8mb4;1.1.2 表结构1) 【强制】表和列的名称必须控制在32个字符以内,表名只能使⽤字母、数字和下划线,⼀律⼩写2) 【强制】表名要求模块名强相关,如学⽣系统采⽤”xs”作为前缀,渠道系统采⽤”qd”作为前缀等3) 【强制】创建表时必须显式指定字符集为utf8或utf8mb44) 【强制】创建表时必须显式指定表存储引擎类型,如⽆特殊需求,⼀律为InnoDB。
当需要使⽤除InnoDB/MyISAM/Memory以外的存储引擎时,必须通过DBA审核才能在⽣产环境中使⽤。
数据库设计(国标)

数据库(顶层)设计说明文件编号:KJXXW-XXSJ-M002-V1.0版本号:V1.0受控状态:■受控□非受控保密级别:公司级编制人/编制时间:王攀坤2014年7月审核人/审核时间:批准人/批准时间:生效日期:新疆泰戈瑞信息技术有限责任公司发布变更记录(注:更改状态包括:C-创建、A-增加、M-修改、D-删除)2/ 16目录1.引言 (4)1.1标识 (4)1.2系统概述 (4)1.3文档概述 (4)2.引用文件 (5)3.数据库级设计决策 (6)4.数据库详细设计 (8)4.1数据库设计级别的名称 (8)5.用于数据库访问或操纵的软件配置项的详细设计 (11)5.1软件配置项的项目唯一标识符或软件配置项组的指定符 (11)6.需求的可追踪性 (14)7.注解 (15)附录 (16)3/ 161. 引言本章分为以下几条。
1.1 标识【内容】本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号和发行号。
【裁剪原则】此部分内容不允许裁剪掉。
1.2 系统概述本条应简述本文档适用的系统和软件的用途。
它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。
1.3 文档概述【内容】本条应概述本文档的用途和内容,并描述与其使用有关的保密性和私密性的要求。
【裁剪原则】此部分内容不允许裁剪掉。
4/ 162. 引用文件【内容】本章应列出本文档引用的所有文档的编号、标题、修订版本和日期,本章也应标识不能通过正常的供货渠道获得的所有文档的来源。
【裁剪原则】此部分内容不允许裁剪掉。
5/ 163. 数据库级设计决策【内容】本章应根据需要分条给出数据库级设计决策,即数据库行为设计决策(从用户的角度看,该数据库如何满足它的需求而忽略内部实现)和其他影响数据库进一步设计的决策。
如果所有这些决策在系统或CSCI需求中均是明确的,本章应如实陈述。
数据库设计规范V

数据库设计规范1目的本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦。
同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
2适用范围本规范的适用人员范围包括实验室的所有应用开发人员以及在实验室承接数据库应用开发的软件人员。
本规范的适用IT范围包括数据库对象的命名规范、设计原则、SQL语句的设计和使用、SQL语句的性能优化建议、其他与性能有关的设计原则以及设计工具的选择。
3命名规范3.1通用规范1.不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,便于应用系统适应不同的数据库平台;2.采用英文单词或英文短语(包括缩写,如果没有约定的缩写,则采用该单词前4个字母)作为名称,不能使用无意义的字符或汉语拼音;3.每个数据库对象表,视图,字段,存储过程,不要用任何数据库的关键词作为名称。
凡是能写注释的地方,应该写上注释,以便查看;4.名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知意”的原则;5.长度不要超过30个字符,在PD设置生成时,部分数据库对象会自动截取到30位;6.所有名称的字符范围为:A-Z, a-z, 0-9 和_(下划线),共63个字符。
不允许使用其他字符作为名称(注释除外),尽量不要使用0-9。
3.2数据库(Database)的命名规范数据库名称采用项目名称或项目名称缩写,名称全为大写,例如:CAPP、PDM。
3.3表(Table)的命名规范1.数据表名由前缀、模块名称与实际名称组成,以_(下划线)衔接;2.前缀使用大写字母T,表示表;3.模块名称用来表示某种从属关系,表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员;4.实际名称采用可以明确表示该表意义的英文单词或单词组合,每个单词首字母大写;5.表名中含有单词全部采用单数形式,例如:用Order而不是Orders。
数据库设计规范

数据库设计规范目录1. 数据库逻辑设计原则 (4)1.1. 主题域设计规范 (4)1.1.1. 主题域设计原则 (4)1.1.2. 主题域结构说明 (5)1.2. 命名规范 (6)1.2.1. 表属性规范 (6)1.2.2. 索引 (8)1.2.3. 视图 (9)1.2.4. 实体化视图 (9)1.2.5. 存储过程 (9)1.2.6. 触发器 (10)1.2.7. 函数 (10)1.2.8. 数据包 (10)1.2.9. 序列 (10)1.2.10. 表空间 (10)1.2.11. 数据文件 (10)1.2.12. 普通变量 (11)1.2.13. 游标变量 (11)1.2.14. 记录型变量 (11)1.2.15. 表类型变量 (11)1.2.16. 数据库链 (11)1.3. 命名 (11)1.3.1. 语言 (11)1.3.2. 大小写 (12)1.3.3. 单词分隔 (12)1.3.4. 保留字 (12)1.3.5. 命名长度 (12)1.3.6. 字段名称 (12)1.4. 设计 (13)1.4.1. 范式 (13)1.4.2. 表设计 (13)1.4.3. 索引设计 (16)1.4.4. 视图设计 (17)1.4.5. 包设计 (17)1.4.6. 安全性设计 (18)1.5. 实体设计规范 (19)1.5.1. 实体的设计原则 (19)1.5.2. 实体的描述方法 (20)1.5.3. 属性的描述方法 (21)1.6. 数据类型 (22)1.6.1. 字符型 (22)1.6.2. 数字型 (22)1.6.3. 日期和时间 (22)1.6.4. 大字段 (22)1.6.5. 唯一键 (23)1.7. SQL编写 (23)1.7.1. 字符类型数据 (23)1.7.2. 复杂sql (23)1.7.3. 高效性 (23)1.7.4. 健壮性 (24)1.7.5. 安全性 (26)1.7.6. 完整性 (26)2. 设计工具 (27)1.数据库逻辑设计原则1.1.主题域设计规范1.1.1.主题域设计原则主题域是高度概括的业务对象,主题域描述的数据实体及关系,相对独立于业务系统的功能,也独立于具体的数据模型和数据分布。
数据库设计规范

数据库设计规范在计算机科学领域中,数据库是必不可少的一个组成部分。
数据库能够存储和管理大量的数据,并且能够支持数据的快速查询和分析。
因此,进行有效的数据库设计是非常重要的。
一个好的数据库设计,可以提高数据的可靠性、安全性和效率。
而数据库设计规范,则是保证数据库设计质量的关键。
什么是数据库设计规范?数据库设计规范是指在进行数据库设计的过程中,应该遵循的一些规范和标准。
这些规范和标准涉及了数据库的表结构、字段定义、命名规则、数据类型选择、约束条件、索引设计、数据导入和导出等方面。
为什么要遵循数据库设计规范?遵循数据库设计规范有以下几点好处:1.提高数据的可靠性和一致性数据库设计规范可以帮助开发人员建立统一的数据结构和约束条件,从而避免出现数据冗余、重复和不一致的情况。
使用规范化的数据库设计方法,可以有效地维护数据的完整性和一致性。
2.提高数据的安全性通过使用规范化的数据库设计方法,并遵循一些安全策略,可以避免数据库被恶意攻击或数据泄露的风险。
例如,将敏感数据存储在加密的字段中,限制对数据库的访问权限等。
3.提高数据库的性能和效率遵循数据库设计规范还可以提高数据库的性能和效率。
例如,设计合适的索引和约束条件可以加快数据的查询和更新速度,减少数据库的响应时间。
数据库设计规范的重要性不言而喻。
下面将介绍一些具体的规范和标准,以指导数据库设计的实践。
规范一:表结构设计在设计表结构时,应该遵循下列原则:1.尽量避免冗余重复的数据会占用不必要的存储空间,增加数据的维护难度。
应该尽量避免冗余的数据。
通常可以通过拆分表、使用关联和引用等方法来实现。
2.遵循第一范式、第二范式和第三范式第一范式要求所有字段都应具有原子性;第二范式要求非主键字段不存在部分依赖;第三范式要求非主键字段不存在传递依赖。
遵循这些规范可以确保表结构清晰,减少数据重复。
3.尽量减小表的宽度每个表的字段数应当尽量减少。
因为每个字段都需要占用存储空间,每个表字段数过多会导致存储空间浪费,同时降低数据查询的效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件修改控制页[附加说明]1.“修改记录编号”的填写内容为:本次修改后的版本号+“/”+流水号,例如:V1.01/1。
一次修改可以修改文档的多个位置,流水号为对该版本修改的流水号。
当版本变时,流水号归为1。
目录文件修改控制页 (1)1 设计文件内容 (3)2 命名规范 (3)2.1设计文件的命名 (3)2.2数据库文件的命名 (3)2.2.1数据文件的命名 (3)2.2.2联机重做日志文件的命名 (4)2.2.3控制文件的命名 (4)2.2.4数据库参数文件的命名 (4)2.3表命名 (4)2.4视图命名 (5)2.5索引命名 (5)2.6 Constraint命名 (5)2.7字段命名 (5)2.8 SEQUENCE的命名 (6)2.9 Key命名 (6)3设计原则 (6)4附录:Power Designer使用介绍 (7)4.1概念设计 (8)4.2物理设计 (8)4.3产生数据库设计报告(数据字典) (9)4.4生成数据库脚本 (11)4.4.1生成create_user.sql (11)4.4.2生成create_table.sql (12)1 设计文件内容数据库设计完成后,应形成并提交以下的设计文件:(1)数据库脚本文件是用于创建数据库、生成数据库表、视图等内容的脚本文件,文件后缀为.sql,包括:●create_database.sql 创建数据库●create_user.sql 创建数据库用户●create_table.sql 创建数据库表、视图、索引●create_data.sql 创建系统初始化数据(2)原始设计文件是指使用Power Designer进行设计的文件,如:.pdm文件。
(3)其它必要文件2 命名规范2.1设计文件的命名数据库脚本文件应保持与上述的命名一致。
2.2数据库文件的命名Oracle数据库的文件类型有4种:数据文件、联机重做日志文件、控制文件、参数文件,每种文件的命名应遵循如下的约定。
2.2.1数据文件的命名数据文件与表空间具有多对一的关系,即,一个表空间可以有一个或多个数据文件,一个数据文件只能属于一个表空间,因此可以通过在文件名中增加表空间名来区分数据文件的归属,格式为:<表空间名><2位数字>.dbf例如:empty01.dbf、empty02.dbf2.2.2联机重做日志文件的命名联机重做日志文件记录与数据库有关的重做数据,联机重做日志组成重做日志组,每个重做日志组可由多个成员组成,每组必须由相同个数的成员组成。
命名格式为:redo<member_number><group_identifier>.logmember_number为2位数字,表示日志组中日志文件的序号;group_identifier为单一字符,表示重做日志组;例如:组A redo01a.log redo02a.log组B redo01b.log redo02b.log2.2.3控制文件的命名控制文件存储数据库的关键性结构信息,每个Oracle数据库应该至少有两个(最好三个)控制文件,命名约定如下:control<nn>.ctl2.2.4数据库参数文件的命名在Oracle安装完毕后,系统在$ORACLE_HOME/dbs目录下自动生成一个参数初始化文件。
该文件的命名约定如下:init<SID>.ora SID是Oracle唯一的实例标识符另外,用户还可以建立其他的参数文件,这些文件可以在主要的参数配置文件中通过IFILE参数来指定。
利用IFILE功能,能够更好的组织参数文件以及在多个实例中共享某些配置。
其命名约定如下:config<SID>.ora2.3表命名(1)使用有意义的英文单词来命名(2)表名用大写英文字母表示(3)以字母开头,其余部分可以是字母、数字的任意组合(4)使用“_”来分割单词,如ACCOUNT_HISTORY(5)表名的长度限制在30个字符之内(6)表名以一个模块名的缩写作为前缀,如SYS_USER(7)子表名与父表名有相应的联系,如:父表ACCOUNT、子表ACCOUNT_HISTORY (8)表名不得是Oracle数据库的保留字2.4视图命名规则:“VIEW_表A_表B”其中“VIEW_”作为前缀,以区别于表名,“表A、表B”表示组成视图的表名,如果表过多或其中若干个表名过长,则可以适当简化视图名例如:VIEW_TICKET是从表TICKET、TICKET_SOURCE、TICKET_PRICE_POLICY 三个表中提取数据而形成的一个关于票的完整信息。
2.5索引命名规则:ix_<表名>_n例如:ix_account、ix_account_1、ix_account_22.6 Constraint命名Check Constraint规则:chk_<表名>_<列名>2.7字段命名(1)使用有意义的英文单词来命名(2)字段名用大写英文字母表示(3)使用“_”来分割单词(4)字段名的长度限制在30个字符之内2.8 SEQUENCE的命名规则:“SEQ_序列名”,其中以“SEQ_”开头,序列名用有意义的英文单词表示,是字母、数字和“_”的任意组合。
例如:SEQ_USER_ID2.9 Key命名主键(Primary Key):Pk_<表名> 例如:pk_account外键(Foreign Key):fk_<表名>_<列名> 例如:fk_account_account_type3设计原则(1)所有记录业务数据的表中都要设有“操作员”、“记录创建日期”、“记录修改日期”的字段。
(2)varchar2类型的字段长度尽量使用10、30、80、255、2000中的一种。
但是,含有特定意义的字段如IP地址等,可以使用习惯的长度。
(3)子表的主键选择:对于第二层的子表,主键通常由父表的主键加上子表自身的主键共同组成;对于第三层以上的子表,只使用子表自身的主键,而父表的主键作为外键存在。
(4)具有master_detail关系的表的字段顺序,假设account和account_history是两个具有master_detail关系的表,通常在account表中account_id是主键,是account_history表的外键。
在这种情况下,要求account_history表的第一个字段为account_id,第二个字段为account_history_id。
(5)code表用来存储预定义的一些编码信息,所有预定义的数据信息都要在数据库中作为系统初始化数据录入,在需要的时候可以作维护界面对其进行管理。
但是code表中的记录数不要超过4000条,以免影响系统性能。
Code表的结构●所有的SQL保留字必须大写;●INSERT语句必须指定列名;●WHERE子句中的列应该给出表的别名;4附录:Power Designer使用介绍在数据库设计过程中,使用Power Designer作为统一的数据库设计辅助工具,数据库结构的设计和创建数据库的脚本都使用Power Designer。
设计数据库的过程大致如下:4.1概念设计所谓概念设计是根据用户的需求建立实体-关系模型,搞清楚应用系统要处理的数据以及它们之间的关系。
概念设计最终产生的结果是一份实体-关系图。
在Power Designer中选择File->New,在“新建”对话框中选择“Conceptual Data Model”。
在Workspace下会出现“ConceptualDataModel_1”,展开后可看到“Diagram_1”,双击Diagram_1可以在右边的设计窗口进行编辑。
在Conceptual Data Model中有Entity、Relationship、Association三个基本元素:Entity为实体,表示应用系统中需要处理的一个个数据对象;Relationship可以连接两个实体,标识他们之间的关系,两个实体间的关系可以是一对一、一对多和多对多。
在Power Designer中双击Relationship,可以在其属性框的detail选项卡中选择这些关系。
当两个Entity之间存在多对多的关系时,通常会在这两个Entity之间建立一个Association,如下图:概念设计是从较高的层次对应用系统所需要处理的数据进行组织和图形化,它不涉及具体的数据库管理系统。
Power Designer创建的Conceptual Data Model保存后生成一个*.cmd的文件。
4.2物理设计确定实体-关系图后就可以开始物理设计。
所谓物理设计是对如何将概念设计部署到某一具体的数据库管理系统的设计。
在Power Designer中通过已经确定的Conceptual Data Model自动生成一个Physical Data Model。
选择Tools->Generate Physical Data Model,可以看到一个“PDM Generation Option”对话框选择一个数据库管理系统(Oracle 8.1.6)后,单击“确定”,Power Designer自动根据Conceptual Data Model产生Physical Data Model,如下图所示。
在这张图中,Entity和Association分别对应数据库中的一张表,而Relationship会被映射成一个主外键约束。
同时,数据库表的每个字段都没有明确的数据类型。
4.3产生数据库设计报告(数据字典)完成物理设计后,为了便于维护和交流需要生成数据库设计报告。
Power Designer提供报表生成的模板,我们已经建立了生成报表的模板文件(DB_Report_Pkg_Template.rtp,附于此文档同目录下)选择Model->Report,会看到如下的界面。
点击左上角的“New Report”按钮,会看到“New Report”对话框:在对话框中输入数据库设计报告的名字,采用的语言,通过点击“Report template”右边的小按钮选择模板所在的目录,再下拉Report template下拉框选择“Design Report”,点击“OK”按钮,可以看到报告定制界面现在,可以通过选择File->Generate->RTF菜单生成数据库设计报告了。
4.4生成数据库脚本在设计完成后,需要利用Power Designer生成数据库脚本(创建数据库结构、初始化数据的SQL语句),利用这些数据库脚本可以方便的在具体的数据库管理系统上部署项目的数据库。