数据库表的设计

本文分享了在设计数据库时的经验,包括表设计、字段类型选择、索引使用原则等。建议每个表添加id、create_time、version三个字段;合理设计地址、电话字段;注意smallint和tinyint的数据范围;遵循索引使用原则;表命名使用_连接。

总结一下在设计数据库时的经验:

设计表:

1、每个表都应添加3个有用的字段

    id:自增(必要时)

    create_time:创建时间  GETDATA()函数

    version:版本信息,如果后期需求发生变化,前期数据可以不用修改。

    (理解)追责:谁什么时间犯错

2、地址、电话可以采用多个字段

    描述街道地址:address_province,address_city,address_county,address_town,address_street(这样可以提高灵活性)

    描述电话号码:如果数据量大的话,电话号码、邮件最好有自己的表,其间有自身的类型和标记类别

3、字段的类型应当充足

   在SQLServer中使用smallint和tinyint类型是应当注意数据超出范围

4、索引使用原则:
  索引是从数据库中获取数据的最高效方式之一。绝大部分的数据库性能问题都可以采用索引技术得到解决。(对于小数据性能提高的少)
  1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写。
  2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。
  3) 不要索引memo/note 字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间。
  4) 不要索引常用的小型表
  不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。

5、表的命令多个词使用_连接

6、SQLServer的表名有时候需要添加[],例如select * from [user],其中的*最好能换成字段,这样避免二次查找,因为它在查找时首先看看都有哪些字段。

转载于:https://www.cnblogs.com/chenyongblog/p/3722394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值