对象关系类图

时间:2013-05-21 11:08:39

标签: database object attributes entity-relationship class-diagram

我正在设计一个对象关系数据库,这是我的类图:

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类的关系链接是否足够?

1 个答案:

答案 0 :(得分:0)

这完全取决于计算机和currentUser的确切定义。几个例子:

如果您将计算机视为计算机,那么它是否没有当前用户,因为它根本不需要用户。用户属于操作系统。

如果您将当前用户视为在此计算机上雇用计算机时间的人,那么这很重要。

如果您将当前用户视为计算机的当前所有者,则可能是其他用户,并且该计算机可能是属于该用户的功能。

如果当前用户是公司的员工并且租用计算机进行工作,那么从计算机到组合公司/用户的链接是否很重要,因此您可以参考合同。 / p>

您使用了一种组合关系来描述计算机与用户之间的关系。这意味着计算机具有当前用户,并且当前用户的生命周期取决于计算机的寿命。然后,当前用户应该直接或间接地成为计算机变量列表的一部分。 在你手上,你还有一个外围设备和计算机之间的组合关系。这很难理解。关联是外围设备和计算机之间最可能的关系。