某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:
车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话
维修项目:项目号,项目名称,维修费
汽车备件:备件号,备件名称,备件单价,库存数量
以上数据之间存在下列约束:
可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;
一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。
①根据以上需求构建该数据库的概念模型(画E-R图)。
②假设车辆信息有以下约束:
车牌号:标识属性,取值形式为:第1个字符是“京”,第2个字符为“A”到“Z”的字母,第3到第7个字符均是“0”到“9”的数字。此列采用普通编码定长字符型,非空;
车型:普通编码定长字符型,长度为6,默认值为“轿车”;
发动机号:普通编码定长字符型:长度为6,非空;行驶里程:整型,取值大于等于0;
车辆所有人:普通编码定长字符型,长度为8,非空;
联系电话:普通编码定长字符型,长度为13,取值唯一。
写出创建满足上述要求的车辆信息表的SQL语句。(注:表名、列名均用题中给出的中文名,SQL语句中的大、小写字母均可。)
参考答案:
①概念模型如下:
②SQL语句:
create table车辆信息(
车牌号char(7)Not NULL CHECK车牌号like(“京[A-Z][0-9][0-9][0-9][0-9]”)
车型char(6)default“轿车”,
发动机号char(6)NOT NULL,
行驶里程int CHECK(行驶里程>=0),
车辆所有人char(8)NOT NULL,联系电话char(13)UNIQUE,
PRIVATE KEY(车牌号)
)