Advertisement
StoyanGrigorov

problem 14

Jan 18th, 2017
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.42 KB | None | 0 0
  1. CREATE TABLE Categories
  2. (
  3. Id INT NOT NULL IDENTITY PRIMARY KEY,
  4. Category NVARCHAR(100) NOT NULL,
  5. DailyRate DECIMAL NOT NULL,
  6. WeeklyRate DECIMAL NOT NULL,
  7. MonthlyRate DECIMAL NOT NULL,
  8. WeekendRate DECIMAL NOT NULL
  9. )
  10.  
  11. CREATE TABLE Cars
  12. (
  13. Id INT NOT NULL IDENTITY PRIMARY KEY,
  14. PlateNumber NVARCHAR(15) NOT NULL,
  15. Make NVARCHAR(100) NOT NULL,
  16. Model NVARCHAR(100) NOT NULL,
  17. CarYear DATE NOT NULL,
  18. CategoryId INT NOT NULL,
  19. CONSTRAINT FK_Cars_Categories FOREIGN KEY (CategoryId) REFERENCES Categories (Id),
  20. Doors INT NOT NULL,
  21. Picture VARBINARY(MAX),
  22. Condition NVARCHAR(MAX),
  23. Available BIT NOT NULL
  24. )
  25.  
  26. CREATE TABLE Employees
  27. (
  28. Id INT NOT NULL IDENTITY PRIMARY KEY,
  29. FirstName NVARCHAR(100) NOT NULL,
  30. LastName NVARCHAR(100) NOT NULL,
  31. Title NVARCHAR(50),
  32. Notes NVARCHAR(MAX)
  33. )
  34.  
  35. CREATE TABLE Customers
  36. (
  37. Id INT NOT NULL IDENTITY PRIMARY KEY,
  38. DriverLicenceNumber NVARCHAR(30) NOT NULL UNIQUE,
  39. FullName NVARCHAR(200) NOT NULL,
  40. Address NVARCHAR(MAX) NOT NULL,
  41. City NVARCHAR(100) NOT NULL,
  42. ZIPCode INT NOT NULL,
  43. Notes NVARCHAR(MAX)
  44. )
  45.  
  46. CREATE TABLE RentalOrders
  47. (
  48. Id INT NOT NULL IDENTITY PRIMARY KEY,
  49. EmployeeId INT NOT NULL,
  50. CONSTRAINT FK_RentalOrders_Employees FOREIGN KEY (EmployeeId) REFERENCES Employees (Id),
  51. CustomerId INT NOT NULL,
  52. CONSTRAINT FK_RentalOrders_Customers FOREIGN KEY (CustomerId) REFERENCES Customers (Id),
  53. CarId INT NOT NULL,
  54. CONSTRAINT FK_RentalOrders_Cars FOREIGN KEY (CarId) REFERENCES Cars (Id),
  55. CarCondition NVARCHAR(MAX) DEFAULT 'NORMAL',
  56. TankLevel NVARCHAR(100) NOT NULL DEFAULT 'Not Full',
  57. KilometrageStart INT NOT NULL,
  58. KilometrageEnd INT NOT NULL,
  59. CONSTRAINT chk_Kilometers CHECK (KilometrageEnd >= KilometrageStart),
  60. TotalKilometrage INT NOT NULL,
  61. StartDate DATE NOT NULL,
  62. EndDate DATE NOT NULL DEFAULT GETDATE(),
  63. CONSTRAINT chk_Date CHECK (EndDate >= StartDate),
  64. TotalDays INT NOT NULL,
  65. RateApplied DECIMAL NOT NULL DEFAULT 0,
  66. TaxRate DECIMAL NOT NULL DEFAULT 0,
  67. OrderStatus NVARCHAR(200) NOT NULL DEFAULT 'Confirmed',
  68. Notes NVARCHAR(MAX)
  69. )
  70.  
  71.  
  72. INSERT Categories
  73. (Category, DailyRate, WeeklyRate, MonthlyRate, WeekendRate)
  74. VALUES
  75. ('Cheap', 10.50, 70, 220.20, 20),
  76. ('Budget', 15.50, 100, 250.20, 30),
  77. ('Lux', 40, 200, 500, 100)
  78.  
  79. INSERT Cars
  80. (PlateNumber, Make, Model, CarYear, CategoryId, Doors, Condition, Available)
  81. VALUES
  82. ('CA1010BA', 'Opel', 'Vectra', '2000-11-24', 1, 4, 'Good', 1),
  83. ('CA2020BA', 'Ford', 'Fiesta', '2000-11-24', 2, 4, 'Good', 1),
  84. ('CA3030BA', 'Tesla', 'Model S', '2016-11-24', 3, 4, 'New', 1)
  85.  
  86. INSERT Employees
  87. ( FirstName, LastName, Title, Notes)
  88. VALUES
  89. ( 'Sange', 'Hindululu', 'Mr', 'Cheap Labor'),
  90. ( 'Ivan', 'Ivanov', 'Sir', 'Crazy'),
  91. ( 'Penka', 'Teslova', 'Ms', 'Cool name')
  92.  
  93. INSERT Customers
  94. (DriverLicenceNumber, FullName, Address, City, ZIPCode)
  95. VALUES
  96. ('ZZA46656', 'Ivan Vankov', 'Gorno Nadolnishe', 'Kichuka', 1000),
  97. ('ZZA43236', 'Petar Vankov', 'Sredno Nadolnishe', 'Kichuka', 1001),
  98. ('ZZA45466', 'Gosho Vankov', 'Dolno Nadolnishe', 'Kichuka', 1002)
  99.  
  100. INSERT RentalOrders
  101. (EmployeeId, CustomerId, CarId, CarCondition, TankLevel, KilometrageStart, KilometrageEnd, TotalKilometrage, StartDate, EndDate, TotalDays, RateApplied, TaxRate, OrderStatus, Notes)
  102. VALUES
  103. (1, 2, 3, DEFAULT, DEFAULT, 100, 200, 100, '2017-01-17', DEFAULT, 1, 10.0, 10.0, DEFAULT, 'None'),
  104. (1, 2, 3, DEFAULT, DEFAULT, 100, 200, 100, '2017-01-17', DEFAULT, 1, 10.0, 10.0, DEFAULT, 'None'),
  105. (1, 2, 3, DEFAULT, DEFAULT, 100, 200, 100, '2017-01-17', DEFAULT, 1, 10.0, 10.0, DEFAULT, 'None')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement