
一、一对一关系举例:
1、每个中国本土居民和他们唯一的身份z编号。
2、每个班级中唯一的班长,每个班长也只服务于唯一的班级。
二、一对多关系举例:
1、一个年级段有多个平行班级,多个平行班都隶属于一个年级段。
2、一个班级有若干个学生,若干个学生隶属于一个班级。
三、多对多关系举例:
1、一个班级有若干个老师,一个老师也可以带若干个班级。
2、一门课程同时有若干个学生选修,一个学生可以同时选修多门课程。
详细解读
以上一对一、一对多、多对多关系隶属于映射。在数学里,映射是个术语,指两个元素的集之间元素相互"对应"的关系,为名词。"映射"或者"投影",需要预先定义投影法则部分的函数后进行运算。因此"映射"计算可以实现跨维度对应。
相应的微积分属于纯数字计算无法实现跨维度对应,运用微分模拟可以实现本维度内的复杂模拟。 映射可以对非相关的多个集合进行对应的近似运算,而微积分只能在一个连续相关的大集合内进行精确运算。
给你举个例子用户表:
ID Name
1 ABC
2 BCE
3 DEP
用户权限表
ID HERF
1 a.asp
2 b.asp
3 c.asp
映射表
用户ID 权限ID 映射表ID
11 1
12 2
13 3
22 4
23 5
31 6
这样用inner join把用户的ID = 映射表的用户ID , 权限表的ID = 映射表的权限ID,查询后你就有这样的结果:
用户Name 权限 用户ID 权限ID 映射表ID
ABC a.asp 1 1 1
ABC b.asp 1 2 2
ABC c.asp 1 3 3
BCE b.asp 2 2 4
BCE c.asp 2 3 5
DEP a.asp 3 1 6
这样用户就和权限形成了多对多的关系!
同理你还可以加上用户组表
用户组表
ID Name
1 组1
2 组2
用户组映射表
用户ID 组ID 组映射表ID
1 1 1
2 1 2
3 1 3
2 2 4
3 2 5
这样用户隶属组就是
用户Name 组Name 用户ID 组ID 组映射表ID
ABC 组11 11
BCE 组12 12
DEP 组13 13
BCE 组22 24
DEP 组23 25
最后,隶属组也可以和权限有映射
用户组权限映射表
组ID 权限ID 组权限映射表ID
111
232
这样,最终这三个用户会具有访问那些页面的权限呢?自己动动脑筋吧。。。如果还不理解可以给我发消息。。。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)