Lenny

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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 alle Interessen in einer Datenbank abdecken. 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, welche mir viele nützliche Informationen für meine Datenbank bereitstellte.

Modelle

ER-Modell

ER Modell.png

Relationenmodell

Relationenmodell.png

Erläuterung der Modelle

ER-Modell:

Ein "Entity-Relationship-Modell" dient der Vereinfachung komplexer Beziehungen eines Sachverhaltes. Das Modell wird durch 2 verschiedene Bausteine mit unterschiedlichen Aufgaben zusammengesetzt.

Das ER-Modell besteht aus Entitäten, die die 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.

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 eine neue Tabelle Liegt in zwischen Standort und Hochschule erstellt werden, die den Primärschlüssel sowohl von der Tabelle Standort, als auch von der Tabelle Hochschule beinhaltet.

Kardinalitäten

Eine 1:1-Beziehung besteht zwischen zwei Tabellen, wenn sich die Attribute der Tabellen gegenseitig eineindeutig zuordnen lassen.

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.

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 nach der zweiten Normalform eindeutig zugeordnet, um Änderungen einheitlich vorzunehmen. 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:

Einfügen von Datensätzen in die Datenbank:

Anmerkungen

Ausgehend davon, dass alle Schüler zurzeit in Bautzen wohnen, 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.

Der Einfachheit halber wird vernachlässigt, dass verschiedene Studiengänge einer Hochschule an unterschiedlichen Standorten unterrichtet wird. Außerdem wird nicht beachtet, dass Schüler mehr als eine Interesse haben.

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 trotzdem 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. Alles in Allem bin ich jedoch zufrieden mit dem Resultat, da die relativ simple Umsetzung bereits gute Effekte erzielt.

Quellen

  1. http://www.datenbanken-verstehen.de
  2. https://www.studycheck.de
  3. https://www.google.com/maps
  4. https://www.wohnungsboerse.net
  5. https://www.draw.io
  6. https://www.dbdesigner.net
Persönliche Werkzeuge