数据库结构设计中的三种常见设计范式
类型:数据库类大小:965KB语言:英语评分:2.5标签:立即下载为了构建冗余少、结构合理的数据库,在设计数据库时必须遵循一定的规则。这个规则在关系数据库中被称为范式。范例是满足特定设计需求的总结。要设计一个结构合理的关系数据库,必须满足一定的范式。
实际开发中有三种常见的设计范例:
1.第一范式
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,这意味着数据库表满足第一范式。
第一范式的合理符合性需要根据系统的实际需要来确定。例如,在一些数据库系统中,需要属性“地址”。最初,属性“地址”被设计为数据库表的一个字段。但是,如果系统经常访问“地址”属性的“城市”部分,就需要将“地址”属性拆分为省份、城市、详细地址等部分进行存储,这样对地址的某一部分进行操作就非常方便了。这种设计可以满足数据库的第一范式,如下表所示。
用户信息表
号、姓名、性别、年龄、联系电话、省市详细地址1张红信男260378-23459876河南省开封市朝阳区新华路23号2李四平女320751-65432584广东省白云区田明路148号3刘志国男210371-87659852河南省郑州市二七区大学路198号4郭晓鸣女270371-661
2.第二个范例
第二种范式基于第一范式。第二个范例需要确保数据库表中的每一列都与主键相关。也就是说,在一个数据库表中,一个表只能存储一种数据,不能在同一个数据库表中存储多种数据。
例如,在设计订单数据表时,不能包含与订单信息无关的其他数据。下表中的设计完全违背了第二范式的设计理论。
订单信息表
订单号、订单项目负责人、业务员、订单号、客户名称、商品名称、商品价格001挖掘机、刘明、黎东明、1李聪光控开关、12 002冲击钻、李刚、霍新峰、8刘新明调速电机、230 003叉车、郭心仪、黎爱梅、2李聪化工泵、809 09 000从上表来看,虽然后两列不是无意义的数据,它们与主键列“订单号”无关,所以第二范式认为这种设计不合理
3.第三种范式
在第二范式的基础上,第三范式更进一步。第三种范式需要确保数据表中的每一列数据都与主键直接相关,而不是间接相关。
例如,在设计订单数据表时,客户号可以作为外键,与订单表建立对应关系。不能添加客户的其他信息(如姓名、公司等。)在订单表中。下面两个表中显示的设计是一个满足第三范式的数据库表。
订单信息表
订单号。订单项目负责人销售员订单编号。客户号001挖掘机刘东明1台1002冲击钻李刚霍新峰8台2003年叉车2台1客户信息表
客户编号、客户名称、公司联系方式1李聪武夷建设132536610152刘新明个体户13285746958。这样,在查询订单信息时,可以使用客户号来引用客户信息表中的记录,不必在订单信息表中多次输入客户信息的内容,减少了数据冗余。
版权声明:数据库结构设计中的三种常见设计范式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。