Advertisement
DannyDonkov

Untitled

Feb 12th, 2021
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. CREATE TABLE Clients
  2. (
  3. ClientId INT PRIMARY KEY IDENTITY,
  4. FirstName VARCHAR(50) NOT NULL,
  5. LastName VARCHAR(50) NOT NULL,
  6. Phone CHAR(12) CHECK(LEN(Phone) = 12) NOT NULL
  7. )
  8.  
  9. CREATE TABLE Mechanics
  10. (
  11. MechanicId INT PRIMARY KEY IDENTITY,
  12. FirstName VARCHAR(50) NOT NULL,
  13. LastName VARCHAR(50) NOT NULL,
  14. [Address] VARCHAR(255) NOT NULL
  15. )
  16.  
  17. CREATE TABLE Models
  18. (
  19. ModelId INT PRIMARY KEY IDENTITY,
  20. [Name] VARCHAR(50) UNIQUE NOT NULL
  21. )
  22.  
  23. CREATE TABLE Jobs
  24. (
  25. JobId INT PRIMARY KEY IDENTITY,
  26. ModelId INT FOREIGN KEY REFERENCES Models(ModelId) NOT NULL,
  27. [Status] VARCHAR(11) DEFAULT 'Pending' CHECK([Status] IN ('Pending', 'in progress', 'Finished')) NOT NULL,
  28. ClientId INT FOREIGN KEY REFERENCES Clients(ClientId) NOT NULL,
  29. MechanicId INT FOREIGN KEY REFERENCES Mechanics(MechanicId),
  30. IssueDate DATE NOT NULL,
  31. FinishDate DATE
  32. )
  33.  
  34. CREATE TABLE Orders
  35. (
  36. OrderId INT PRIMARY KEY IDENTITY,
  37. JobId INT FOREIGN KEY REFERENCES Jobs(JobId) NOT NULL,
  38. IssueDate DATE,
  39. Delivered BIT DEFAULT 0
  40. )
  41.  
  42. CREATE TABLE Vendors
  43. (
  44. VendorId INT PRIMARY KEY IDENTITY,
  45. Name VARCHAR(50) UNIQUE NOT NULL
  46. )
  47.  
  48. CREATE TABLE Parts
  49. (
  50. PartId INT PRIMARY KEY IDENTITY,
  51. SerialNumber VARCHAR(50) UNIQUE NOT NULL,
  52. Description VARCHAR(255),
  53. Price DECIMAL(15,2) CHECK(Price > 0 AND Price <= 9999.99) NOT NULL,
  54. VendorId INT FOREIGN KEY REFERENCES Vendors(VendorId) NOT NULL,
  55. StockQty INT DEFAULT 0 CHECK(StockQty >= 0)
  56. )
  57.  
  58. CREATE TABLE OrderParts
  59. (
  60. OrderId INT FOREIGN KEY REFERENCES Orders(OrderId) NOT NULL,
  61. PartId INT FOREIGN KEY REFERENCES Parts(PartId) NOT NULL,
  62. Quantity INT DEFAULT 1 CHECK(Quantity > 0)
  63.  
  64. CONSTRAINT Pk_OrderParts PRIMARY KEY (OrderId, PartId)
  65. )
  66.  
  67. CREATE TABLE PartsNeeded
  68. (
  69. JobId INT FOREIGN KEY REFERENCES Jobs(JobId) NOT NULL,
  70. PartId INT FOREIGN KEY REFERENCES Parts(PartId) NOT NULL,
  71. Quantity INT DEFAULT 1 CHECK(Quantity > 0)
  72.  
  73. CONSTRAINT Pk_PartsNeeded PRIMARY KEY (JobId, PartId)
  74. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement