0

我一直坚持解决我将在下面描述的问题。如果有什么需要澄清的,请告诉我,以便我更新我的帖子。首先,让我解释一下数据库结构。我有以下表格(以及更多表格,但它们不属于本主题):

1) 部门 2) 公司 3) 部门 4) 产品

上述所有表格都是相关的。

1)Divisions有很多Company,但Company只能属于一个Division。1-* 2) 每个公司可以有一个或多个部门,但一个部门可以属于一个公司。1-* 3) 每个部门可以有一个或多个产品,每个产品可以属于一个或多个部门。-

我的问题如下:鉴于上述情况,无论公司如何,我都需要生成或检索给定部门下的所有部门。但诀窍是他们需要根据他们的名字而不是 id 合并,所以假设你有 Division 1,在它之下是 Company A 和在那个 Sector A 之下。当然,Sector A 可以作为另一家公司的另一个实体再次存在,以相同的名称,但不同的 ID(A 公司除外)也属于第 1 类。因此,在那个新的“合并”中,A 部门应该是不同的意思,应该有一个实体,而不是更多。让我们将存储这些合并的表称为表 X。现在表 X(包含给定部门下的唯一部门,无论其或其各自的公司)应该映射到另一个表(表 Y),该表将包含文档和其他文件。

如何将上述内容转换为 SQL 表/视图或任何需要的内容?如果这不可能,解决问题的正确方法是什么?另外,如果扇区被删除会怎样?或者它的名字被更新了?还是产品更新/删除?在这种特殊情况下,最好的做法是什么。

注意:上面列出的表 1、2、3、4 已经创建并且可以使用。但是我需要添加上述问题所描述的额外功能。我不能在这里做任何事情来改变逻辑和要求。

使用 MS SQL Server 2008 R2。

提前谢谢了。如果有任何需要澄清的地方,请告诉我。

编辑:当前结构如何与添加文档时应该如何生成。

在此处输入图像描述

预期输出:

在此处输入图像描述

此处的合并仅基于产品名称。但是现在,如果产品 A 已经更新,会发生什么?删除?这如何反映在输出和映射文档上?

再次感谢。

(顺便说一句:考虑到第一个数据模型(第一张图像),我可以生成该输出,但我需要以某种方式将其放置在一个适当关系的表中,以便我可以根据上述所有内容将文档映射到产品。)

4

0 回答 0