PMG1719/DB Beleg/Lenny
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language> <h2>Ziel der Datenbank</h2> Das Ziel meiner Datenbank ist es, eine Orientierungshilfe für die Studienplatzwahl zu sein. Dabei werden viele Faktoren rund ums Studium aufgegriffen, was bedeutet, dass durch komplexe und gezielte Abfragen, genau die Studiengänge angezeigt werden, die für jeden individuell relevant sind. Um das zu erreichen, arbeite ich mit 3 Entitäten, welche Hauptmerkmale eines späteren Studiums darstellen. Dazu zählt die '''Hochschule''' an der man studieren will, die angebotenen '''Studiengänge''' und das Umfeld der Hochschule, der '''Standort'''. Natürlich kann die Fülle an Hochschulen und die noch größere Anzahl an Studiengängen nicht als Datenbank für diesen Beleg dienen. Deshalb habe ich eine Auswahl an Hochschulen und Studiengängen getroffen, um die Funktionsweise der Datenbank zu gewährleisten, aber den Rahmen nicht zu sprengen. Beispiele für eine mögliche Anwendung der Datenbank bringt die Tabelle '''Schüler'''. In dieser Tabelle sind fiktive Personen mit fiktiven Eigenschaften aufgelistet, die alle in Bautzen wohnen und auf der Suche nach einem Studienplatz sind. Mit geeigneten Abfragen kann man Interessen und finanzielle Umstände der Schüler mit der Datenbank abgleichen und so den besten Studiengang für jeden individuell herausfinden. Ich habe dieses Thema ausgewählt, da ich mich selbst bereits intensiv mit der Studienplatzwahl auseinandergesetzt habe und es dabei oftmals schwierig war, auf den verschiedenen Hochschulseiten die wichtigen Informationen herauszufinden. Deshalb ist es sinnvoll, die Suche nach dem richtigen Studiengang auf die wichtigsten Informationen - z.B. in Form einer Datenbank - zuzuschneiden. Dieses Prinzip ist bereits als Webseite ([https://www.studycheck.de studycheck.de]) verwirklicht, die auch viele nützliche Informationen für meine Datenbank bereitstellte. <h2>Modelle</h2> <h3>ER-Modell</h3> [[Bild:ER_Modell.png | 1400px]] <h3>Relationenmodell</h3> [[Bild:Relationenmodell.png]] <h3>Erläuterung der Modelle</h3> <h2>Umsetzung der Datenbank</h2> Erstellen der Struktur der Datenbank mit 5 Tabellen: <popup name="Tabellenstruktur"> <code id="5c383be27b057"> CREATE TABLE Hochschule( hochschul_id INTEGER, hochschul_name VARCHAR(255), studenten_zahl INTEGER, PRIMARY KEY(hochschul_id) ); CREATE TABLE Standort( standort_id INTEGER, standort_name VARCHAR(255), bundesland_name VARCHAR(255), einwohner_zahl INTEGER, mietpreis FLOAT(5), entfernung INTEGER, PRIMARY KEY(standort_id) ); CREATE TABLE Studiengang( studiengang_id INTEGER, hochschul_id INTEGER, studiengang_name VARCHAR(255), bewertung FLOAT(3), semester_zahl INTEGER, semester_typ VARCHAR(255), abschluss VARCHAR(255), fakultaet VARCHAR(255), PRIMARY KEY(studiengang_id) ); CREATE TABLE Liegt_in( hochschul_id INTEGER, standort_id INTEGER ); CREATE TABLE Schueler( schueler_id INTEGER, name VARCHAR(255), vorname VARCHAR(255), interesse VARCHAR(255), finanzen FLOAT(5), PRIMARY KEY(schueler_id) ); </code> </popup> Einfügen von Datensätzen in die Datenbank: <popup name="Datensätze"> <code id="5c3b3aab93c94"> INSERT INTO Hochschule VALUES (0, 'HTW Dresden', 4856), (1, 'Hochschule Zittau/Görlitz', 3017), (2, 'Hochschule Stralsund', 2173), (3, 'Hochschule Harz', 2965), (4, 'Berufsakademie Bautzen', 640), (5, 'Hochschule Hof', 3464), (6, 'Hochschule Mittweida', 6350), (7, 'TU Bergakademie Freiberg', 5502), (8, 'HTWK Leipzig', 6400), (9, 'Uni Leipzig', 30226), (10, 'TU Dresden', 33506), (11, 'TU Chemnitz', 10631), (12, 'Uni Potsdam', 20819), (13, 'Hochschule Trier', 8025); INSERT INTO Studiengang VALUES (0, 0, 'Informatik', 4.0, 6, 'Wintersemester', 'Bachelor of Science', 'Informatik/Mathematik'), (1, 0, 'Produkt und Kommunikation', 4.2, 6, 'Wintersemester', 'Bachelor of Arts', 'Design'), (2, 0, 'Bauingenieurwesen', 3.9, 2, 'Wintersemester', 'Master of Science', 'Bauingenieurwesen'), (3, 0, 'Medieninformatik', 3.7, 8, 'Wintersemester', 'Diplom', 'Informatik/Mathematik'), (4, 0, 'Gartenbau', 3.6, 7, 'Wintersemester', 'Bachelor of Science', 'Landbau/Umwelt/Chemie'), (5, 1, 'Automatisierung/Mechatronik', 4.5, 7, 'Wintersemester', 'Bachelor of Science', 'Elektrotechnik und Informatik'), (6, 1, 'Informatik', 4.3, 6, 'Wintersemester', 'Bachelor of Science', 'Elektrotechnik und Informatik'), (7, 1, 'Kommunikationspsychologie', 3.8, 7, 'Wintersemester', 'Bachelor of Arts', 'Sozialwissenschaften'), (8, 1, 'Wirtschaftsingenieurwesen', 4.2, 8, 'Wintersemester', 'Diplom', 'Wirtschaftswissenschaften und Wirtschaftsingenieurwesen'), (9, 1, 'Wirtschaft und Sprachen', 4.2, 8, 'Wintersemester', 'Bachelor of Arts', 'Management und Kulturwissenschaften'), (10, 2, 'Betriebswirtschaftslehre', 3.9, 7, 'Wintersemester', 'Bachelor of Arts', 'Wirtschaft'), (11, 2, 'Wirtschaftsinformatik', 4.3, 7, 'Wintersemester', 'Bachelor of Science', 'Wirtschaft'), (12, 2, 'Wirtschaftsinformatik', 4.2, 3, 'Sommer- & Wintersemester', 'Master of Science', 'Wirtschaft'), (13, 3, 'Smart Automation', 4.5, 7, 'Wintersemester', 'Bachelor of Engineering', 'Automatisierung und Informatik'), (14, 3, 'Medien- und Spielekonzeption', 4.3, 4, 'Sommer- & Wintersemester', 'Master of Arts', 'Automatisierung und Informatik'), (15, 3, 'Medieninformatik', 4, 7, 'Wintersemester', 'Bachelor of Science', 'Automatisierung und Informatik'), (16, 4, 'Finanzmanagement', NULL, 6, 'Wintersemester', 'Bachelor of Arts', NULL), (17, 4, 'Medizintechnik', NULL, 6, 'Wintersemester', 'Bachelor of Engineering', NULL), (18, 4, 'Wirtschaftsinformatik', 4, 6, 'Wintersemester', 'Bachelor of Science', NULL), (19, 5, 'Verwaltungsinformatik', 3.4, 6, 'Wintersemester', 'Diplom', 'Informatik'), (20, 5, 'Informatik', 4.7, 7, 'Wintersemester', 'Bachelor of Science', 'Informatik'), (21, 5, 'Innovative Textilien', 4.2, 7, 'Wintersemester', 'Bachelor of Engineering', 'Ingenieurwissenschaften'), (22, 6, 'Angewandte Informatik', 3, 6, 'Wintersemester', 'Bachelor of Science', 'Angewandte Computer- und Biowissenschaften'), (23, 6, 'Angewandte Medien', 3.7, 6, 'Sommer- & Wintersemester', 'Bachelor of Arts', 'Medien'), (24, 6, 'Biotechnologie', 3.8, 6, 'Wintersemester', 'Bachelor of Science', 'Angewandte Computer- und Biowissenschaften'), (25, 7, 'Chemie', 4.3, 6, 'Sommer- & Wintersemester', 'Bachelor of Science', 'Mathematik, Informatik & Naturwissenschaften'), (26, 7, 'Geophysik', NULL, 4, 'Sommer- & Wintersemester', 'Master of Science', 'Geowissenschaften, Geotechnik und Bergbau'), (27, 7, 'Angewandte Informatik', 4.5, 6, 'Sommer- & Wintersemester', 'Bachelor of Science', 'Mathematik und Informatik'), (28, 8, 'Architektur', 3.5, 6, 'Wintersemester', 'Master of Science', 'Architektur und Sozialwissenschaften'), (29, 8, 'Soziale Arbeit', 3.8, 6, 'Wintersemester', 'Bachelor of Arts', 'Architektur und Sozialwissenschaften'), (30, 8, 'Energie-, Gebäude- und Umwelttechnik', 2.5, 4, 'Wintersemester', 'Master of Engineering', 'Maschinenbau und Energietechnik'), (31, 9, 'Informatik', 4, 6, 'Wintersemester', 'Bachelor of Science', 'Informatik und Mathematik'), (32, 9, 'Journalismus', 3.7, 6, 'Wintersemester', 'Master of Arts', 'Sozialwissenschaften'), (33, 9, 'Mathematik', 4.2, 10, 'Wintersemester', 'Diplom', 'Informatik und Mathematik'), (34, 10, 'Bahnsystemingenieurwesen', 4.1, 4, 'Wintersemester', 'Master of Science', 'Verkehrswissenschaften'), (35, 10, 'Englisch (Lehramt)', 3.7, 10, 'Wintersemester', 'Staatsexamen', 'Sprach-, Literatur- und Kulturwissenschaften'), (36, 10, 'Elektrotechnik', 4.1, 10, 'Wintersemester', 'Diplom', 'Elektrotechnik und Informationstechnik'), (37, 11, 'Angewandte Informatik', 3.7, 6, 'Wintersemester', 'Bachelor of Science', 'Informatik'), (38, 11, 'Digitale Medien- und Kommunikationskulturen', 3.4, 4, 'Wintersemester', 'Master of Arts', 'Philosophie'), (39, 11, 'Germanistik', 3.9, 6, 'Wintersemester', 'Bachelor of Arts', 'Philosophie'), (40, 12, 'Informatik / Computational Science', 3.4, 6, 'Wintersemester', 'Bachelor of Science', 'Mathematik und Naturwissenschaften'), (41, 12, 'Physik', 4, 6, 'Wintersemester', 'Bachelor of Science', 'Mathematik und Naturwissenschaften'), (42, 12, 'Politik und Wirtschaft', 4, 6, 'Wintersemester', 'Bachelor of Science', 'Wirtschafts- und Sozialwissenschaften'), (43, 13, 'Angewandte Informatik', 3.2, 7, 'Sommer- & Wintersemester', 'Bachelor of Science', 'Informatik'), (44, 13, 'Kommunikationsdesign', 3.8, 6, 'Sommer- & Wintersemester', 'Bachelor of Arts', 'Gestaltung'), (45, 13, 'Informatik', NULL, 6, 'Sommer- & Wintersemester', 'Bachelor of Science', 'Informatik'); INSERT INTO Standort VALUES (0, 'Dresden', 'Sachsen', 543825, 8.29, 64), (1, 'Zittau', 'Sachsen', 28906, 4.13, 50), (2, 'Görlitz', 'Sachsen', 55928, 4.81, 51), (3, 'Stralsund', 'Mecklenburg-Vorpommern', 59517, 7.98, 501), (4, 'Wernigerode', 'Brandenburg', 35041, 6.8, 311), (5, 'Halberstadt', 'Brandenburg', 43224, 5.08, 295), (6, 'Bautzen', 'Sachsen', 40798, 6.22, 0), (7, 'Hof', 'Bayern', 47275, 5.74, 235), (8, 'Münchberg', 'Bayern', 11087, 5.74, 253), (9, 'Mittweida', 'Sachsen', 15907, 6.15, 116), (10, 'Freiberg', 'Sachsen', 41823, 7.35, 107), (11, 'Leipzig', 'Sachsen', 560472, 10.43, 169), (12, 'Chemnitz', 'Sachsen', 246353, 5.16, 133), (13, 'Potsdam', 'Brandenburg', 171810, 10.77, 244), (14, 'Trier', 'Rheinland-Pfalz', 114914, 8.67, 691), (15, 'Idar-Oberstein', 'Rheinland-Pfalz', 31082, 5.47, 631); INSERT INTO Liegt_in VALUES (0, 0), (1, 1), (1, 2), (2, 3), (3, 4), (3, 5), (4, 6), (5, 7), (5, 8), (6, 9), (7, 10), (8, 11), (9, 11), (10, 0), (11, 12), (12, 13), (13, 14), (14, 15); INSERT INTO Schueler VALUES (0, 'Sommer', 'Adrian', 'Wirtschaft', 10.5), (1, 'Dumat', 'Manfred', 'Lehramt', 8), (2, 'Warner', 'Herta', 'Informatik', 7.3), (3, 'Benke', 'Irma', 'Mathematik', 12), (4, 'Dietz', 'Waldemar', 'Wirtschaft', 6); </code> </popup> <h2>Abfragen</h2> <h3>Allgemeine Abfragen</h3> <p>Die folgenden Abfragen sind allgemein und sollen Funktionsweise und Umfang der Datenbank darstellen.</p> '''1) Welche Hochschulen stehen zur Auswahl?''' <run id="5c4a41c8048d3"> SELECT hochschul_name FROM Hochschule; </run> '''2) Welche Studiengänge bieten als Abschluss den "Bachelor of Science"?''' <run id="5c4a42f3cc98a"> SELECT * FROM Studiengang WHERE abschluss = 'Bachelor of Science'; </run> '''3) Welche Studiengänge kann man an der "HTW Dresden" studieren?''' <run id="5c4a44a2215c1"> SELECT Studiengang.studiengang_name AS Studiengang, Studiengang.abschluss AS Abschluss FROM Hochschule, Studiengang WHERE Hochschule.hochschul_name = 'HTW Dresden' AND Hochschule.hochschul_id = Studiengang.hochschul_id; </run> <h3>Konkrete Abfragen</h3> Die folgenden Abfragen werden mithilfe der fiktiven Schüler-Tabelle verwirklicht. <run id="5c383be27b0c7"> </run> <h2>Kritische Reflexion</h2>