Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 我应该如何对具有多个数据源数据的单个实体建模?_Oop_Database Design_Relational Database_Data Modeling - Fatal编程技术网

Oop 我应该如何对具有多个数据源数据的单个实体建模?

Oop 我应该如何对具有多个数据源数据的单个实体建模?,oop,database-design,relational-database,data-modeling,Oop,Database Design,Relational Database,Data Modeling,多个数据源用于提供几乎相同的汽车数据。用户将能够查看和比较每个来源的汽车数据 对于两种类型的汽车,使用三个数据源提供有关汽车的数据。这三个数据源将始终相同 对于其他类型的汽车,仅使用两个数据源。根据车辆类型,15个不同数据源中的一个数据源会有所不同。另一个数据源将保持不变,并且是上段提到的三个数据源之一 对于给定类型的汽车,数据源可能具有其他数据源中不存在的汽车价格等数据。在某些情况下,一个数据源可能有另两个或三个数据源中不存在的car 每辆车都需要在不同的数据源中映射到同一辆车。系统通常会确定

多个数据源用于提供几乎相同的汽车数据。用户将能够查看和比较每个来源的汽车数据

对于两种类型的汽车,使用三个数据源提供有关汽车的数据。这三个数据源将始终相同

对于其他类型的汽车,仅使用两个数据源。根据车辆类型,15个不同数据源中的一个数据源会有所不同。另一个数据源将保持不变,并且是上段提到的三个数据源之一

对于给定类型的汽车,数据源可能具有其他数据源中不存在的汽车价格等数据。在某些情况下,一个数据源可能有另两个或三个数据源中不存在的car

每辆车都需要在不同的数据源中映射到同一辆车。系统通常会确定映射。在某些情况下,管理员需要查看汽车数据,并确定不同数据源中引用的是同一辆汽车


我应该如何在关系数据库和OOP中对此进行建模?每个源车是否应成为表/类,例如KellyBlueBookCar?或者我应该建立一个带有数据源列/字段的表/类Car模型

您的数据库至少有三个表,实际上应该有更多的表:

第一个是汽车类型,它可能与更多的品牌、型号、年份有关,可能还有内饰、选装包等

第二个是您所称的源,您可能希望为其指定一个更具体的名称,例如car\u data\u provider或其他名称

第三个包含实际数据,并且有前两个的外键,加上您对价格感兴趣的实际数据,等等


看看OOP类,它实际上取决于与通用体系结构和用例相关的许多因素。如果您熟悉领域驱动的设计,那么Car Type将其本身作为聚合根。无论如何,我会让Car Type成为包含源数据的丰富对象。

拥有一个表似乎是一种灵活的方式。您认为为每个源提供单独的表有什么好处吗?