有点卡住了,需要帮忙。
我需要将事件存储在数据库中,并且事件可能发生在
这些是我的桌子
CREATE TABLE location(id, name, address)和
CREATE TABLE event (id, name, date)在这个设计中我应该把位置加在哪里?
简单的(id、name、date、location_id引用位置)做不到,因为一个事件可能发生在不同的位置,而且我不想存储同一事件的2+行,因为事件是唯一的。
发布于 2015-07-01 01:39:58
嗯..。我有点糊涂。根据定义,如果两个事件发生在不同的地方,那么它们就是不同的事件。
在这个场景中,我的建议是按如下所示列出3个表:
CREATE TABLE Event
(
Event_ID INTEGER,
Event_Description INTEGER, -- FK
Event_Location INTEGER, -- FK
Event_Date DATETIME
);然后是另外两个“父”表
CREATE TABLE Event_Description
(
Description_ID INTEGER PRIMARY KEY, -- FK in Event table.
ED_DESCRIPTION VARCHAR(50));
);
CREATE TABLE Event_Location
(
Location_ID INTEGER PRIMARY KEY, -- FK in Event table
Location_Description VARCHAR(50)
);https://dba.stackexchange.com/questions/105613
复制相似问题