PMG2224 4/DB Beleg/Annika

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
=''' Datenbank zum Thema "Künstler und ihre bekanntesten Lieder" '''=


===='''Begründung der Themenwahl:'''====

Um sich einen Überblick über gewisse Künstler und ihre bekanntesten Werke zu verschaffen zu können, muss man oft etwas länger recherchieren, bis man die wichtigsten Fakten zusammenkratzen kann. Ziel dieser Datenbank ist demzufolge die strukturierte Auflistung der Informationen und das daraus resultierende Einsparen von Zeit.

----

==='''ERM'''===

[[Bild:Annika S_Image.png]]


----

==='''Relationenmodell'''===


[[Bild:Annika S_Image_(1).png]]


----

=='''Datenbank'''==

<code>
DROP TABLE IF EXISTS Künstler;
CREATE TABLE Künstler(
  Künstlernr varchar NOT NULL,
  Name varchar NOT NULL,
  Vorname varchar,
  Datum varchar,
  Ort varchar,
  PRIMARY KEY (Künstlernr)

);

DROP TABLE IF EXISTS Song;
CREATE TABLE Song(
  Songnr varchar NOT NULL,
  SName varchar NOT NULL,
  Künstlernr varchar NOT NULL,
  SDatum varchar NOT NULL,
  Genre varchar(20),
  SSprache varchar (20),
  PRIMARY KEY (Songnr),
  FOREIGN KEY (Künstlernr) REFERENCES Künstler(Künstlernr)
);

INSERT INTO Künstler VALUES ('01', 'The Beatles', '', '1960-1970', 'Vereinigtes Königreich');
INSERT INTO Song VALUES ('001', 'Hey Jude', '01', '1968', 'Pop-Rock', 'Englisch');
INSERT INTO Song VALUES ('002', 'Let it be', '01', '1970', 'Pop-Rock', 'Englisch');
INSERT INTO Song VALUES ('003', 'Yesterday', '01', '1965', 'Ballade', 'Englisch');

INSERT INTO Künstler VALUES ('02', 'Jackson', 'Michael', '1964-2009', 'Vereinigte Staaten');
INSERT INTO Song VALUES ('004', 'Smooth Criminal', '02', '1988', 'Dance-Pop', 'Englisch');
INSERT INTO Song VALUES ('005', 'Thriller', '02', '1982', 'Soul', 'Englisch');
INSERT INTO Song VALUES ('006', 'Billie Jean', '02', '1983', 'Funk', 'Englisch');

INSERT INTO Künstler VALUES ('03', 'Madonna', '', 'seit 1979', 'Vereinigte Staaten');
INSERT INTO Song VALUES ('007', 'Frozen', '03', '1998', 'Pop', 'Englisch');
INSERT INTO Song VALUES ('008', 'Vogue', '03', '1990', 'Pop', 'Englisch');
INSERT INTO Song VALUES ('009', 'Like a prayer', '03', '1989', 'Pop', 'Englisch');

INSERT INTO Künstler VALUES ('04', 'Rihanna', '', 'seit 2005', 'Barbados');
INSERT INTO Song VALUES ('010', 'Umbrella', '04', '2007', 'Dance-Pop', 'Englisch');
INSERT INTO Song VALUES ('011', 'Rude Boy', '04', '2010', 'Pop', 'Englisch');
INSERT INTO Song VALUES ('012', 'Diamonds', '04', '2012', 'Pop', 'Englisch');

INSERT INTO Künstler VALUES ('05', 'Beyoncé', '', 'seit 1997', 'Vereinigte Staaten');
INSERT INTO Song VALUES ('013', 'Crazy in love', '05', '2003', 'Pop', 'Englisch');
INSERT INTO Song VALUES ('014', 'Single Ladies', '05', '2008', 'Dance-Pop', 'Englisch');
INSERT INTO Song VALUES ('015', 'Halo', '05', '2009', 'Pop', 'Englisch');

INSERT INTO Künstler VALUES ('06', 'Queen', '', '1970-1995', 'Vereinigtes Königreich');
INSERT INTO Song VALUES ('016', 'Bohemian Rhapsody', '06', '1975', 'Rock', 'Englisch');
INSERT INTO Song VALUES ('017', 'Under Pressure', '06', '1981', 'Rock', 'Englisch');
INSERT INTO Song VALUES ('018', 'We will Rock you', '06', '1979', 'Rock', 'Englisch');

</code>

=='''Abfragen'''==

==='''Ausgabe aller Tabellen'''===

<run>
SELECT * FROM Künstler;
SELECT * FROM Song;
</run>

==='''Abfrage 1'''===

Aufgabe: Geben Sie alle Künstler an, die aus den Vereinigten Staaten sind.

<run>
SELECT * FROM Künstler WHERE Ort = 'Vereinigte Staaten';
</run>

==='''Abfrage 2'''===

Aufgabe: Geben Sie alle Songs an, dessen Genre entweder Pop oder Pop-Rock ist.

<run>
SELECT * FROM Song WHERE Genre = 'Pop' OR Genre = 'Pop-Rock';
</run>

==='''Abfrage 3'''===

Aufgabe: Geben Sie alle Künstlernamen, Vornamen und Songnamen sortiert (von A zu Z) an.

<run>
SELECT Name, Vorname FROM Künstler ORDER BY Name;
SELECT SName FROM Song ORDER BY SName;
</run>

==='''Abfrage 4'''===

Aufgabe: Geben Sie alle Songs an, dessen Name mit S oder H anfängt. Sortiere entsprechend der Reihenfolge der Aufgabenstellung.

<run>
SELECT * FROM Song Where SName LIKE 'S%' OR SName LIKE 'H%' ORDER BY SName DESC;
</run>


==='''Abfrage 5'''===

Aufgabe: Geben Sie alle Künstlernamen und Vornamen an, die während den 60er Jahren aktiv Musik veröffentlicht haben. 
<run>
SELECT Name, Vorname, Datum FROM Künstler WHERE Datum LIKE '196%';
</run>

==='''Abfrage 6'''===

Aufgabe: Geben Sie alle Songs an, dessen Songnummer zwischen 003 und 007 oder zwischen 010 und 018 liegt, sowie das Genre Dance-Pop aufweisen. 
<run>
SELECT * FROM Song WHERE Genre = 'Dance-Pop' AND (Songnr BETWEEN 003 AND 007) OR (Songnr BETWEEN 010 AND 018);
</run>

----
'''Quellen:'''
*https://erdplus.com/
*https://en.wikipedia.org/wiki/List_of_best-selling_music_artists
*https://de.wikipedia.org/wiki/The_Beatles
*https://de.wikipedia.org/wiki/Hey_Jude
*https://de.wikipedia.org/wiki/Yesterday
*https://de.wikipedia.org/wiki/Michael_Jackson
*https://de.wikipedia.org/wiki/Billie_Jean
*https://de.wikipedia.org/wiki/Smooth_Criminal
*https://de.wikipedia.org/wiki/Madonna_(K%C3%BCnstlerin)
*https://de.wikipedia.org/wiki/Rihanna
*https://de.wikipedia.org/wiki/Beyonc%C3%A9
*https://de.wikipedia.org/wiki/Queen_(Band)