0

我設計一個對象關係數據庫,這裏是我的類圖:對象關係類圖

http://canning.co.nz/AdvancedDatabase/Class_Diagram.png

我的電腦類與CurrentUser類1-1的關係。在代碼中創建對象時,計算機類具有CurrentUser對象作爲屬性(CurrentUser_objtyp)。

下面是代碼:

create type Computer_objtyp as Object (
CompNo   Number, 
CompName Varchar2(20), 
CompOS  Varchar2(20), 
CompProcessor Varchar2(20), 
CompRAM  Varchar2(20), 
CurrentUser_obj  CurrentUser_objtyp, 
HardDriveList_var HardDriveList_Vartyp, 
member function getCompName return varchar2) 
/

我的問題是這樣的:

爲計算機類有這個屬性,不會在計算機類需要與其他屬性(CompNo,COMPNAME列出的屬性, CompOS,CompProcessor,CompRAM),還是與CurrentUser Class的關係鏈接足夠了?

回答

0

這一切都取決於計算機和currentUser的確切定義。幾個例子:

如果您認爲計算機是機器,那麼它是否沒有當前用戶,因爲它根本不需要用戶。用戶屬於操作系統。

如果您看到當前用戶是在此計算機上僱用了計算機時間的人,那麼這很重要。

如果您看到當前用戶是該計算機的當前所有者,則可能是其他情況,並且計算機可能是屬於該用戶的功能部件。

如果當前用戶是公司的僱員併爲他的工作租賃計算機,那麼從計算機到組合公司/用戶之間的鏈接很重要,因此您可以參考合同。

您已使用組合關係來描述計算機和用戶之間的關係。這意味着計算機有當前用戶,並且當前用戶的使用壽命取決於計算機的使用壽命。那麼當前用戶應該直接或間接地成爲計算機變量列表的一部分。 在另一方面你也有一個外圍設備和計算機之間的組合關係。這很難理解。關聯是外圍設備和計算機之間最有可能的關係。