Database design 具有不同版本的模型的数据库策略

Database design 具有不同版本的模型的数据库策略,database-design,Database Design,我需要创建一个数据库结构,在那里我可以有某个模型的多个版本。例如,以汽车为例 table: cars version 1, fields: id, make, model, type version 2, fields: id, make, model, type, entrance_year, designer 我正在寻找一种方法来保持模型的灵活性,但易于理解,并有可能创建一个版本1模型的汽车,但其他人的版本2的汽车 到目前为止,我所能想到的只是一个类似于数据库的键/值对,但这很容易变得复杂

我需要创建一个数据库结构,在那里我可以有某个模型的多个版本。例如,以汽车为例

table: cars
version 1, fields: id, make, model, type
version 2, fields: id, make, model, type, entrance_year, designer
我正在寻找一种方法来保持模型的灵活性,但易于理解,并有可能创建一个版本1模型的汽车,但其他人的版本2的汽车

到目前为止,我所能想到的只是一个类似于数据库的键/值对,但这很容易变得复杂。实际上,我将有大约100个表,其中包含3到40个字段,这些字段的版本可能每年至少更改几次。而该数据的使用者能够插入模型的特定版本


是否还有其他设计需要我研究?

最简单的方法是让您的表有一个名为
version
的列,数据类型为
int
。如果特定版本需要额外的列或信息,则
cars
表可以与另一个具有额外列的表具有一对一的外键关系

感谢您的回复,但我不认为这对垂直键/值设计有什么好处。如果car表有5个版本,每个版本都包含一些需要添加的列,那么它就会变得非常混乱;还需要四个连接。