数据库设计体会

我以后在数据库设计期间:应该牢记的:

第一:所有的Float类型的字段,必须设计成NUMBER(10,2),觉得设计为VARCHAR(20)也很好。

第二:所有的时间类型的字段,设计成VARCAHR(20)

第三:所有表的主键要求自增,或者是用GUID,自增主键建议使用:表名_ID的形式。自增做主键的问题是:在oracle导入导出会遇到问题,以及多台oracle做数据同步的时候(解决方案就是一个表用1自增,另外的用10亿自增),guid的好处就是唯一性,能够保证数据库里的每一条记录都是唯一的一个GUID.

第四:考虑到表与表之间的关联。对于子表的外键,应该预留一个字段存放主表的名称

例如

 单位表 是主表                     采购单 是子表

 

DEPT_ID,DEPT_name            PUR_ID ,DEPT_ID,DEPT_name

虽然是浪费了磁盘的存储空间,但是同样提高了查询的效率,尤其是在多表联合查询,以及具有递归的表进行联合查询!

第五:尽可能的去使用绑定变量,以及视图和存储过程。

第六:尽可能的不去使用复合主键。

第七:尽量不要去将实体的属性设为主键。当然实体的有些属性可以存在不存在,存在就唯一,就好像身份证号码。

对于主键的选择,尽量不去选择经常修改的键值。

第八:对于表的列数设计最好不要超过30列,列越多越不利于管理和维护。

第九:表的命名:采用:项目名称_模块名称_表名称。

 

暂无:以后在工作中遇到的问题会继续补上,希望网友帮忙补上

 

    

转载于:https://www.cnblogs.com/umlzhang/archive/2010/09/08/1821528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值