数据库结构设计
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据库结构设计,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2071字,纯文字阅读大概需要3分钟。
内容图文
不恰当的表名,含义不明的列名,含有许多值的列等都会造成读取和操作数据时遇到不必要的麻烦。
在设计数据库时,确保数据库结构合理是非常非常重要的。
一、设计列
1.1、列名
列名需要是描述性的,且整个组织都明白它的含义。
列名清晰而明确。
如用PhoneNumber表示用户的电话号码,那么问题就来了,到底是手机号码还是家庭号码呢?应该用TelephoneNumber、HomephoneNumber。
避免在多个表中使用相同的列名,确保每个列名在整个数据库系统中是独一无二的,主键/外键例外。
像学生表,老师表都会有Name/Code等属性,此时不应用Name/Code作为列名,用表名前缀的方式设计成:StuName/StuCode,TchName/TchCode。
避免首字母缩写/缩略语。
这条参照第一条,如用户表有一列名称是xm,fy等,一段时间以后,没人知道它的含义。
列名应该只表达一个特征。
如TelPhoneOrHomePhone就是不合理的,需要拆分成TelPhone,HomePhone两列。
确保使用单数型列名。
复数型列名意味着行中的数据可能包含多个值,用逗号分隔这样的。这通常并不是个好主意。
1.2、每一列表示表所表达的事物的一个特征。
需要判断该列是否在当前表中是不可或缺的。
1.3、确保每个列的值都是单个值。
如某个数据库系统中用户信息表的Address列,存储数据如下:安徽省安庆市某某路。
假如此时需要获取某个省的用户数量,要怎么做?不考虑性能问题,你能确保like ’安徽省%‘ 查询出来的数据就是对的吗?
分解多部分列
识别:这个列的值可以分解成多个部分吗?
解决:将多部分列拆分成多个明确含义的列即可。
分解多值列
识别:这个列的值几乎都包含逗号,分号等分隔符。
解决:建立新表,采用一对多,多对多方式来关联数据。
1.4、确保列存储的不是计算结果或拼接结果。
表不像Excel,不会储存计算或拼接公式,当用于计算的数据改变时,计算或拼接的列数据不会更新,将会出现数据不一致的问题。
1.5、确保每个列在数据库中只出现一次。主键/外键例外。
同样是数据一致性的问题(处于性能等目的而故意做的冗余列另外考虑)。
二、设计表
2.1、表名
表名需要是描述性的,且整个组织都明白它的含义。
表名清晰而明确。
避免首字母缩写/缩略语。
表名应只表示一种事物。
确保使用复数形式的表名。
2.2、确保表表示的是单个事物。
2.3、确保每个表都有一个主键。
尽可能定义简单主键(单列组成的主键)。
主键唯一的标识各行,不包含未知值,不能可选,不能被修改。
采用GUID作为主键通常是一个好主意。
2.4、确保表中没有多余的重复列。
采用删除重复列等方式去除重复列。
内容总结
以上是互联网集市为您收集整理的数据库结构设计全部内容,希望文章能够帮你解决数据库结构设计所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。