Andmebaas kontsertide tehnilise korralduse tarbeks k_esinejad(esinejanimi, esinejatearv) k_kohad(kohanimi, pealtvaatajatearv) k_inventar(seadmenimi, kirjeldus) k_esinemised(id, esineja, koht, aeg) k_inventar_esinejale(id, esineja, seade) k_inventar_kohad(id, koht, seade) k_inventar_rendiks(id, esinemise_id, seade) CREATE TABLE k_esinejad( esinejanimi VARCHAR(50) NOT NULL PRIMARY KEY, esinejatearv INT ); CREATE TABLE k_kohad( kohanimi VARCHAR(50) NOT NULL PRIMARY KEY, pealtvaatajatearv INT ); CREATE TABLE k_inventar( seadmenimi VARCHAR(50) NOT NULL PRIMARY KEY, kirjeldus TEXT ); CREATE TABLE k_esinemised( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, esineja VARCHAR(50), koht VARCHAR(50), aeg DATETIME, FOREIGN KEY(esineja) REFERENCES k_esinejad(esinejanimi), FOREIGN KEY(koht) REFERENCES k_kohad(kohanimi) ); CREATE TABLE k_inventar_esinejale( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, esineja VARCHAR(50), seade VARCHAR(50), FOREIGN KEY(esineja) REFERENCES k_esinejad(esinejanimi), FOREIGN KEY(seade) REFERENCES k_inventar(seadmenimi) ); -- lisage tabel k_inventar_kohad CREATE TABLE k_inventar_kohad( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, koht VARCHAR(50), seade VARCHAR(50), FOREIGN KEY(koht) REFERENCES k_kohad(kohanimi), FOREIGN KEY(seade) REFERENCES k_inventar(seadmenimi) ); CREATE TABLE k_inventar_rendiks( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, esinemise_id INT, seade VARCHAR(50), FOREIGN KEY(esinemise_id) REFERENCES k_esinemised(id), FOREIGN KEY(seade) REFERENCES k_inventar(seadmenimi) ); INSERT INTO k_esinejad VALUES ('Justament', 5); INSERT INTO k_esinejad VALUES ('Rock Hotel', 5); INSERT INTO k_esinejad VALUES ('Peeter ja Peeter', 2); INSERT INTO k_kohad VALUES ('Rannu rahvamaja', 200); INSERT INTO k_kohad VALUES ('Jõelähtme rahvamaja', 100); INSERT INTO k_kohad VALUES ('Tallinna lauluväljak', 100000); INSERT INTO k_inventar VALUES ('Süsimikrofon', 'Mikrofoni membraan muudab söepuru takistust'); INSERT INTO k_inventar VALUES ('Kondensaatormikrofon', 'Mikrofoni membraan muudab mahtuvust'); INSERT INTO k_inventar VALUES ('Käetugedeta tool', 'Seljatugi on, käetugesid mitte'); INSERT INTO k_esinemised VALUES ( DEFAULT, 'Peeter ja Peeter', 'Jõelähtme rahvamaja', '2017-12-11 18:00'); INSERT INTO k_esinemised VALUES ( DEFAULT, 'Justament', 'Jõelähtme rahvamaja', '2017-12-12 18:00'); INSERT INTO k_esinemised VALUES ( DEFAULT, 'Justament', 'Tallinna lauluväljak', '2017-12-13 18:00'); INSERT INTO k_inventar_esinejale VALUES (DEFAULT, 'Justament', 'Kondensaatormikrofon'); INSERT INTO k_inventar_esinejale VALUES (DEFAULT, 'Peeter ja Peeter', 'Käetugedeta tool'); INSERT INTO k_inventar_kohad VALUES (DEFAULT, 'Jõelähtme rahvamaja', 'Käetugedeta tool'); INSERT INTO k_inventar_kohad VALUES (DEFAULT, 'Tallinna lauluväljak', 'Kondensaatormikrofon'); * Kuvage iga esineja kohta, mitu esinemist tal kavas on * Näidake iga esinemise juures, milliseid seadmeid on vaja juurde rentida SELECT COUNT(*), esineja FROM k_esinemised GROUP BY esineja; +----------+------------------+ | COUNT(*) | esineja | +----------+------------------+ | 2 | Justament | | 1 | Peeter ja Peeter | +----------+------------------+ SELECT seade, k_esinemised.esineja FROM k_esinemised INNER JOIN k_esinejad ON k_esinemised.esineja=k_esinejad.esinejanimi INNER JOIN k_inventar_esinejale ON k_inventar_esinejale.esineja=k_esinejad.esinejanimi;