1、2任务概述本系统由三张表组成,具体如下:汽车修理表:QCXL(编号(键),牌号,修理项目,送修日期,完工日期,修理小时)零件库存表:LJKC(零件号(键),零件名,成本,价格,库存量,最低库存,订货量)零件用量表:LJYL(编号,零件号,数量)以下数据是表中的内容汽车修理表编号 牌号 修理项目 送修日期 完工日期 修理小时30013002300330043005A2020203F1212123甲 B210100J333-666A2221234点火线圈刹车喷漆转换动轴大修0112990205990213990508990628990115990210990213990515990727992.0
2、3.26.018.098.0零件库存表零件号 零件名 成本 价格 库存量 最低库存 订货量300001300002300003300004300005前灯方向盘离合器活塞环反光镜36.0078.801600.00144.0016.0040.0080.00650.00156.0017.004215360100205425301222414零件用量表编号 零件 数量300230053005300530000330000130000430000512523、一)、sql 语句的应用1、用 sql 语句创建以上三个表,并根据表中的数据选择适合的数据类型10 分2、设置表的主外键 10 分3、用 ins
3、ert 语句向表中插入以上数据 10 分二)、数据的查询1、检索使用了零件号为 300005 的汽车编号与牌号。 10 分2、检索修理小时超过 10 小时的汽车的牌号和修理项目。 20 分3、把最低库存量低于 5 的零件库存量提高 10 个 20 分4、在零件用量表中删除零件名为“反光镜”的零件用量元组。 20 分答案:-/* (三)汽车修理管理系统 */-创建汽车修理系统数据库-CREATE DATABASE VehicleRepairSystemGOUSE VehicleRepairSystemGO-创建汽车修理表-CREATE TABLE VehicleRepair(repairID C
4、HAR(4) PRIMARY KEY, -编号vehicleID CHAR(8) NOT NULL, -牌号repairItem VARCHAR(50) NOT NULL, -修理项目dateSendRepair DATETIME , -送修日期dateBeFixed DATETIME, -完工日期repairingHour INT NOT NULL -修理小时)-创建零件库存表-CREATE TABLE PartsInventory(partsID CHAR(6) PRIMARY KEY, -零件号partsName VARCHAR(50) NOT NULL, -零件名cost MONEY
5、NOT NULL, -成本price MONEY NOT NULL, -价格stocks INT DEFAULT 0, -库存量bottomStocks INT, -最低库存orderQuantity INT -订货量)-零件用量表-CREATE TABLE PartsDosage(repairID CHAR(4) FOREIGN KEY -编号REFERENCES VehicleRepair(repairID),partsID CHAR(6) FOREIGN KEY -零件号REFERENCES PartsInventory(partsID),partsDosage INT -使用量)-用
6、insert 语句向汽车修理表中插入数据-INSERT INTO VehicleRepair(repairID,vehicleID,repairItem,dateSendRepair,dateBeFixed,repairingHour)VALUES (3001,皖 A20203,点火线圈,01/12/1999,01/15/1999,2.0)INSERT INTO VehicleRepair(repairID,vehicleID,repairItem,dateSendRepair,dateBeFixed,repairingHour)VALUES (3002,皖 F12123,刹车,02/05/1
7、999,02/10/1999,3.2)INSERT INTO VehicleRepair(repairID,vehicleID,repairItem,dateSendRepair,dateBeFixed,repairingHour)VALUES (3003,皖 B21100,喷漆,02/13/1999,02/13/1999,6.0)INSERT INTO VehicleRepair(repairID,vehicleID,repairItem,dateSendRepair,dateBeFixed,repairingHour)VALUES (3004,皖 J33666,转换动轴 ,05/08/19
8、99,05/15/1999,18.0)INSERT INTO VehicleRepair(repairID,vehicleID,repairItem,dateSendRepair,dateBeFixed,repairingHour)VALUES (3005,皖 A21234,大修,06/28/1999,07/27/1999,98.0)-用 insert 语句向零件库存表中插入数据-INSERT INTO PartsInventory(partsID,partsName,cost,price,stocks,bottomStocks,orderQuantity)VALUES (300001,前灯,
9、36,40,42,20,12)INSERT INTO PartsInventory(partsID,partsName,cost,price,stocks,bottomStocks,orderQuantity)VALUES (300002,方向盘,78.8,80,15,5,2)INSERT INTO PartsInventory(partsID,partsName,cost,price,stocks,bottomStocks,orderQuantity)VALUES (300003,离合器,600,650,3,4,2)INSERT INTO PartsInventory(partsID,par
10、tsName,cost,price,stocks,bottomStocks,orderQuantity)VALUES (300004,活塞环,144,156,60,25,4)INSERT INTO PartsInventory(partsID,partsName,cost,price,stocks,bottomStocks,orderQuantity)VALUES (300005,反光镜,16,17,100,30,14)-用 insert 语句向零件用量表中插入数据-INSERT INTO PartsDosage(repairID,partsID,partsDosage)VALUES (300
11、2,300003,1)INSERT INTO PartsDosage(repairID,partsID,partsDosage)VALUES (3005,300001,2)INSERT INTO PartsDosage(repairID,partsID,partsDosage)VALUES (3005,300004,5)INSERT INTO PartsDosage(repairID,partsID,partsDosage)VALUES (3005,300005,2)-创建视图查询使用了零件号为 300005 的编号与牌号-CREATE VIEW partsOfWhereAS(SELECT T
12、1.repairID,vehicleIDFROM VehicleRepair AS T1INNER JOIN PartsDosage AS T2ON T1.repairID = T2.repairIDWHERE T2.partsID = 300005)-创建视图查询修理小时超过 10 小时的汽车的牌号和修理项目 -CREATE VIEW RepairOver10hrAS(SELECT vehicleID,repairItemFROM VehicleRepairWHERE repairingHour10)-把最低库存量低于 5 的零件库存量改为 10 个-UPDATE PartsInventorySET stocks = 10WHERE stocks5-在零件用量表中删除零件名为“反光镜”的零件用量元组-DELETE FROM PartsDosageWHERE partsID = ( SELECT partsID FROM PartsInventory WHERE partsName = 反光镜 )