Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.77 KB | None | 0 0
  1. CREATE TABLE Cities (
  2. Id INT IDENTITY,
  3. [Name] NVARCHAR(20) NOT NULL,
  4. CountryCode CHAR(2) NOT NULL,
  5.  
  6. CONSTRAINT PK_Cities PRIMARY KEY (Id)
  7. )
  8.  
  9. CREATE TABLE Hotels (
  10. Id INT IDENTITY,
  11. [Name] NVARCHAR(20) NOT NULL,
  12. CityId INT NOT NULL,
  13. EmployeeCount INT NOT NULL,
  14. BaseRate DECIMAL(15,2),
  15.  
  16. CONSTRAINT PK_Hotels
  17. PRIMARY KEY (Id),
  18. CONSTRAINT FK_Hotels_Cities
  19. FOREIGN KEY (CityId)
  20. REFERENCES Cities(Id)
  21. )
  22.  
  23. CREATE TABLE Rooms (
  24. Id INT IDENTITY,
  25. Price DECIMAL(15,2) NOT NULL,
  26. [Type] NVARCHAR(30) NOT NULL,
  27. Beds INT NOT NULL,
  28. HotelId INT NOT NULL,
  29.  
  30. CONSTRAINT PK_Rooms PRIMARY KEY (Id),
  31. CONSTRAINT FK_Rooms_Hotels FOREIGN KEY (HotelId) REFERENCES Hotels(Id)
  32. )
  33.  
  34. CREATE TABLE Trips (
  35. Id INT IDENTITY,
  36. RoomId INT NOT NULL,
  37. BookDate DATE NOT NULL,
  38. ArrivalDate DATE NOT NULL,
  39. ReturnDate DATE NOT NULL,
  40. CancelDate DATE,
  41.  
  42. CONSTRAINT PK_Trips PRIMARY KEY (Id),
  43. CONSTRAINT FK_Trips_Rooms FOREIGN KEY (RoomId) REFERENCES Rooms(Id),
  44. CONSTRAINT CH_Trips_BookDate CHECK (BookDate < ArrivalDate),
  45. CONSTRAINT CH_Trips_ArrivalDate CHECK (ArrivalDate < ReturnDate)
  46. )
  47.  
  48. CREATE TABLE Accounts(
  49. Id INT IDENTITY,
  50. FirstName NVARCHAR(50) NOT NULL,
  51. MiddleName NVARCHAR(20) ,
  52. LastName NVARCHAR(50) NOT NULL,
  53. CityId INT NOT NULL,
  54. BirthDate DATE NOT NULL,
  55. Email VARCHAR(100) NOT NULL UNIQUE,
  56.  
  57. CONSTRAINT PK_Accounts PRIMARY KEY (Id),
  58. CONSTRAINT FK_Accounts_Cities FOREIGN KEY (CityId) REFERENCES Cities(Id)
  59. )
  60.  
  61. CREATE TABLE AccountsTrips (
  62. AccountId INT NOT NULL,
  63. TripId INT NOT NULL,
  64. Luggage INT NOT NULL,
  65.  
  66. CONSTRAINT PK_AccountsTrips PRIMARY KEY (AccountId, TripId),
  67. CONSTRAINT FK_AccountsTrips_Accounts FOREIGN KEY (AccountId) REFERENCES Accounts(Id),
  68. CONSTRAINT FK_AccountsTrips_Trips FOREIGN KEY (TripId) REFERENCES Trips(Id),
  69. CONSTRAINT CH_AccountsTrips CHECK (Luggage >= 0)
  70. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement