Advertisement
mitko2204

Hotel DB Working

Nov 12th, 2021 (edited)
1,647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.22 KB | None | 0 0
  1. CREATE TABLE Employees (
  2.     Id INT PRIMARY KEY IDENTITY,
  3.     FirstName NVARCHAR(30) NOT NULL,
  4.     LastName NVARCHAR(30) NOT NULL,
  5.     Title NVARCHAR(50),
  6.     Notes NVARCHAR(500)
  7. )
  8.  
  9. CREATE TABLE Customers (
  10.     AccountNumber INT PRIMARY KEY IDENTITY,
  11.     FirstName NVARCHAR(30) NOT NULL,
  12.     LastName NVARCHAR(30) NOT NULL,
  13.     PhoneNumber NVARCHAR(30),
  14.     EmergencyName NVARCHAR(30),
  15.     EmergencyNumber NVARCHAR(30),
  16.     Notes NVARCHAR(500)
  17. )
  18.  
  19. CREATE TABLE RoomStatus (
  20.     RoomStatus NVARCHAR(50) PRIMARY KEY NOT NULL,
  21.     Notes NVARCHAR(500)
  22. )
  23.  
  24. CREATE TABLE RoomTypes (
  25.     RoomType NVARCHAR(50) PRIMARY KEY NOT NULL,
  26.     Notes NVARCHAR(500)
  27. )
  28.  
  29. CREATE TABLE BedTypes (
  30.     BedType NVARCHAR(50) PRIMARY KEY NOT NULL,
  31.     Notes NVARCHAR(500)
  32. )
  33.  
  34. CREATE TABLE Rooms (
  35.     RoomNumber INT PRIMARY KEY NOT NULL,
  36.     RoomType NVARCHAR(50) FOREIGN KEY REFERENCES RoomTypes(RoomType) NOT NULL,
  37.     BedType NVARCHAR(50) FOREIGN KEY REFERENCES BedTypes(BedType) NOT NULL,
  38.     Rate DECIMAL(6,2) NOT NULL,
  39.     RoomStatus BIT NOT NULL,
  40.     Notes NVARCHAR(1000)
  41. )
  42.  
  43. CREATE TABLE Payments (
  44.     Id INT PRIMARY KEY IDENTITY,
  45.     EmployeeId INT FOREIGN KEY REFERENCES Employees(Id) NOT NULL,
  46.     PaymentDate DATETIME NOT NULL,
  47.     AccountNumber INT FOREIGN KEY REFERENCES Customers(AccountNumber) NOT NULL,
  48.     FirstDateOccupied DATE NOT NULL,
  49.     LastDateOccupied DATE NOT NULL,
  50.     TotalDays AS DATEDIFF(DAY, FirstDateOccupied, LastDateOccupied),
  51.     AmountCharged DECIMAL(7, 2) NOT NULL,
  52.     TaxRate DECIMAL(6,2) NOT NULL,
  53.     TaxAmount AS AmountCharged * TaxRate,
  54.     PaymentTotal AS AmountCharged + AmountCharged * TaxRate,
  55.     Notes NVARCHAR(1500)
  56. )
  57.  
  58. CREATE TABLE Occupancies (
  59.     Id INT PRIMARY KEY IDENTITY,
  60.     EmployeeId INT FOREIGN KEY REFERENCES Employees(Id) NOT NULL,
  61.     DateOccupied DATE NOT NULL,
  62.     AccountNumber INT FOREIGN KEY REFERENCES Customers(AccountNumber) NOT NULL,
  63.     RoomNumber INT FOREIGN KEY REFERENCES Rooms(RoomNumber) NOT NULL,
  64.     RateApplied DECIMAL(7, 2) NOT NULL,
  65.     PhoneCharge DECIMAL(8, 2) NOT NULL,
  66.     Notes NVARCHAR(1000)
  67. )
  68.  
  69. INSERT INTO Employees(FirstName, LastNAme) VALUES
  70. ('Galin', 'Zhelev'),
  71. ('Stoyan', 'Ivanov'),
  72. ('Petar', 'Ikonomov')
  73.  
  74. INSERT INTO Customers(FirstName, LastName, PhoneNumber) VALUES
  75. ('Monio', 'Ushev', '+359888666555'),
  76. ('Gancho', 'Stoykov', '+359866444222'),
  77. ('Genadi', 'Dimchov', '+35977555333')
  78.  
  79. INSERT INTO RoomStatus(RoomStatus) VALUES
  80. ('occupied'),
  81. ('non occupied'),
  82. ('repairs')
  83.  
  84. INSERT INTO RoomTypes(RoomType) VALUES
  85. ('single'),
  86. ('double'),
  87. ('appartment')
  88.  
  89. INSERT INTO BedTypes(BedType) VALUES
  90. ('single'),
  91. ('double'),
  92. ('couch')
  93.  
  94. INSERT INTO Rooms(RoomNumber, RoomType, BedType, Rate, RoomStatus) VALUES
  95. (201, 'single', 'single', 40.0, 1),
  96. (205, 'double', 'double', 70.0, 0),
  97. (208, 'appartment', 'double', 110.0, 1)
  98.  
  99. INSERT INTO Payments(EmployeeId, PaymentDate, AccountNumber, FirstDateOccupied, LastDateOccupied, AmountCharged, TaxRate) VALUES
  100. (1, '2011-11-25', 2, '2017-11-30', '2017-12-04', 250.0, 0.2),
  101. (3, '2014-06-03', 3, '2014-06-06', '2014-06-09', 340.0, 0.2),
  102. (3, '2016-02-25', 2, '2016-02-27', '2016-03-04', 500.0, 0.2)
  103.  
  104. INSERT INTO Occupancies(EmployeeId, DateOccupied, AccountNumber, RoomNumber, RateApplied, PhoneCharge) VALUES
  105. (2, '2011-02-04', 3, 205, 70.0, 12.54),
  106. (2, '2015-04-09', 1, 201, 40.0, 11.22),
  107. (3, '2012-06-08', 2, 208, 110.0, 10.05)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement