一对多关系的应用,这样做合理么?
============================结构A
用户表
>>>结构
姓名 角色ID串
>>>记录
1 Cloud.L ,2,4,
2 CNode ,1,2,3,
角色表
>>>结构
角色
>>>记录
1 学生
2 孩子
3 家长
4 员工
============================结构B
用户表
>>>结构
姓名
>>>记录
1 Cloud.L
2 CNode
角色表
>>>结构
角色
>>>记录
1 学生
2 孩子
3 家长
4 员工
关系表
>>>>结构
用户ID 角色ID
>>>>记录
1 2
1 4
2 1
2 2
2 3
对于这种数据关系应该如何来做结构?我目前是上面的做法,但有人告诉我应该把用户表中的这些角色放到一个单独的表中,采用结构B的记录方式来一一记录数据,其实我以前也有考虑这种方法,但是觉得数据记录会产生很多。使用结构A的在输出记录ID的时候需要分离ID串,再存储的时候需要组合后再存储。
不知道像腾讯的那种好友关系是如何建立的结构,我觉得这些道理都差不多,怎样才算是一个高效方便的存储方式呢?