· 7 years ago · Feb 18, 2019, 01:16 PM
1DROP DATABASE IF EXISTS sportsClubs;
2CREATE DATABASE sportsClubs;
3USE sportsClubs;
4CREATE TABLE students(
5 id INT AUTO_INCREMENT PRIMARY KEY,
6 studentName VARCHAR(256) NOT NULL,
7 fNum VARCHAR(10) NOT NULL UNIQUE,
8 phone VARCHAR(55) NULL
9);
10CREATE TABLE coaches(
11id INT AUTO_INCREMENT PRIMARY KEY,
12 coachtName VARCHAR(256) NOT NULL,
13 email VARCHAR(255) NOT NULL
14);
15CREATE TABLE clubs(
16id INT AUTO_INCREMENT PRIMARY KEY,
17 sportName VARCHAR(256) NOT NULL
18);
19CREATE TABLE groups(
20 id INT AUTO_INCREMENT PRIMARY KEY,
21 dayOfWeek ENUM ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'),
22 hourOfDay TIME NOT NULL,
23 place VARCHAR(255) NOT NULL,
24 clubId INT NOT NULL,
25 coachId INT NOT NULL,
26 CONSTRAINT FOREIGN KEY(clubId) REFERENCES clubs(Id),
27 CONSTRAINT FOREIGN KEY(coachId) REFERENCES coaches(Id),
28 UNIQUE KEY(dayOfWeek, hourOfDay, place)
29);
30CREATE TABLE student_group (
31 studentId INT NOT NULL,
32 groupId INT NOT NULL,
33 CONSTRAINT FOREIGN KEY (studentId) REFERENCES students(Id),
34 CONSTRAINT FOREIGN KEY (groupId) REFERENCES groups(Id),
35 PRIMARY KEY (studentId, groupId)
36);
37
38По даден проект училище трÑбва да организира извънучилищни Ñпортни клубове. Спортните клубове могат да бъдат първоначално два типа– по футбол и по волейбол, а на Ñледващ етап ще Ñе добавÑÑ‚ още. За вÑеки клуб може да има много наброй групи, които тренират в различни дни и в различни чаÑове. Учениците могат да Ñе приÑъединÑÑ‚ към който и да е от двата типа клуба едновременно като Ñе запишат в определена група в определен ден от Ñедмицата и в определен чаÑ. За вÑÑка от клубните групи има по един треньор, който тренира учениците. Ð’Ñеки ученик може да Ñе идентифицира Ñ ÑƒÐ½Ð¸ÐºÐ°Ð»ÐµÐ½ номер – ид. Допълнете таблиците Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð° Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾ ваш избор.