1

我公司每年都会组织美食节。节日期间举办了许多活动。我的任务是使用 CMS(内容管理系统)设计节日网站。

有 3 种主要类型的实体 - 事件、机构、人员。一个活动有许多参与机构(赞助商、餐厅、酒店)和人员(厨师、酒厂代表、调酒师)。

每个实体可以有许多类别、许多文档、照片库并链接到其他类型的实体。哪个更好 - 案例 1 或案例 2(见下文)?

[案例 1] - 每种实体类型的一组表:

事件表:event、eventCategory、eventDocument、eventGallery、event_establishment、event_person

建立表:建立,建立类别,建立画廊,建立_人

人员表:person、personCategory、personDocument、personGallery

personDocument 表的示例列:docId、docFilename

请注意,对于 eventDocument 和establishDocument,上述列将完全相同。

[CASE 2] - 每个实体类型的表、类型表和一组通用表:

表:事件、机构、人员、实体类型、实体类别、实体文档、实体画廊、实体实体

entityDocument 的示例列:docId、entityTypeId、docFilename

感谢任何建议 - 谢谢!

4

1 回答 1

0

这只是我的意见,但我已经这样做了一段时间。

根据我的经验,案例 1是迄今为止最容易维护和最推荐的。您可以管理您的实体,并且根据您用于编写网站的语言,您可以谈论一些 ORM 框架的优势,这些框架将使您的生活再次变得更加轻松。

案例 2,在 SQL 数据库中执行此操作会导致很多问题。你最终会编写很多不必要的代码来尝试检测类型,确保你正在做正确的连接。这将是一场噩梦!我真的想不出这样做有什么好处。

您可能有 No-SQL 数据存储的案例 3。像 MongoDB 或 RavenDB。无需担心结构。你输入的就是你输出的,没有任何翻译。(至少使用 RavenDB)。No-SQLData Stores 对于大型应用程序来说要快得多,但它们确实需要一段时间才能让您正确使用它们。

我建议你去案例1

于 2013-03-07T10:33:29.713 回答