数据库设计。带有3个外键或两个数据透视表的数据透视表?

时间:2018-01-27 05:28:08

标签: php mysql database design-patterns database-design

我目前正在开发一个允许客户通过自定义表单注册活动的应用程序。该自定义表单将由事件管理员为客户的特定输入构建。

客户将转到表单,完成输入并选择一个场地,然后显示可用的时间段。我坚持使用这两个数据库设计,并想知道哪一个是更好的方法。

带有3个外键的数据透视表

Table 'Customers' - 
| id | name |

Table 'Events' -
| id | name | form_fields (json)

Table 'Venues' -
| id |  address | event_id |

Table 'Timeslots' -
| id | datetime | slots | venue_id |

Pivot Table 'Tickets' -
|id | customer_id | timeslot_id | event_id | form_data (json)

两个数据透视表

Table 'Customers' - 
| id | name |

Table 'Events' -
| id | name | form_fields (json)

Table 'Venues' -
| id |  address | event_id |

Table 'Timeslots' -
| id | datetime | slots | venue_id |

Pivot Table 'Tickets' -
| id | customer_id | timeslot_id |

Pivot Table 'EventCustomers' -
| id | customer id | event_id | form_data (json)

此外,我将在“form_fields”(json)中存储由admin构建的自定义表单的HTML标记,并让客户填写表单并将值存储在“form_data”(json)中。 将自定义表单和数据保存在json中也是明智的吗?

谢谢。

0 个答案:

没有答案