Advertisement
Somo4k

02. TableRelations

Jun 2nd, 2022
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 4.61 KB | None | 0 0
  1. GO
  2.  
  3. CREATE DATABASE [TableRelations]
  4.  
  5. GO
  6.  
  7. USE [TableRelations]
  8.  
  9. --Problem 01
  10. CREATE TABLE [Passports]
  11. (
  12.     [PassportID] INT PRIMARY KEY IDENTITY(101, 1),
  13.     [PassportNumber] VARCHAR(10) NOT NULL
  14. )
  15.  
  16. CREATE TABLE [Persons](
  17.     [PersonID] INT PRIMARY KEY IDENTITY,
  18.     [FirstName] NVARCHAR(30) NOT NULL,
  19.     [Salary] DECIMAL(8, 2) NOT NULL,
  20.     [PassportID] INT FOREIGN KEY REFERENCES [Passports]([PassportID]) UNIQUE NOT NULL
  21. )
  22.  
  23.  
  24. INSERT INTO [Passports]([PassportNumber])
  25.     VALUES
  26. ('N34FG21B'),
  27. ('K65LO4R7'),
  28. ('ZE657QP2')
  29.  
  30.  
  31. INSERT INTO [Persons]([FirstName], [Salary], [PassportID])
  32.     VALUES
  33.  ('Roberto', 43300.00, 102),
  34.  ('Tom', 56100.00, 103),
  35.  ('Yana', 60200.00, 101)
  36.  
  37.  
  38. --Problem 02
  39. CREATE TABLE [Manufacturers](
  40.     [ManufacturerID] INT PRIMARY KEY IDENTITY,
  41.     [Name] VARCHAR(15) NOT NULL,
  42.     [EstablishedOn] DATE
  43. )
  44.  
  45. CREATE TABLE [Models](
  46.     [ModelID] INT PRIMARY KEY IDENTITY(101,1),
  47.     [Name] NVARCHAR(15) NOT NULL,
  48.     [ManufacturerID] INT FOREIGN KEY REFERENCES [Manufacturers]([ManufacturerID])
  49. )
  50.  
  51. INSERT INTO [Manufacturers]([Name], [EstablishedOn])
  52.      VALUES
  53. ('BMW', '07/03/1916'),
  54. ('Tesla', '01/01/2003'),
  55. ('Lada', '01/05/1966')
  56.  
  57. INSERT INTO [Models]([Name], [ManufacturerID])
  58.      VALUES
  59. ('X1', 1),
  60. ('i6', 1),
  61. ('Model S', 2),
  62. ('Model X', 2),
  63. ('Model 3', 2),
  64. ('Nova', 3)
  65.  
  66. --Problem 03
  67. CREATE TABLE [Students](
  68.     [StudentID] INT PRIMARY KEY IDENTITY,
  69.     [Name] NVARCHAR(15) NOT NULL
  70. )
  71.  
  72. CREATE TABLE [Exams](
  73.     [ExamID] INT PRIMARY KEY IDENTITY(101, 1),
  74.     [Name] NVARCHAR(15) NOT NULL
  75. )
  76.  
  77. CREATE TABLE [StudentsExams](
  78.     [StudentID] INT FOREIGN KEY REFERENCES [Students]([StudentID]),
  79.     [ExamID] INT FOREIGN KEY REFERENCES [Exams]([ExamID]),
  80.     PRIMARY KEY([StudentID], [ExamID])
  81. )
  82.  
  83. INSERT INTO [Students]([Name])
  84.      VALUES
  85. ('Mila'),
  86. ('Toni'),
  87. ('Ron')
  88.  
  89. INSERT INTO [Exams]([Name])
  90.     VALUES
  91. ('SpringMVC'),
  92. ('Neo4j'),
  93. ('Oracle 11g')
  94.  
  95. INSERT INTO [StudentsExams]([StudentID], [ExamID])
  96.     VALUES
  97. (1, 101),
  98. (1, 102),
  99. (2, 101),
  100. (3, 103),
  101. (2, 102),
  102. (2, 103)
  103.  
  104. SELECT * FROM [StudentsExams]
  105.  
  106. --Problem 04
  107.  
  108. CREATE TABLE [Teachers](
  109.     [TeacherID] INT PRIMARY KEY IDENTITY(101,1),
  110.     [Name] NVARCHAR(15) NOT NULL,
  111.     [ManagerID] INT FOREIGN KEY REFERENCES [Teachers]([TeacherID])
  112. )
  113.  
  114. INSERT INTO [Teachers]([Name], [ManagerID])
  115.      VALUES
  116. ('John', NULL),
  117. ('Maya', 106),
  118. ('Silvia', 106),
  119. ('Ted', 105),
  120. ('Mark', 101),
  121. ('Greta', 101)
  122.  
  123.  
  124. --Problem 05
  125.  
  126. GO
  127.  
  128. CREATE DATABASE [OnlineStore]
  129.  
  130. GO
  131.  
  132. USE [OnlineStore]
  133.  
  134.  
  135. CREATE TABLE [Cities](
  136.     [CityID] INT PRIMARY KEY IDENTITY,
  137.     [Name] VARCHAR(50) NOT NULL
  138. )
  139.  
  140. CREATE TABLE [Customers]
  141. (
  142.     [CustomerID] INT PRIMARY KEY IDENTITY,
  143.     [Name] VARCHAR(50) NOT NULL,
  144.     [Birthday] DATE NOT NULL,
  145.     [CityID] INT FOREIGN KEY REFERENCES [Cities]([CityID])
  146. )
  147.  
  148. CREATE TABLE [Orders](
  149.     [OrderID] INT PRIMARY KEY IDENTITY,
  150.     [CustomerID] INT FOREIGN KEY REFERENCES [Customers](CustomerID)
  151. )
  152.  
  153. CREATE TABLE [ItemTypes](
  154.     [ItemTypeID] INT PRIMARY KEY IDENTITY,
  155.     [Name] VARCHAR(50) NOT NULL
  156. )
  157.  
  158. CREATE TABLE [Items](
  159.     [ItemID] INT PRIMARY KEY IDENTITY,
  160.     [Name] VARCHAR(50) NOT NULL,
  161.     [ItemTypeID] INT FOREIGN KEY REFERENCES [ItemTypes](ItemTypeID)
  162. )
  163.  
  164. CREATE TABLE [OrderItems](
  165.     [OrderID] INT FOREIGN KEY REFERENCES [Orders]([OrderID]),
  166.     [ItemID] INT FOREIGN KEY REFERENCES [Items]([ItemID]),
  167.     PRIMARY KEY ([OrderID],[ItemID])
  168. )
  169.  
  170.  
  171.  
  172. --Problem 06
  173. GO
  174.  
  175. CREATE DATABASE [UniversityDatabase]
  176.  
  177. GO
  178.  
  179. USE [UniversityDatabase]
  180.  
  181. CREATE TABLE [Majors](
  182.     [MajorID] INT PRIMARY KEY IDENTITY,
  183.     [Name] NVARCHAR(15) NOT NULL
  184. )
  185.  
  186. CREATE TABLE [Students](
  187.     [StudentID] INT PRIMARY KEY IDENTITY,
  188.     [StudentNumber] VARCHAR(10) NOT NULL,
  189.     [StudentName] NVARCHAR(15) NOT NULL,
  190.     [MajorID] INT FOREIGN KEY REFERENCES [Majors]([MajorID])
  191. )
  192.  
  193. CREATE TABLE [Payments](
  194.     [PaymentID] INT PRIMARY KEY IDENTITY,
  195.     [PaymentDate] DATE NOT NULL,
  196.     [PaymentAmount] DECIMAL (8,2) NOT NULL,
  197.     [StudentID] INT FOREIGN KEY REFERENCES [Students]([StudentID])
  198. )
  199.  
  200. CREATE TABLE [Subjects](
  201.     [SubjectID] INT PRIMARY KEY IDENTITY,
  202.     [SubjectName] NVARCHAR(40) NOT NULL
  203. )
  204.  
  205. CREATE TABLE [Agenda](
  206.     [StudentID] INT FOREIGN KEY REFERENCES [Students]([StudentID]),
  207.     [SubjectID] INT FOREIGN KEY REFERENCES [Subjects]([SubjectID]),
  208.     PRIMARY KEY([StudentID], [SubjectID])
  209. )
  210.  
  211.  
  212. --Problem 09
  213.  
  214. USE [Geography]
  215.  
  216. SELECT (SELECT MountainRange FROM Mountains WHERE MountainRange = 'Rila') AS [MountainRange] ,PeakName, Elevation FROM Peaks
  217. WHERE MountainId = (SELECT Id FROM Mountains WHERE MountainRange = 'Rila')
  218. ORDER BY Elevation DESC
  219.  
  220. --Problem 09
  221.  
  222. SELECT MountainRange, PeakName, Elevation
  223. FROM Mountains
  224. JOIN Peaks ON Mountains.Id = Peaks.MountainId
  225. WHERE MountainRange = 'Rila'
  226. ORDER BY Elevation DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement