mysql司机汽车车队创建数据表

设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;

二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;

三是“司机”实体集,属性有司机编号、姓名、电话等。

车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于- -个车队,车队聘用司机有聘期;

司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机使用。

要求:

(1) 画出E-R图,并将E-R图转换成关系模式,标明主键和外键。

(2)根据关系模式创建数据表。

(3)在每个数据表中插入两条数据。

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
根据题目描述,可以画出如下的 E-R 图:

车队(Fleet) 1 ---- * 司机(Driver) * ---- * 车辆(Vehicle)

将 E-R 图转换成关系模式,可以得到如下的关系模式:

  1. 车队 (Fleet):Fleet_ID(PK), Fleet_Name
  2. 车辆 (Vehicle):Vehicle_ID(PK), License_Plate, Manufacturer, Production_Date
  3. 司机 (Driver):Driver_ID(PK), Name, Phone_Number
  4. 聘用 (Employment):Fleet_ID(FK), Driver_ID(FK), Employment_Date, Expiration_Date
  5. 使用 (Usage):Driver_ID(FK), Vehicle_ID(FK), Usage_Date, Mileage

根据上述关系模式,可以创建如下的数据表:

CREATE TABLE Fleet (
    Fleet_ID INT PRIMARY KEY,
    Fleet_Name VARCHAR(50)
);

CREATE TABLE Vehicle (
    Vehicle_ID INT PRIMARY KEY,
    License_Plate VARCHAR(20),
    Manufacturer VARCHAR(50),
    Production_Date DATE
);

CREATE TABLE Driver (
    Driver_ID INT PRIMARY KEY,
    Name VARCHAR(50),
    Phone_Number VARCHAR(20)
);

CREATE TABLE Employment (
    Fleet_ID INT,
    Driver_ID INT,
    Employment_Date DATE,
    Expiration_Date DATE,
    PRIMARY KEY (Fleet_ID, Driver_ID),
    FOREIGN KEY (Fleet_ID) REFERENCES Fleet(Fleet_ID),
    FOREIGN KEY (Driver_ID) REFERENCES Driver(Driver_ID)
);

CREATE TABLE Usage (
    Driver_ID INT,
    Vehicle_ID INT,
    Usage_Date DATE,
    Mileage INT,
    PRIMARY KEY (Driver_ID, Vehicle_ID),
    FOREIGN KEY (Driver_ID) REFERENCES Driver(Driver_ID),
    FOREIGN KEY (Vehicle_ID) REFERENCES Vehicle(Vehicle_ID)
);

然后,可以向每个数据表中插入两条数据,示例如下:

INSERT INTO Fleet (Fleet_ID, Fleet_Name) VALUES (1, 'A Fleet');
INSERT INTO Fleet (Fleet_ID, Fleet_Name) VALUES (2, 'B Fleet');

INSERT INTO Vehicle (Vehicle_ID, License_Plate, Manufacturer, Production_Date) VALUES (1, 'ABC123', 'Toyota', '2022-01-01');
INSERT INTO Vehicle (Vehicle_ID, License_Plate, Manufacturer, Production_Date) VALUES (2, 'DEF456', 'Honda', '2021-05-01');

INSERT INTO Driver (Driver_ID, Name, Phone_Number) VALUES (1, 'John', '1234567890');
INSERT INTO Driver (Driver_ID, Name, Phone_Number) VALUES (2, 'Mary', '0987654321');

INSERT INTO Employment (Fleet_ID, Driver_ID, Employment_Date, Expiration_Date) VALUES (1, 1, '2022-01-01', '2022-12-31');
INSERT INTO Employment (Fleet_ID, Driver_ID, Employment_Date, Expiration_Date) VALUES (2, 2, '2021-05-01', '2022-04-30');

INSERT INTO Usage (Driver_ID, Vehicle_ID, Usage_Date, Mileage) VALUES (1, 1, '2022-01-01', 10000);
INSERT INTO Usage (Driver_ID, Vehicle_ID, Usage_Date, Mileage) VALUES (2, 2, '2021-06-01', 20000);

注意:上述示例代码中的日期格式为 YYYY-MM-DD,可以根据实际需要进行修改。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢