Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.83 KB | None | 0 0
  1. USE nathantompkinsdb;
  2.  
  3. CREATE TABLE Decorator (
  4.     empId MEDIUMINT(5) NOT NULL PRIMARY KEY,
  5.     fName VARCHAR(50) NOT NULL,
  6.     lName VARCHAR(50) NOT NULL,
  7.     address VARCHAR(150),
  8.     phone VARCHAR(16),
  9.     mobilePhone VARCHAR(12),
  10.     dateHired DATE,
  11.     salary FLOAT(7),
  12.     jobNo INT(7)
  13. );
  14.  
  15. CREATE TABLE Client (
  16.     clientId INT(7) NOT NULL PRIMARY KEY,
  17.     fName VARCHAR(50) NOT NULL,
  18.     lName VARCHAR(50) NOT NULL,
  19.     address VARCHAR(140),
  20.     phone VARCHAR(16),
  21.     referredBy VARCHAR(100),
  22.     jobNo INT(7)
  23. );
  24.  
  25. CREATE TABLE Job (
  26.     jobNo INT(7) NOT NULL PRIMARY KEY,
  27.     description VARCHAR(1000),
  28.     estTime VARCHAR(9),
  29.     estCost FLOAT(7),
  30.     plannedStartDate DATE,
  31.     plannedEndDate DATE,
  32.     actualStartDate DATE,
  33.     actualEndDate DATE,
  34.     actualTime VARCHAR(9),
  35.     actualCost FLOAT(7),
  36.     itemNo INT(7),
  37.     clientId INT(7),
  38.     empId MEDIUMINT(5),
  39.     activityName VARCHAR(20)
  40. );
  41.  
  42. CREATE TABLE Activity (
  43.     activityName VARCHAR(200) NOT NULL PRIMARY KEY,
  44.     description VARCHAR(100),
  45.     estTime VARCHAR(9),
  46.     estCost FLOAT(7),
  47.     plannedStartDate DATE,
  48.     plannedEndDate DATE,
  49.     actualStartDate DATE,
  50.     actualEndDate DATE,
  51.     actualTime VARCHAR(9),
  52.     actualCost FLOAT(7),
  53.     itemNo INT(7)
  54. );
  55.  
  56. CREATE TABLE Contractor (
  57.     licNo VARCHAR(25) NOT NULL PRIMARY KEY,
  58.     fName VARCHAR(50) NOT NULL,
  59.     lName VARCHAR(50) NOT NULL,
  60.     address VARCHAR(140),
  61.     phone VARCHAR(16),
  62.     rating TINYINT(1)
  63. );
  64.  
  65. CREATE TABLE Material (
  66.     itemNo INT(7) NOT NULL PRIMARY KEY,
  67.     manufacturer VARCHAR(50),
  68.     description VARCHAR(25),
  69.     supplier VARCHAR(50),
  70.     quantity MEDIUMINT(6),
  71.     cost FLOAT(6),
  72.     jobNo INT(7),
  73.     activityName VARCHAR(20)
  74. );
  75.  
  76. ALTER TABLE Decorator ADD CONSTRAINT fk_jobNo FOREIGN KEY (jobNo) REFERENCES Job(jobNo) ON DELETE CASCADE;
  77.  
  78. ALTER TABLE Client ADD CONSTRAINT fk_jobNo1 FOREIGN KEY (jobNo) REFERENCES Job(jobNo) ON DELETE CASCADE;
  79.  
  80. ALTER TABLE Job ADD CONSTRAINT fk_itemNo FOREIGN KEY (itemNo) REFERENCES Material (itemNo) ON DELETE CASCADE;
  81. ALTER TABLE Job ADD CONSTRAINT fk_clientId FOREIGN KEY (clientId) REFERENCES Client (clientId) ON DELETE CASCADE;
  82. ALTER TABLE Job ADD CONSTRAINT fk_empId FOREIGN KEY (empId) REFERENCES Decorator (empId) ON DELETE CASCADE;
  83. ALTER TABLE Job ADD CONSTRAINT fk_activityName FOREIGN KEY (activityName) REFERENCES Activity (activityName) ON DELETE CASCADE;
  84.  
  85. ALTER TABLE Activity ADD CONSTRAINT fk_itemNo1 FOREIGN KEY (itemNo) REFERENCES Material(itemNo) ON DELETE CASCADE;
  86. ALTER TABLE Activity ADD CONSTRAINT fk_licNo FOREIGN KEY (licNo) REFERENCES Contractor(licNo) ON DELETE CASCADE;
  87.  
  88. ALTER TABLE Contractor ADD CONSTRAINT fk_activityName FOREIGN KEY (activityName) REFERENCES Activity(activityName) ON DELETE CASCADE;
  89.  
  90. ALTER TABLE Material ADD CONSTRAINT fk_jobNo2 FOREIGN KEY (jobNo) REFERENCES Job(jobNo) ON DELETE CASCADE;
  91. ALTER TABLE Material ADD CONSTRAINT fk_activityName1 FOREIGN KEY (activityName) REFERENCES Activity(activityName) ON DELETE CASCADE;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement