我有两个实体:
A
和B
。后者有B1
和B2
两种类型。他们的关系是:
(A,B1)
是 (1:1)
(A,B2)
是 (1,N)
在创建数据库表的时候,我想知道如何保证一致性最好。我可以看到两个选项:(1) 创建一个表并使用条件约束,根据
B
类型交换一致性策略,或 (2) 创建两个表,每个 B
类型一个,并设置每个表单独的一致性策略。
关于桌子使用的说明:
read
操作比write
操作大得多;write
的B2
操作比write
的B1
操作大得多。一般来说,最好进行标准化,除非有充分的理由不这样做(例如性能问题)。
如果 B1 和 B2 必须共享唯一的 ID 序列(b_id),则只能在单个表中完成: B. 如果它们可以具有单独的 ID 序列(b1_id,b2_id),则创建单独的表可能会更容易:B1、B2。