Datenbanksysteme sind eine wichtige Grundlage der Informatik. Bei richtiger Anwendung ermöglichen sie eine sichere, effektive und effiziente Datenhaltung. Für nahezu alle Unternehmungen stellen Datenbanksysteme die benötigten Informationen bereit und sichern somit Information als wichtigen Produktionsfaktor.
Die Entwicklung, Wartung und Verbesserung eines Datenbanksystems ist eine außerordentlich wichtige Aufgabe für ein Unternehmen. Sie trägt einen wichtigen Beitrag zum unternehmerischen Erfolg bei. Deutlich wird dies bei Betrachtung der Auswirkung eines fehlerhaften Datenbanksystems bei einer Bank. Sollten hier Transaktion oder ganze Kontostände fehlerhaft sein, ist der Schaden enorm.
In der vorliegenden Arbeit wird mit Hilfe eines Datenbanksystems eine anschauliche und strukturierte Verwaltung von Abschlussarbeiten ermöglicht. Die Dateneingabe und Übersicht erfolgt durch eine Webanwendung. Das Datenbanksystem ermöglicht, auch bei einer sehr hohen Studentenzahl, eine sichere Speicherung der Studentendaten sowie wichtige Informationen zu begonnenen und fertiggestellten Abschlussarbeiten. Ohne eine Datenbank wäre dies in einer so übersichtlichen Form nicht möglich.
Inhalt
Abkürzungsverzeichnis
Abbildungsverzeichnis
1 Einleitung
1.1 Ziel dieser Arbeit
1.2 Aufbau dieser Arbeit
2 Definitionen
2.1 SQL
2.2 Relationales Datenmodell
3 Grundlagen
3.1 Datenbankentwurf
3.2 MySQL
3.3 PHP
4 Realisierung der Datenbank und der Oberfläche
4.1 Konstruktion der Datenbank
4.1.1 Anforderungsanalyse
4.1.2 Konzeptuelle Modellbildung
4.1.3 Logisches Design
4.1.4 Implementationsphase
4.2 Konstruktion der Oberfläche
4.2.1 Struktur der Oberfläche
4.2.2 Dateneingabe
4.2.3 Datenausgabe
5 Zusammenfassung und kritische Auseinandersetzung
6 Literaturverzeichnis
Anhang:
Dateianhang:
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abbildung 1: Entity-Relationship-Modell
Abbildung 2: Relationales Datenmodell
Abbildung 3: Navigation Datenbank
Abbildung 4: Dateneingabe Student
Abbildung 5: Abschlussarbeiten in Bearbeitung, Sicht 29.05.2016
Abbildung 6: Abgeschlossene Abschlussarbeiten, Sicht 29.05.2016
1 Einleitung
Datenbanksysteme sind eine wichtige Grundlage der Informatik. Bei richtiger Anwendung ermöglichen sie eine sichere, effektive und effiziente Datenhaltung. Für nahezu alle Unternehmungen stellen Datenbanksysteme die benötigten Informationen bereit und sichern somit Information als wichtigen Produktionsfaktor.
Die Entwicklung, Wartung und Verbesserung eines Datenbanksystems ist eine außerordentlich wichtige Aufgabe für ein Unternehmen. Sie trägt einen wichtigen Beitrag zum unternehmerischen Erfolg bei. Deutlich wird dies bei Betrachtung der Auswirkung eines fehlerhaften Datenbanksystems bei einer Bank. Sollten hier Transaktion oder ganze Kontostände fehlerhaft sein, ist der Schaden enorm.
Auch Webanwendung wie zum Beispiel Weblogs, Onlineshops oder Content Management
Systeme sind häufig an ein Datenbanksystem angebunden. Sie bieten dem Benutzer die
Möglichkeit komfortabel und übersichtlich auf die gewünschten Daten zuzugreifen.
In der vorliegenden Arbeit wird mit Hilfe eines Datenbanksystems eine anschauliche und
strukturierte Verwaltung von Abschlussarbeiten ermöglicht. Die Dateneingabe und
Übersicht erfolgt durch eine Webanwendung. Das Datenbanksystem ermöglicht, auch bei
einer sehr hohen Studentenzahl, eine sichere Speicherung der Studentendaten sowie
wichtige Informationen zu begonnenen und fertiggestellten Abschlussarbeiten. Ohne eine
Datenbank wäre dies in einer so übersichtlichen Form nicht möglich.
1.1 Ziel dieser Arbeit
Die in der Einleitung beschriebene Datenbank soll mit Hilfe von MySQL erstellt werden. Zudem wird mit Hilfe von HTML und PHP, die Oberfläche erstellt, die zur Dateneingabe und strukturierten Abbildung der gewünschten Information dient.
Der Datenbankentwurf sowie PHP und das Zusammenwirken mit MySQL ist ein komplexes und weitreichendes Thema. Wichtige Grundlagen und die für diese Arbeit entscheidende Punkte sollen kurz vorgestellt werden.
Hauptziel dieser Arbeit ist die Darlegung und Argumentation der Vorgehensweise, bei der Konstruktion der Datenbank sowie deren Benutzeroberfläche.
1.2 Aufbau dieser Arbeit
Nach der Einleitung stelle ich die Definitionen vor, die für das Verständnis dieser Arbeit notwendig sind. Kapitel drei erläutert das angewandte Konzept zum Erstellen des Datenbankentwurfs. Zudem wird PHP und MySQL beschrieben. Sie stellen das Grundgerüst dieser Arbeit dar. Die Problemlösung erfolgt im vierten Kapitel. Dieses erläutert die Umsetzung der gewünschten Datenbank sowie deren Benutzeroberfläche. Der erste Teil des Kapitels erklärt die Datenbankentwicklung, sodass der zweite Teil hierauf aufbauend die Oberfläche mit der Wirkung auf die Datenbank aufweist. Der Abschluss dieser Arbeit ist Kapitel fünf. Dieses Kapitel stellt eine Zusammenfassung und eine kritische Auseinandersetzung des Erreichten dar.
2 Definitionen
2.1 SQL
Structured Query Language, sinngemäß übersetzt strukturierte Abfragesprache, ist eine sehr mächtige und zugleich einfach zu erlernende Datenbanksprache. Sie ist durch den ANSI-Standard normiert und ist für relationale Datenbanken ausgelegt. Dies führt dazu, dass sich SQL seit der Einführung 1970 durchgesetzt hat und auch heute immer noch die Nummer Eins für relationale Datenbanksysteme ist.1
2.2 Relationales Datenmodell
Das relationale Datenmodell dient zur logischen Datenorganisation und gliedert den realenWeltausschnitt in ein Modell, welches die zu erstellende Datenbank gestaltet undbeschreibt.
Das relationale Datenmodell ist ein „weitverbreitetes logisches Datenmodell, bei demDaten in Tabellen dargestellt werden. In einer Tabelle enthaltene Daten können mit Dateneiner anderen Tabelle in Beziehung gesetzt werden, sofern beide Tabellen eingemeinsames Datenelement besitzen.“2 In diesen Tabellen, die Relationen genannt werden,sind Entitäten gespeichert. Eine Entität stellt ein Objekt der realen Welt dar. Dies kann z.B.ein Gegenstand oder eine Person sein.3 Die Attribute beschreiben eine Entität näher. Es sind somit die Eigenschaften der Entitäten. Zum Beispiel besitzt die Entität Mitarbeiter die Attribute Personalnummer, Name, Vorname, Geburtstag usw..4
3 Grundlagen
3.1 Datenbankentwurf
Eine klar strukturierte Datenorganisation ist eine wichtige Grundvoraussetzung für eine effiziente Datenbank. Von daher ist die Modellierung der Datenbank eine entscheidende aber auch komplexe Aufgabe. Es besteht zum einen die Schwierigkeit, den realen Weltausschnitt logisch sinnvoll in eine Datenstruktur zu formen, zum anderen die Vereinigung unterschiedlicher Benutzergruppen mit unterschiedlichsten Anforderung und heterogenen Anwendungssystemen herzustellen.
Zur Minderung der Komplexität wird der Datenbankentwurf in vier Phasen aufgeteilt: die Anforderungserhebung, die konzeptuelle Modellbildung, das logische Design und die Implementationsphase.
Die Anforderungsanalyse dient zur Ermittlung der Anforderungen, die die Datenbank erfüllen soll. Ziel ist die Abgrenzung des Anwendungsbereichs der Datenbank und die Ermittlung des Informationsbedarfs der zukünftigen Nutzer.
Die konzeptuelle Modellbildung setzt alle individuellen Anforderungen in ein semantisches Modell um. So entsteht ein Datenbankschema, welches die Anforderungen in eine einheitliche Spezifikation aufgliedert. Das semantische Modell ist systemunabhängig. Somit erfolgt noch keine Bindung an eine Datenbankstruktur.
Im logischen Entwurf hingegen erfolgt die Festlegung auf eine Datenbankstruktur. In dieser Phase erfolgt die Übersetzung des semantischen Schemas in ein logisches Datenmodell. Das bereits vorgestellte relationale Datenmodell ist das am meist verbreitete und erfolgreichste Datenmodell. Es dient zur Implementierung relationaler DBMS wie MySQL oder Microsoft Access.
In der abschließenden Implementationsphase wird mit der entsprechenden Datendefinitionssprache das zuvor entworfene Datenmodell implementiert und somit die Datenbank erstellt.5
3.2 MySQL
„MySQL ist die Open-Source-Datenbank mit der größten Verbreitung. Es handelt sich dabei um einen SQL-basierten Datenbank-Server.“6
MySQL ist ein relationales Datenbankmanagementsystem, das heißt Daten werden in separaten Tabellen gespeichert. Dadurch ist es flexibler und auch schneller als andere Datenbankmanagementsysteme. MySQL ist quelloffen, hierdurch kann der Quellcode angezeigt werden und nach den eigenen Bedürfnissen angepasst werden.7
MySQL ist nicht nur ein DBMS, welches hervorragend geeignet ist um große Datenbanken zu erstellen und zu verwalten. Durch seine leichte Bedienbarkeit eignet es sich genauso gut für kleinere Datenbanken, die mittels Webanwendung angebunden werden. Ein gelungenes Gesamtsystem entsteht meist in Zusammenarbeit mit PHP.
3.3 PHP
PHP steht für PHP Hypertext Preprocessor und ist eine Skriptsprache zur serverseitigenProgrammierung. Das heißt, der PHP-Code wird auf dem Server ausgeführt und nicht aufdem Client im Browser. Mit PHP lassen sich dynamische Seiten erstellen. Hierdurchentstehen Seiten, die jedes Mal nach dem Aufruf vom Server neu generiert werden und mitaktuellen Daten befüllt an den Client gesendet werden. 8 So entstehen zum Beispiel dieSuchseiten einer Suchmaschine. Mit Hilfe von PHP wird für den gesuchten Begriff eineDatenbankabfrage gestartet. Anschließend wird nach den Regeln des PHP-Skriptes eineindividuelle Seite vom Server erstellt, die genau auf den Suchbegriff zugeschnitten ist.Diese wird dann als HTML Datei an den Client gesendet und durch den Browserdargestellt.
PHP ermöglicht also das Zusammenarbeiten mit Datenbanken und stellt viele nützliche Funktionen bereit. Dies macht PHP zu einer äußerst mächtigen Skriptsprache.
4 Realisierung der Datenbank und der Oberfläche
In diesem Kapitel wird die Vorgehensweise zur Erstellung der geforderten Datenbankdargestellt. Der erstellte Programmiercode ist im Dateianhang enthalten und besonders relevante Auszüge befinden sich im Anhang. Zur Durchführung wurde eine lokale Testumgebung mittels XAMPP installiert.
4.1 Konstruktion der Datenbank
Zur Konstruktion der Datenbank gehe ich, wie in Abschnitt 3.1 beschrieben, in vier Phasenvor. Hierdurch wird die komplexe Aufgabe, das Erstellen einer Datenbank, gegliedert.
4.1.1 Anforderungsanalyse
Die Anforderungen an die Datenbank ergeben sich aus der Aufgabenstellung. Diese sind schon eindeutig beschrieben. Eine weitere Ausarbeitung ist somit nicht erforderlich.
4.1.2 Konzeptuelle Modellbildung
Für die Anforderungen aus der Aufgabenstellung entwickle ich zunächst ein EntityRelationship-Modell. Die vier Entitäten Student, Arbeit, Betreuer und Gutachter werden in Beziehung zueinander gesetzt. Ein Student kann mehrere Arbeiten schreiben. Mehrere Arbeiten können von mehreren Betreuern betreut und von Gutachtern geprüft werden. Für jede Entität muss auch ein eindeutiges Schlüsselattribut vorliegen, damit die Datenbank die Entitäten auch eindeutig unterscheiden kann.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Entity-Relationship-Modell
Die Entitätstypen Betreuer und Gutachter besitzen die gleichen Attribute. Eine Überlegungist, die beiden Entitätstypen zu einem zusammenzufassen und ein weiteres Attribut namens Aufgabe hinzuzufügen. Dies scheint auf den ersten Blick sinnvoll, da ein Entitätstyp wegfällt und somit ein Entitätstyp weniger erstellt werden müsste. Wenn ein Betreuer auch die Aufgaben eines Gutachters übernimmt und umgekehrt, sollte eine Zusammenlegung erfolgen. Andernfalls würden redundante Datensätze entstehen.
Erfüllt ein Betreuer auch nur die Aufgaben eines Betreuers und ein Gutachter auch nur die eines Gutachters, bleibt diese Aufspaltung sinnvoll. Denn zum einem gestaltet sich die Ausgabe einfacher, da nicht geprüft werden muss, ob es sich um einen Gutachter oder Betreuer handelt. Dies ist durch die entsprechende Relation eindeutig. Zudem liegt für jede Entität Arbeit direkt ein Betreuer, als auch für den Gutachter vor, wodurch sich die Aufteilung in zwei Entitätstypen leichter gestaltet.
Beide Varianten haben ihre Vor- und Nachteile. Ich habe mich aus den eben genannten Gründen für die Umsetzung in zwei einzelne Entitätstypen entschieden.
4.1.3 Logisches Design
Das zuvor entworfene semantische Modell wird nachfolgend in ein logisches Datenmodelltransferiert, genauer gesagt in ein relationales Datenmodell. Jeder Entitätstyp wird alsRelation angelegt. Zum Herstellen einer n:m-Beziehung muss ebenfalls eine Relationerstellt werden. Für die einzelnen Attribute werden entsprechende Datentypen festgelegtund die Relationen werden mit Hilfe von Schlüsselattributen verbunden. Hieraus ergibt sich folgendes Datenmodell.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Relationales Datenmodell
[...]
1 Vgl. Wieken, 2009, S.19f.
2 Laudon, et al., 2010, S.296.
3 Vgl. Geisler, 2014, S.66.
4 Vgl. Geisler, 2014, S.139.
5 Vgl. Pernul, et al., 2003, S. 1-9.
6 Theis, 2006, S.154.
7 Vgl. MySQL AB, 2007, S.19f.
8 Vgl. Maurice, 2014, S. v.
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.