Mysql是3nf数据库么_MySQL数据库规范化3NF

我有功课,我需要创建简单的Web界面和规范化为3NF的数据库.我选择ISP客户端自我护理作为我的数据库目的. Web界面没问题,规范化的DB就是.经过一段非常艰难的时间后,我想出了下面的模型.

我想知道它是否在3NF?!如果不是,如果你解释原因,我会很高兴.

解决方法:

我会说你非常接近公平 – 而且我认为(尽管这是个人观点)3NF在教育层面更重要,它涉及到现实世界.我这样说是因为获得完美的3NF并不总是合乎逻辑或实际的,这可能是由于应用程序设计或查询的性能等等…

话虽这么说,我能记住3NF的最好的事情是朋友曾经告诉我的一句话(谁在书中读到它是公平的!)就是这样:每个非关键属性必须提供关于钥匙,整个钥匙,只有钥匙. – 我认为原来是比尔肯特的人.

所以在此基础上,你可以做一些小的改进;我们以你的城市表为例.你有一个ID,标题和邮政编码;好吧,如果你考虑一下,每个城市有很多邮政编码,你的设计意味着每个新的邮政编码,你需要再次添加ID和标题 – 从而打破了3NF的要求.为此你可以有一个名为PostCodes的附加表,它可以包含ID,Name和City列,然后你可以用这种方式引用你的城市 – 这是更好的.具有地址字段的客户信息表也是如此 – 但是很可能地址可以在很多人之间共享,电话号码,电子邮件地址等也可以获得图片!

记住它的最好方法是 – 如果有可能你必须复制信息只是为了满足你的设计 – 那么你要么有特殊要求(这是可能的 – 就像我说的“现实世界”)或你的设计是错 – 你需要根据具体情况来判断.

我希望这对你有所帮助.

标签:mysql,database-design,normalization

来源: https://codeday.me/bug/20190806/1595101.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值