[英]Relationships between Master and Transaction tables
在我的数据库设计中,我定义了主表(数据定义表,本质上是静态的),用于在我的网页中生成内容; 交易表,用于存储用户输入的数据(这些表本质上是动态的)。
考虑以下示例:
设置由国家具有1个硕士表:与市中号的关系,具有1市:有局部性中号的关系。
用于存储用户输入的个人详细信息的交易表用户。 用户表具有地址属性,如地址、州、城市和地区。 这些属性可以定义为来自相应主表的 1:M 关系( State 、 City 、 Locality表中的特定记录可以是User表中多个记录的一部分)。
我的问题:
PS:我是数据库设计的初学者。
您有什么疑问? 您是否需要按state
或city
进行搜索? 即使你按那些搜索,它也可能不会影响我要说的......
由于locality
、 city
和state
是“嵌套的”并且名称不太可能改变,我建议您的两个选项都“过度规范化”。 一张桌子上放着所有三样东西,这就是我要走的路。
在我看来,规范化有两个主要原因:
locality
级别,而不适用于address
。 您可能会争辩说city
state
可以去重复; 我会反驳“增加的复杂性(额外的表)并不能保证最小的好处。”。 旁注:如果locality
是zipcode
,那么您的选项 1 至少在我知道的一个地方有问题:Los Altos 和 Los Altos Hills(加利福尼亚的两个不同城市)都有邮政编码 94022和94024 的部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.