Advertisement
alexbancheva

Databases MSSQL Server Exam - 21 Jun 2020_DDL

Feb 2nd, 2021
1,523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.43 KB | None | 0 0
  1. CREATE TABLE Cities(
  2.     Id INT PRIMARY KEY IDENTITY,
  3.     [Name] NVARCHAR(20) NOT NULL,
  4.     CountryCode NVARCHAR(2) NOT NULL
  5. )
  6.  
  7. CREATE TABLE Hotels(
  8.     Id INT PRIMARY KEY IDENTITY,
  9.     [Name] NVARCHAR(30) NOT NULL,
  10.     CityId INT FOREIGN KEY REFERENCES Cities(Id) NOT NULL,
  11.     EmployeeCount INT NOT NULL,
  12.     BaseRate DECIMAL(5,2)
  13. )
  14.  
  15. CREATE TABLE Rooms(
  16.     Id INT PRIMARY KEY IDENTITY,
  17.     Price DECIMAL(10,2) NOT NULL,
  18.     Type NVARCHAR(20) NOT NULL,
  19.     Beds INT  NOT NULL,
  20.     HotelId INT FOREIGN KEY REFERENCES Hotels(Id) NOT NULL
  21. )
  22.  
  23. CREATE TABLE Trips(
  24.     Id INT PRIMARY KEY IDENTITY,
  25.     RoomId INT FOREIGN KEY REFERENCES Rooms(Id) NOT NULL,
  26.     BookDate DATE NOT NULL,
  27.     ArrivalDate DATE NOT NULL,
  28.     ReturnDate DATE NOT NULL,
  29.     CancelDate DATE,
  30.     CONSTRAINT Checked_BookDate_ArrivalDate CHECK(DATEDIFF(DAY, BookDate, ArrivalDate) > 0),
  31.     CONSTRAINT Checked_ArrivalDate_ReturnDate CHECK(DATEDIFF(DAY, ArrivalDate, ReturnDate) > 0)
  32. )
  33.  
  34. CREATE TABLE Accounts(
  35.     Id INT PRIMARY KEY NOT NULL IDENTITY,
  36.     FirstName NVARCHAR(50) NOT NULL,
  37.     MiddleName NVARCHAR(20),
  38.     LastName NVARCHAR(50) NOT NULL,
  39.     CityId INT FOREIGN KEY REFERENCES Cities(Id) NOT NULL,
  40.     BirthDate DATE NOT NULL,
  41.     Email VARCHAR(100) UNIQUE NOT NULL
  42. )
  43.  
  44. CREATE TABLE AccountsTrips(
  45.     AccountId INT FOREIGN KEY REFERENCES Accounts(Id) NOT NULL,
  46.     TripId INT FOREIGN KEY REFERENCES Trips(Id) NOT NULL,
  47.     Luggage INT NOT NULL
  48.         CHECK(Luggage >= 0),
  49.     CONSTRAINT PK_Accounts_Trips PRIMARY KEY (AccountId, TripId)
  50. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement