相关疑难解决方法(0)

设计友谊数据库结构:我应该使用多值列吗?

假设我有一个名为 的表User_FriendList,它具有以下特征:

CREATE TABLE User_FriendList (
    ID ...,
    User_ID...,
    FriendList_IDs...,
    CONSTRAINT User_Friendlist_PK PRIMARY KEY (ID)
);
Run Code Online (Sandbox Code Playgroud)

让我们假设该表包含以下数据:

 +----+---------+---------------------------+
 | 身份证| 用户 ID | 好友            列表_ID |
 +----+---------+---------------------------+
 | 1 | 102 | 2:15:66:35:26:17: |
 +----+---------+---------------------------+
 | 2 | 114 | 1:12:63:33:24:16:102 |
 +----+---------+---------------------------+
 | 3 | 117 | 6:24:52:61:23:90:97:118 |
 +----+---------+---------------------------+

注:该“:”当(冒号)是分隔符爆炸在PHP成array

问题

所以:

  • 这是一个方便的方式来“存储”的IDsFriendList

  • 或者,相反,我是否应该让FriendId每一行只有一个值,并且当我需要检索给定列表的所有行时,只需执行如下查询SELECT * FROM UserFriendList WHERE UserId = …

normalization foreign-key database-design relational-theory

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