我应该最大限度地分解关系数据库中的表吗?
Should I maximally decomposite my tables in my relational database?
我有一个 postgres 数据库 table:
- id
- Device1_Value
- Device1_SomeAdditionalInfo
- Device2_Value
- Device2_SomeInfo
- Device3_Value
我应该把它分解成三个 tables:
一个:
- id
- Device1_Value
- Device1_SomeAdditionalInfo
两个:
- id
- Device2_Value
- Device2_SomeInfo
三个:
- id
- Device3_Value
你能回答yes/no吗?为什么?
完整范式有时不是最佳使用方式。这是正常形式和要求之间的权衡。
所以,如果device2和device3的值是依赖于device1的(只有device1有值时才会产生),并且在某些应用程序中查询不需要单独需要它们(意味着你只需要所有记录一次),那么最好有一个 table 原样。
另一方面,每个设备的值是单独生成的,彼此不依赖,那么你应该有单独的 tables。
我有一个 postgres 数据库 table:
- id
- Device1_Value
- Device1_SomeAdditionalInfo
- Device2_Value
- Device2_SomeInfo
- Device3_Value
我应该把它分解成三个 tables:
一个:
- id
- Device1_Value
- Device1_SomeAdditionalInfo
两个:
- id
- Device2_Value
- Device2_SomeInfo
三个:
- id
- Device3_Value
你能回答yes/no吗?为什么?
完整范式有时不是最佳使用方式。这是正常形式和要求之间的权衡。
所以,如果device2和device3的值是依赖于device1的(只有device1有值时才会产生),并且在某些应用程序中查询不需要单独需要它们(意味着你只需要所有记录一次),那么最好有一个 table 原样。
另一方面,每个设备的值是单独生成的,彼此不依赖,那么你应该有单独的 tables。