欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库设计规范(11页).doc

    • 资源ID:39643457       资源大小:213.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库设计规范(11页).doc

    -数据库设计规范-第 10 页数据库设计规范V 1.0 2007-8-28目 录1)目的32)范围33)术语34)设计概要35)命名规范(逻辑对象)46)数据库对象命名67)脚本注释88)数据库操作原则99)常用字段命名(参考)91) 目的 为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。 2) 范围 本规范适用于开发组全体人员,作用于软件项目开发的数据库设计、维护阶段。 3) 术语 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。 逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。 4) 设计概要 n 设计环境 l 数据库 : ORACLE 9i 、MS SQL SERVER 2000 等 l 操作系统: LINUX 7.1以上版本,显示图形操作界面; RedHat 9 以上版本 WINDOWS 2000 SERVER 以上n 设计使用工具 l 使用PowerDesigner 做为数据库的设计工具,要求为主要字段做详尽说明。对于SQL Server 尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQL Server中) l 通过PowerDesigner 定制word格式报表,并导出word文档,作为数据字典保存。(PowerDesigner v10 才具有定制导出word格式报表的功能)。对于SQL Server 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。 l 编写数据库建数据库、建数据库对象、初始化数据脚本文件 n 设计原则 l 采用多数据文件 l 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MB l oracle数据库中必须将索引建立在索引表空间里。 l 基本信息表在建立时就分配足够的存储空间,禁止其自动扩展功能 l 大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列 l 为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。 n 设计的更新 l 在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。 l 运行阶段,由数据库管理员进行维护。 l 如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。 l 编写更新的SQL代码,如果使用PowerDesigner,禁止由PowerDesigner直接连数据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面进行修改) l 修改数据库要通过SQL,禁止其它方式对数据进行修改 l 修改数据库的SQL要添加说明后保存备查 n 命名总体原则 l 设定的前缀一律用小写字母 l 标识名称命名全部小写 l 整个命名的全长不得超过30个字母 l 全部使用字母和下划线'_',不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1, t_Finace2. l 命名名称来自于业务,全部采用英文单词 l 英文单词过长可以采用通用的缩写,尽量表达出业务的含义 l 如需要两个以上的英文单词做标识名称,单词之间要用下划线'_'连接 l 名称全是由名词组成的,名词由大范围到小范围排序取名 l 完成某功能的名称,如函数和过程,以动宾形式取名 5) 命名规范(逻辑对象) a) 数据库结构命名 l 数据库命名 数据库的命名要求使用与数据库意义相关联的英文字母,即<业务系统名称>。 例如:china care 数据库的命名为ccnet; 客户资料数据库的命名为Customer_Info。 l 数据库日志设计命名 数据库日志的的命名以<数据库名>_<日志名>.log格式命名。其中,<日志名>为有意义的数据库日志名称。 例如: ccnet_logredo.logb) 数据库配置设计命名 数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。 数据库配置文件的命名以:<数据库类型简写_<应用系统标志>_cfg.ini格式命名。 其中,数据库类型简写见附件1数据库类型简写,cfq表示该文件是数据库配置文件。 例如:ORA_ ccnet_cfg.ini c) 数据库复制与存储设计命名 数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。 数据库复制与存储设计文件的命名以:<数据库类型简写>_<应用系统标志>_rep.txt格式命名。 其中,数据库类型简写见附件1数据库类型简写,rep表示该文件是数据库复制与存储文件。 d) 数据库连接设计命名 数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。 数据库连接设计文件的命名以:<数据库类型简写>_<应用系统标志>_dbl. sql格式命名。其中,数据库类型简写见附件1数据库类型简写,dbl表示该文件是数据库连接设计文件。 e) 表空间、数据文件命名(主要针对Oracle) l 索引表空间: 表空间命名格式:ts<系统标识>_i l 数据库文件命名格式:ts<系统标识>_in.dbf l 临时表空间: 表空间命名格式:ts<系统标识>_t l 数据库文件命名格式:ts<系统标识>_tn.dbf l 回滚表空间: 表空间命名格式:ts<系统标识>_r l 数据库文件命名格式:ts<系统标识>_rn.dbf l 数据表空间: 表空间命名格式:ts<系统标识>_d l 数据库文件命名格式:ts<系统标识>_dn.dbf 注:表空间名不超过8位,n 可取00-99或0-9,根据系统数据量确定。 6) 数据库对象命名 a) 表 表的命名必须以"t_"(Table缩写)开头,格式为:t_系统标识_<数据表类型标识>_<表标识>。 其中, 表示可选项,依据实际情况而增加;<表标识> 要求与表意义相关联的英文字母,例如:t_Customers。 数据表大致分为:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表; l 基本编码表用base标志 l 累计数据表用count标志 l 系统信息表用info标志 . 例如:t_trade_base_trade_code,t_trade_info_help . b) 字段/域 根据业务要求进行命名,不需设定固定的前缀。 c) 索引 针对数据库表中一个或多个字段建立的索引的命名格式应以"idx_"开头,索引列名间用_隔开,即为idx_ColumnName1_ColumnName2_ 其中,ColumnName1是数据库表中(第一个)索引字段的名称或名称简写;ColumnName2是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需符合数据库的规定。 例:idx_cert_number (表示在字段cert_number上创建索引) 为了避免重名索引出现,可选命名方式为 idx_<表名>_<递增号> 作为索引的命名,但是要求在数据字典中进行详细说明 d) 视图 视图的命名必须以"v_"(View 缩写)开头,格式为: v_<视图类型>_系统标识 _<视图标识>。 其中,视图类型参见"表的分类说明";系统标识_是可选项,依据情况而增加;<视图标识> 应与视图意义相关联的英文字母。 例:v_user_detail_info e) 存储过程 存储过程的命名必须符合sp_系统标识_<存储过程标识>格式。 其中,sp表示是存储过程;系统标识为可选项,依据情况而增加;<存储过程标识>是与存储过程意义相关联的英文字母,例如:USP_Query_Write_to_Disk。 例:sp_check_user_auth(以动宾方式取名) f) 触发器 触发器的的命名必须符合tr_<表名>_<i,u,d的任意组合> 格式。 其中,tr表示是触发器;<i,u,d的任意组合>是与触发器意义相关联的英文字母。 例:tr_user_info_iu (表示对user_info表进行插入、更新的触发器) g) 函数 函数的命名必须符合fn_系统标识_<函数标识>格式。 其中,fn表示是函数,系统标识为可选项,依情况而定;<函数标识>是与函数意义相关联的英文字母。 例:fn_create_id(以动宾方式取名) h) 自定义数据类型 自定义数据类型的命名格式为:ud_<自定义数据类型标识>_<数据类型> i) Default(缺省) Default(缺省)的命名格式一般为:df_<Default标识>;对于非绑定的默认可取系统默认的名字j) Check、Constraint(约束) 约束的命名格式一般为:ck_<表名>_ <Check标识>;一些约束可直接放在生成表的语句中。 例:ck_flag 参见第8.1点实例,约束字段flag只能取字符'0'到'9': constraint ck_flag CHECK (flag between '0' and '9' ) k) Rule(规则) 规则的命名格式一般为:rl_<Rule标识>;对于非绑定规则(约束) 可取系统默认的名字。 l) 主键 主键的命名格式为pk_<表名>_<主键标识>。 例:pk_user_info_userid (表user_info以字段userid创建主键) m) 外键 外键的命名格式为fk_<表名>_<主表名>_<外键标识>。 可选命名方式为 fk_<表名>_<递增号> 作为索引的命名,但是要求在数据字典中进行详细说明 例:fk_user_info_department_deptid (在表user_info的字段department_id上创建外键,参照主表department) n) 同义词(ORACLE) 同义词的命名格式为:sy_<同义词标识> 例:sy_user_info (为所有权属于ben的表user_info的公共同义词) 7) 脚本注释 7.1 存储过程或触发器 a) 每一个存储过程或触发器都要在最前面写注释,注释如下 writer: create date: ver: Depiction: remark: 另外,过程中声明的重要变量要有注释,例如: iActionFlag int = 0 /* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */ b) 如果只对存储过程或触发器进行部分修改时须添加以下注释: /*rewriter: add(rewriter): date:<格式:YYYY-MM-DD> start1: 修改描述: /* 原代码内容*/(修改时) /*rewriter: date:<格式:YYYY-MM-DD> end1: */ /*rewriter: add(rewriter): date:<格式:YYYY-MM-DD> start2: */ 新代码内容 /*rewriter: date:<格式:YYYY-MM-DD> end2: */ c) 如果对存储过程或触发器有较大的修改,可增加修改内容的注释。 /*Log Id:<Log编号,从1开始一次增加> rewriter: rewrite date:<格式:YYYY-MM-DD> Depiction: 7.2 自定义函数 a) 每一个自定义函数都要在其前面写注释,注释如下 function name:xxxx Depiction:<对此函数的描述> param(a,b) a 功能或描述. b 功能或描述 output: x x=0表示. x=1 表示. writer: create date:<创建日期,格式:YYYY-MM-DD> ver: remark: 另外,函数中声明的重要变量要有注释,例如: iActionFlag int = 0 /* 0 => Checkout, 1 => GetLatest, 2 => UndoCheckOut */ b) 如果只对函数进行部分修改时须添加以下注释: /*rewriter: add(rewriter): date:<格式:YYYY-MM-DD> start1: 修改描述: /* 原代码内容*/(修改时) /*rewriter: date:<格式:YYYY-MM-DD> end1:*/ /*rewriter: add(rewriter): date:<格式:YYYY-MM-DD> start2: */ 新代码内容 /*rewriter: date:<格式:YYYY-MM-DD> end2: */ c) 如果对函数有较大的修改,可增加修改内容的注释。 /*Log id:<Log编号,从1开始一次增加> rewriter: rewrite date:<修改日期,格式:YYYY-MM-DD> Depiction: 8) 数据库操作原则 8.1 建立、删除、修改库表操作 在开发环境中,对于自己的库表可任意进行修改、删除操作;但需保留相应的建表语句和说明,与建表人建表时间。 8.2 添加、删除、修改表数据 l 在开发环境中,开发人员所开发模块独自使用的库表,可自由操作表中数据; l 对其他模块关联的库表,应取得其他模块的开发人员同意后再执行操作; l 系统的信息表、字典表的修改应向数据库的管理员提出操作需求,由数据库的管理员执行操作。 9) 常用字段命名(参考) 9.1 系统信息常用字段 字段名称字段代码ORACLESQLSERVER值说明用户标识user_idchar(8)char(8)用于登录应用系统的标识, 填写数字一般做主键,要填满长度用户名称user_namevarchar2(20)varchar(20)用户标识对应的名称组标识grp_idchar(4)char(4)用户所属的组标识,填写数字一般做主键,要填满长度组名称grp_namevarchar2(50)varchar (50)组标识对应名称组权限标识grp_auth_idchar(2)char(2)由低到高,从00到99要填满长度组权限名称grp_auth_namevarchar2(50)varchar (50)组权限标识对应名称密码passwordvarchar2(30)varchar(30)9.2 客户个人信息常用字段 字段名称字段代码ORACLESQLSERVER值说明客户标识customer_idchar(?)char(?)业务系统使用的客户标识,一般做主键,不用可变长类型要填满长度客户姓名customer_namevarchar2(50)varchar(50)部门标识dept_idchar(?)char(?)一般做主键,不用可变长类型要填满长度部门名称dept_namevarchar2(50)varchar(50)性别sexchar(1)char(1)F/M婚姻状况marriagestatusvarchar2(50)varchar(50)没有标识的,直接在字段中填写具体值出生日期birthdaydatesmalldatetime身高hightnumber(5,2)dec(5,2)单位为厘米体重weightnumber(5,2)dec(5,2)单位为公斤民族nationalityvarchar2(20)varchar(20)联系电话phonevarchar2(50)varchar(50)家庭电话home_phonevarchar2(50)varchar(50)办公电话1office_phone1varchar2(50)varchar(50)办公电话2office_phone2varchar2(50)varchar(50)区号zonevarchar2(20)varchar(20)传真号码office_faxvarchar2(50)varchar(50)移动电话mobil_phonevarchar2(50)varchar(50)电子信箱emailvarchar2(50)varchar(50)邮政编码post_codevarchar2(20)varchar(20)国籍countryvarchar2(50)varchar(50)居住省provincevarchar2(20)varchar(20)居住市cityvarchar2(20)varchar(20)家庭住址home_addrvarchar2(80)varchar(80)办公地点office_addrvarchar2(80)varchar(80)证件号码cert_numbervarchar2(50)varchar(50)证件名称cert_namevarchar2(20)varchar(20)职业标识occupation_idchar(4)char(4)要填满长度职业名称occupationvarchar2(50)varchar(50)教育程度educationvarchar2(20) varchar(20)9.3 铺助信息常用字段 字段名称字段代码ORACLESQLSERVER值说明记录状态标识flagchar(1)char(1)A/D A:有效;D:删除;S:暂停记录序号idnumberint9.4 业务信息常用字段 字段名称字段代码ORACLESQLSERVER值说明业务发生日期oper_datedatesmalldate开始日期begin_datedatesmalldate结束日期end_datedatesmalldate操作日期curr_datedatesmalldate操作员编号user_idchar(4)char(4)即为系统信息中的用户标识发生额moneynumber(7,2)dec(7,2)余额balancenumber(10,2)dec(10,2)描述descriptionvarchar2(50)varchar(50)附件1:数据库类型简写 编号数据库类型简写SYBASESYBORACLEORADB2DB2SQL SERVERSQL

    注意事项

    本文(数据库设计规范(11页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开