gpt4 book ai didi

database - 为派生自同一基类的对象设计数据表的最佳方法是什么

转载 作者:搜寻专家 更新时间:2023-10-30 23:19:38 25 4
gpt4 key购买 nike

我正在尝试使用以下基本结构改造数据库 - 我有一些人,每个人都可以举办各种事件,这些事件将在每个季节被归类为几种事件类型。
我可以很容易地根据这个场景创建数据库表,并在 Events 和 EventTypes 之间建立关系。问题是每种不同类型的事件都有一组不同的属性,我试图避免创建包含如此多字段的事件表,其中许多字段将为 null 或空白,具体取决于所选的 EventType。
问题:如何最好地设计数据层,以便我可以拥有一个名为 Events 的基类,以及从该基类继承的各种 EventType 的对象。
(我希望这不会造成混淆,请询问,我会澄清,谢谢)

最佳答案

一种方法是创建一个具有基本属性和 EventType 列的事件表,并为每种不同的事件类型创建一个不同的表。 “基本”表中的 EventType 列会告诉您需要加入哪个表才能获取事件的其余属性。然后,在您的 DAL 中,您可以使用工厂模式通过使用基本事件类的 EventType 属性来获取正确的 Event 子类。

关于database - 为派生自同一基类的对象设计数据表的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com