Muzyczna Baza Danych



Podobne dokumenty
Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Hurtownia Świętego Mikołaja projekt bazy danych

BAZA DANYCH SIECI HOTELI

CREATE TABLE autorzy ( id_autora SERIAL PRIMARY KEY, imie TEXT, nazwisko TEXT );

Projekt-bazy danych Poczta

Baza danych hotel Maciej Gerus

Bartosz Jachnik - Kino

Monika Sychla Daniel Smolarek Projekt bazy danych

Bazy danych. Projekt prostej biblioteki. 26 stycznia Hubert Anisimowicz,

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Język SQL, zajęcia nr 1

Projekt bazy danych. Schemat bazy danych. Opis bazy danych

SQL :: Data Definition Language

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

PODSTAWY BAZ DANYCH 13. PL/SQL

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Aspekty aktywne baz danych

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

SQL 4 Structured Query Lenguage

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Bazy Danych i Usługi Sieciowe

ACESS- zadania z wykorzystaniem poleceń SQL

Zaawansowane bazy danych i hurtownie danych semestr I

Język PL/SQL Procedury i funkcje składowane

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Bazy danych 10. SQL Widoki

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Język SQL, zajęcia nr 2

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Bazy danych i usługi sieciowe

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wykład 05 Bazy danych

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Wykład 5. SQL praca z tabelami 2

Oracle PL/SQL. Paweł Rajba.

Widok Connections po utworzeniu połączenia. Obszar roboczy

Wykład 8. SQL praca z tabelami 5

TABUN_CMS. System zarządzania treścią dla dedykowanej grupy użytkowników. Tabun_CMS 2008 Marcin Biegun, Szymon Bąk

Bazy danych 7. SQL podstawy

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

LAB 3 (część 1 Projektu)

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Wyzwalacze (triggery) Przykład

Tabele wykorzystywane w przykładach

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Język zapytań SQL- język relacyjnych baz danych

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Paweł Rajba

Bazy danych programowanie Wykład dla studentów matematyk

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Składowane procedury i funkcje

Bazy danych 6. Klucze obce. P. F. Góra

Cele. Definiowanie wyzwalaczy

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Struktura bazy danych

Bazy danych Język SQL część 1 Wykład dla studentów matem

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Systemowe aspekty baz

Baza danych Ogrodu Zoologicznego

Bazy danych, 4. wiczenia

1. Dodatkowe informacje. 2. Czynnoci wstpne. 3. Zadania

Język PL/SQL. Rozdział 6. Procedury wyzwalane

PL/SQL. Zaawansowane tematy PL/SQL

Systemowe aspekty baz danych

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Bazy danych 8. Widoki i wyzwalacze. P. F. Góra

Bazy danych 11. SQL Procedury składowane, kursory i wyzwalacze

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Projekt dziennika lekcyjnego

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Bloki anonimowe w PL/SQL

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Procedury i funkcje składowane

Pakiety podprogramów Dynamiczny SQL

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

1. Wyzwalacze BD (ang. triggers)

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 4.

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Bazy danych - Materiały do laboratoriów VIII

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL

Stargard Szczecinski i okolice (Polish Edition)

Transkrypt:

Krzysztof Kozłowski,258472 Robert Kumanek, 258588 Muzyczna Baza Danych Nasza baza danych jest próbą usystematyzowanego zarchiwizowania branży muzycznej. Muzyczna Baza Danych( dalej jako MBD) ma wiele różnych zastosowań. Dzięki niej, użytkownik może dowiedzieć się kiedy jego ulubiony zespół zagra koncert i ile będzie kosztował bilet wstępu. Z łatwością będzie również mógł sprawdzić aktualną top listę albumów jak i szybko sprawdzić całą dyskografię zespołu. MBD składa się z 10 relacji: album Pierwsza główna tabela, relacja zawierająca informacje o albumie piosenki relacja zawierająca informacje o wnętrzu albumu wytwornia relacja o wytwórniach, które wydały nasze albumy recenzja zbiór recenzji o albumach zespol Druga główna tabela, relacja zawierająca informacje o nazwie zespołu i jego założeniu koncert - relacja stworzona z myślą o fanach, przechowująca informacje o wydarzeniach muzycznych czlonek relacja zawierająca informacje o wnętrzu zespołu instrument relacja o tym kim są dani członkowie w zespole ranking widok wyświetlający top listę albumów ranking_zespolow widok wyświetlający top listę zespołów

Kod źródłowy DROP TABLE album CASCADE; DROP TABLE czlonek CASCADE; DROP TABLE zespol CASCADE; DROP TABLE instrument CASCADE; DROP TABLE piosenki CASCADE; DROP TABLE wytwornia CASCADE; DROP TABLE koncert CASCADE; DROP TABLE instrument CASCADE; DROP TABLE recenzja CASCADE; CREATE TABLE album( tytul_albumu TEXT PRIMARY KEY, rok_wydania INTEGER, wytwornia TEXT NOT NULL, nazwa_zespolu TEXT NOT NULL, recenzja BOOLEAN DEFAULT FALSE CREATE TABLE recenzja( tresc TEXT PRIMARY KEY, imie_autora TEXT NOT NULL, nazwisko_autora TEXT NOT NULL, ocena_autora INTEGER, tytul_albumu TEXT ALTER TABLE recenzja ADD FOREIGN KEY (tytul_albumu) REFERENCES album(tytul_albumu) ON UPDATE CASCADE ON DELETE CASCADE; CREATE TABLE zespol( nazwa_zespolu TEXT PRIMARY KEY, rok_zalozenia INTEGER ALTER TABLE album ADD FOREIGN KEY(nazwa_zespolu) REFERENCES zespol(nazwa_zespolu) ON UPDATE CASCADE ON DELETE CASCADE; CREATE TABLE czlonek( imie TEXT NOT NULL, nazwisko TEXT NOT NULL, pseudo TEXT, nazwa_zespolu TEXT NOT NULL, PRIMARY KEY(imie, nazwisko) ALTER TABLE czlonek ADD FOREIGN KEY(nazwa_zespolu) REFERENCES zespol(nazwa_zespolu) ON UPDATE CASCADE ON DELETE CASCADE;

CREATE TABLE piosenki( tytul_albumu TEXT NOT NULL, tytul_piosenki TEXT NOT NULL, nr_w_albumie INTEGER NOT NULL, ocena INTEGER, gatunek TEXT, PRIMARY KEY(tytul_albumu,tytul_piosenki) ALTER TABLE piosenki ADD FOREIGN KEY(tytul_albumu) REFERENCES album(tytul_albumu) ON UPDATE CASCADE ON DELETE CASCADE; CREATE TABLE wytwornia( nazwa TEXT PRIMARY KEY, kraj TEXT, miasto TEXT, kod_pocztowy TEXT ALTER TABLE wytwornia ADD CHECK(kod_pocztowy::text ~'^[0-9][2]-[0-9][3]$'::text ALTER TABLE album ADD FOREIGN KEY(wytwornia) REFERENCES wytwornia(nazwa) ON UPDATE CASCADE ON DELETE CASCADE; CREATE TABLE instrument( instrument TEXT NOT NULL, imie TEXT NOT NULL, nazwisko TEXT NOT NULL ALTER TABLE instrument ADD FOREIGN KEY(imie,nazwisko) REFERENCES czlonek(imie,nazwisko) ON UPDATE CASCADE ON DELETE CASCADE; CREATE TABLE koncert( nazwa_zespolu TEXT NOT NULL, data_ DATE, nazwa_wydarzenia TEXT, miejsce TEXT, cena INTEGER, PRIMARY KEY(nazwa_wydarzenia,data_) ALTER TABLE koncert ADD CHECK (cena > 0 ALTER TABLE koncert ADD FOREIGN KEY(nazwa_zespolu) REFERENCES zespol(nazwa_zespolu) ON UPDATE CASCADE ON DELETE CASCADE;

CREATE OR REPLACE FUNCTION srednia_zespolu(nazwa TEXT) RETURNS DECIMAL(4,2) AS $$ DECLARE r RECORD; suma DECIMAL(4,2 ilosc DECIMAL(4,2 suma=0; ilosc=0; FOR r IN SELECT * FROM album WHERE nazwa_zespolu=nazwa LOOP suma= suma + srednia_albumu(r.tytul_albumu ilosc=ilosc+1; END LOOP; suma = suma/ilosc; RETURN suma; CREATE OR REPLACE FUNCTION srednia_albumu(nazwa TEXT) RETURNS DECIMAL(4,2) AS $$ DECLARE r RECORD; suma DECIMAL(4,2 ilosc DECIMAL(4,2 suma=0; ilosc=0; FOR r IN SELECT * FROM piosenki WHERE piosenki.tytul_albumu=nazwa LOOP suma=suma+r.ocena; ilosc=r.nr_w_albumie; END LOOP; suma= suma/ilosc; RETURN suma; --wedlug sredniej albumu CREATE VIEW ranking AS SELECT album.tytul_albumu, srednia_albumu(tytul_albumu) FROM album ORDER BY srednia_albumu(tytul_albumu) DESC; CREATE OR REPLACE VIEW ranking_zespolow AS SELECT DISTINCT album.nazwa_zespolu, srednia_zespolu(nazwa_zespolu) FROM album ORDER BY srednia_zespolu(nazwa_zespolu) DESC;

CREATE OR REPLACE FUNCTION plyty_wydane(nazwa TEXT) RETURNS TABLE(nazwa_plyty TEXT, rok INTEGER) AS $$ RETURN query SELECT album.tytul_albumu, album.rok_wydania FROM album WHERE nazwa=album.nazwa_zespolu; RETURN; CREATE OR REPLACE FUNCTION piosenki_zespolu(nazwa TEXT) RETURNS TABLE(nazwa_plyty TEXT) AS $$ RETURN query SELECT piosenki.tytul_piosenki FROM piosenki,album WHERE album.tytul_albumu=piosenki.tytul_albumu AND nazwa=album.nazwa_zespolu; RETURN; --najblizsze koncerty zespolu CREATE OR REPLACE FUNCTION koncerty_zespolu(nazwa TEXT) RETURNS TABLE(data_ DATE,nazwa_wydarzenia TEXT,miejsce TEXT,cena INTEGER) AS $$ RETURN query SELECT koncert.data_,koncert.nazwa_wydarzenia,koncert.miejsce,koncert.cena FROM koncert WHERE koncert.nazwa_zespolu=nazwa; --wyswietla czlonkow zespolu CREATE OR REPLACE FUNCTION czlonkowie_zespolu(nazwa TEXT) RETURNS TABLE(imie_ TEXT,nazwisko_ TEXT, pseudonim_1 TEXT, instrument_1 TEXT) AS $$ RETURN query SELECT czlonek.imie,czlonek.nazwisko,czlonek.pseudo,instrument.instrument FROM czlonek,instrument WHERE czlonek.imie=instrument.imie AND czlonek.nazwisko=instrument.nazwisko AND czlonek.nazwa_zespolu=nazwa; --nie moze byc dwoch koncertow jednego dnia w innych miejscach CREATE OR REPLACE FUNCTION dwa_koncerty_jeden_dzien() RETURNS TRIGGER AS $$ IF(SELECT nazwa_zespolu FROM koncert WHERE NEW.data_=koncert.data_ AND NEW.miejsce!=koncert.miejsce) IS NOT NULL THEN RAISE EXCEPTION 'Zespol nie moze grac tego samego dnia w dwoch roznych miejscach!'; END IF; RETURN NEW;

CREATE TRIGGER dwa_koncerty BEFORE INSERT OR UPDATE ON koncert FOR EACH ROW EXECUTE PROCEDURE dwa_koncerty_jeden_dzien( --nie moze byc dwoch utworow o tych samych numerach na jednym albumie CREATE OR REPLACE FUNCTION jeden_numer_album() RETURNS TRIGGER AS $$ IF(SELECT piosenki.tytul_piosenki FROM piosenki WHERE NEW.nr_w_albumie=piosenki.nr_w_albumie AND NEW.tytul_albumu=piosenki.tytul_albumu) THEN RAISE EXCEPTION 'Na tym albumie juz jest piosenka od tym numerze!'; END IF; RETURN NEW; --albumy musza byc wydawane chronologicznie CREATE TRIGGER jeden_numer_w_albumie BEFORE INSERT OR UPDATE ON piosenki FOR EACH ROW EXECUTE PROCEDURE jeden_numer_album( CREATE OR REPLACE FUNCTION chronologia_albumu() RETURNS TRIGGER AS $$ IF(SELECT nazwa_zespolu FROM album WHERE (NEW.rok_wydania<album.rok_wydania) AND NEW.nazwa_zespolu=album.nazwa_zespolu) THEN RAISE EXCEPTION 'Albumy mogą być dodawane chronologicznie!'; END IF; RETURN NEW; CREATE TRIGGER chronologia_albumu_ BEFORE INSERT OR UPDATE ON album FOR EACH ROW EXECUTE PROCEDURE chronologia_albumu( INSERT INTO wytwornia VALUES('Parlophone','Niemcy','',NULL INSERT INTO wytwornia VALUES('EMI','Anglia','Londyn',NULL INSERT INTO wytwornia VALUES('BMK','USA','Waszyngton',NULL INSERT INTO wytwornia VALUES('Giant Records','Polska','Katowice',NULL INSERT INTO wytwornia VALUES('Columbia Records','USA','Miami',NULL INSERT INTO wytwornia VALUES('Epic Records','USA','Miami',NULL INSERT INTO zespol VALUES('The Beatles',1960 INSERT INTO zespol VALUES('Bisz',2001 INSERT INTO zespol VALUES('Paktofonika',1998 INSERT INTO zespol VALUES('Nneka',2009 INSERT INTO zespol VALUES('Outlawz',NULL INSERT INTO zespol VALUES('The Clash',1977 INSERT INTO zespol VALUES('Miles Davis Quartet',1964 INSERT INTO zespol VALUES('Abradab',1996

INSERT INTO album VALUES('Revolver',1966,'Parlophone','The Beatles',TRUE INSERT INTO album VALUES('Fandago',1993,'BMK','Bisz',NULL INSERT INTO album VALUES('Kinematografia',1993,'Giant Records','Paktofonika',NULL INSERT INTO album VALUES('Archiwum Kinematografii',1996,'Giant Records','Paktofonika',NULL INSERT INTO album VALUES('Soul is Heavy',2001,'Giant Records','Nneka',NULL INSERT INTO album VALUES('All eyez on me',1993,'giant Records','Outlawz',NULL INSERT INTO album VALUES('Still I Rise',1997,'Epic Records','Outlawz',NULL INSERT INTO album VALUES('London Calling',1979,'Epic Records','The Clash',NULL INSERT INTO album VALUES('Kind of Blue',1979,'Columbia Records','Miles Davis Quartet',NULL INSERT INTO album VALUES('Czerwony Album',2002,'Giant Records','Abradab',NULL INSERT INTO album VALUES('Panato',1994,'BMK','Bisz',NULL INSERT INTO album VALUES('Let It Be',1970,'EMI','The Beatles',NULL INSERT INTO czlonek VALUES('Robert','Napisko','Abradab','Abradab' INSERT INTO czlonek VALUES('Miles','Davis','Gringo','Miles Davis Quartet' INSERT INTO czlonek VALUES('Michal','Urbaniak','Urbanator','Miles Davis Quartet' INSERT INTO czlonek VALUES('Mike','Kennedy',NULL,'Miles Davis Quartet' INSERT INTO czlonek VALUES('Sammy','Lebowsky',NULL,'Miles Davis Quartet' INSERT INTO czlonek VALUES('Patson','Marlsow','Marlboro','The Clash' INSERT INTO czlonek VALUES('Michael','Fins','Finito','The Clash' INSERT INTO czlonek VALUES('Frank','Gibson','Mel','The Clash' INSERT INTO czlonek VALUES('John','Lennon',NULL,'The Beatles' INSERT INTO czlonek VALUES('Paul','McCartney',NULL,'The Beatles' INSERT INTO czlonek VALUES('George','Harrison',NULL,'The Beatles' INSERT INTO czlonek VALUES('Ringo','Starr',NULL,'The Beatles' INSERT INTO czlonek VALUES('Jaroslaw','Jaroszewski','Bisz','The Beatles' INSERT INTO czlonek VALUES('Piotr','Luszcz','Magik','Paktofonika' INSERT INTO czlonek VALUES('Wojciech','Alszer','Fokus','Paktofonika' INSERT INTO czlonek VALUES('Sebastian','Salbert','Rahim','Paktofonika' INSERT INTO czlonek VALUES('Nneka','Egbuna','Nneka','Nneka' INSERT INTO czlonek VALUES('Tupac','Shakur','Tupac','Outlawz' INSERT INTO czlonek VALUES('Mario','Beninson','50 cent','outlawz' ------------------------------------------------------------------------- INSERT INTO piosenki VALUES('All eyez on me','me and my mom',1,2,'reagge' INSERT INTO piosenki VALUES('All eyez on me','fristajlo',2,9,'pop' INSERT INTO piosenki VALUES('All eyez on me','when I saw her',3,4,'pop' INSERT INTO piosenki VALUES('All eyez on me','i want only 3',4,8,'pop' INSERT INTO piosenki VALUES('Still I Rise','Let it on',1,8,'pop' INSERT INTO piosenki VALUES('Still I Rise','Are you ready?',2,3,'pop' INSERT INTO piosenki VALUES('Still I Rise','I',3,2,'pop' INSERT INTO piosenki VALUES('Still I Rise','Me and you',4,3,'pop' INSERT INTO piosenki VALUES('Soul is Heavy','God Of Mercy',1,8,'pop' INSERT INTO piosenki VALUES('Soul is Heavy','Oh wow..',2,2,'soul' INSERT INTO piosenki VALUES('Soul is Heavy','Hey you',3,3,'pop' INSERT INTO piosenki VALUES('Archiwum Kinematografii','Play+Rec',1,7,'rap' INSERT INTO piosenki VALUES('Archiwum Kinematografii','Le sie zmahauem',2,1,'rap' INSERT INTO piosenki VALUES('Archiwum Kinematografii','Mechaniczna pomarancza',3,2,'rap' INSERT INTO piosenki VALUES('Archiwum Kinematografii','A robi sie to tak',4,6,'rap'

INSERT INTO piosenki VALUES('Archiwum Kinematografii','Dla pewnego swego',5,4,'rap' INSERT INTO piosenki VALUES('Kinematografia','Priorytety',1,4,'rap' INSERT INTO piosenki VALUES('Kinematografia','Jestem Bogiem',2,5,'rap' INSERT INTO piosenki VALUES('Kinematografia','W moich kregach',3,2,'rap' INSERT INTO piosenki VALUES('Kinematografia','Chwile ulotne',4,6,'rap' INSERT INTO piosenki VALUES('Kinematografia','Gdyby..',5,8,'rap' INSERT INTO piosenki VALUES('Revolver','Taxman',1,5,'rock' INSERT INTO piosenki VALUES('Revolver','Eleanor Rigby',2,7,'rock' INSERT INTO piosenki VALUES('Revolver','Yellow Submarine',3,8,'rock' INSERT INTO piosenki VALUES('Let It Be','Two of Us',1,2,'rock' INSERT INTO piosenki VALUES('Let It Be','Dig a Pony',2,5,'rock' INSERT INTO piosenki VALUES('London Calling','Bankrobber',5,1,'rock' INSERT INTO piosenki VALUES('London Calling','Should I stay or should I go',3,2,'rock' INSERT INTO piosenki VALUES('London Calling','I fought for law',2,7,'rock' INSERT INTO piosenki VALUES('London Calling','London Calling',7,5,'rock' INSERT INTO piosenki VALUES('Kind of Blue','Collour of Blue',3,7,'jazz' INSERT INTO piosenki VALUES('Kind of Blue','So what',4,9,'jazz' INSERT INTO piosenki VALUES('Kind of Blue','Many tears',1,8,'jazz' INSERT INTO piosenki VALUES('Kind of Blue','Me and my mom',2,8,'jazz' INSERT INTO piosenki VALUES('Czerwony Album','Rapowe ziarno',1,6,'rap' INSERT INTO piosenki VALUES('Czerwony Album','Piosenka o G',2,7,'rap' INSERT INTO piosenki VALUES('Czerwony Album','Zapomnialem tytulu',6,8,'rap' INSERT INTO piosenki VALUES('Czerwony Album','Don Kichot',3,6,'rap' INSERT INTO piosenki VALUES('Czerwony Album','Poprawny wokal',4,5,'rap' INSERT INTO piosenki VALUES('Panato','Sam',1,9,'rap' INSERT INTO piosenki VALUES('Panato','Chodnikowy wilk',3,2,'rap' INSERT INTO piosenki VALUES('Panato','Oni maja nas',2,5,'rap' INSERT INTO piosenki VALUES('Panato','Bezpowrotny szlak',4,3,'rap' INSERT INTO piosenki VALUES('Panato','Burza',5,2,'rap' INSERT INTO piosenki VALUES('Fandago','Glos pokolenia',1,2,'rap' INSERT INTO piosenki VALUES('Fandago','Bambus Murzyn',3,3,'reagge' INSERT INTO piosenki VALUES('Fandago','Babylon',6,2,'ska' INSERT INTO piosenki VALUES('Fandago','Tax',2,4,'heavy metal' INSERT INTO koncert VALUES('The Clash','2014-09-09','T-rock','Miami',75 INSERT INTO koncert VALUES('Miles Davis Quartet','2014-01-09','Jazz Festiwal','New Yourk',50 INSERT INTO koncert VALUES('Bisz','2014-02-09','Hip-Hop Fest','Piotrkow Trybunalski',30 INSERT INTO koncert VALUES('The Clash','2014-10-09','T-rock','Chicago',75 INSERT INTO koncert VALUES('Abradab','2014-05-09','Hip-Hop Fest','Poznan',15 INSERT INTO instrument VALUES('Piotr','Piotr','Luszcz' INSERT INTO instrument VALUES('Paul','Paul','McCartney' INSERT INTO instrument VALUES('Gitara','John','Lennon' INSERT INTO instrument VALUES('Wokal','John','Lennon' INSERT INTO instrument VALUES('Gitara','George','Harrison' INSERT INTO instrument VALUES('Perkusja','Ringo','Starr' INSERT INTO instrument VALUES('Trabka','Miles','Davis' INSERT INTO instrument VALUES('Skrzypce','Michal','Urbaniak' INSERT INTO instrument VALUES('Gitara Basowa','Sammy','Lebowsky' INSERT INTO instrument VALUES('Bongosy','Mike','Kennedy' INSERT INTO instrument VALUES('Gitara','Patson','Marlsow'

INSERT INTO recenzja VALUES('The most innovative track on the album is John Lennon "Tomorrow Never Knows." Attempting to distill an LSD trip into a three-minute song, Lennon borrowed lyrics from Timothy Leary version of The Tibetan Book of the Dead, and recorded his vocal to sound like "the Dalai Lama singing from the highest mountaintop." Tape loops, a backward guitar part (Paul McCartney blistering solo on "Taxman," in fact) and a droning tamboura completed the experimental effect, and the song proved hugely influential. For his part, on "Eleanor Rigby" and "For No One," McCartney mastered a strikingly mature form of art song, and Harrison, with "Taxman," "I Want to Tell You" and "Love You To," challenged Lennon-McCartney songwriting dominance.','john','mckandy',10,'revolver' INSERT INTO recenzja VALUES('Paul McCartney, the most devoted of the gang to the notion of the Beatles (Ringo Starr called him the "Beatleaholic"), thought that the group needed a special project to bring it together. Another White Album-style scenario, with the songwriters in the band working alone in separate studios, enlisting each other to serve as a de facto backup band, was bound to fail. Too much good will and trust had been lost. They needed something big they could all submit to. Several ideas were proposed, most involving a return of some kind to live performance: perhaps a live album of new songs or a huge show in a remote place; maybe the band would charter an ocean liner and make an album on it. Ultimately, it was decided that the band would be filmed on a soundstage rehearsing for a show and developing material for a new album-- a document of the Beatles at work. The theme for the project would be back-to-basics, a return of the group as a performing unit, sans overdubs, emphasizing their inherent musicality. Working title: Get Back.','Stephen','Walken',7,'Let It Be'

Dodawanie albumu Po dodaniu Wyzwalacz chronologia_albumu - próba wprowadzenia krotki jednego zespołu i jego albumu z rokiem wydania wcześniejszego niż poprzednie albumy tego wykonawcy.

Wyzwalacz jeden_numer_album próba wprowadzenia piosenki z konkretnym numerem 2 do albumu, w którym już jest inna piosenka o tym numerze Widok Rankingzespolow Na podstawie ocen z piosenek oblicza ocenę albumu, a po tym oblicza ocenę zespołu na podstawie jego ocen z albumów.