Sla*_*ppy 4 database normalization database-normalization
我正在网上学习网络开发文凭,我刚刚进入数据库设计和开发.我以为我理解了普通形式,但我刚刚达成了一个让我陷入困境的问题.
查看以下客户实体的属性列表:
Run Code Online (Sandbox Code Playgroud)Customer(cus_ID, name, address, mobile_phone)为什么这个实体不在3NF?
据我所知,这是在3NF.如果不是客户,名称,地址和移动数据集要求客户存在,那么所有属性都不会存在.
我是否只是错误地了解了3NF的整个概念?
一开始看起来很奇怪,但你还没有定义什么是地址甚至是id.这可能会导致一些违反3NF的可能性(除了您可能会得到的其他评论和答案):
如果id是手机号码本身.
如果客户拥有多个移动电话或多个地址,则企业有兴趣获取此点的来源.
如果地址包括一些通信方法,包括移动电话.
如果移动电话号码可以以某种方式在用户之间传播.例如,在国家/运营商之间,这个数字可能不一定是唯一的(我不是电信专家).
如果地址包含国家/地区,则允许城市和州信息以及移动电话号码包含区号作为其中的一部分(这取决于国家,城市和州信息).
编辑:我最初包括这一点,但@philipxy在下面的注释中提示:"如果在数据库的其他部分中找不到任何属性,则此处未显示."