PMG1719/DB Beleg/Louis
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language> =Ziel der Datenbank= In meiner Datenbank erweitere ich einen Gedanken aus dem Unterricht. Dabei werde ich versuchen die Datenbank in Verbindung mit einer Videothek zu erstellen,auch wenn das Thema nicht merhr das akutellste ist . Der Name der Videothek lautet: "Come in & leih out". ==Modellierung in einem ERM== [[Bild:Lou1s_Videothek6.jpeg]] ==Relationenmodell== [[Bild:Lou1s_Diagrammfertig.jpeg]] ''' Relationenmodell meiner Datenbank ''' Wie zu erkennen, besteht es aus mehreren Tabellen ohne die Beziehungen zwischeneinander anzuzeigen. Unterstrichene Wörter sind Primärschlüssel. Auffällig ist die Tabelle "spielt_mit" und "leiht_aus",welche eigentlich Relationen sind. Aufgrund der n zu m Beziehung müssen diese jedoch slebst zu Tabellen werden. ''' Relationen meiner Datenbank ''' Für die meisten beziehungen in meiner Datenbank war die '''1:n''' Beziehung am besten. Ausgehend von der "Videothek" kann man sehr gut sehen, dass diese eine Videothek mehrere Filme, Mitarbeiter sowie Filme haben kann. Bei anderen Beziehungen wie zb. bei den Filmen und den Schauspielern ist eine '''n:m''' Relation am ratvollsten, da diese Schauspiler rein theoretisch in mehreren Filmen arbeiten können. Das heißt mehrere Schauspieler arbeiten in mehreren Filmen mit. ="Come in & leih out"= ==Tabellen== <code id="5c4ab49440f5d"> DROP TABLE IF EXISTS Kunden; Create Table Kunden( Kunden_id INTEGER, Vorname VARCHAR(255), Nachname VARCHAR(255), Age INTEGER, PRIMARY KEY(Kunden_id) ); DROP TABLE IF EXISTS leiht_aus; Create Table leiht_aus( Kunden_id INTEGER, F_id INTEGER Ausleihdatum VARCHAR(255), PRIMARY KEY(Kunden_id), FOREIGN KEY(F_id) ); DROP TABLE IF EXISTS Mitarbeiter; Create Table Mitarbeiter( Mitarbeiter_id INTEGER, vorname VARCHAR(255), Nachname VARCHAR(255), PRIMARY KEY(Mitarbeiter_id) ); DROP TABLE IF EXISTS Film; Create Table Film( F_id INTEGER, Genre VARCHAR(255), name VARCHAR(255), PRIMARY KEY(F_id) ); DROP TABLE IF EXISTS spielt_mit; Create Table spielt_mit( F_id INTEGER, S_id INTEGER, PRIMARY KEY(F_id), PRIMARY KEY(S_id) ); DROP TABLE IF EXISTS Schauspieler; Create Table Schauspieler( S_id INTEGER, vorname VARCHAR(255), Nachname VARCHAR(255), PRIMARY KEY(S_id) ); </code> ==Werte der Tabellen== <code id="5c4ab49440fcf"> INSERT INTO Kunden VALUES(1, 'Max','Schlosser', 18); INSERT INTO Kunden VALUES(2, 'Nico', 'Niederschuh', 18); INSERT INTO Kunden VALUES(3, 'Leopold','Teich' ,18); INSERT INTO Kunden VALUES(4, 'Florian','Tilgner' ,18); INSERT INTO leiht_aus VALUES(1, 2, 1. 1. 2019); INSERT INTO leiht_aus VALUES(2, 3, 2. 12. 2018); INSERT INTO leiht_aus VALUES(3, 4, 5. 1. 2019); INSERT INTO leiht_aus VALUES(4, 1, 1. 10. 2018 ); INSERT INTO Mitarbeiter VALUES(1, 'Lea', 'Palme'); INSERT INTO Mitarbeiter VALUES(2, 'Toni', 'Bobka'); INSERT INTO Mitarbeiter VALUES(3, 'Alban', 'Konjen'); INSERT INTO Mitarbeiter VALUES(4, 'Richard',' Hauschild'); INSERT INTO Film VALUES(1, 'Romantik', 'Pretty Women'); INSERT INTO Film VALUES(2, 'Horror', 'Paranormal Activity'); INSERT INTO Film VALUES(3, 'Komödie', 'Johnny English'); INSERT INTO Film VALUES(4, 'Action','21 JumpStreet'); INSERT INTO spielt_mit VALUES(1, 1); INSERT INTO spielt_mit VALUES(2, 2); INSERT INTO spielt_mit VALUES(3, 3); INSERT INTO spielt_mit VALUES(4, 4); INSERT INTO Schauspieler VALUES(1,'Richard', 'Gere'); INSERT INTO Schauspieler VALUES(2, 'Micah', 'Sloat'); INSERT INTO Schauspieler VALUES(3, 'Rowan',' Atkinson'); INSERT INTO Schauspieler VALUES(4, 'Channing','Tatum'); </code> ==Abfragen== <run id="5c4ac16219530"></run> //Ich habe den Fehler nicht mehr gefunden. =Reflexion der Datenbank= Für mich war die Erstellung einer Datenbank relativ kompliziert. Es fing damit an, mir eine geeignetes Thema auszusuchen, welches auch einfach auf eine Datenbank übertragbar ist. Weiterhin war das Erstellen der Modelle anfangs etwas kompliziert, weswegen ich auch mehrfache Versuche brauchte um ein geeignetes Modell bzw passende Tabellen zu erstellen. Die nun folgende Datenbankerstellung war etwas unersichtlich für mich. Ich brauchte etwas "Inspirationen" von meinen Schulkollegen, um die Datenbank am Ende zu erstellen. '''Fazit''' Nach reiflicher Überlegung und Betrachtung meiner Ergebnisse bin ich zu dem Entschluss gekommen, dass ich nicht unbedingt Informatiker werde. Dennoch hat mir das Erstellen der Datenbank, sowie das hinzufügen des Datensatzes relativ Spaß bereitet. Ich habe eigneltich versucht es mir relativ einfach zu machen, jedoch hat das für mich nicht funktioniert und die Abfrage funktioniert nicht. ==Quellen== Ich habe bei meiner Arbeit keine weiteren Quellen genutzt, jedoch habe ich mir die Wikiseite von Max Schlosser und Lenny Reitz angeschaut und einige SQL Texte abgeschaut.Für die Erarbeitung der Modelle benutzte ich das Programm "Dia".