列中的多个值

Adn*_*nan 3 rdbms database-design

我需要一些关于多个记录的建议.我有一张有田地的桌子username,messagemessage_to.该方案可以一次向多个用户发送相同的消息.你有什么建议?将所有收件人以逗号分隔值保存在单个列中还是添加多个条目是否有效?

Lar*_*tig 10

不,不,不,不,不.

这将是对关系数据库模型的资本违反.创建三个表:Users,Messages和MessagesSentToUsers.

  • Users表中,存储一个user_id值和用户的值name.
  • Messages表中,存储message_id值和消息text.
  • MessagesSentToUsers表中,每次发送消息时都在记录中创建.此记录应仅包含user_id获取消息的用户以及message_id指向他们收到的消息文本的记录.

如下:

|       User     |  |      Message      |  |  MessageSentToUsers   |
|---------|------|  |------------|------|  |----------|------------|
| user_id | name |  | message_id | text |  | user_id  | message_id |
Run Code Online (Sandbox Code Playgroud)

通常,每个表中的id列都是整数类型.最常见的情况是让DBMS为每一行分配一个值(因此您不必管理数字).