Advertisement
Guest User

Untitled

a guest
Feb 10th, 2019
116
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 Planets
  2. (
  3.     Id INT PRIMARY KEY IDENTITY,
  4.     [Name] VARCHAR(30) NOT NULL
  5. )
  6.  
  7. CREATE TABLE Spaceports
  8. (
  9.     Id INT PRIMARY KEY IDENTITY,
  10.     [Name] VARCHAR(50) NOT NULL,
  11.     PlanetId INT FOREIGN KEY REFERENCES Planets(Id) NOT NULL
  12. )
  13.  
  14. CREATE TABLE Spaceships
  15. (
  16.     Id INT PRIMARY KEY IDENTITY,
  17.     [Name] VARCHAR(50) NOT NULL,
  18.     Manufacturer VARCHAR(30) NOT NULL,
  19.     LightSpeedRate INT DEFAULT 0
  20. )
  21.  
  22. CREATE TABLE Colonists
  23. (
  24.     Id INT PRIMARY KEY IDENTITY,
  25.     FirstName VARCHAR(20) NOT NULL,
  26.     LastName VARCHAR(20) NOT NULL,
  27.     Ucn VARCHAR(10) UNIQUE NOT NULL ,
  28.     BirthDate DATE NOT NULL
  29. )
  30.  
  31. CREATE TABLE Journeys
  32. (
  33.     Id INT PRIMARY KEY IDENTITY,
  34.     JourneyStart DATETIME NOT NULL,
  35.     JourneyEnd DATETIME NOT NULL,
  36.     Purpose VARCHAR(11),
  37.     DestinationSpaceportId INT FOREIGN KEY REFERENCES Spaceports(Id) NOT NULL,
  38.     SpaceshipId INT FOREIGN KEY REFERENCES Spaceships(Id) NOT NULL
  39. )
  40.  
  41. ALTER TABLE Journeys
  42. ADD CONSTRAINT ch_PurposeValue CHECK (Purpose IN ('Medical', 'Technical', 'Educational', 'Military'))
  43.  
  44. CREATE TABLE TravelCards
  45. (
  46.     Id INT PRIMARY KEY IDENTITY,
  47.     CardNumber VARCHAR(10) CHECK (LEN(CardNumber) = 10) UNIQUE NOT NULL,
  48.     JobDuringJourney VARCHAR(8),
  49.     ColonistId INT FOREIGN KEY REFERENCES Colonists(Id) NOT NULL,
  50.     JourneyId INT FOREIGN KEY REFERENCES Journeys(Id) NOT NULL
  51. )
  52.  
  53. ALTER TABLE TravelCards
  54. ADD CONSTRAINT ch_JobDuringJourneyValue CHECK (JobDuringJourney IN ('Pilot', 'Engineer', 'Trooper', 'Cleaner', 'Cook'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement