![](/img/trans.png)
[英]How can I recognize 1-1,1-M and M-N relationship in SQL Server by query?
[英]Modeling a M-N Relationship in OOP
我正在開發一個項目,並且想為其添加安全模型,因此,由於我有第一手經驗,因此決定首先進入編碼和跳過計划階段是多么糟糕。 所以我創建了一個ERD,一直很酷,然后UML類圖,自大學以來就沒有做過其中之一,好一點的google,去吧。
在這里查看ERD和UML類圖
上面的圖像是到目前為止的內容,我知道我當然需要一個User Class和Permission Class,但是我不確定如何處理兩者之間的關系。 我一般都知道,在MN關系中,您可以使用相關類的集合的屬性對其進行建模,但是相關類的屬性又如何呢? 以下是我的最佳猜測,如果有人有更正,注釋或指向閱讀材料的鏈接,那將很棒。 我的目標是提前正確執行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
數組。
同樣,每個User
都應該具有其UserPermission
,每個權限也應具有其UserPermission
。
而且User
應該沒有UserPermission
的數組。 它們的關聯為1:n,其中n在用戶側。 這意味着: UserPermission
具有多個User
,User具有1 UserPermission
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.