关于汽车的数据库 - 用于mysql

fre*_*red 6 mysql database

我对我的汽车系统的数据库设计有一个困境(我父亲拥有经销商,我想建立一个新的系统,用户可以安排测试驱动,apptointmen等...)

我不确定这两种型号:

table car
 id int, model_id int, make_id int, price float, year year, millage int, etc...
Run Code Online (Sandbox Code Playgroud)

要么

table car
 id int, model enum, make enum, price float, year year, millage intetc...
Run Code Online (Sandbox Code Playgroud)

客户表(id int,name varchar,phone int,street varchar,city等...

salemen表(id int,name varchar等...

schedule table(id int,appt_Date datetime,car_id,customer_id,salemen_id)

现在我的问题是:

我应该使用枚举字段还是应该为每个枚举字段设置一个表?一旦所有人都使用它并重新开始,我不想重新设计系统.

谢谢

Boo*_*eus 4

我会远离 ENUM 有一个主要原因。如果要添加新项目,则必须更改表。如果您有大量数据,这可能会很痛苦。另外,根据您使用的排序规则和字符集,您必须注意区分大小写。

阅读本文以获取更多信息:MySQL 的 ENUM 数据类型是邪恶的 8 个原因

现在,使用使用外键的参考数据/表是更好的选择,因为您可以拥有数据完整性规则。您可以构建一个简单的工具来管理这些数据(品牌或型号),而无需更改或更改任何数据库架构。