Advertisement
gabi11

SQL - 14. Car Rental Database

Sep 23rd, 2019
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.04 KB | None | 0 0
  1. CREATE DATABASE CarRental
  2.  
  3. USE CarRental
  4.  
  5. CREATE TABLE Categories (
  6.     Id INT PRIMARY KEY IDENTITY,
  7.     CategoryName NVARCHAR(20) UNIQUE NOT NULL,
  8.     DailyRate DECIMAL(3, 1) NOT NULL,
  9.     WeeklyRate DECIMAL(3, 1) NOT NULL,
  10.     MonthlyRate DECIMAL(3, 1) NOT NULL,
  11.     WeekendRate DECIMAL(3, 1) NOT NULL
  12. )
  13.  
  14. CREATE TABLE Cars (
  15.     Id INT PRIMARY KEY IDENTITY,
  16.     PlateNumber NVARCHAR(10) UNIQUE NOT NULL,
  17.     Manufacturer NVARCHAR(30) NOT NULL,
  18.     Model NVARCHAR(20) NOT NULL,
  19.     CarYear DATE NOT NULL,
  20.     CategoryId INT FOREIGN KEY REFERENCES Categories(Id),
  21.     Doors INT NOT NULL,
  22.     Picture VARBINARY,
  23.     Condition NVARCHAR(20),
  24.     Available BIT NOT NULL
  25. )
  26.  
  27. CREATE TABLE Employees (
  28.     Id INT PRIMARY KEY IDENTITY,
  29.     FirstName NVARCHAR(30) NOT NULL,
  30.     LastName NVARCHAR(30) NOT NULL,
  31.     Title NVARCHAR(30),
  32.     Notes NVARCHAR(MAX)
  33. )
  34.  
  35. CREATE TABLE Customers (
  36.     Id INT PRIMARY KEY IDENTITY,
  37.     DriverLicenceNumber INT NOT NULL,
  38.     FullName NVARCHAR(60) NOT NULL,
  39.     [Address] NVARCHAR(100),
  40.     City NVARCHAR(30),
  41.     ZIPCode INT,
  42.     Notes NVARCHAR(MAX)
  43. )
  44.  
  45. CREATE TABLE RentalOrders (
  46.     Id INT PRIMARY KEY IDENTITY,
  47.     EmployeeId INT FOREIGN KEY REFERENCES Employees(Id),
  48.     CustomerId INT FOREIGN KEY REFERENCES Customers(Id),
  49.     CarId INT FOREIGN KEY REFERENCES Cars(Id),
  50.     TankLevel DECIMAL(4, 2),
  51.     KilometrageStart INT NOT NULL,
  52.     KilometrageEnd INT NOT NULL,
  53.     TotalKilometrage INT NOT NULL,
  54.     StartDate DATETIME NOT NULL,
  55.     EndDate DATETIME NOT NULL,
  56.     TotalDays INT NOT NULL,
  57.     RateApplied DECIMAL(2, 1),
  58.     TaxRate DECIMAL(2, 1),
  59.     OrderStatus NVARCHAR(20),
  60.     Notes NVARCHAR(MAX)
  61. )
  62.  
  63. INSERT INTO Categories
  64.             (CategoryName, DailyRate, WeeklyRate, MonthlyRate, WeekendRate)
  65. VALUES     
  66.             ('First', 8.8, 7.7, 6.6, 9.9),
  67.             ('Second', 4.4, 5.5, 6.6, 7.7),
  68.             ('Third', 1.1, 2.2, 3.3, 4.4)
  69.  
  70. INSERT INTO Cars
  71.             (PlateNumber, Manufacturer, Model, CarYear, CategoryId, Doors, Picture, Condition, Available)
  72. VALUES
  73.             ('7777', 'Porsche', '911', '2019', 1, 3, NULL, 'Perfect', 1),
  74.             ('8888', 'BMW', 'I8', '2019', 2, 3, NULL, 'Excelent', 1),
  75.             ('1111', 'Audi', 'TT', '2016', 3, 3, NULL, 'Very good', 0)
  76.  
  77. INSERT INTO Employees
  78.             (FirstName, LastName, Title, Notes)
  79. VALUES
  80.             ('Gabriela', 'Stantcheva', 'CEO', NULL),
  81.             ('Petar', 'Marinov', 'Manager', NULL),
  82.             ('Liliya', 'Markova', 'HR', NULL)
  83.  
  84. INSERT INTO Customers
  85.             (DriverLicenceNumber, FullName, [Address], City, ZIPCode, Notes)
  86. VALUES
  87.             ('89346', 'Georgi Ivanov', 'Sofia', 'Sofia', '1000', NULL),
  88.             ('14589', 'Kris Angelov', 'Plovdiv', 'Plovdiv', '4000', NULL),
  89.             ('96434', 'Martina Vangelova', 'Varna', 'Varna', '5000', NULL)
  90.  
  91. INSERT INTO RentalOrders
  92.             (EmployeeId, CustomerId, CarId, TankLevel, KilometrageStart, KilometrageEnd,
  93.             TotalKilometrage, StartDate, EndDate, TotalDays, RateApplied, TaxRate,
  94.             OrderStatus, Notes)
  95. VALUES
  96.             (1, 1, 1, 80, 0, 550, 589367, '2000-07-10', '2000-07-20', 10, NULL, NULL, 'Completed', NULL),
  97.             (2, 2, 2, 80, 100, 999, 465789, '2018-05-31', '2018-06-30', 30, NULL, NULL, 'Completed', NULL),
  98.             (3, 3, 3, 80, 420, 820, 345678, '2019-08-08', '2019-09-09', 31, NULL, NULL, NULL, NULL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement