我正在设计一个对象关系数据库,这是我的类图:
http://canning.co.nz/AdvancedDatabase/Class_Diagram.png
我的计算机类与CurrentUser类有1-1关系。在代码中创建Object时,Computer Class将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类的关系链接是否足够?
答案 0 :(得分:0)
这完全取决于计算机和currentUser的确切定义。几个例子:
如果您将计算机视为计算机,那么它是否没有当前用户,因为它根本不需要用户。用户属于操作系统。
如果您将当前用户视为在此计算机上雇用计算机时间的人,那么这很重要。
如果您将当前用户视为计算机的当前所有者,则可能是其他用户,并且该计算机可能是属于该用户的功能。
如果当前用户是公司的员工并且租用计算机进行工作,那么从计算机到组合公司/用户的链接是否很重要,因此您可以参考合同。 / p>
您使用了一种组合关系来描述计算机与用户之间的关系。这意味着计算机具有当前用户,并且当前用户的生命周期取决于计算机的寿命。然后,当前用户应该直接或间接地成为计算机变量列表的一部分。 在你手上,你还有一个外围设备和计算机之间的组合关系。这很难理解。关联是外围设备和计算机之间最可能的关系。