在 ER 图上映射关系(如果它不会在实践中使用)?



我有以下表格:

______________         ___________      ___________
Persons       |        Enquiries  |     Products   |
______________|        ___________|     ___________|
PersonID      |        EnID       |     ProductID  |
FirstName     |        EnDate     |     Product    |
LastName      |        Enquiry    |     Price      |
Email         |        ___________|     ___________|
Etc.          |
______________|

我要在Persons和Enquiries之间建立1:N的关系。查询和产品之间也存在明确的M:N关系。但是,业务人员没有必要记录询盘是否与某一特定产品有关。

我的问题:从逻辑设计的角度来看,我是否仍然需要在ER图上记录关系并在我的RDMBS中实现它,即使我不打算使用它?

很多谢谢,攒

根据我的经验,如果你问这个问题,那么你需要制作表格。

从你的问题听起来,你有一种感觉,在EnquiriesProducts之间的统计映射可能是有用的,无论是现在还是将来。

以这种方式实现时的多对多表:

      Product-Enquiries
=============================
P_ID-E_ID  PK, int, AUTO_INCR 
P_ID       FK, int
E_ID       FK, int

是非常小的桌子,花不到五分钟的时间来设置,并且可以忽略不计什么后果。然而,当某些人想到"嘿,我们应该能够知道人们询问的是哪些产品"时,创建这些类型的表以及将DML实现到应用程序逻辑中的行为就变成了一件痛苦的事情。

另外,你所要做的就是写你的SELECT s来获得关于系统中可用的主题的完整信息列表,而不是等到表中有记录的积累才能回答问题。

我想如果你知道这段关系永远不会被使用,你可以切断这段关系。这将使设计更简单,更易于管理。或者您可以将这两个实体合并到enquiry中。

创建表之间的关系仅用于某些目的。如果您是开发人员,并且您不会开发使用产品和查询表之间关系的东西,那么为什么要创建它呢?

RDBMS不促进或限制关系的创建。如果需要,创建它们,否则就离开它们。

相关内容

最新更新