Advertisement
Sim0o0na

Untitled

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