我正在构建一个用于下单订购诊所狗的应用程序。下表如下:
Clinic [id, name, email]
Dog [id, name, age, weight]
Order [id, price, status, clinic_id, dog_id]
现在,我希望功能可以在以下情况下记录所有更新/活动更改:
我有两个主意:
创建一个中央活动表,并将消息和id类型一起存储。
Activity [id, type, description]
[1, dog, 'New dog tommy was added']
为每种类型创建一个单独的表,并通过活动表路由所有日志。
Activity [id, type, type_id]
DogActivity [id, description, extra_cols......]
ClinicActivity [id, description, extra_cols......]
在方法1中,我可以看到可能存在两个问题: 1.如果数据库变大,则会出现扩展问题 2.根据类型可以有额外的列。所以会有很多空列?
方法2中。如果通过API检索/更新数据的处理复杂性是否存在问题?
请让我知道如何为这个问题设计一个好的解决方案?