Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 面向对象的M-N关系建模_Sql_Oop_Uml_Class Diagram_Erd - Fatal编程技术网

Sql 面向对象的M-N关系建模

Sql 面向对象的M-N关系建模,sql,oop,uml,class-diagram,erd,Sql,Oop,Uml,Class Diagram,Erd,这是我能找到的最接近我的问题的东西 我正在做一个项目,我想给它添加一个安全模型,因此,因为我有第一手经验,跳入编码和跳过规划阶段有多糟糕,我决定先这样做。所以我创建了一个ERD,一直都很酷,然后是UML类图,从大学开始就没有做过这些,好的,谷歌的一点,开始吧 参见ERD和UML类图 上面的图片是我到目前为止所拥有的,我知道我确实需要一个用户类和一个权限类,但我不确定如何处理两者之间的关系。我知道通常在M-N关系中,您使用相关类集合的属性对其进行建模,但是相关类的属性呢?下面是我的最佳猜测,如果有

这是我能找到的最接近我的问题的东西

我正在做一个项目,我想给它添加一个安全模型,因此,因为我有第一手经验,跳入编码和跳过规划阶段有多糟糕,我决定先这样做。所以我创建了一个ERD,一直都很酷,然后是UML类图,从大学开始就没有做过这些,好的,谷歌的一点,开始吧

参见ERD和UML类图

上面的图片是我到目前为止所拥有的,我知道我确实需要一个用户类和一个权限类,但我不确定如何处理两者之间的关系。我知道通常在M-N关系中,您使用相关类集合的属性对其进行建模,但是相关类的属性呢?下面是我的最佳猜测,如果有人有更正、评论或链接到要阅读的材料,那将是非常棒的。我的目标是正确实现OOP,提前感谢

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
    ,User有1个
    UserPermission