0

我有大量数据需要存储在数据库中。数据为:一个月的每一天,有 5 个事件。这 5 个事件进一步分为 2 个不同的子事件,需要单独保存,这意味着每个月的每一天都有 10 个事件。

在顶层,5个事件有不同的标题,向下,奇数子事件有一个标题,偶数子事件有一个标题。

我想在存储之前对这些数据进行规范化,但我很难找到最终的数据库结构,并且正在寻找这方面的提示。我对规范化的经验很少(这是针对我正在从事的个人项目),但我宁愿正确地做,然后一次性将所有内容转储到数据库中。

编辑:请求的数据示例:

3月20日:

活动 1:子活动 1:凌晨 4:30,子活动 2:上午 5:00
活动 2:子活动 1:下午 12:30,子活动 2:下午 1:00
活动 3:子活动 1:4: 15pm, 子事件 2: 4:45pm
事件4: 子事件1: 6:15pm, 子事件2: 6:45pm
事件5: 子事件1: 8:00pm, 子事件2: 8:45pm

所有事件在整个月和全年的不同时间重复。

4

3 回答 3

1

只需有一个事件表,每个事件都有一行。子事件可以有同一个事件的外键来引用它们是子事件的事件。

于 2011-03-20T16:29:54.150 回答
1

这是一个简单的模型来实现您正在寻找的东西。根据您将如何使用此数据,您可以添加备用键或修改您认为合适的主键。如果您有任何问题,请告诉我。

在此处输入图像描述

编辑回应评论:

不完全确定我是否理解您的要求。不过,这将是详细信息。表之间的关系在模型中定义。如果您不理解(如果您理解,请原谅我)该模型,我建议您使用 Crow's Foot Notation 查找 ER 图。

EventId (INT) : Incremental 
EventTypeCode (CHAR (2)) : Used to cover Events 1-5 as E1 - E5
Description (VARCHAR) : Info describing E1-E5
SubEventId (boolean) : Since you only declare two options 1 & 2

希望这可以帮助。

于 2011-03-21T21:22:06.457 回答
0

这些表对数据进行了规范化:

   Event
      Date 
      Time
      Event Type (FK to Event Type)
      PK Date,Time,Event Type
      *Example Data: 2011-03-30; 04:30; 1 top;*

    Event Type 
      Type 
      Heading
      PK Type (Values 1(top)-5(top),1(odd)-5(even))
      *Example Data: 1 top; This is event type 1 top level;*

    Parent Event
      Child Event (FK to Event)
      Parent Event (FK to Event) 
      PK Child Event, Parent Event (and possibly Index each field independently)
      *Example Data: 2011-03-30, 04:30, 1top; 2011-03-31, 05:00, 1 even;*

编辑: 根据要求添加的示例数据。关系由外键 (FK) 给出,因此该示例将一个顶级事件与 1 类的一个子事件相关联。

于 2011-03-20T17:12:26.030 回答