Advertisement
Guest User

Untitled

a guest
Apr 9th, 2018
1,063
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.88 KB | None | 0 0
  1. --USE master;
  2. --DROP DATABASE Szkolenia;
  3. GO
  4.  
  5. CREATE DATABASE Szkolenia;
  6. GO
  7.  
  8. USE Szkolenia;
  9. GO
  10.  
  11. ------------ USUŃ TABELE ------------
  12.  
  13. IF OBJECT_ID('Udzial','U') IS NOT NULL
  14. DROP TABLE Udzial;
  15. IF OBJECT_ID('Uczestnicy','U') IS NOT NULL
  16. DROP TABLE Uczestnicy;
  17. IF OBJECT_ID('Kursy','U') IS NOT NULL
  18. DROP TABLE Kursy;
  19.  
  20. GO
  21.  
  22. IF OBJECT_ID('MapujMiasta','U') IS NOT NULL
  23. DROP TABLE MapujMiasta;
  24. IF OBJECT_ID('UczestnicyAktualnie','U') IS NOT NULL
  25. DROP TABLE UczestnicyAktualnie;
  26.  
  27. GO
  28.  
  29. SET LANGUAGE polski
  30. GO
  31.  
  32. ------------ CREATE - UTWÓRZ TABELE I POWIĄZANIA ------------
  33.  
  34. CREATE TABLE Uczestnicy
  35. (
  36. PESEL CHAR(11) CONSTRAINT pk_uczestnicy_pesel PRIMARY KEY,
  37. nazwisko VARCHAR(20) NOT NULL,
  38. miasto VARCHAR(20) DEFAULT 'Poznań',
  39. email VARCHAR(100),
  40. CONSTRAINT ck_uczestnicy_pesel CHECK (PESEL LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
  41. );
  42.  
  43. CREATE TABLE Kursy
  44. (
  45. Kod INT IDENTITY(100, 100) CONSTRAINT pk_kursy_kod PRIMARY KEY,
  46. nazwa VARCHAR(50) CONSTRAINT uq_kursy_nazwa UNIQUE,
  47. liczba_dni INT,
  48. cena AS liczba_dni * 1000,
  49. CONSTRAINT ck_kursy_dni CHECK (liczba_dni BETWEEN 1 AND 5)
  50. );
  51.  
  52. CREATE TABLE Udzial
  53. (
  54. uczestnik CHAR(11) CONSTRAINT fk_udzial_uczestnik REFERENCES Uczestnicy(PESEL),
  55. kurs INT CONSTRAINT fk_udzial_kurs REFERENCES Kursy(Kod),
  56. data_od DATE,
  57. data_do DATE,
  58. [status] VARCHAR(20),
  59. CONSTRAINT ck_udzial_status CHECK ([status] IN ('w trakcie','ukonczony', 'nieukonczony')),
  60. CONSTRAINT ck_udzial_data CHECK (data_do > data_od)
  61. );
  62.  
  63. GO
  64.  
  65. ------------ INSERT - WSTAW DANE ------------
  66.  
  67. INSERT INTO Kursy(nazwa, liczba_dni) VALUES
  68. ('Administracja MySQL' , 3),
  69. ('Analiza danych' , 3),
  70. ('MS Access (zaawansowany)' , 2),
  71. ('MySQL dla programistów' , 2),
  72. ('Programowanie VBA w Accessie', 1);
  73.  
  74. INSERT INTO Uczestnicy VALUES
  75. ('91122895863', 'Lewicka', 'Poznań', 'alewi91@buziaczek.pl'),
  76. ('74080812482', 'Kowalski', 'Szczecin', 'kowal@cloud.net'),
  77. ('58100387129', 'Najgebauer', 'Lodz', 'jakub@najgebauer.com.pl'),
  78. ('69091729555', 'Muszka', 'P-ń', 'muszka@wp.pl'),
  79. ('83060448424', 'Jakubowicz', 'Bielskobiała', 'hulk@marvel.com'),
  80. ('90121298347', 'Janicka', 'Bielsko Biala', 'janicka@amu.edu.pl')
  81.  
  82. INSERT INTO Udzial VALUES
  83. ('91122895863', 100, '01-03-2015', '03-03-2015', 'ukonczony'),
  84. ('83060448424', 300, '12-10-2015', '13-10-2015', 'nieukonczony'),
  85. ('83060448424', 200, '15-11-2017', NULL, 'w trakcie'),
  86. ('91122895863', 400, '22-02-2014', '23-02-2014', 'nieukonczony'),
  87. ('69091729555', 100, '01-03-2015', '03-03-2015', 'ukonczony');
  88.  
  89. ------------ CREATE - UTWÓRZ TABELE I POWIĄZANIA ------------
  90.  
  91. CREATE TABLE MapujMiasta
  92. (
  93. forma_poprawna VARCHAR(20),
  94. forma_niepoprawna VARCHAR(20)
  95. );
  96.  
  97. CREATE TABLE UczestnicyAktualnie
  98. (
  99. PESEL CHAR(11) CONSTRAINT pk_uczestnicyaktualnie_pesel PRIMARY KEY,
  100. nazwisko VARCHAR(20) NOT NULL,
  101. miasto VARCHAR(20) DEFAULT 'Poznań',
  102. email VARCHAR(100),
  103. );
  104.  
  105. GO
  106.  
  107. ------------ INSERT - WSTAW DANE ------------
  108.  
  109. INSERT INTO MapujMiasta VALUES
  110. ('Poznań', 'Poznan'),
  111. ('Poznań', 'P-ń'),
  112. ('Kraków', 'Krakow'),
  113. ('Łódź', 'Lodz'),
  114. ('Bielsko-Biała', 'Bielsko-Biala'),
  115. ('Bielsko-Biała', 'Bielsko Biala'),
  116. ('Bielsko-Biała', 'Bielsko Biała');
  117.  
  118. INSERT INTO UczestnicyAktualnie VALUES
  119. ('91122895863', 'Lewicka', 'Poznań', 'alewi91@buziaczek.pl'),
  120. ('74080812482', 'Kowalski', 'Warszawa', 'kowal@cloud.net'),
  121. ('58100387129', 'Najgebauer', 'Lodz', 'jakub@najgebauer.com.pl'),
  122. ('69091729555', 'Muszka', 'Poznań', 'muszka@wp.pl'),
  123. ('83060448424', 'Jakubowicz', 'Bielsko-Biała', 'hulk@marvel.com'),
  124. ('90121298347', 'Janicka-Wolska', 'Bielsko-Biała', 'janicka@amu.edu.pl'),
  125. ('81080803031', 'Nowak', 'Mosina', 'nowakjan@gmail.com');
  126.  
  127. GO
  128.  
  129. ------------ SELECT ------------
  130.  
  131. SELECT * FROM Uczestnicy;
  132. SELECT * FROM Kursy;
  133. SELECT * FROM Udzial;
  134.  
  135. SELECT * FROM MapujMiasta;
  136. SELECT * FROM UczestnicyAktualnie;
  137.  
  138. --ZAD 1
  139.  
  140. select *
  141. into Kursykopia
  142. from Kursy
  143.  
  144. SELECT *
  145. FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
  146. WHERE TABLE_NAME = 'KursyKopia';
  147.  
  148. INSERT INTO Uczestnicy
  149. VALUES('97011206635', 'Kaczynski', 'Szczecin', 'sdlsdal@gmail.com');
  150.  
  151.  
  152. --ZAD 2
  153.  
  154. INSERT INTO Udzial
  155.  
  156. VALUES('97011206635', (SELECT Kod FROM Kursy WHERE nazwa='Analiza danych'),'2017-10-20','2017-10-22','ukonczony');
  157.  
  158. --ZAD 3
  159.  
  160. Update Kursy
  161. SET liczba_dni = liczba_dni+1
  162. where nazwa LIKE '%MySQL%';
  163.  
  164. --b)
  165.  
  166. update uczestnicy
  167. set rok_urodzenia = '19'+ LEFT(PESEL,2)
  168.  
  169. --ZAD 5
  170.  
  171.  
  172. DELETE FROM Udzial
  173.  
  174. WHERE uczestnik = (SELECT PESEL FROM Uczestnicy WHERE nazwisko = 'Jakubowicz')
  175.  
  176.  
  177. DELETE FROM Uczestnicy
  178.  
  179. WHERE nazwisko = 'Jakubowicz'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement