以下数据库架构设计/模式是否有名称?我的最终目标是找到更多关于该主题的文献。今天的粗略网络搜索太多通用词,无法确定此类事物的术语(如果存在):
Fruit (id, farm)
Apple (fruit_id, color)
[fruit_id => Fruit.id]
Banana (fruit_id, length)
[fruit_id => Fruit.id]
Orange (fruit_id, is_seedless)
[fruit_id => Fruit.id]
FruitPack (id, destination)
FruitPackFruits (fruitpack_id, fruit_id, fruit_type)
[fruit_id => Fruit.id, fruit_type => VARCHAR]
Run Code Online (Sandbox Code Playgroud)
其中fruit_type将是一个varchar 列,其中填充了诸如“Apple、Banana、Orange、Cherry”之类的值。这是某种“穷人的参照完整性”。显然,这种设计的失败之一是能够插入无法解析为有用连接的值(即:这里没有樱桃可言)。
这是此类模式的另一个示例:单个“日志(id、table_name、record_id、timestamp)”表充当各种其他表中修改时间的跟踪器。严格来说,它没有 ref 完整性,但是, (table_name, record_id) 部分应该引用另一个表中的某些记录,需要连接才能实际获取完整数据。
我将理所当然地认为模式是这里人们的某种项目组集合的充分讽刺。
问题是:这种“穷人的参照完整性”叫什么?
我不是想了解参照完整性。我想确定这个糟糕设计的名称,并进一步研究与这种常见的模式灾难有关的“让我们设计一个数据库模式”方面(例如:优点、缺点、意见、教导等)。