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

4

1 回答 1

0

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

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

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

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

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

您已经使用组合关系来描述计算机和用户之间的关系。这意味着一台计算机有一个当前用户,并且当前用户的寿命取决于计算机的寿命。那么当前用户是否应该直接或间接地成为计算机变量列表的一部分。另一方面,您还有外围设备和计算机之间的组合关系。这很难理解。关联是外围设备和计算机之间最可能的关系。

于 2013-05-28T23:09:53.983 回答