模型为“有一个”关系,其中多个表可以有一个东西

时间:2012-12-25 01:40:17

标签: database-design

我需要为可以发送电子邮件的各种实体建模smtp服务器配置,因此我有一个表格,其中包含smtp服务器的设置。

例如:发送电子邮件的实体是“房间”和“服务器” - 它们位于不同的表格中,因为它们没有什么共同之处,但它们各自都是指可选的电子邮件配置。

虽然在房间和服务器表中都有一个SmtpConfigId很简单,但我看不到如何进行级联删除,如果房间或服务器被删除,那么它的相应smtp配置也会被删除

当然,我可以复制每个可以发送电子邮件的实体表的smtp配置字段,我认为如果电子邮件配置在自己的表中,发送邮件的业务逻辑将会简化。

除了发送电子邮件的实体之间的1:1电子邮件配置及其smtp配置外,还有表格字母问题,1:M,我也想要如果删除了创建它们的实体,则使用级联删除来清理表单字母。

我是否以正确的方式思考这个问题,以及对它进行建模的好方法是什么?关于删除触发器?

1 个答案:

答案 0 :(得分:0)

我会将建模视为一个多态关系,其中一个表用于配置内容,使用smtp_type字段来区分类型(房间,服务器等)。