小编Ahm*_*mad的帖子

数据库设计-多源一张表(一对一)

我有一个“文本”表,文本表可能来自不同的来源,如推文、短信、电子邮件等,每个来源都有自己的日志,文本来自来源。所以我提出了一些解决方案,但我不知道哪个是最好的。

解决方案1:

Text(
text_id PK
content
source_type (tweet, sms, email, etc)
source_id (can't be FK since it may contain sms_id, tweet_id, or email_id)
)

Tweet(
tweet_id PK
tweet_text
tweet_username
etc...
)

Sms(
sms_id PK
sms_text
sender_number
etc...
)

Email(
email_id PK
email_text
email_sender
etc...
)
Run Code Online (Sandbox Code Playgroud)

解决方案2:

Text(
text_id PK
content
sms_id FK
tweet_id FK
email_id FK
)

Tweet(
tweet_id PK
tweet_text
tweet_username
etc...
)

Sms(
sms_id PK
sms_text
sender_number
etc...
)

Email(
email_id PK
email_text
email_sender
etc...
)
Run Code Online (Sandbox Code Playgroud)

请注意,一个“文本”仅来自一个来源。

因此,如果我使用解决方案 …

postgresql database-design

1
推荐指数
1
解决办法
666
查看次数

标签 统计

database-design ×1

postgresql ×1