数据库设计的体会
来源:互联网 发布:雨季网络 编辑:程序博客网 时间:2024/04/29 02:16
PowerDesigner设计数据库规范
----初稿 by 罗军
需求:
虽然目前我们的数据库设计模式能够满足开发要求,也节省了开发时间,但是这样的设计会对以后工程项目的维护、改版造成成本上的增加。数据库表的字段在修改上将对主程序造成影响;另外对于开发和维护人员来说,字段的编码也需要规范化,这样可以统一字段编码,让维护人员一看就懂,增添的字段对以后接手项目的人员来说则很容易上手。
针对上述问题,我建议数据开发需要定义一套简明扼要的规范。规范中包括三个部分:一是编码的规范;二是字段类型长度的定义;三是表设计的特殊说明。
设计:
数据库开发流程先知:在PowerDesigner中,我们主要设计物理数据模型(PDM文件),这时需要定义一个工程项目的数据字段域,定义字段域有一个好处就是以后设计数据表时,字段的类型可以选择用域中定义好的类型,更改了域的类型信息,表中与域引用相关的字段信息也相应改变,这样方便修改字段,也统一了字段类型和长度。
定义好域之后,就可以设计数据表以及字段了。设计完表,可以选择导出的数据库类型,并生成建数据和建表的sql,再通过数据库连接工具执行sql语句,一个工程项目的数据库就建立好了。以后只要有数据库的修改要求,则重新生成sql语句并执行之即可。注意:重新执行sql之前需要确定是否保留原表的数据,若需要保留则只能通过alert语句来修改,否则原表的数据将被冲洗掉。
图I 数据库设计流程图
如图(图I)所示为数据库设计流程图,如果有修改内容,我们只需要重新执行箭头2所指的三个步骤就行。
以下说明数据库设计过程中的一些要求。
1) 编码规范
编码主要是要注意编码的前后缀,以便看到编码则知道是什么类型。
A. 主键pk_ [字符串or长整型] 例如:pk_company
B. 外键fk_ [字符串or长整型] 例如:fk_employee
C. 字符串 v 例如:vdetail
D. 字符型 c 例如:ccolor
E. 时间 d 例如:ddatetime
F. 逻辑 b 例如:bisdeleted
G. 整型 i 例如:itype
H. 数字型(浮点行) n 例如:nprice
I. 文本型 t 例如:tdescription
J. 对象类型 o 例如:opicture
给各个表与字段编码时,尽量保持编码的长度在20个字符以内,编码要求有一定意义,并且易懂。
2) 字段类型长度定义
主键、外键如果是字符串行的话,建议用20个字符的长度。字符串的长度一般定义20、30、50、100、256、512、1024、2048、4096,超过4096个字符可以建议用文本类型来定义。定义字段的长度主要用于定义域的字段长度,从而规范表字段的类型及长度。
3) 表设计的特殊说明
一般,表中的记录如果是假删除的话,则每个表需要统一的删除字段,另外,时间字段一般每一个表也要求出现,这样设计可以考虑目前或者以后做多线程访问的控制判断(即允许多读,但不允许多写),以后还有可能对一类表有固定必需字段的要求,这样的需求可以利用powerdesigner来统一添加。另外,每一表建议只有主键非空,其余字段均可空,字段的非空判断交由程序来处理,不用数据库来判断。
- 数据库设计的体会
- 服务器设计,开发的体会
- Sqlite数据库的使用体会
- 关于数据库学习的体会
- 数据库设计的14个技巧--在实际开发中,注意运用体会吧
- tony说设计-实践后的体会
- 《大话设计模式》的阅读体会
- 服务器设计和开发的体会
- usb设备的硬件设计体会
- 需求分析费概要设计的体会
- 个人对设计模式的体会
- android客户端UI设计的一点体会
- C++面向对象设计的经验体会
- 关于设计模式的一些体会
- php建立数据库网站的体会
- 浅谈数据库的架构优化(读书体会)
- 浅谈数据库的架构优化(读书体会)
- 体会的体会vh
- SharePoint Portal Server徹底研究
- 浅析:setsockopt()改善socket网络程序的健壮性
- ERP制成品成本计算整理(直接原料)
- 用一个简单的办法生成全部排序
- php session配置
- 数据库设计的体会
- 学习Ajax技术
- CComBSTR使用中-1异常
- 感觉CSDN的还不错
- Moss 2007 入门(1) - 功能概述
- Javascript中最常用的55个经典技巧
- 总结:子窗口创建及父窗口与子窗口之间通信
- MOSS 2007 部署图示指南
- 设计模式笔记