Entwicklung einer MySQL ? Facharbeit Informatik: Entwicklung einer MySQL - Datenbank ... muss

  • Published on
    05-Jun-2018

  • View
    212

  • Download
    0

Transcript

  • 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. Mrz 2005

    Seite 1 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    Inhaltsverzeichnis 1 Erluterung......................................................................................3

    1.1 Facharbeitsbeschreibung.............................................................3 1.2 Facharbeitsziel ..............................................................................3

    2 Einfhrung 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 Einfgen, Bearbeiten und Suchen der Daten .....................11

    5 Zusammenfassung ......................................................................12 6 Anhang ...........................................................................................13

    6.1 Logisches Datenbankmodell......................................................13 6.2 Literaturverzeichnis ....................................................................14 6.3 Selbststndigkeitserklrung ......................................................14

    Seite 2 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    1 Erluterung

    1.1 Facharbeitsbeschreibung

    Eine Vorberlegung vor Begin der Facharbeit war es, etwas zu schaffen, was

    auch im weiteren Schulalltag Verwendung finden knnte. Durch die vorher

    absolvierte Berufsausbildung und die Absicht, auch in Zukunft im

    Informatikbereich ttig 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 zustzlich eine

    Anwendung mit Benutzeroberflche entworfen. Somit knnen die

    Facharbeiten und die dazugehrigen Schlerdaten einfach verwaltet und

    schnell abgerufen werden. 2 Einfhrung in Relationale Datenbanken

    2.1 Datenbanken

    Der Begriff Datenbank wird in der Literatur als eine zweckgerichtete,

    strukturierte Sammlung von Daten, die einen Realittsausschnitt abbilden und

    logisch miteinander in Beziehung stehen, bezeichnet. Ein Beispiel fr eine

    nichtelektronische Datenbank ist eine Bibliothek. In dieser werden Bcher,

    Zeitschriften, Dokumente gesammelt und dem Nutzer strukturiert zur

    Verfgung gestellt. Der hat dann mittels Karteikarten oder dem Zeitschriften-

    Index die Mglichkeit, den Bibliothekbestand nach beliebigen Datenstzen

    anhand unterschiedlicher Suchkriterien zu durchforsten. Voraussetzung dafr

    ist jedoch eine exakte Pflege des Datenbestandes, die bei Bibliotheken eine

    schwierige Aufgabe darstellt. Ein weiterer Nachteil gegenber der

    Seite 3 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    elektronischen Speicherung einer Datenbank ist der nicht unerhebliche

    Zeitaufwand fr 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. Begriffe

    Tabellenorientierte Bezeichnungen

    Datenorientierte Bezeichnungen

    Relation Tabelle Tabelle

    Entitt Tabellen Kopf Objekt Bezeichner

    Tupel Tabellen Zeile Datensatz

    Attribut Tabellen Spalte Attribut, Merkmal, Eigenschaft

    Attributwert Tabellen Feld Attributwert, Ausprgung eines Merkmals

    Abbildung 1-1: Bestandteile einer Datenbanktabelle

    Zur Begrenzung von Redundanzen mssen die Daten auf mehrere Tabellen,

    die miteinander in Beziehung stehen, verteilt werden (siehe: 3 Normalisierung

    des Datenbankmodells). Dadurch lassen sich Daten leicht ndern, hinzufgen

    und lschen, was wiederum eine hohe Flexibilitt gewhrleistet. Auerdem ist

    die Anwendungsentwicklung bei vollstndiger Implementierung des SQL

    Standards (siehe: 2.4 SQL) im DBMS einfach und schnell realisierbar. Der

    Nachteil dieses Modells besteht jedoch darin, dass groe relationale

    Datenbanken eine hohe Rechnerleistung erfordern und bei Datenzugriffen auf

    eine Vielzahl von Tabellen das Laufzeitverhalten verschlechtern knnen.

    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)

    Fr das Anlegen, Verwalten und Pflegen elektronischer Datenbanken wird

    neben der eigentlichen Datenbank zunchst eine Software bentigt, die dem

    Benutzer diese Funktionen zur Verfgung stellt. Diese Software und die damit

    verbundene Daten Zugriffsverwaltung bezeichnet man als Datenbank -

    Management - System.

    Organisationsprinzip eines modernen Datenbanksystems

    Datenbank-Applikationen

    Anwendung n Benutzeroberflche (Mens, Formulare)

    Anwender-Operationen (Datenpflege, Abfragen, )

    Anwendung 1

    Anwendung 2

    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 gewhrleistet sehr hohe Funktionssicherheit und kurze

    Datenzugriffszeiten auch bei sehr groen Datenmengen durch binre

    Indexblocksuche und sequentielle Datenblocksuche. Mit anderen Worten

    Seite 5 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    werden die Daten anhand des Schlsselwertes binr und die dazugehrigen

    Datenblcke 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 ausschlielich von mehreren Benutzern zu

    unterschiedlichen Zwecken, wie zum Beispiel zur Administration, Pflege oder

    zum Informationsgewinn genutzt werden, stellt SQL fnf Kommandoklassen

    bereit. Es kann so sichergestellt werden, dass jede Benutzerebene zwar ber

    das DBMS mit der Datenbasis kommunizieren kann, jedoch nur die fr die

    explizite Nutzung vorgesehenen Manahmen zur Verfgung stehen.

    SQL Kommandoklassen

    DAL

    Database Administration

    Language

    Create Database Install Database Check Database Alter Database Alter Password

    Grant Revoke

    Deinstall Database Drop Database

    DQL

    Data Query

    Language

    Select

    DML

    Data Manipulation Langueage

    Update

    Insert Into Delete...From

    Select... into

    TCL

    TransactionControl

    Language

    Connect To Disconnect

    Commit Rollback

    DDL

    Database Definition Language

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

    Abbildung 1-3: bersicht; SQL-Kommandoklassen SQL ist somit das grundlegende Werkzeug fr 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

    unerwnschter 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

    zurckzufhren sind. Die Normalisierung ist Teil der Datenmodellierung und

    liefert als Ergebnis ein logisches Datenbankmodell mit Tabellen und deren

    Assoziationen. Im Vorfeld der Normalisierung muss zunchst jedoch die

    gesamte zu erfassende Informationsstruktur ermittelt und deren logische

    Beziehungen analysiert werden.

    Die einzelnen Normalformen sind Richtlinien fr die Entwicklung

    redundanzarmer Datenbankmodelle und helfen zum Teil Integritts- und

    Inkonsistenz- Fehlerquellen zu vermeiden. Im folgenden Abschnitt werden die

    einzelnen Normalisierungsformen im direkten Zusammenhang mit der

    Facharbeiten Datenbank erlutert, wobei jedoch aus Platzgrnden nur auf

    einen geringen Teil der vorhandenen Entitten eingegangen werden kann.

    3.2 Erste Normalform (1. NF)

    Eine Entitt befindet sich in der ersten Normalform, wenn alle ihre Attribute nur

    einen einzigen Wert besitzen. Der Wert jedes Attributes muss elementar und

    atomar sein.

    Schler(1)

    Id Schlername

    25 Mustermann, Hans

    Schler(2)

    Id Name Vorname

    25 Mustermann Hans

    Abbildung 2-1: Auszug; Entitt Schler(2) entspricht der ersten NF.

    Seite 7 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    In der Entitt Schler(1) der Abbildung 2-1 setzt sich das Attribut Schlername

    aus dem Nach- und Vornamen zusammen und besitzt somit zwei Werte. Wie

    in Schler(2) dargestellt wird Schler nun in die Attribute Name und Vorname

    zerlegt. Das Ergebnis Schler(2) entspricht nun der ersten Normalform.

    3.3 Zweite Normalform (2. NF)

    Eine Entitt befindet sich in der zweiten Normalform, wenn sie bereits in der

    ersten Normalform vorliegt und alle nicht identifizierenden Attribute von der

    eindeutigen ID der Entitt abhngen. Mit anderen Worten muss jede Spalte,

    auer Id, da sie den Primrschlssel einer Zeile bildet, von der Tabelle

    Schler selbst funktional abhngig sein.

    SchlerId SchName SchVname Anschrift Ort Plz

    25 Mustermann Hans Mhlweg 4 Bad Elster 08645

    Abbildung 2-2: Auszug; Entitt Schler, entsprechend der ersten NF

    Durch das Prfen der in Abbildung 2-2 dargestellten Attribute fllt auf, dass die

    Attribute Anschrift, Ort, Plz keine unmittelbare funktionale Abhngigkeit zu der

    Entitt Schler aufweisen, da fr mehrere Schler die gleiche Adresse

    vorhanden sein kann. Deshalb wird Adresse als neue Entitt mit den

    Attributen Anschrift, Ort, Plz in die Datenbank aufgenommen. Nun werden die

    Attribute der beiden Entitten ber Primr- und Sekundrschlssel

    miteinander verknpft.

    Die daraus entstandenen nderungen der Tabellen und deren Merkmale, die

    jetzt der zweiten Normalform entsprechen, sind in der Abbildung 2-3

    aufgefhrt.

    Seite 8 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    SchlerId SchName SchVname AdressId

    25 Mustermann Hans 1

    AdresseId Anschrift

    1 Mhlweg 4

    Abbildung 2-3: Auszug; Entitten Schler und Adresse, der zweiten NF entsprechend

    3.4 Dritte Normalform (3. NF)

    Eine Entitt befindet sich in der dritten Normalform, wenn sie bereits in der

    zweiten Normalform vorliegt und keine funktionalen Abhngigkeiten zwischen

    Nichtschlsselattributen bestehen.

    Die Tabellen der Facharbeiten Datenbank erfllen durch die Realisierung der

    zweiten Normalform bereits die Kriterien der dritten Normalform (siehe: 6.1

    Logisches Datenbankmodell). Eine Verletzung der dritten NF lge nur dann

    vor, wenn der Entitt Adresse zustzlich die Attribute Land-Code und Land-

    Name, die Nichtschlsselattribute darstellen jedoch eine funktionale

    Abhngigkeit zueinander aufweisen, beigefgt werden mssten. Da jedoch

    davon ausgegangen werden kann dass sich die Adresse eines Schlers

    innerhalb Deutschlands befindet, knnen diese Attribute vernachlssigt

    werden.

    Es existieren noch weitere Normalformen, die jedoch nicht fr die Entwicklung

    effizienter Datenbankstrukturen relevant sind und somit vernachlssigt werden

    knnen.

    Bevor mit dem nchsten Schritt, der Implementierungsphase, begonnen

    werden kann, mssen zunchst die Datentypen aller Attribute festgelegt

    werden (siehe: 6.1 Logisches Datenbankmodell), um die Entstehung von nicht

    erwnschten 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 hufigsten eingesetzten Open Source

    Datenbankverwaltungssysteme und wurde unter der GPL (General Public

    License) verffentlicht. Es stellt eine preisgnstige, oft sogar kostenlose und

    kompakte Alternative zu anderen groen Datenbank Engines dar. Leider ist

    in dieser Software SQL nicht in vollem Umfang implementiert. Es fehlen

    auerdem einige Funktionen, die fr komplexere Anwendung notwendig sein

    knnen. Zum Beispiel lassen sich zwar bestimmte Attribute als Primr-

    beziehungsweise Sekundrschlssel kennzeichnen, werden jedoch nicht von

    MySQL geprft. Dadurch wird die Anwendungsentwicklung erschwert.

    Dennoch liefert MySQL als DBMS auf Webservern besonders gute

    Performance Ergebnisse und findet in diesem Bereich die hufigste

    Anwendung.

    Da MySQL bereits auf dem Webserver der Schule integriert ist, mssen keine

    Installations- und Konfigurationsmanahmen des Datenbankverwaltungs-

    systems durchgefhrt werden.

    4.2 Implementierungsphase

    4.2.1 PHP (Hypertext Preprocessor)

    Da auf dem Server bereits die Scriptsprache PHP verfgbar ist, wurde die

    Anwendung in Form von mehreren Scripten entworfen. PHP stellt einen

    riesigen, speziell fr die Webprogrammierung konzipierten Funktionsumfang

    bereit. Unter anderem wird auch das Einbinden von MySQL-Datenbanken

    gewhrleistet. 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 Rckmeldung an das Script

    Seite 10 von 14

  • Facharbeit Informatik: Entwicklung einer MySQL - Datenbank

    bergeben. Aus der Rckmeldung erzeugt das Script auf dem Server

    eventuelle Benutzerausgaben oder Fehlermeldungen und bermittelt diese in

    Form eines HTML-Dokumentes (Hyper Text Markup Language) an den Client-

    Rechner.

    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 erfllt. Es steht nun die Grundlage zum Anlegen des logischen

    Datenmodells mit allen Beziehungen der Entitten 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 ausgefhrt wurde, existiert das

    Datenbankmodell in Form von Tabellen und Spalten in der Datenbank. Nur

    enthalten die einzelnen Attribute noch keine Werte.

    4.2.4 Einfgen, Bearbeiten und Suchen der Daten

    Der folgende SQL-Befehl verdeutlicht, dass Eingaben ber die

    Benutzeroberflche 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 Schler in die Datenbank

    aufzunehmen, mssten bei groen Datenmengen unzhlige 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 Schlsselberprfung bei MySQL nicht vollstndig funktionsfhig ist,

    ist der Entwicklungsaufwand des Administrationsscripts enorm gestiegen.

    Deshalb konnten noch nicht alle vorgesehenen Funktionen in das Script

    implementiert werden. Jedoch ist es bereits mglich, Datenstze 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 zugnglich

    gemacht werden soll, musste eine Anwendung fr die Suche mit bestimmten

    Kriterien und einer Ausgabe der gefundenen Datenstze ermglicht werden.

    Diese ist bereits mit dem Script searchdb.php realisiert worden. Es besteht

    dadurch die Mglichkeit 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 Mglichkeit zur Verfgung, die Datenbank einfach und

    schnell anzulegen. Durch das Administrationsscript lassen sich die

    Datenbestnde in die Datenbank eingeben und knnen durch die Suchfunktion

    gezielt wieder gefunden werden. Die Funktionen zum Einfgen und Pflegen der

    Daten arbeiten redundanzarm und vermeiden so grtenteils das Auftreten von

    Konsistenzfehlern durch die Anwendung. Lediglich die Funktionen zum

    Bearbeiten und Lschen der Datenstze mssen im Nachhinein noch

    vervollstndigt 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. Kln: 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 Einfhrung.

    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 Selbststndigkeitserklrung

    Hiermit erklre ich, dass ich die vorliegende Arbeit selbststndig und ohne

    fremde Hilfe verfasst und keine anderen Hilfsmittel als angegeben verwendet

    habe. Insbesondere versichere ich, dass ich alle wrtlichen und sinngemen

    bernahmen aus anderen Werken als solche kenntlich gemacht habe.

    Seite 14 von 14

    http://www.dclp-faq.de/http://www.mysql.com/doc/de/http://ffm.junetz.de/members/reeg/DSP/http://ffm.junetz.de/members/reeg/DSP/http://v.hdm-stuttgart.de/%7Eriekert/lehre/db-kelz/http://v.hdm-stuttgart.de/%7Eriekert/lehre/db-kelz/

Recommended

View more >