Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. CREATE TABLE Mechanics(
  2. MechanicId INT PRIMARY KEY IDENTITY,
  3. Firstname VARCHAR(50) NOT NULL,
  4. LastName VARCHAR(50) NOT NULL,
  5. Address VARCHAR(255) NOT NULL
  6. )
  7.  
  8. CREATE TABLE Clients(
  9. ClientId INT PRIMARY KEY IDENTITY,
  10. Firstname VARCHAR(50) NOT NULL,
  11. LastName VARCHAR(50) NOT NULL,
  12. Phone VARCHAR(12) CHECK (LEN(Phone) = 12) NOT NULL
  13.  
  14. )
  15.  
  16. CREATE TABLE Models(
  17. ModelId INT PRIMARY KEY IDENTITY,
  18. Name VARCHAR(50) UNIQUE NOT NULL
  19. )
  20.  
  21. CREATE TABLE Vendors(
  22. VendorId INT PRIMARY KEY IDENTITY,
  23. Name VARCHAR(50) UNIQUE NOT NULL
  24. )
  25.  
  26. CREATE TABLE Jobs(
  27. JobId INT PRIMARY KEY IDENTITY,
  28. ModelId INT NOT NULL,
  29. Status VARCHAR(11) DEFAULT 'Pending' CHECK(Status IN ('Pedning', 'In Progress', 'Finished') ),
  30. ClientId INT NOT NULL,
  31. MechanicId INT,
  32. IssueDate DATE NOT NULL,
  33. FinishDate DATE
  34.  
  35. CONSTRAINT FK_Jobs_Models FOREIGN KEY (ModelId) REFERENCES Models(ModelId),
  36. CONSTRAINT FK_Jobs_Clients FOREIGN KEY(ClientId) REFERENCES Clients(ClientId),
  37. CONSTRAINT KF_Jobs_Mechanics FOREIGN KEY (MechanicId) REFERENCES Mechanics(MechanicId)
  38. )
  39.  
  40. CREATE TABLE Orders(
  41. OrderId INT PRIMARY KEY IDENTITY,
  42. JobId INT NOT NULL,
  43. IssueDate DATE,
  44. Delivered BIT DEFAULT 0
  45.  
  46. CONSTRAINT FK_Orders_Jobs FOREIGN KEY (JobId) REFERENCES Jobs(JobId)
  47.  
  48. )
  49.  
  50. CREATE TABLE Parts(
  51. PartId INT PRIMARY KEY IDENTITY,
  52. SerialNumber VARCHAR(50) NOT NULL UNIQUE,
  53. Description VARCHAR(255),
  54. Price MONEY NOT NULL CHECK (Price > 0 AND Price < 10000),
  55. VendorId INT NOT NULL,
  56. StockQty INT DEFAULT 0 CHECK (StockQty >=0)
  57.  
  58. CONSTRAINT FK_Parst_Vendors FOREIGN KEY(VendorId) REFERENCES Vendors(VendorId)
  59. )
  60.  
  61. CREATE TABLE PartsNeeded (
  62. JobId INT NOT NULL,
  63. PartId INT NOT NULL,
  64. Quantity INT DEFAULT 1 CHECK (Quantity >=1)
  65.  
  66.  
  67. CONSTRAINT PK_PartsNeeded PRIMARY KEY (JobId,PartId),
  68. CONSTRAINT FK_PartsNeeded_Jobs FOREIGN KEY (JobId) REFERENCES Jobs(JobId),
  69. CONSTRAINT FK_PartsNeeded_Parts FOREIGN KEY (PartId) REFERENCES Parts(PartId)
  70. )
  71.  
  72. CREATE TABLE OrderParts(
  73. OrderId INT NOT NULL,
  74. PartId INT NOT NULL,
  75. Quantity INT DEFAULT 1 CHECK (Quantity >=1)
  76.  
  77.  
  78. CONSTRAINT PK_OrderParts PRIMARY KEY (OrderId,PartId),
  79. CONSTRAINT FK_OrderParts_Orders FOREIGN KEY (OrderId) REFERENCES Orders(OrderId),
  80. CONSTRAINT FK_POrderParts_Parts FOREIGN KEY (PartId) REFERENCES Parts(PartId)
  81.  
  82.  
  83. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement