0
我有一个关于正常化的问题,关于我的场景是什么水平的正常形式。我有几个表具有相同的字段 - 名称地址1,地址2,邮政编码和电话号码;数据库规范化;重复字段
Client [id, instructor id, name, address, postcode, phone, practical, theory]
Staff [id, office id, name, job, address, postcode, phone]
Registration id, name, address, postcode, phone]
Office [id, manager id, address, postcode, phone]
将任何正常的形式存在,它们分开字段弄成这样......
Client [id, instructor id, details_id, practical, theory]
Staff [id, office id, details_id, phone]
Registration [id, details_id]
Office [id, manager id, details_id]
Details [id, full_name, address1, address2, postcode, phone_no]
不知道,如果正常化工作一样,但它仅仅是一个想法...
地址表?好,当然。但是,我会在实体中保留名称。 SOmeone谁曾面临类似的问题:http://stackoverflow.com/questions/5530681/normalize-an-address – mcalex
谢谢,但我想知道什么样的标准化,这将是下。 NF3?我不明白它100%.. – Callum
从多个表中分离出类似的字段不是正常形式的问题。您的每个原始表格都已经是3NF了。将多个表中的所有类似数据收集到一个不是一种标准化技术。做这样的事情的原因更有可能是使您的维护代码合理化。唯一可能的例外可能是如果您的表是所有共享地址属性的超类型的子类型。如果是这种情况,那么你已经倒过来了一点关系。 'Details'实际上是'Supertype'。 –