CREATE TABLE Vehicle_Type
(
TypeID char ( 3 ) not null PRIMARY KEY,
[ Description] varchar ( 100 ) not null
) ;
INSERT into Vehicle_Type VALUES
( 'TT' , 'Tracter Trailor' ) ,
( 'ST' , 'Semi-Tracter Trailor' ) ;
CREATE TABLE Maintenance_Code
(
Maintenance_Type_ID varchar ( 5 ) not null PRIMARY KEY,
[ Description] varchar ( 100 ) not null
) ;
INSERT INTO Maintenance_Code VALUES
( 'MOC4' , 'Oil Change' ) ,
( 'MHR9' , 'Hose Replacement' ) ,
( 'MTR5' , 'Tire Ratation' ) ,
( 'MAB8' , 'Alignment & Balancing Tires' ) ;
CREATE TABLE Maintenance_Descriptions
(
Maintenance_Type_ID varchar ( 5 ) not null PRIMARY KEY
FOREIGN KEY REFERENCES Maintenance_Code( Maintenance_Type_ID) ,
Level_Code varchar ( 10 ) not null ,
Average_Hours_Required varchar ( 5 ) not null ,
Days_Between_Recommended_Maintenance int not null ,
Maximum_Days_Between_Maintenance int not null
) ;
INSERT INTO Maintenance_Descriptions VALUES
( 'MOC4' , 'LvL1' , '1.25' , '90' , '120' ) ,
( 'MHR9' , 'LvL2' , '3.5' , '180' , '200' ) ,
( 'MTR5' , 'LvL3' , '2.0' , '180' , '210' ) ,
( 'MAB8' , 'LvL4' , '5.30' , '180' , '210' ) ;
CREATE TABLE Vehicles
(
VIN_Number varchar ( 17 ) not null PRIMARY KEY,
TypeID char ( 3 ) not null
FOREIGN KEY REFERENCES Vehicle_Type( TypeID) ,
Class_Code varchar ( 6 ) not null ,
Put_Into_Service_Date date not null ,
Gross_Weight varchar ( 7 ) not null ,
Milleage varchar ( 9 ) not null ,
Purchase_Price varchar ( 9 ) not null ,
Accumulated_Depreciation varchar ( 9 ) not null ,
Taken_Out_Of_Service date,
Capacity varchar ( 20 ) not null
) ;
INSERT INTO Vehicles VALUES
( '2HNYD28478H501589' , 'ST' , 'CL7GVW' , '2000-04-02' , '58,510' , '30,004' , '$65,350' , '$23,314' , '2010-04-30' , '45,000 53X13.6X102' ) ,
( '2T1FF28PX1C539447' , 'TT' , 'CL5GVW' , '2001-05-29' , '47,850' , '89,347' , '$57,950' , '$17,964' , '2012-06-01' , '97,000 55X15.25X102' ) ;
CREATE TABLE Vehicle_Maintenance
(
VIN_Number varchar ( 17 ) not null ,
PartsID varchar ( 10 ) not null ,
Maintenance_Type_ID varchar ( 5 ) not null ,
Put_Into_Service_Date date not null ,
Last_Maintenance_Date date not null ,
Next_Scheduled_Maintenance date not null ,
Under_Warranty_Flag char ( 1 ) not null
) ;
INSERT INTO Vehicle_Maintenance VALUES
( '2HNYD28478H501589' , 'QH1300AS' , 'MOC4' , '2011-06-15' , '2012-01-31' , '2013-01-31' , 'Y' ) ,
( '2T1FF28PX1C539447' , '1590002' , 'MHR9' , '2011-02-22' , '2012-03-25' , '2012-12-01' , 'Y' ) ;
CREATE TABLE Tire_Maintenance
(
Barcode varchar ( 17 ) not null PRIMARY KEY,
Maintenance_Type_ID varchar ( 5 ) not null
FOREIGN KEY REFERENCES Maintenance_Code( Maintenance_Type_ID) ,
TypeID char ( 3 ) not null
FOREIGN KEY REFERENCES Vehicle_Type( TypeID) ,
Manufacture_ID varchar ( 15 ) not null ,
Put_Into_Service_Date date not null ,
Rotated_Scheduled_Date date not null ,
Last_Rotated_Date date not null ,
Disposal_Date date not null
) ;
INSERT INTO Tire_Maintenance VALUES
( '79008 40228' , 'MTR5' , 'ST' , 'GoodYr2002' , '2006-10-06' , '2012-08-10' , '2012-05-12' , '2012-05-17' ) ,
( '96018 13820' , 'MAB8' , 'TT' , 'Yukon2010' , '2009-07-02' , '2012-05-31' , '2012-02-28' , '2012-02-10' ) ;
CREATE TABLE Maintenance_Work_Order
(
Work_Order_ID varchar ( 5 ) not null PRIMARY KEY,
VIN_Number varchar ( 17 ) not null
FOREIGN KEY REFERENCES Vehicles ( VIN_Number) ,
Maintenance_Type_ID varchar ( 5 ) not null
FOREIGN KEY REFERENCES Maintenance_Code( Maintenance_Type_ID) ,
Assignment_To varchar ( 9 ) not null ,
Date_Started date not null ,
Date_Completed date not null ,
[ Hours] varchar ( 7 ) not null
) ;
INSERT INTO Maintenance_Work_Order VALUES
( 'H1000' , '2HNYD28478H501589' , 'MOC4' , 'Blue Team' , '2012-05-09' , '2012-05-11' , '3.0' ) ,
( 'H1001' , '2T1FF28PX1C539447' , 'MHR9' , 'Black Team' , '2012-04-28' , '2012-04-30' , '2.75' ) ;
CREATE TABLE Vendors
(
Vendor_ID varchar ( 7 ) not null PRIMARY KEY,
Name varchar ( 10 ) not null ,
Order_Address varchar ( 5 ) not null ,
Order_Street varchar ( 10 ) not null ,
Order_City varchar ( 15 ) not null ,
Order_State char ( 2 ) not null ,
Order_Zip int not null ,
Order_Contact char ( 15 ) not null ,
Order_Phone_Number varchar ( 15 ) not null ,
Order_Fax_Number varchar ( 15 ) ,
Billing_Address varchar ( 5 ) not null ,
Billing_Street varchar ( 10 ) not null ,
Billing_City varchar ( 15 ) not null ,
Billing_State char ( 2 ) not null ,
Billing_Zip int not null ,
Billing_Contact char ( 15 ) not null ,
Billing_Phone_Number varchar ( 15 ) not null ,
Billing_Fax_Number varchar ( 15 ) not null
) ;
INSERT INTO Vendors VALUES
( 'SAP8' , 'Sears' , '5178' , 'Pearl Road' , 'Cleveland' , 'OH' , '44129' , 'Mary Kay' , '(216)351-3279' , '(216)351-7500' , '6600' , 'Bessemer Avenue' , 'Cleveland' , 'OH' , '44127' , 'John Smith' , '(216)341-7140' , '(216)429-3523' ) ,
( 'NA00' , 'NAPA' , '3141' , 'Superior Avenue' , 'Cleveland' , 'OH' , '44114' , 'Andrew Linder' , '(216)771-1515' , '(216)398-9800' , '6600' , 'Bessemer Avenue' , 'Cleveland' , 'OH' , '44127' , 'John Smith' , '(216)341-7140' , '(216)429-3523' ) ;
Q1JFQVRFIFRBQkxFIFZlaGljbGVfVHlwZQooClR5cGVJRCBjaGFyICgzKSBub3QgbnVsbCBQUklNQVJZIEtFWSwKW0Rlc2NyaXB0aW9uXSB2YXJjaGFyICgxMDApIG5vdCBudWxsCik7CklOU0VSVCBpbnRvIFZlaGljbGVfVHlwZSBWQUxVRVMKKCdUVCcsJ1RyYWN0ZXIgVHJhaWxvcicpLAooJ1NUJywnU2VtaS1UcmFjdGVyIFRyYWlsb3InKTsKCkNSRUFURSBUQUJMRSBNYWludGVuYW5jZV9Db2RlCigKTWFpbnRlbmFuY2VfVHlwZV9JRCB2YXJjaGFyICg1KSBub3QgbnVsbCBQUklNQVJZIEtFWSwKW0Rlc2NyaXB0aW9uXSB2YXJjaGFyICgxMDApIG5vdCBudWxsCik7CklOU0VSVCBJTlRPIE1haW50ZW5hbmNlX0NvZGUgVkFMVUVTCignTU9DNCcsJ09pbCBDaGFuZ2UnKSwKKCdNSFI5JywnSG9zZSBSZXBsYWNlbWVudCcpLAooJ01UUjUnLCdUaXJlIFJhdGF0aW9uJyksCignTUFCOCcsJ0FsaWdubWVudCAmIEJhbGFuY2luZyBUaXJlcycpOwoKQ1JFQVRFIFRBQkxFIE1haW50ZW5hbmNlX0Rlc2NyaXB0aW9ucwooCk1haW50ZW5hbmNlX1R5cGVfSUQgdmFyY2hhciAoNSkgbm90IG51bGwgUFJJTUFSWSBLRVkKRk9SRUlHTiBLRVkgUkVGRVJFTkNFUyBNYWludGVuYW5jZV9Db2RlKE1haW50ZW5hbmNlX1R5cGVfSUQpLApMZXZlbF9Db2RlIHZhcmNoYXIgKDEwKSBub3QgbnVsbCwKQXZlcmFnZV9Ib3Vyc19SZXF1aXJlZCB2YXJjaGFyICg1KSBub3QgbnVsbCwKRGF5c19CZXR3ZWVuX1JlY29tbWVuZGVkX01haW50ZW5hbmNlIGludCBub3QgbnVsbCwKTWF4aW11bV9EYXlzX0JldHdlZW5fTWFpbnRlbmFuY2UgaW50IG5vdCBudWxsCik7CgpJTlNFUlQgSU5UTyBNYWludGVuYW5jZV9EZXNjcmlwdGlvbnMgVkFMVUVTCignTU9DNCcsJ0x2TDEnLCcxLjI1JywnOTAnLCcxMjAnKSwKKCdNSFI5JywnTHZMMicsJzMuNScsJzE4MCcsJzIwMCcpLAooJ01UUjUnLCdMdkwzJywnMi4wJywnMTgwJywnMjEwJyksCignTUFCOCcsJ0x2TDQnLCc1LjMwJywnMTgwJywnMjEwJyk7CgoKQ1JFQVRFIFRBQkxFIFZlaGljbGVzCigKVklOX051bWJlciB2YXJjaGFyICgxNykgbm90IG51bGwgUFJJTUFSWSBLRVksClR5cGVJRCBjaGFyICgzKSBub3QgbnVsbCAKRk9SRUlHTiBLRVkgUkVGRVJFTkNFUyBWZWhpY2xlX1R5cGUoVHlwZUlEKSwKQ2xhc3NfQ29kZSB2YXJjaGFyICg2KSBub3QgbnVsbCwKUHV0X0ludG9fU2VydmljZV9EYXRlIGRhdGUgbm90IG51bGwsCkdyb3NzX1dlaWdodCB2YXJjaGFyICg3KSBub3QgbnVsbCwKTWlsbGVhZ2UgdmFyY2hhciAoOSkgbm90IG51bGwsClB1cmNoYXNlX1ByaWNlIHZhcmNoYXIgKDkpIG5vdCBudWxsLApBY2N1bXVsYXRlZF9EZXByZWNpYXRpb24gdmFyY2hhciAoOSkgbm90IG51bGwsClRha2VuX091dF9PZl9TZXJ2aWNlIGRhdGUsCkNhcGFjaXR5IHZhcmNoYXIgKDIwKSBub3QgbnVsbAopOwoKSU5TRVJUIElOVE8gVmVoaWNsZXMgVkFMVUVTCignMkhOWUQyODQ3OEg1MDE1ODknLCdTVCcsJ0NMN0dWVycsJzIwMDAtMDQtMDInLCc1OCw1MTAnLCczMCwwMDQnLCckNjUsMzUwJywnJDIzLDMxNCcsJzIwMTAtMDQtMzAnLCc0NSwwMDAgNTNYMTMuNlgxMDInKSwKKCcyVDFGRjI4UFgxQzUzOTQ0NycsJ1RUJywnQ0w1R1ZXJywnMjAwMS0wNS0yOScsJzQ3LDg1MCcsJzg5LDM0NycsJyQ1Nyw5NTAnLCckMTcsOTY0JywnMjAxMi0wNi0wMScsJzk3LDAwMCA1NVgxNS4yNVgxMDInKTsKCgpDUkVBVEUgVEFCTEUgVmVoaWNsZV9NYWludGVuYW5jZQooClZJTl9OdW1iZXIgdmFyY2hhciAoMTcpIG5vdCBudWxsLApQYXJ0c0lEIHZhcmNoYXIgKDEwKSBub3QgbnVsbCwKTWFpbnRlbmFuY2VfVHlwZV9JRCB2YXJjaGFyICg1KSBub3QgbnVsbCwKUHV0X0ludG9fU2VydmljZV9EYXRlIGRhdGUgbm90IG51bGwsCkxhc3RfTWFpbnRlbmFuY2VfRGF0ZSBkYXRlIG5vdCBudWxsLApOZXh0X1NjaGVkdWxlZF9NYWludGVuYW5jZSBkYXRlIG5vdCBudWxsLApVbmRlcl9XYXJyYW50eV9GbGFnIGNoYXIgKDEpIG5vdCBudWxsCik7CgpJTlNFUlQgSU5UTyBWZWhpY2xlX01haW50ZW5hbmNlIFZBTFVFUwooJzJITllEMjg0NzhINTAxNTg5JywnUUgxMzAwQVMnLCdNT0M0JywnMjAxMS0wNi0xNScsJzIwMTItMDEtMzEnLCcyMDEzLTAxLTMxJywnWScpLAooJzJUMUZGMjhQWDFDNTM5NDQ3JywnMTU5MDAwMicsJ01IUjknLCcyMDExLTAyLTIyJywnMjAxMi0wMy0yNScsJzIwMTItMTItMDEnLCdZJyk7CgpDUkVBVEUgVEFCTEUgVGlyZV9NYWludGVuYW5jZQooCkJhcmNvZGUgdmFyY2hhciAoMTcpIG5vdCBudWxsIFBSSU1BUlkgS0VZLApNYWludGVuYW5jZV9UeXBlX0lEIHZhcmNoYXIgKDUpIG5vdCBudWxsIApGT1JFSUdOIEtFWSBSRUZFUkVOQ0VTIE1haW50ZW5hbmNlX0NvZGUoTWFpbnRlbmFuY2VfVHlwZV9JRCksClR5cGVJRCBjaGFyICgzKSBub3QgbnVsbCAKRk9SRUlHTiBLRVkgUkVGRVJFTkNFUyBWZWhpY2xlX1R5cGUoVHlwZUlEKSwKTWFudWZhY3R1cmVfSUQgdmFyY2hhciAoMTUpIG5vdCBudWxsLApQdXRfSW50b19TZXJ2aWNlX0RhdGUgZGF0ZSBub3QgbnVsbCwKUm90YXRlZF9TY2hlZHVsZWRfRGF0ZSBkYXRlIG5vdCBudWxsLApMYXN0X1JvdGF0ZWRfRGF0ZSBkYXRlIG5vdCBudWxsLApEaXNwb3NhbF9EYXRlIGRhdGUgbm90IG51bGwKKTsKCklOU0VSVCBJTlRPIFRpcmVfTWFpbnRlbmFuY2UgVkFMVUVTCignNzkwMDggNDAyMjgnLCdNVFI1JywnU1QnLCdHb29kWXIyMDAyJywnMjAwNi0xMC0wNicsJzIwMTItMDgtMTAnLCcyMDEyLTA1LTEyJywnMjAxMi0wNS0xNycpLAooJzk2MDE4IDEzODIwJywnTUFCOCcsJ1RUJywnWXVrb24yMDEwJywnMjAwOS0wNy0wMicsJzIwMTItMDUtMzEnLCcyMDEyLTAyLTI4JywnMjAxMi0wMi0xMCcpOwoKCkNSRUFURSBUQUJMRSBNYWludGVuYW5jZV9Xb3JrX09yZGVyCigKV29ya19PcmRlcl9JRCB2YXJjaGFyICg1KSBub3QgbnVsbCBQUklNQVJZIEtFWSwKVklOX051bWJlciB2YXJjaGFyICgxNykgbm90IG51bGwgCkZPUkVJR04gS0VZIFJFRkVSRU5DRVMgVmVoaWNsZXMgKFZJTl9OdW1iZXIpLApNYWludGVuYW5jZV9UeXBlX0lEIHZhcmNoYXIgKDUpIG5vdCBudWxsIApGT1JFSUdOIEtFWSBSRUZFUkVOQ0VTIE1haW50ZW5hbmNlX0NvZGUoTWFpbnRlbmFuY2VfVHlwZV9JRCksCkFzc2lnbm1lbnRfVG8gdmFyY2hhciAoOSkgbm90IG51bGwsCkRhdGVfU3RhcnRlZCBkYXRlIG5vdCBudWxsLApEYXRlX0NvbXBsZXRlZCBkYXRlIG5vdCBudWxsLApbSG91cnNdIHZhcmNoYXIgKDcpIG5vdCBudWxsCik7CgoKSU5TRVJUIElOVE8gTWFpbnRlbmFuY2VfV29ya19PcmRlciBWQUxVRVMKKCdIMTAwMCcsJzJITllEMjg0NzhINTAxNTg5JywnTU9DNCcsJ0JsdWUgVGVhbScsJzIwMTItMDUtMDknLCcyMDEyLTA1LTExJywnMy4wJyksCignSDEwMDEnLCcyVDFGRjI4UFgxQzUzOTQ0NycsJ01IUjknLCdCbGFjayBUZWFtJywnMjAxMi0wNC0yOCcsJzIwMTItMDQtMzAnLCcyLjc1Jyk7CgoKQ1JFQVRFIFRBQkxFIFZlbmRvcnMKKApWZW5kb3JfSUQgdmFyY2hhciAoNykgbm90IG51bGwgUFJJTUFSWSBLRVksCk5hbWUgdmFyY2hhciAoMTApIG5vdCBudWxsLApPcmRlcl9BZGRyZXNzIHZhcmNoYXIgKDUpIG5vdCBudWxsLApPcmRlcl9TdHJlZXQgdmFyY2hhciAoMTApIG5vdCBudWxsLApPcmRlcl9DaXR5IHZhcmNoYXIgKDE1KSBub3QgbnVsbCwKT3JkZXJfU3RhdGUgY2hhciAoMikgbm90IG51bGwsCk9yZGVyX1ppcCBpbnQgbm90IG51bGwsCk9yZGVyX0NvbnRhY3QgY2hhciAoMTUpIG5vdCBudWxsLApPcmRlcl9QaG9uZV9OdW1iZXIgdmFyY2hhciAoMTUpIG5vdCBudWxsLApPcmRlcl9GYXhfTnVtYmVyIHZhcmNoYXIgKDE1KSwgCkJpbGxpbmdfQWRkcmVzcyB2YXJjaGFyICg1KSBub3QgbnVsbCwKQmlsbGluZ19TdHJlZXQgdmFyY2hhciAoMTApIG5vdCBudWxsLApCaWxsaW5nX0NpdHkgdmFyY2hhciAoMTUpIG5vdCBudWxsLApCaWxsaW5nX1N0YXRlIGNoYXIgKDIpIG5vdCBudWxsLApCaWxsaW5nX1ppcCBpbnQgbm90IG51bGwsCkJpbGxpbmdfQ29udGFjdCBjaGFyICgxNSkgbm90IG51bGwsCkJpbGxpbmdfUGhvbmVfTnVtYmVyIHZhcmNoYXIgKDE1KSBub3QgbnVsbCwKQmlsbGluZ19GYXhfTnVtYmVyIHZhcmNoYXIgKDE1KSBub3QgbnVsbAopOwoKSU5TRVJUIElOVE8gVmVuZG9ycyBWQUxVRVMKKCdTQVA4JywnU2VhcnMnLCc1MTc4JywnUGVhcmwgUm9hZCcsJ0NsZXZlbGFuZCcsJ09IJywnNDQxMjknLCdNYXJ5IEtheScsJygyMTYpMzUxLTMyNzknLCcoMjE2KTM1MS03NTAwJywnNjYwMCcsJ0Jlc3NlbWVyIEF2ZW51ZScsJ0NsZXZlbGFuZCcsJ09IJywnNDQxMjcnLCdKb2huIFNtaXRoJywnKDIxNikzNDEtNzE0MCcsJygyMTYpNDI5LTM1MjMnKSwKKCdOQTAwJywnTkFQQScsJzMxNDEnLCdTdXBlcmlvciBBdmVudWUnLCdDbGV2ZWxhbmQnLCdPSCcsJzQ0MTE0JywnQW5kcmV3IExpbmRlcicsJygyMTYpNzcxLTE1MTUnLCcoMjE2KTM5OC05ODAwJywnNjYwMCcsJ0Jlc3NlbWVyIEF2ZW51ZScsJ0NsZXZlbGFuZCcsJ09IJywnNDQxMjcnLCdKb2huIFNtaXRoJywnKDIxNikzNDEtNzE0MCcsJygyMTYpNDI5LTM1MjMnKTsK