建数据库表需要注意哪些点

今天刚好要建开发环境所用的数据库表了,就简单记录一下需要注意的关键点吧。

	数据库表设计原则

1.面向对象原则
要保证表中的每列与主键相关。
2.表职能单一性原则
如果一张表负责了两个或两个以上的职责,那么该表应进行拆分。
3.表字段与表直接关联原则
如果一个字段与当前表是间接关联的,那么就该创建一张新的表来保存该字段。
4.字段最小原子化原则
一个字段如果包含了多个信息或含义,则该字段就应该拆成多个字段。
5.字段名唯一原则
所有字段不允许单个单词形式存在,例:机构信息表code改为org_code,name改为org_name。好处:避免一些容易出现的SQL错误;方便代码检索;减少部分SQL中输出字段的别名设置;看到字段名或属性名就能知道其含义。
6.不创建外键关联,只是外键关系
设计中的外键仅是为了让大家知道其对应的表才写进去的,实际并不需要在数据库中创建外键。目的是为了确保表之间的独立性。
7.尽量少使用存储过程
除非某个功能对性能要求非常高,且没办法通过存储过程以外的方式来提升性能时,才考虑使用存储过程。
8.应针对所有表的主键和外键建立索引
有针对性的建立组合属性的索引,提高检索效率。
9.必须建立业务主键
除自增id之外,需要使用业务主键,常使用”业务前缀+时间戳+随机数”组成,优点:实现简单,与数据库无关,移植性较好。
10.所有字段不允许空值
所有字段不允许空值,varchar类型默认统一设置为”Empty String”,此处不使用NULL。区别:NULL,默认存为(Null),指的是对象;Empty String默认存为空串””,在java中进行非空判断存在区别userId==null/userId.equals(“”);数值类型默认为0
11.表中字段根据数据类型统一
数值类:bigint
金额:decimal;
状态:tinyint (从数据库底层来说是以二进制方式传输,此处存字符运行效率较高varchar(2)—了解)
时间:datetime
12.每张表需要建立索引
建立索引方式:选取使用频率最高的字段作为索引字段

大概就是这些啦,也是搜索相关文档整理出来的一部分

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值