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 int,
Name varchar NOT NULL,
Vorname varchar,
Datum varchar,
Ort varchar,
PRIMARY KEY (Künstlernr)
);
DROP TABLE IF EXISTS Song;
CREATE TABLE Song(
Songnr int,
SName varchar NOT NULL,
Künstlernr int,
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 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 5'''===
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 6'''===
Aufgabe: Geben Sie alle Songs an, dessen Songnummer zwischen 003 und 007 oder zwischen 011 und 018 liegt, sowie das Genre Dance-Pop aufweisen. Sortieren Sie die Songs entsprechend von A zu Z.
<run>
SELECT * FROM Song WHERE Genre = 'Dance-Pop' AND (Songnr BETWEEN 003 AND 007) OR Genre = 'Dance-Pop' AND (Songnr BETWEEN 011 AND 018) ORDER BY SName;
</run>
=='''Abfrage 0'''==
Probieren Sie selber!
<run></run>
=='''Kritische Reflexion'''==
Zu Beginn muss man anmerken, dass meine Datenbank eine relativ einfache Kardinalität (1:n) zwischen lediglich zwei Entitäten aufweist, weshalb das ERM- sowie RM-Modell einfach aufgebaut sind. Außerdem war dies auch der Grund dafür, dass die Verschriftlichung der Daten in der Code-Box simpel vonstattenging. Dazu kommt natürlich auch, dass die Abfragen nicht sehr kompliziert aufgebaut werden konnten, da man die angegebenen Daten aus nur zwei Tabellen aufrufen kann.
Genrell gesehen besitzt die Datenbank auch Inhaltsmängel, da das ausgesuchte Thema relativ komplex und breit aufgebaut ist und so weitere Attribute hätten hinzugefügt werden können. Zudem wäre die Ergänzung der Datenbank um weitere Künstler und Lieder denkbar, damit es ihre Aufgabe, als zeitsparendes Mittel, weitreichender erfüllen kann. Und vor allem daher, dass das Attribut "SSprache" bisher keine große Bedeutung hatte, da alle ausgewählten Lieder auf Englisch sind, wäre eine Ergänzung, um Lieder mit anderen Sprachen, klug.
----
'''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)