首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件表结构

事件表结构
EN

Database Administration用户
提问于 2015-07-01 01:11:59
回答 1查看 1.9K关注 0票数 2

有点卡住了,需要帮忙。

我需要将事件存储在数据库中,并且事件可能发生在

  • 异地
  • 多个地点
  • 在同一时间

这些是我的桌子

代码语言:javascript
复制
CREATE TABLE location(id, name, address)

代码语言:javascript
复制
CREATE TABLE event (id, name, date)

在这个设计中我应该把位置加在哪里?

简单的(id、name、date、location_id引用位置)做不到,因为一个事件可能发生在不同的位置,而且我不想存储同一事件的2+行,因为事件是唯一的。

EN

回答 1

Database Administration用户

发布于 2015-07-01 01:39:58

嗯..。我有点糊涂。根据定义,如果两个事件发生在不同的地方,那么它们就是不同的事件。

在这个场景中,我的建议是按如下所示列出3个表:

代码语言:javascript
复制
CREATE TABLE Event
(
  Event_ID INTEGER, 
  Event_Description INTEGER,  -- FK   
  Event_Location INTEGER,  -- FK
  Event_Date DATETIME
);

然后是另外两个“父”表

代码语言:javascript
复制
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)
);
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/105613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档