我对我的汽车系统的数据库设计有一个困境(我父亲拥有经销商,我想建立一个新的系统,用户可以安排测试驱动,apptointmen等…)
我不确定这两种型号:
table car id int,model_id int,make_id int,price float,year year,millage int,etc...
要么
table car id int,model enum,make enum,millage intetc...
客户表(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)
现在我的问题是:
我应该使用枚举字段还是应该为每个枚举字段设置一个表?一旦所有人都使用它并重新开始,我不想重新设计系统.
谢谢
解决方法
因为一个主要原因,我会远离ENUM.如果要添加新项目,则必须更改表格.如果您有大量数据,这可能会很痛苦.此外,根据您使用的排序规则和字符集,您还要注意区分大小写.
阅读这篇文章了解更多信息:8 Reasons Why MySQL’s ENUM Data Type Is Evil.
现在使用外键使用引用数据/表是首选,因为您可以拥有数据完整性规则.您可以构建一个简单的工具来管理这些数据(make或model),而无需更改或更改任何数据库模式.