Relationale Datenbanken

January 10, 2018 | Author: Anonymous | Category: Ingenieurwissenschaften, Informatik, Datenbank
Share Embed Donate


Short Description

Download Relationale Datenbanken...

Description

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

Fachoberschule am Beruflichen Schulzentrum e.o. Plauen

Facharbeit

in der Fachrichtung Technik im Fach Informatik

Entwicklung einer MySQL – Datenbank

von Max Epperlein FOSTLA04

Betreuer: Herr Taschik Ort, Datum: 03. März 2005 Seite 1 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

Inhaltsverzeichnis

1 Erläuterung ...................................................................................... 3 1.1 Facharbeitsbeschreibung............................................................. 3 1.2 Facharbeitsziel .............................................................................. 3

2 Einführung in Relationale Datenbanken .................................... 3 2.1 Datenbanken.................................................................................. 3 2.2 Relationale Datenbank-Modelle ................................................... 4 2.3 Datenbank – Management – Systeme (DBMS) .......................... 5 2.4 SQL (Structured Query Language) .............................................. 6

3 Normalisierung des Datenbank-Modells ................................... 7 3.1 Ziel der Normalisierung ................................................................ 7 3.2 Erste Normalform (1. NF).............................................................. 7 3.3 Zweite Normalform (2. NF)............................................................ 8 3.4 Dritte Normalform (3. NF) ............................................................. 9

4 Implementierungsprozess .......................................................... 10 4.1 MySQL als Datenbank-Management-System ........................... 10 4.2 Implementierungsphase ............................................................. 10 4.2.1 PHP (Hypertext Preprocessor)............................................. 10 4.2.3 Anlegen der Datenbasis ....................................................... 11 4.2.4 Einfügen, Bearbeiten und Suchen der Daten ..................... 11

5 Zusammenfassung ...................................................................... 12 6 Anhang ........................................................................................... 13 6.1 Logisches Datenbankmodell...................................................... 13 6.2 Literaturverzeichnis .................................................................... 14 6.3 Selbstständigkeitserklärung ...................................................... 14

Seite 2 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

1 Erläuterung 1.1 Facharbeitsbeschreibung Eine Vorüberlegung vor Begin der Facharbeit war es, etwas zu schaffen, was auch im weiteren Schulalltag Verwendung finden könnte. Durch die vorher absolvierte Berufsausbildung und die Absicht, auch in Zukunft im Informatikbereich tätig zu sein, entschloss ich mich, die Facharbeit im Fach Informatik zu schreiben.

1.2 Facharbeitsziel Das Ziel der Facharbeit ist die Entwicklung einer MySQL – Datenbank zur Archivierung des Facharbeitenbestandes unserer Schule. Um die Nutzung, Administration und Pflege der Datenbank zur erleichtern, wird zusätzlich eine Anwendung mit Benutzeroberfläche entworfen. Somit können die Facharbeiten und die dazugehörigen Schülerdaten einfach verwaltet und schnell abgerufen werden.

2 Einführung in Relationale Datenbanken 2.1 Datenbanken Der Begriff Datenbank wird in der Literatur als eine zweckgerichtete, strukturierte Sammlung von Daten, die einen Realitätsausschnitt abbilden und logisch miteinander in Beziehung stehen, bezeichnet. Ein Beispiel für eine nichtelektronische Datenbank ist eine Bibliothek. In dieser werden Bücher, Zeitschriften, Dokumente gesammelt und dem Nutzer strukturiert zur Verfügung gestellt. Der hat dann mittels Karteikarten oder dem ZeitschriftenIndex die Möglichkeit, den Bibliothekbestand nach beliebigen Datensätzen anhand unterschiedlicher Suchkriterien zu durchforsten. Voraussetzung dafür ist jedoch eine exakte Pflege des Datenbestandes, die bei Bibliotheken eine schwierige Aufgabe darstellt. Ein weiterer Nachteil gegenüber der Seite 3 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

elektronischen Speicherung einer Datenbank ist der nicht unerhebliche Zeitaufwand für die Suche von Informationen und der enorme Raumbedarf von Bibliotheken.

2.2 Relationale Datenbank-Modelle Eine relationale Datenbank organisiert den elektronischen Datenbestand in Form von Tabellen, die sich wiederum aus Zeilen und Spalten zusammensetzten. Aus Benutzersicht besteht jede relationale Datenbank also nur aus zweidimensionalen Tabellen. In der folgenden Abbildung sind die Tabellenbestandteile und deren Bezeichnungen dargestellt. Informationstheoret. Tabellenorientierte Begriffe Bezeichnungen

Datenorientierte Bezeichnungen

Relation

Tabelle

Tabelle

Entität

Tabellen – Kopf

Objekt – Bezeichner

Tupel

Tabellen – Zeile

Datensatz

Attribut

Tabellen – Spalte

Attributwert

Tabellen – Feld

Attribut, Merkmal, Eigenschaft Attributwert, Ausprägung eines Merkmals

Abbildung 1-1: Bestandteile einer Datenbanktabelle

Zur Begrenzung von Redundanzen müssen die Daten auf mehrere Tabellen, die miteinander in Beziehung stehen, verteilt werden (siehe: 3 Normalisierung des Datenbankmodells). Dadurch lassen sich Daten leicht ändern, hinzufügen und löschen, was wiederum eine hohe Flexibilität gewährleistet. Außerdem ist die Anwendungsentwicklung bei vollständiger Implementierung des SQL Standards (siehe: 2.4 SQL) im DBMS einfach und schnell realisierbar. Der Nachteil dieses Modells besteht jedoch darin, dass große relationale Datenbanken eine hohe Rechnerleistung erfordern und bei Datenzugriffen auf eine Vielzahl von Tabellen das Laufzeitverhalten verschlechtern können. Dennoch überwiegen die Vorteile der relationalen Datenbank – Architektur. Deshalb wird diese von nahezu allen neueren Datenbank - Management Systemen verwendet.

Seite 4 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

2.3 Datenbank – Management – Systeme (DBMS) Für das Anlegen, Verwalten und Pflegen elektronischer Datenbanken wird neben der eigentlichen Datenbank zunächst eine Software benötigt, die dem Benutzer diese Funktionen zur Verfügung stellt. Diese Software und die damit verbundene Daten Zugriffsverwaltung bezeichnet man als Datenbank Management - System.

Organisationsprinzip eines modernen Datenbanksystems Datenbank-Applikationen

Anwendung n Benutzeroberfläche (Menüs, Formulare) Anwender-Operationen (Datenpflege, Abfragen, …)

Anwendung 2

Anwendung 1

Datenbankverwaltungssystem (z.B. DB2, Informix, MySQL, Oracle)

DBMS (Datenbank-Management-Sytem) (logische Daten-Zugriffsverwaltung)

Datenbasis Datenbank (physisch gespeicherte Daten)

Abbildung 1-2: Überblick; Organisationsprinzip moderner Datenbanksysteme.

Nahezu alle modernen Datenbanksysteme basieren auf der ISAM – Architektur (Index Sequential Access Method). Dieses indexsequentielle Zugriffsverfahren stellt eine Weiterentwicklung der B-Baum-Architekturen dar und gewährleistet sehr hohe Funktionssicherheit und kurze Datenzugriffszeiten auch bei sehr großen Datenmengen durch binäre Indexblocksuche und sequentielle Datenblocksuche. Mit anderen Worten Seite 5 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

werden die Daten anhand des Schlüsselwertes binär und die dazugehörigen Datenblöcke sequentiell nach Übereinstimmung mit der Suchanfrage durchforstet.

2.4 SQL (Structured Query Language) SQL wurde in Verbindung mit der Entwicklung des relationalen Datenbankmodells geschaffen und ist eine beschreibende, mengen orientierte DBMS – Zugriffssprache. Diese stellt die Kommunikation zwischen Anwendung und Datenverwaltungssystem sicher. Da die Datenbankanwendung fast ausschließlich von mehreren Benutzern zu unterschiedlichen Zwecken, wie zum Beispiel zur Administration, Pflege oder zum Informationsgewinn genutzt werden, stellt SQL fünf Kommandoklassen bereit. Es kann so sichergestellt werden, dass jede Benutzerebene zwar über das DBMS mit der Datenbasis kommunizieren kann, jedoch nur die für die explizite Nutzung vorgesehenen Maßnahmen zur Verfügung stehen.

SQL – Kommandoklassen

DAL

DDL

DQL

DML

TCL

Database Administration Language

Database Definition Language

Data Query Language

Data Manipulation Langueage

Transaction Control Language

Create Database Install Database Check Database Alter Database Alter Password Grant Revoke Deinstall Database Drop Database

Create Table Create Index Create View Alter Table Drop View Drop Index Drop Table

Select

Update Insert Into Delete...From

Connect To Disconnect

Select... into

Commit Rollback

Abbildung 1-3: Übersicht; SQL-Kommandoklassen

SQL ist somit das grundlegende Werkzeug für die Interaktion mit dem Datenbankverwaltungssystem und ist als weltweiter Standard anerkannt. Seite 6 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

3 Normalisierung des Datenbank-Modells 3.1 Ziel der Normalisierung Die Normalisierung des Datenbankmodells dient der Entfernung unerwünschter Datenredundanzen und dadurch der Vermeidung von Update - Anomalien. Update - Anomalien sind Schwierigkeiten mit den Insert -, Update- und Delete – Operationen einer Datenbank, die auf die Datenstruktur zurückzuführen sind. Die Normalisierung ist Teil der Datenmodellierung und liefert als Ergebnis ein logisches Datenbankmodell mit Tabellen und deren Assoziationen. Im Vorfeld der Normalisierung muss zunächst jedoch die gesamte zu erfassende Informationsstruktur ermittelt und deren logische Beziehungen analysiert werden.

Die einzelnen Normalformen sind Richtlinien für die Entwicklung redundanzarmer Datenbankmodelle und helfen zum Teil Integritäts- und Inkonsistenz- Fehlerquellen zu vermeiden. Im folgenden Abschnitt werden die einzelnen Normalisierungsformen im direkten Zusammenhang mit der Facharbeiten Datenbank erläutert, wobei jedoch aus Platzgründen nur auf einen geringen Teil der vorhandenen Entitäten eingegangen werden kann.

3.2 Erste Normalform (1. NF) Eine Entität befindet sich in der ersten Normalform, wenn alle ihre Attribute nur einen einzigen Wert besitzen. Der Wert jedes Attributes muss elementar und atomar sein. Schüler(1)

Schüler(2)

Id

Schülername

Id

Name

Vorname

25

Mustermann, Hans

25

Mustermann

Hans











Abbildung 2-1: Auszug; Entität Schüler(2) entspricht der ersten NF.

Seite 7 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

In der Entität Schüler(1) der Abbildung 2-1 setzt sich das Attribut Schülername aus dem Nach- und Vornamen zusammen und besitzt somit zwei Werte. Wie in Schüler(2) dargestellt wird Schüler nun in die Attribute Name und Vorname zerlegt. Das Ergebnis Schüler(2) entspricht nun der ersten Normalform.

3.3 Zweite Normalform (2. NF) Eine Entität befindet sich in der zweiten Normalform, wenn sie bereits in der ersten Normalform vorliegt und alle nicht identifizierenden Attribute von der eindeutigen ID der Entität abhängen. Mit anderen Worten muss jede Spalte, außer Id, da sie den Primärschlüssel einer Zeile bildet, von der Tabelle Schüler selbst funktional abhängig sein.

Schüler Id

SchName

SchVname

Anschrift

Ort

Plz

25

Mustermann

Hans

Mühlweg 4

Bad Elster

08645









Abbildung 2-2: Auszug; Entität Schüler, entsprechend der ersten NF

Durch das Prüfen der in Abbildung 2-2 dargestellten Attribute fällt auf, dass die Attribute Anschrift, Ort, Plz keine unmittelbare funktionale Abhängigkeit zu der Entität Schüler aufweisen, da für mehrere Schüler die gleiche Adresse vorhanden sein kann. Deshalb wird Adresse als neue Entität mit den Attributen Anschrift, Ort, Plz in die Datenbank aufgenommen. Nun werden die Attribute der beiden Entitäten über Primär- und Sekundärschlüssel miteinander verknüpft. Die daraus entstandenen Änderungen der Tabellen und deren Merkmale, die jetzt der zweiten Normalform entsprechen, sind in der Abbildung 2-3 aufgeführt.

Seite 8 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

Schüler Id

SchName

Adresse SchVname AdressId

Id

Anschrift



25 Mustermann Hans

1

1

Mühlweg 4

















Abbildung 2-3: Auszug; Entitäten Schüler und Adresse, der zweiten NF entsprechend

3.4 Dritte Normalform (3. NF) Eine Entität befindet sich in der dritten Normalform, wenn sie bereits in der zweiten Normalform vorliegt und keine funktionalen Abhängigkeiten zwischen Nichtschlüsselattributen bestehen.

Die Tabellen der Facharbeiten Datenbank erfüllen durch die Realisierung der zweiten Normalform bereits die Kriterien der dritten Normalform (siehe: 6.1 Logisches Datenbankmodell). Eine Verletzung der dritten NF läge nur dann vor, wenn der Entität Adresse zusätzlich die Attribute Land-Code und LandName, die Nichtschlüsselattribute darstellen jedoch eine funktionale Abhängigkeit zueinander aufweisen, beigefügt werden müssten. Da jedoch davon ausgegangen werden kann dass sich die Adresse eines Schülers innerhalb Deutschlands befindet, können diese Attribute vernachlässigt werden.

Es existieren noch weitere Normalformen, die jedoch nicht für die Entwicklung effizienter Datenbankstrukturen relevant sind und somit vernachlässigt werden können.

Bevor mit dem nächsten Schritt, der Implementierungsphase, begonnen werden kann, müssen zunächst die Datentypen aller Attribute festgelegt werden (siehe: 6.1 Logisches Datenbankmodell), um die Entstehung von nicht erwünschten Speicherbeanspruchungen zu vermeiden.

Seite 9 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

4 Implementierungsprozess 4.1 MySQL als Datenbank-Management-System MySQL ist eines der am häufigsten eingesetzten Open – Source – Datenbankverwaltungssysteme und wurde unter der GPL (General Public License) veröffentlicht. Es stellt eine preisgünstige, oft sogar kostenlose und kompakte Alternative zu anderen großen Datenbank – Engines dar. Leider ist in dieser Software SQL nicht in vollem Umfang implementiert. Es fehlen außerdem einige Funktionen, die für komplexere Anwendung notwendig sein können. Zum Beispiel lassen sich zwar bestimmte Attribute als Primärbeziehungsweise Sekundärschlüssel kennzeichnen, werden jedoch nicht von MySQL geprüft. Dadurch wird die Anwendungsentwicklung erschwert. Dennoch liefert MySQL als DBMS auf Webservern besonders gute Performance Ergebnisse und findet in diesem Bereich die häufigste Anwendung.

Da MySQL bereits auf dem Webserver der Schule integriert ist, müssen keine Installations- und Konfigurationsmaßnahmen des Datenbankverwaltungssystems durchgeführt werden.

4.2 Implementierungsphase

4.2.1 PHP (Hypertext Preprocessor) Da auf dem Server bereits die Scriptsprache PHP verfügbar ist, wurde die Anwendung in Form von mehreren Scripten entworfen. PHP stellt einen riesigen, speziell für die Webprogrammierung konzipierten Funktionsumfang bereit. Unter anderem wird auch das Einbinden von MySQL-Datenbanken gewährleistet. Da die direkte Interaktion zwischen Anwendung und MySQL nur mit SQL realisierbar ist, muss das PHP Script SQL-Befehle generieren und diese an die MySQL-Datenbank senden. Der Befehl wird vom Datenverwaltungssystem verarbeitet und eine Rückmeldung an das Script

Seite 10 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

übergeben. Aus der Rückmeldung erzeugt das Script auf dem Server eventuelle Benutzerausgaben oder Fehlermeldungen und übermittelt diese in Form eines HTML-Dokumentes (Hyper Text Markup Language) an den ClientRechner.

4.2.3 Anlegen der Datenbasis Um sicherzustellen dass auf dem Schul-Webserver die Datenbasis entsprechend des Datenmodells angelegt wird, existiert eine Anwendung, die diese Aufgabe erfüllt. Es steht nun die Grundlage zum Anlegen des logischen Datenmodells mit allen Beziehungen der Entitäten bereit und es ist ebenfalls die Interaktion zwischen Anwendung und DBMS gesichert. Das Installationsscript („install/install.php“) legt alle Tabellen und deren Attribute in der Datenbank „facharbeiten“ an. Vorher muss diese jedoch von einem Administrator eingerichtet und in der Datei „config.php“ die Adresse des Webservers und die Login –Daten des Datenbank – Benutzers aktualisiert werden.

Nachdem das Installationsscript erfolgreich ausgeführt wurde, existiert das Datenbankmodell in Form von Tabellen und Spalten in der Datenbank. Nur enthalten die einzelnen Attribute noch keine Werte.

4.2.4 Einfügen, Bearbeiten und Suchen der Daten Der folgende SQL-Befehl verdeutlicht, dass Eingaben über die Benutzeroberfläche des Datenverwaltungssystems einen aufwendigen und zeitintensiven Prozess darstellen. INSERT INTO tb_schueler (SchName, SchVname, AdressId) VALUES (‘Musterman’, ‘Hans’, ‘1’); Abbildung 4-1: Beipiel eines SQL-Befehls

Da dieser Befehl allein dazu dient, einen einzigen Schüler in die Datenbank aufzunehmen, müssten bei großen Datenmengen unzählige Kommandos per

Seite 11 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

Hand eingegeben werden. Um den Nutzern diesen Aufwand zu ersparen, wurde ebenfalls bereits eine Anwendung entwickelt. Aufgrund der Tatsache, dass die Schlüsselüberprüfung bei MySQL nicht vollständig funktionsfähig ist, ist der Entwicklungsaufwand des Administrationsscripts enorm gestiegen. Deshalb konnten noch nicht alle vorgesehenen Funktionen in das Script implementiert werden. Jedoch ist es bereits möglich, Datensätze in die Datenbank aufzunehmen und diese teilweise auch zu bearbeiten. Allerdings konnte der Quellcode der Administrationsdatei „managedb.php“ noch nicht überarbeitet und optimiert werden.

Da der Datenbestand auch den Besuchern der Schul-Website zugänglich gemacht werden soll, musste eine Anwendung für die Suche mit bestimmten Kriterien und einer Ausgabe der gefundenen Datensätze ermöglicht werden. Diese ist bereits mit dem Script „searchdb.php“ realisiert worden. Es besteht dadurch die Möglichkeit sich alle Facharbeiten eines Fachbereiches anzeigen zu lassen oder nach einem expliziten Datensatz zu suchen.

5 Zusammenfassung Mit dem Datenbank-Modell, das von der Installationsanwendung umgesetzt wird, steht der Schule nun die Möglichkeit zur Verfügung, die Datenbank einfach und schnell anzulegen. Durch das Administrationsscript lassen sich die Datenbestände in die Datenbank eingeben und können durch die Suchfunktion gezielt wieder gefunden werden. Die Funktionen zum Einfügen und Pflegen der Daten arbeiten redundanzarm und vermeiden so größtenteils das Auftreten von Konsistenzfehlern durch die Anwendung. Lediglich die Funktionen zum Bearbeiten und Löschen der Datensätze müssen im Nachhinein noch vervollständigt werden.

Seite 12 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

6 Anhang 6.1 Logisches Datenbankmodell Die folgende Abbildung veranschaulicht das Datenbankmodell, welches allen 3 Normalformen entspricht.

Abbildung 6-1: Darstellung des finalen Datenbank-Modells der Facharbeiten Datenbank

Seite 13 von 14

Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

6.2 Literaturverzeichnis [1]

Randy Jay Yarger; George Reese; Tim King: MySQL & mSQL. Köln: O Reilly Verlag 2000

[2]

FAQ der Newsgruppen de.comp.lang.php. http://www.dclp-faq.de/

[3]

MySQL-Referenzhandbuch. http://www.mysql.com/doc/de/

[4]

Christoph und Hatlak; Jens: Datenbank, MySQL und PHP. http://ffm.junetz.de/members/reeg/DSP/

[5]

Seidler, Kai: Apachefriends. http://ffm.junetz.de/members/reeg/DSP/

[6]

Kelz, Andreas: Relationale Datenbanken – Eine Einführung. http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/

[7]

Stepken, Guido: MySQL Datenbankhandbuch. http://www.rent-a-database.de/mysql/

[8]

Morcinek, Peter: SQL Tutorium. http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/

6.3 Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst und keine anderen Hilfsmittel als angegeben verwendet habe. Insbesondere versichere ich, dass ich alle wörtlichen und sinngemäßen Übernahmen aus anderen Werken als solche kenntlich gemacht habe.

Seite 14 von 14

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF