我需要存储大量数据存储在数据库中。数据是:对于每月的每一天,有5个事件。 5个事件进一步分为2个不同的子事件,需要保持独立,这意味着每月的每一天都有10个事件。
在顶层,5个事件有不同的标题和低位,奇数子事件有一个标题,偶数子事件有一个标题。
我想在存储之前对这些数据进行规范化,但是我很难找到最终的数据库结构并正在寻找这方面的提示。我对规范化的经验很少(这是我正在进行的个人项目),但我宁愿正确地做,然后一次性将所有内容都转储到数据库中。
编辑:请求的数据示例:
3月20日:
事件1:子事件1:凌晨4:30,子事件2:5:00上午
活动2:分项活动1:12:30 pm,分项活动2:下午1:00
事件3:子事件1:下午4:15,子事件2:下午4:45
事件4:子事件1:下午6:15,子事件2:下午6:45
事件5:子事件1:晚上8:00,子事件2:晚上8:45
所有事件在整个月和整年的不同时间重复。
答案 0 :(得分:1)
只有一个事件表,每个事件都有一行。 Subevent可以拥有同一事件的外键来引用它们是子事件的事件。
答案 1 :(得分: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
希望这有帮助。
答案 2 :(得分: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的子事件相关联。