Lenny

Aus ProgrammingWiki
Archivierte Version vom 2019-01-27T17:13:24+00:00. Aktuelle Version

Ich brauche noch Zeit für eine weitere Abfrage

Ziel der Datenbank

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 (studycheck.de) verwirklicht, die auch viele nützliche Informationen für meine Datenbank bereitstellte.

Modelle

ER-Modell

ER_Modell.png

Relationenmodell

Relationenmodell.png

Erläuterung der Modelle

ER-Modell:

Das ER-Modell besteht aus Entitäten, die dir Oberbegriffe für Tabellen darstellen können, Beziehungen, die diese Entitäten verknüpfen und Attribute, die die Eigenschaften der Entitäten darstellen und Datenfelder der Datenbank sind. Die Entität Hochschule ist über die Beziehung Liegt in mit der Tabelle Standort verknüpft. Gleichermaßen ist Hochschule auch über die Beziehung Bietet an mit der Tabelle Studiengang verknüpft. Die Entität Schüler steht in keiner direkten Beziehung zu den anderen Entitäten.

Hochschule und Studiengang sind mit einer 1:n-Beziehung verknüpft, d.h. eine Hochschule kann mehrere Studiengänge anbieten, aber ein Studiengang kann nur von einer Hochschule angeboten werden.

Hochschule und Standort sind über eine n:m-Beziehung verknüpft, d.h. eine Hochschule kann an mehreren Standorten liegen und ein Standort kann mehrere Hochschulen beherbergen.

Relationenmodell:

Um das ER-Modell in ein Relationenmodell zu übertragen, muss jede Entität in eine Tabelle umgewandelt werden. Außerdem muss darauf geachtet werden, dass bei einer 1:n-Beziehung ein Fremdschlüssel als Datenfeld eingefügt werden muss, in diesem speziellen Fall muss in Studiengang der Primärschlüssel von Hochschule als Fremdschlüssel eingetragen werden.

Für die n:m-Beziehung zwischen Standort und Hochschule muss als Relation im eine neue Tabelle Liegt in zwischen Standort und Hochschule erstellt werden, die von beiden den Primärschlüssel beinhaltet.

Gewährleistung der Normalisierung

Die Normalisierung meiner Datenbank ist durch die Beachtung der 3 Normalformen gewährleistet. Die Tabelle ist nach der ersten Normalform so zerlegt, dass in jedem Feld nur eine Information steht. Die Primärschlüssel der jeweiligen Tabellen sind anch der zweiten Normalform eindeutig zuzuordnen. Es erfolgt eine Aufsplittung in Tabellen und Verknüpfungen. Auch die dritte Normalform ist gewährleistet, da es keine Datenfelder gibt, die Abhängigkeiten zu anderen Datenfeldern in derselben Tabelle haben.

Umsetzung der Datenbank

Erstellen der Struktur der Datenbank mit 5 Tabellen:

Tabellenstruktur

Einfügen von Datensätzen in die Datenbank:

Datensätze

Anmerkungen

Ausgehend davon, dass alle Schüler zurzeit in Bautzen sind, bezieht sich das Feld Entfernung in der Tabelle Standort auf die Entfernung der jeweiligen Stadt zu Bautzen.

Die Finanzen der Schüler beziehen sich auf den maximal erschwinglichen Geldbetrag Miete an Euro pro Quadratmeter. Auch der Mietpreis bei Standort bezieht sich auf die durchschnittliche Miete pro Quadratmeter.

Abfragen

Allgemeine Abfragen

Die folgenden Abfragen sind allgemein und sollen Funktionsweise und Umfang der Datenbank darstellen.

1) Welche Hochschulen stehen zur Auswahl?

2) Welche Studiengänge bieten als Abschluss den "Bachelor of Science"?

3) Welche Studiengänge kann man an der "HTW Dresden" studieren?

'''4) Welche Studiengänge haben eine bessere Bewertung als 4.0 und mehr als 8 Semester und an welchen Hochschulen werden diese Studiengänge unterrichet?

'''5) In welcher Stadt ist ein informatisches Studium von den Mietpreisen aus gesehen am günstigsten?

Konkrete Abfragen

Die folgenden Abfragen werden mithilfe der fiktiven Schüler-Tabelle verwirklicht.

1) An welchen Hochschulen und in welchen Städten kann 'Adrian Sommer' nach seiner Interesse und gemäß seiner Finanzen studieren?

2) Gibt es eine Möglichkeit bei der Adrian und Herta an der gleichen Hochschule studieren?

3) Herta möchte in einer Stadt studieren, die möglichst weit weg ist

Kritische Reflexion

Ich schätze meinen Datenbank-Beleg als gelungenes Beispiel für eine praxisnahe Anwendung ein. Eine Datenbank dieser Art kann bei noch größeren Datenmengen sehr hilfreich für Schüler und Studieninteressierte sein. Ich kann durch die Fülle an Informationen zu Studiengängen und Hochschulen keine repräsentative Datenbank erstellen, aber die eingeschränkte Funktionsweise meiner Datenbank zeigt das mögliche Potenzial dieser Idee. Leider kann ich die direkte Verknüpfung bei Abfragen zwischen der Schüler-Tabelle und den anderen Tabellen noch nicht herstellen, deshalb erfolgt dies indirekt.

Quellen

  1. http://www.datenbanken-verstehen.de
  2. https://www.studycheck.de
  3. https://www.google.com/maps
  4. https://www.draw.io
  5. https://www.dbdesigner.net