Sql 面向对象的M-N关系建模
这是我能找到的最接近我的问题的东西 我正在做一个项目,我想给它添加一个安全模型,因此,因为我有第一手经验,跳入编码和跳过规划阶段有多糟糕,我决定先这样做。所以我创建了一个ERD,一直都很酷,然后是UML类图,从大学开始就没有做过这些,好的,谷歌的一点,开始吧 参见ERD和UML类图 上面的图片是我到目前为止所拥有的,我知道我确实需要一个用户类和一个权限类,但我不确定如何处理两者之间的关系。我知道通常在M-N关系中,您使用相关类集合的属性对其进行建模,但是相关类的属性呢?下面是我的最佳猜测,如果有人有更正、评论或链接到要阅读的材料,那将是非常棒的。我的目标是正确实现OOP,提前感谢Sql 面向对象的M-N关系建模,sql,oop,uml,class-diagram,erd,Sql,Oop,Uml,Class Diagram,Erd,这是我能找到的最接近我的问题的东西 我正在做一个项目,我想给它添加一个安全模型,因此,因为我有第一手经验,跳入编码和跳过规划阶段有多糟糕,我决定先这样做。所以我创建了一个ERD,一直都很酷,然后是UML类图,从大学开始就没有做过这些,好的,谷歌的一点,开始吧 参见ERD和UML类图 上面的图片是我到目前为止所拥有的,我知道我确实需要一个用户类和一个权限类,但我不确定如何处理两者之间的关系。我知道通常在M-N关系中,您使用相关类集合的属性对其进行建模,但是相关类的属性呢?下面是我的最佳猜测,如果有
class User{
private $id;
private $password;
private $active;
private $permissions;
/* skip getters and setters */
function getUserPermissions(){
return UserPermission[];
}
}
class UserPermission{
private $id;
private $deny;
private $grant;
private $active;
/* skip getters and setters */
function getPermissions(){
return Permission[];
}
}
class Permission{
private $id;
private $name;
private $description;
private $active;
/* skip getters and setters */
}
- 您可以将这些数组作为数组或列表直接返回。但这并不重要
- 更重要的是,每个
,即类关联,都应该有一个UserPermission
数组和一个User
数组Permission
- 此外,每个
都应该有自己的用户
,每个权限也应该有自己的用户权限
用户权限
- 而
不应具有用户
的数组。他们的关联是1:n,其中n代表用户。这意味着:用户权限
有许多UserPermission
,User有1个User
UserPermission