- 主题:请教多对多表设计问题
有多个测试小队,每个小队有多个测试人员,每个人员有多个测试设备(手环),需要手机不同的设备在不同的人不同的小队的使用数据。
初步设计3个表结构:设备表,人员表,队伍表(2个外键设备ID和姓名ID)。但是总是感觉有点不对劲。
请教大佬怎么怎么设计。刚学习不懂咋合理设计。多谢。
--
FROM 117.136.100.*
You might need some middle tables, each of which stores nothing but the relation between another two tables;
【 在 annodom 的大作中提到: 】
: 有多个测试小队,每个小队有多个测试人员,每个人员有多个测试设备(手环),需要手机不同的设备在不同的人不同的小队的使用数据。
: 初步设计3个表结构:设备表,人员表,队伍表(2个外键设备ID和姓名ID)。但是总是感觉有点不对劲。
: 请教大佬怎么怎么设计。刚学习不懂咋合理设计。多谢。
--
FROM 183.95.135.*
多谢大佬,
如果设计一个数据表,包含team name, person name, chipid和采集的各个数据字段是不是就合理点了?
另外,人员的一些基本情况信息,如email、mobile等是放在person表中,还是在单独建一个person info表比较好?
【 在 a0123456789q 的大作中提到: 】
: You might need some middle tables, each of which stores nothing but the relation between another two tables;
--
FROM 117.136.100.*
首先,区分(变化不大的)基础数据和(不断增长的)业务数据
前者:分组,设备, 人员
后者:设备产生的数据
【 在 annodom 的大作中提到: 】
: 多谢大佬,
: 如果设计一个数据表,包含team name, person name, chipid和采集的各个数据字段是不是就合理点了?
: 另外,人员的一些基本情况信息,如email、mobile等是放在person表中,还是在单独建一个person info表比较好?
: ...................
--
FROM 222.70.17.*
多谢指点
【 在 oldwatch 的大作中提到: 】
: 首先,区分(变化不大的)基础数据和(不断增长的)业务数据
: 前者:分组,设备, 人员
: 后者:设备产生的数据
: ...................
--
FROM 117.136.100.*
大佬,几个表基本就按照您的这个思路进行设计了。
刚才设计的时候发现设备和分组中都是有用户的,这个用户字段是不是要设置成m2m指向用户表?
【 在 oldwatch 的大作中提到: 】
: 首先,区分(变化不大的)基础数据和(不断增长的)业务数据
: 前者:分组,设备, 人员
: 后者:设备产生的数据
: ...................
--
FROM 39.144.34.*
实体表:设备表 人员表 队伍表
关系表:队伍-人员关系表 设备-人员关系表
设备是分配给人员而不是队伍的,所以不需要队伍设备关系表,要查队伍和设备的多对多的关系,是通过队伍-人员 和 人员-设备 两个关系进行关系运算,也就是连表sql,查询出来的。
如果一个设备只能给一个人使用,设备人员关系表可节省,在设备表里加一个使用人员ID字段就可描述记录这个关系
如果一个人只能在一个队伍里,队伍人员关系表可节省,在人员表里加一个所在队伍字段就可描述记录这个关系
--
FROM 222.129.1.*
“设备有用户” 是说设备*从属*于用户?
“分组有用户” 是说分组*包含*用户?
想清楚是不是非得多对多就行
【 在 annodom 的大作中提到: 】
: 大佬,几个表基本就按照您的这个思路进行设计了。
: 刚才设计的时候发现设备和分组中都是有用户的,这个用户字段是不是要设置成m2m指向用户表?
--
FROM 222.70.17.*
都不是从属的关系。
也就是说一个人可以使用多个设备,一个设备可以被多个人使用,一个人又可以被分到不同的小组。
【 在 oldwatch 的大作中提到: 】
: “设备有用户” 是说设备*从属*于用户?
: “分组有用户” 是说分组*包含*用户?
: 想清楚是不是非得多对多就行
: ...................
--
FROM 39.144.34.*
如果多对多关联是发生在时间维度上的话(领了,还了,又领了,...)
未必需要在基础表里持久记录/维护,一般是记录一个变迁的流水
直接在生成的业务数据里头把当前使用人/当前分组统统记下就完事了
归根结底取决于业务需要
【 在 annodom 的大作中提到: 】
: 都不是从属的关系。
: 也就是说一个人可以使用多个设备,一个设备可以被多个人使用,一个人又可以被分到不同的小组。
--
FROM 222.70.17.*