Advertisement
18126

Untitled

Apr 10th, 2025
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.39 KB | None | 0 0
  1. CREATE DATABASE _93aa_ksig;
  2. USE _93aa_ksig;
  3. CREATE TABLE students(
  4. id INT AUTO_INCREMENT PRIMARY KEY,
  5. name VARCHAR(50) NOT NULL,
  6. address VARCHAR(50) NOT NULL,
  7. egn VARCHAR (10) NOT NULL UNIQUE,
  8. phone VARCHAR(10) NULL DEFAULT NULL,
  9. class VARCHAR(5) NULL DEFAULT NULL
  10. );
  11. INSERT INTO students(name, egn, address, phone, class)
  12. VALUES
  13. ('Ilyan Ivanov', '9401150045', 'Sofia-Mladost', '0895345123', '10'),
  14. ('Ivan Iliev', '9510104512', 'Sofia-Lulin', '0896786453', '11'),
  15. ('Elena Petrovs', '9505052154', 'Sofia-Mladost2', '0899123456', '11'),
  16. ('Ivan Iliev', '9510104542', 'Sofia-Mladost3', '0897123456', '11'),
  17. ('Maria Dimova', '9510104547', 'Sofia-Mladost4', '088898654', '11'),
  18. ('Antoaneta Ivanova', '9411104547', 'Sofia-Krasno selo', '0877123456', '10');
  19.  
  20. CREATE TABLE sports(
  21. id INT AUTO_INCREMENT PRIMARY KEY,
  22. name VARCHAR(50) NOT NULL
  23. );
  24. INSERT INTO sports
  25. VALUES
  26. (NULL, 'football'),
  27. (NULL, 'voleyball');
  28.  
  29. CREATE  TABLE coaches(
  30. id INT AUTO_INCREMENT PRIMARY KEY,
  31. name VARCHAR(50) NOT NULL,
  32. egn VARCHAR (10) NOT NULL UNIQUE
  33. );
  34. INSERT INTO coaches(name, egn)
  35. VALUES
  36. ('Ivan Petrov', '75090412'),
  37. ('Petyr Dimitrov', '2345678901'),
  38. ('Kaloyan Kolev', '3456789012');
  39.  
  40. CREATE TABLE sportGroups(
  41. id INT AUTO_INCREMENT PRIMARY KEY,
  42. location VARCHAR(50) NOT NULL,
  43. dayOfWeek ENUM('Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'),
  44. hourOfTraining TIME NOT NULL,
  45. sport_id INT NOT NULL,
  46. CONSTRAINT FOREIGN KEY (sport_id) REFERENCES sports(id),
  47. coach_id INT NOT NULL,
  48. CONSTRAINT FOREIGN KEY(coach_id) REFERENCES coaches(id),
  49. UNIQUE KEY (location, dayOfWeek,  hourOfTraining)
  50. );
  51. INSERT INTO sportGroups(location, dayOfWeek, hourOfTraining, sport_id, coach_id)
  52. VALUES
  53. ('Sofia-Mladost1', 'Mon', '8:00:00', 1, 1),
  54. ('Sofia-Mladost1', 'Mon', '9:00:00', 1, 2),
  55. ('Sofia-Lulin', 'Sun', '8:00:00', 2, 3),
  56. ('Sofia-Lulin', 'Sun', '9:30:00', 2, 2),
  57. ('Plovdiv', 'Mon', '12:00:00', 1, 1);
  58.  
  59. CREATE TABLE sportgr_student(
  60. student_id INT NOT NULL,
  61. CONSTRAINT FOREIGN KEY (student_id) REFERENCES students(id),
  62. sportgr_id INT NOT NULL,
  63. CONSTRAINT FOREIGN KEY (sportgr_id) REFERENCES sportgroups(id),
  64. PRIMARY KEY (student_id, sportgr_id)
  65. );
  66. INSERT INTO sportgr_student
  67. VALUES
  68. (1,1),
  69. (2,1),
  70. (3,2),
  71. (4,2),
  72. (5,1),
  73. (6,2);
  74.  
  75. CREATE TABLE programmers(
  76. id INT AUTO_INCREMENT PRIMARY KEY,
  77.     name VARCHAR(255) NOT NULL,
  78.     address VARCHAR(255) NOT NULL,
  79.     startWorkingDate DATE,/**YYYY-MM-DD**/
  80.     teamLead_id INT NULL DEFAULT NULL,
  81.     CONSTRAINT FOREIGN KEY (teamLead_id) REFERENCES programmers(id)
  82. );
  83.  
  84. INSERT INTO programmers (name, address, startWorkingDate, teamLead_id)
  85. VALUES
  86. ('Ivan Ivanov', 'Sofia', '1999-05-25', NULL),
  87. ('Georgi Petkov Todorov', 'Bulgaria - Sofia Nadezhda, bl. 35', '2002-12-01', 1),
  88. ('Todor Petkov', 'Sofia - Liylin 7', '2009-11-01', 1),
  89. ('Sofiq Dimitrova Petrova', 'Sofia - Mladost 4, bl. 7', '2010-01-01', 1),
  90. ('Teodor Ivanov Stoyanov', 'Sofia - Obelya, bl. 48', '2011-10-01', NULL),
  91. ('Iliya Stoynov Todorov', 'Sofia Nadezhda, bl. 28', '2000-02-01', 5),
  92. ('Mariela Dimitrova Yordanova', 'Sofia - Knyajevo, bl. 17', '2005-05-01', 5),
  93. ('Elena Miroslavova Georgieva', 'Sofia - Krasno Selo, bl. 27', '2008-04-01', 5),
  94. ('Teodor Milanov Milanov', 'Sofia - Lozenetz', '2012-04-01', 5);
  95.  
  96. SELECT progr.name as ProgramerName, progr.address as ProgramerAddress, teamLeads.name as TeamLeadName
  97. FROM programmers as progr JOIN programmers as teamLeads
  98. WHERE progr.teamLead_id = teamLeads.id;
  99.  
  100. SELECT sportGroups.location,
  101. sportGroups.dayOfWeek,
  102. sportGroups.hourOfTraining,
  103. sports.name
  104. from sportGroups inner join sports
  105. on sportGroups.sport_id = sports.id;
  106.  
  107. SELECT coaches.name, sports.name
  108. FROM coaches JOIN sports
  109. on coaches.id IN(
  110. SELECT coach_id
  111. from sportGroups
  112. WHERE sportGroups.sport_id = sports.id
  113. );
  114.  
  115. SELECT distinct coaches.name, sports.name
  116. from coaches JOIN sportGroups
  117. on coach_id = sportGroups.coach_id
  118. JOIN sports
  119. on sportGroups.sport_id = sports.id;
  120.  
  121.  
  122.  delimiter |
  123.  create procedure getAllSportGroupsWithSports()
  124.  begin
  125.  select sg.location as locationOfGroup,
  126.  sg.DayOfWeek as trainigDay,
  127.  sg.hourOfTraining as trainingHour,
  128.  sp.name as sportName
  129.  from sportgroups as sg join sports as sp
  130.  on sg.sport_id = sp.id;
  131.  end
  132.  |
  133.  delimiter ;
  134.  
  135.  call getAllSportGroupsWithSports();
  136. delimiter |
  137. create procedure proc_in (in var varchar(50))
  138. begin
  139. set @coach_name = var;
  140. end;
  141. |
  142. delimiter ;
  143. call proc_in ('Ivan Petrov');
  144. select * from coaches
  145. where name = @coach_name;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement