NC数据库设计规范.doc
《NC数据库设计规范.doc》由会员分享,可在线阅读,更多相关《NC数据库设计规范.doc(7页珍藏版)》请在咨信网上搜索。
数据库设计规范 ----NC数据库小组---- 版本 V5 注意: 标有 ★ 的条目表示强制性规范。 变更记录 日期 变更内容 变更原因 变更人 2003-06-23 数据类型中对定长字符由使用varchar2 改为 char 就应该用char,原来笔误 段玲 2005-8-30 增加支持的操作系统和数据库版本 产品发展 林大瀚、李奎阳、陈岑 2005-8-30 重新整理模块命名规范,分离资金、预算、人力资源 产品发展 陈岑 2005-8-30 增加一些对数据类型的值域范围界定 以前没有精确的界定 林大瀚、陈岑 2005-8-30 增加“空值”规范 新版不允许使用“空值” 李奎阳 2005-8-30 增加两条索引规范 产品实施需要 李奎阳 陈岑 2005-8-30 精简产品配置数据库脚本规范 其他规范中已经涉及 陈岑 一、 概述 本手册涉及两个方面的内容: A、指导软件开发过程中对数据库设计文档的管理。数据库设计文档主要包括以下部分: l 数据库设计的概念数据模型,即CDM文档 l 数据库设计的物理数据模型,即PDM文档 l 由PDM生成的数据库建库脚本。 l 其他不在PDM文档中表达的数据库脚本,比如视图、触发器、索引等。 B、规范数据库设计文档中的内容,如命名规则、数据类型的使用等。 本手册会随着NC的发展、开发技术的提高、各种系统平台的更新而逐步调整。 二、 支持数据库及版本★ 目前主要支持ORACLE,DB2,SQLSERVER三种数据库. 操作系统 ORACLE 8I(8.1.7) ORACLE 9I(9.2.0.4或更高) ORACLE 9I(10G) Win NT 考虑升级操作系统 考虑升级操作系统 考虑升级操作系统 Win 2000 √ √ √ Win 2003 √ √ √ Sun Solaris 2.6 or late √ √ √ IBM AIX 4.2 and later √ √ √ SCO UnixWare 7.0 √ √ √ Linux √ √ √ HP Unix 11.00 or later √ √ √ 操作系统 SQL SERVER 7.0 SQL SERVER 2000(sp3) SQL SERVER 2005 Win NT 考虑升级数据库 √ √ Win 2000 考虑升级数据库 √ √ Win 2003 考虑升级数据库 √ √ 操作系统 DB2(7.2) DB2(8.2) Win NT 考虑升级数据库 √ Win 2000 考虑升级数据库 √ Win 2003 考虑升级数据库 √ Sun Solaris 2.6 or later. 考虑升级数据库 √ IBM AIX 4.2 and later 考虑升级数据库 √ Linux kernel 2.2.12 or higher; 考虑升级数据库 √ HP Unix 11.00 or later 考虑升级数据库 √ 三、 数据库文档的管理★ 1、 采用PowerDesigner 8.0作为数据库设计工具。 2、 使用ClearCase作为数据库设计文档的版本控制工具。 3、 凡是用在PDM里面表达的数据库设计,统一由配置管理员产生厂商数据库的建库脚本。不在PDM中表达的SQL语句需要设计人员自己翻译为不同厂商数据库的建库脚本。 4、 PDM里面有关各种数据库对象的comment 字段不能为空,必须对各种数据库对象作出有助与理解的注释。 四、命名规范★ 1. 模块名称规则表,一般数据库表设计的前缀默认采用以下规则,以下表的详细信息请参考NC规范中的NC产品形态文档. 模块名称 系统规则名 模块名称 系统规则名 模块名称 系统规则名 UAP 系统管理 sm UAP pub 财务会计平台 dap 基础数据 bd 外部交换平台 xx 管理会计平台 dmp 报表&BPM 报表 iufo BI平台 bi BPM bpm 财务 总账管理 gl 收付报 arap 固定资产 fa 存货核算 ia 项目成本 jc 资金 资金结算 fts 资金监控 fvm 资金计划 fp 票据管理 fbm 信贷管理 fi 资金预测 fi 资金计息 fi 网上银行 ebank 预算 预算管理 ntb 人力资源 人力资源规划 HRP 职务职能管理 OM 员工信息管理 HI 招聘甄选管理 RM 员工调配管理 HI 员工离职管理 HI 政策制度管理 HRPM 劳动合同管理 HRCM 培训开发管理 TRM 考勤管理 TBM 出差管理 HRBT 休假管理 HRLM 加班管理 HROM 绩效管理 PE 薪酬管理 WA 福利管理 BM 经理自助 MSS 基础设置 HR 人力资源取数函数 RPT 员工自助 ESS 供应链 采购管理 po 销售/分销管理 so 库存管理 ic 销售价格 prm 内部交易 to 供应商管理 vrm 合同管理 ct 委外加工 sc 发运管理 dm 供应链公共 scm 制造 设备管理 fm 成本管理 cm 制造基础数据 pd 需求管理 mm 生产计划 mm 生产定单 mm 车间作业 sf 能力计划 crp 装配计划 mm 检修管理 er 质量管理 质量管理 qc 其他 cdm pm 2. 所有表、视图、触发器、索引、函数、约束、主外键必须指定名称,规则如下: 对于各种数据库对象的命名规则,目前的NC系统中存在两种风格,采用拼音和采用英文的,目前这两种规范都可以,但是注释一定要清楚. 数据库对象 规则 最大长度 例子 表 系统规则名_名称 18 sm_firm 字段名 18 acc_code, acc_name 视图 v_系统规则名_名称(*) 18 ac_accsub 触发器 t_表名_名称(*) 18 t_firm 函数 f_名称 18 f_fun() Check ck_表名_字段名(*) 18 ck_gl_accsub_code 主键 pk_表名 18 pk_gl_accsub 外键 fk_表名_字段名(*)--此处超过18位处理 18 fk_gl_vouch_accsub_code 索引 i_表名_字段名(*) 18 i_gl_accsub_code 表空间 ts_名称 18 ts_sys (*)注:由于数据库对象之间的命名规则与最大长度限制可能造成命名存在冲突。如存在,可以通过缩减表名或字段字符来实现。 3. 所有的外键、约束、索引、函数、触发器、存储过程名不允许重复。 4. 业务中主子表的命名规则: 系统规则名_名称 或 主表:系统规则名_名称_h 5. 子表:系统规则名_英文名称_b。业务中主子子表的命名规则: 主表:系统规则名_英文名称_h 子表:系统规则名_英文名称_b 子子表:系统规则名_英文名称_bs 五、数据类型★ 1. 可用数据类型 类型 范围 Sqlserver Oracle Db2 字符型 长度固定(注意:长度小于255) Char Char Char 可变字符型 长度不固定(最大4000) Varchar Varchar2 Varchar Oracle只能到4000,以此为准 16位整型 -32,768~32,767 Smallint Smallint Smallint 32位整型 -2,147,483,648 ~2,147,483,647 Int Int integer 精确数值型 pppppppppppppp.ss Decimal(p,s) Number(p,s) Decimal(p,s) 近似数值型 -1.79E+308 ~1.79E+308 Float Float Float 日期型 yyyy-mm-dd。 Char(10) Char (10) Char(10) 日期时间型 yyyy-mm-dd hh_mm_ss Char(19) Char (19) Char(19) 时间戳 System date and time date Datetime date 布尔型 ‘Y’ or ‘N’ Char(1) Char (1) Char(1) ID/PK Char(20) Char (20) Char (20) 大文本 text Clob clob 二进制 image Blob blob 2. 业务数据类型规范 这个规范需要落实到CDM/PDM的domain的标准化上,尽量使用已经定义好的域,如UFPK、UFDate等,参见pdm手册。 类型 规则(使用SQL Server描述) 编码类 字符型。依据规则确定用char还是varchar。 名称类 字符型。依据规则确定用char还是varchar。 布尔类 Char(1),Y/N 状态类 Smallint,用0,1,2,3……表示 级次类 16位整型Smallint 金额类 精确数值型,一般为decimal(20,8) 大金额 32,10 系统标识类 估计可能最大值<32,767: 16位整型smallint 估计可能最大值>32,767: 32位整型 smallint 摘要备注类 可变字符型。需要定义几种:200,1000 价格数量类 精确数值型,一般为decimal(20,8) 单价类 精确数值型,一般为decimal(20,8) 比率类 精确数值型,一般为decimal(20,8) 3. 不要用SQL 保留字来命名表、视图、字段、索引。数据库的保留字见各数据库厂商规范。 4. 字符型字段的确定。长度固定用char,不固定用varchar。 5. 不要将Null 与 空串“”视为相同。在不同的数据库中对这两者的理解是不相同的。在Oracle中空串与Null理解一样。如果碰到这种情况统一用Null. 6.空值问题: 所有经常用来做为查询条件的字段都不允许使用空值,引用基础档案的,在基础档案增加表示空值的档案,其他使用N/A表示。 六、注意事项 A 存储过程 1. 为了减少移植的困难,不要使用存储过程。如必须使用,需审批。 B 触发器 1. 尽可能的不使用触发器,尽量通过程序实现,有利与多数据库移植。 2. 不允许动态创建触发器。 C 视图 1. 使用静态视图,不允许动态创建视图。 2. 视图中不准包含order by 语法,影响效率。 3. 尽量不要出现视图嵌套视图的情况 D 索引 1. 为了保证索引具有提高效率的作用,估计记录数不大于100的表一律不允许建索引。 2. 只用于distinct或group by子句引用的列,不用建立索引。 3. 对于数据值变化不大的列,比如只有yes和no,那么不要建索引,否则效率降低。 4. 不允许动态创建索引。 5. 当创建复合索引时,复合索引的列不超过7列,复合索引的列的总长度不能超过128字节。 6. 在复合索引中,所有的列必须来自同一个表中,不能跨表建立复合列。 7. 复合索引为多列,同复合主键一样将变化显著的列放到复合索引的首位。 8. 在复合索引中,列的排列顺序是非常重要的。例如在(COL1,COL2)上的索引与在(COL2,COL1)上的索引是不相同的,因为两个索引的列的顺序不同。 9. 规范索引的管理,设计表的时候需要将表的主要查询场景整理形成相应文档,然后根据相应场景设计索引。 10. 某些字段(如dr、ts等)设计时不可见。在这些字段上建索引,需要申报审批。 E 表及外键 1. 表的具体设计规范原则。 以第三范式的标准严格设计,然后再考虑开发与运行的效率进行反范式规范的冗余设计。 2. 不允许动态创建表、约束、外键。 3. 每个表必须有主键(primary key)不推荐复合主键★ 4. 一个表的字段在引用另外一个表带编码、名称的字段时,只需引用主键字段。 5. 复合主键必须遵守以下规则:越能成为唯一标识的字段(同值重复少)就越放在前面。 6. 没有必要对表中的每一个引用建立主外键关系。 7. 对于已经存在的表,如果要增加字段,建议一般使用可空字段,如果是非空字段,请给出default值。★ 8. 只对关系非常密切的表建立外键关系,比如主子表,来源去向表。 9. 外键的建立的基本原则是不能跨模块建立外键关系。★ F 函数规范★ 1. 不允许使用自定义函数。 G 产品配置数据库脚本规范★ 1. 建库脚本文件分类: 删除表类:包括模块所有表的drop语句。 删除历史版本索引类: 包括对所有历史发版版本索引的统一预删除脚本。表结构类:包括模块所有表的建表语句、主键定义以及check约束。还包括数据类型以及规则定义。 外键、视图、函数、索引类(简称外键类):包括模块所有的外键、视图、索引、函数。包括drop语句。 触发器、存储过程类: 包括模块的触发器以及存储过程。包括drop 语句。 数据类:包括模块节点以及初始化数据;包括删除数据命令。包括delete语句。 2. 安装盘脚本命名规则: 参见《NC产品配置数据规范》。 3. 书写格式: 字母全部用小写(值除外)。注释用破折号“--” 遵循各个数据库SQL执行标准。例如,每条DDL以及DML语句结束符采用如下符号。 Db2 Oracle Sqlserver Sybase ; DDL / DML ; Go go- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NC 数据库 设计规范
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文