Datenbanken

Werbung
Datenbanken
Daten-Organisation
Der Hauptzweck der Elektronischen Daten Verarbeitung ist neben der reinen Rechnerleistung das Sammeln,
Archivieren (Speichern) und Verknüpfen von unterschiedlichen Daten.
Der Zugriff auf die gesammelten Daten spielt dabei natürlich eine wesentliche Rolle und ist der Hauptgrund für die
Entwicklung immer umfangreicherer und schnellerer Hard- und Software.
Ein weiterer Aspekt ist die Datensicherheit (Sicherung, Permanenz (Haltbarkeit) und Kohärenz) und der Datenschutz
(vor unbefugten Zugriff). Es wird gerade auf diesem Sektor viel Zeit und Geld in die Entwicklung immer raffinierterer
und komplexer Verschlüsselungen und Abwehrmechanismen gesteckt. Der Kampf gegen Hacker, Trojaner und Viren
bindet heute bereits mehr als zwei Drittel der gesamten Entwicklungsarbeit und der finanziellen Mittel.
Die Speichermedien, vor allem die optischen (CD und DVD) bringen bei regelmäßiger Sicherung (Backup) ein hohes
Maß an Kapazität (650 MB bis 5 GB) und Permanenz (Unveränderlichkeit bei richtiger Lagerung) bei gleichzeitiger
Minderung des Platzbedarfs.
Auch die magnetischen Datenträger haben an Kapazität enorm zugenommen (es sind kaum mehr Festplatten unter 10
GB zu erhalten, RWR-CD's haben bereits 800MB Speicher und sind preisgünstig. DAT-Bänder und Magnet-Optische
(MO) Platten sind zwar noch immer für große Datenmengen in Verwendung sind aber wesentlich teurer und
unbequemer (Zeit und Zugriff). Den magnetischen Datenträgern haftet noch immer das physikalische Manko der
"Flüchtigkeit" und Empfindlichkeit an (nach einiger Zeit, oder durch einen "Unfall" oder "Unsachgemäße Lagerung"
werden die magnetischen Informationen zerstört) während bei den optischen ("gebrannten") Medien nur der Staub oder
mechanische Gewalt die Daten zerstören kann.
Bei den Speicher-Zugriffs-Methoden unterscheidet man zwischen
 den linearen ("in one stream straight forward" sequenziellen) Schreib/Lese-Vorgängen und
 den "wahlfreien" (Random Access)
Beide Methoden haben Vor- und Nachteile:
Bei der linearen Methode (aufzeichnen und lesen in einem "Strom", Datentrack (wie bei der Schallplatte)) wird kein
Platz verschwendet (es gibt keine Lücken zwischen den Datenblöcken). Größter Nachteil: um zu eine
bestimmte Datensequenz lesen zu können, muß zuerst der ganze "Vorspann" gelesen und untersucht werden.
Veränderungen sind überhaupt problematisch, da zuerst der gesamte Datenbestand ausgelesen und
zwischengespeichert, dann dort geändert und wieder als Ganzes zurückgeschrieben werden muß. (Daher sind
sequentielle Datensicherungen und Medien heute (bei dem Kapazitätsüberangebot) nur für "totale", wenig
veränderliche Datensicherungen wirtschaftlich vetretbar.
Bei der wahlfreien Methode (Ortsgebundene Datenaufzeichnung) hat jedes Datenpaket eine bestimmte "Adresse"
durch Einteilung des Mediums in Cluster (heads, tracks and sectors). Diese "Inhaltsangabe" wird in einem
eigenen Bereich gespeichert (FAT (File Allocation Table) oder TOC (Table Of Contents)).
Typisches Beispiel ist die Organisation der FloppyDisks, Festplatten und CD's.
Der Nachteil ist die "Verschwendung" von Plattenplatz durch die voreingestellte "Cluster-Größe" und den
verfügbaren Adressenraum (was z.B. Beim Betriebssystem MSDOS/Windows zu gewaltigen Problemen
geführt hat). UNIX/Linux verwendet eine andere, flexiblere, Einteilung und Größenbestimmung (allerdings
einmalig) -- die "inode-Tabelle" (Die Größe kann in 4KB-Blöcken veränderlich eingestellt werden, Die echten
Byte-Adressen werden dann in die Tabelle als Zeiger (Pointer) eingetragen.
Der größte Vorteil des wahlfreien Zugriffs ist die Geschwindigkeit und leichte Möglichkeit des Löschens und
Veränderns (Die Lücken werden als "frei" markiert. Größerer Platzbedarf bei Änderungen werden durch
Verweise (Zeiger) auf noch freie Cluster (quasi als "Fortsetzung bei Adresse ...") leicht geschaffen.
Eine Gefahr besteht dadurch: Größere Dateien können durch diesen "Fleckerlteppich" extrem "fragmentiert"
(zerstückelt) werden, was natürlich auf Kosten der Performance (Schnelligkeit des Zugriffs) und der
Abnützung (Verschleiß der Mechanik, Erwärmung) geht.
Diesem Umstand tragen diverse "Defragmentierungs-Tools" (Norton Speed-Disk, Windows) Rechnung,
müssen aber extra von Zeit zu Zeit manuell oder automatisch gestartet werden.
Andere Betriebssysteme machen dieses "Aufräumen" von vornherein automatisch (nach jedem x-ten Start des
Systems) z.B. UNIX/Linux.
Datenbanken
sind eine Sonderform der Datenorganisation und dienen in erster Linie dazu Daten nach bestimmten Gesichtspunkten zu
ordnen, zu pflegen und zu suchen. Ihre "Architektur" ist strikt hierarchisch, obwohl auch Querverbindungen
(relationale Datenbanken) die Regel sind.
Die Grund-Einheit (Datencontainer) ist das Daten-Feld: Es beinhaltet die eigentlichen Informationen
(Zahlen, Zeichen, Text, Verweise (Zeiger, Links), Datum etc.)
Der Feldtyp je Feld(name) ist für die ganze Tabelle gleich, sowie auch die Position innerhalb eines Satzes
und die Größe (Länge, Format)
Ein Datensatz besteht aus einem oder mehreren Feldern in einem bestimmten Zusammenhang ("Vektor")
Mehrere zusammengehörige Datensätze (gleiche Struktur und Bestimmung ("Menge") ) bilden eine Tabelle.
Mehrere Tabellen werden unter einen Oberbegriff als Datenbank zusammengefaßt.
Die hierarchische Ordnung ist also:
Datenbank – Tabelle – Datensatz – Feld -- Feldeigenschaft – Feldinhalt
Daneben gibt es noch eine verarbeitungsrelevante Struktur:
Tabelle
(Daten-Container, Quelle, Speicherung)
Formulare (Eingabe, Übersicht, Pflege (Änderungen), Benutzerführung)
Abfragen (Filterung von Datenbeständen nach Kriterien, SQL(Structured Query Language)
Berichte
(Listen, Ausgabe von Daten, Übersichten, Zusammenstellungen)
Zwischen den einzelnen Tabellen können über ein gleichnamiges Feld ("Schlüsselfeld") Verbindungen hergestellt
werden, sogenannte Relationen (=Bezüge, z.B. Artikel Nummer, Kunden-Nummer). Über eigene Index-Tabellen
(Schlüssel) können schnelle Zugriffe und Filter erzeugt werden .
Dadurch können verknüpfte Daten aufgefunden und/oder bearbeitet werden. Setzt man solche "Beziehungen"
(Relationen) , dann spricht man von einer "Relationalen Datenbank" bzw. bei mehreren verknüpften Datenbanken
von einem "Relationalen Datenbanksystem"
Diese Verknüpfungen dienen dazu,
Redundanzen (unnötige Wiederholungen) zu vermeiden und Platz zu sparen.
Die Integrität und Kohärenz der Daten zu gewährleisten (Änderungen nur an einer Stelle (Tabelle))
Die Administration und Pflege des Datenbestandes zu vereinfachen.
Schnellen und sicheren Zugriff auf Selektionen (Abfragen)
Voraussetzung für das einwandfreie Funktionieren eines solchen Verbundes ist aber die strikte Einhaltung der Regeln
("Normalformen") nach Boyce-Codd für die Datenorganisation.
1. Eindeutigkeit der Attribute und Feldinhalte (z.B. Trennen von Vor- und Zunamen, oder PLZ, Ort und
Strasse), Aufteilung in Master- und Detailtabellen.
2. Primärschlüssel: Eindeutige Zuordnung (Identität) jeden Datensatzes durch ein Feld mit unitären
Inhalt (keine Duplikate, z.B. ISBN, Soz.Vers.Nr., etc.) und müssen in einem logischen
Zusammenhang mit der Tabelle stehen (wie mathem. Mengen-Begriff)
3. Vermeidung von Redundanzen durch Aufteilung in Master- (Identitäts-) und Detail-Tabellen.
Außerdem werden noch Unterscheidungen durch bestimmte Architekturen, Zugriffsarten, Indexierungen etc.
getroffen und von bestimmten Datenbank-Verwaltungsprogrammen bevorzugt. Je nach Verwendungszweck
und Umfang muß man bei der Wahl des Programms bereits sehr vorsichtig sein -- zumal manche Programme
sehr teuer sind und eine Fehlinvestition sich katastrophal auswirken kann.
Eine gewissenhafte Analyse der Datenformen, Ein- /Ausgabe- und Verarbeitungsformen sowie des
hardware- und softwaremäßigen Umfeldes ist vor dem Einsatz unerlässlich!
Manche Programme unterstützen eine spezielle Abfrage-Sprache -- die SQL (Structured Query Language,
von IBM entwickelt, speziell für Server/Client Datenbanken). Die Abfrage-Keywords sind standardisiert und
relativ einfach.
Die wichtigsten Datenbank-Programme:
dBASE , Xbase, Clipper, Fox, Paradox sind die Pioniere am PC-Sektor (Tabellen-Endung *.DBF)
Microsoft's Office/Access ist ein Index-orientiertes, sehr mächtiges und in den Anwendungen sehr
vielseitiges DB-Programm mit SQL-Fähigkeit.
Im Kommerziellen Bereich ist Xbase, Oracle und Btrieve häufig im Einsatz
Plattformübergreifend (Windows, Apple, Unix/Linux/FreeBSD) wurde MySQL immer beliebter -- es ist
einfach, sehr schnell und vor allem durch die ausgezeichnete Zusammenarbeit mit dem häufigsten
Webserver "Apache" und der Perl/CGI/PhP- Unterstützung ein sehr vielseitiges DB-Programm für das
Internet und
E-commerce (WAMP, LAMP -- Windows-Apache-Mysql-PHP bzw. Linux-Apache-Mysql-PHP )
Arbeiten mit dem Datenbank-Programm ACCESS.
Datenbankprogramme erleichtern zwar die Erstellung, Pflege und Auswertung von Datensammlungen, die
eigentliche Intelligenz für die möglichst praxisnahe und sichere Verwendung des Programms muß aber vom
Benutzer kommen.
Das heißt, eine Datenbank ist nur so gut wie die zugrundeliegende Planung der Datenorganisation in
Tabellen, Schlüsseln und Verbindungen. Es ist daher sehr wichtig, die „Umgebung“ so genau wie möglich
zu kennen:
 Datenart und Umfang (Quellen, Zweck und Ziel der Verarbeitung, Form der Ausgabe)
 Verbindungen bei der Eingabe, Verarbeitung, Speicherung und Abfrage, und der Ausgabe
 Benutzerfreundlichkeit (Zielgruppe, Hilfen, Fehlererkennung und -Behandlung)
 Datensicherheit (eventuelle Verschlüsselung und Zugriffsberechtigungen)
MicroSoft ACCESS ist für „Normal-Anwendungen“ (kleine Datenbanken, temporäre Datenbestände,
bequeme Erfassung und Verwaltung, ohne große Anforderungen an die Verwaltung) ein „nettes“ Instrument
– Für spezielle Anforderungen, heikle Daten oder sehr große Datenbestände ist es aber doch zu „klein“ und
zu „engstirnig“, dafür muss man schon schwere Geschütze auffahren bzw. die Applikation selbst
programmieren (Delphi, Paradox, BD2, Oracle etc.)
Typische Anwendungen:




Artikel- und QuellenVerwaltung von Zeitschriften (Stichwort, Autor, Buch- oder Zeitung (Seite, Absatz))
Buch-, Video-, oder CD-Verleih (Personen, Adressen, Buchtitel, Autor, Bestand etc)
Vereins-Verwaltung (Mitglieder, Beiträge, Termine)
Linkdatei (Stichworte, Kategorien,Websites (Links), Meta-Einträge, weiterführende Suchmaschinen)
Nehmen wir ein paar Beispiele die auch im privaten Bereich hilfreich sein kann:
Zum Beispiel wäre bei wissenschaftlichen Arbeiten oder ambitionierten Hobby eine kleine Artikelverwaltung. Wo
hat man das oder das gelesen, in welcher Zeitung, welcher Jahrgang, welche Seite?
Mit MS-Access ist so eine Verwaltung recht schnell erstellt und sogar später ausbaufähig.
Eine heute sehr häufige und wichtige Anwendung ist die Verwendung von Datenbanken im Internet
Internet-shoping, Suchmaschinen, Warenangebote/-Kathaloge (Warenkorb), Newsverwaltung etc. sind heute
unverzichtbare Elemente des Web. Diese Datenbanken können mitunter gigantische Ausmaße annehmen und weden
von entsprechenden Maschinen (Servern) verwaltet.
Eine freie (GPU-Lizenz) serverbasierte Datenbank für unsere Zwecke auf unseren Schulservern ist MySQL.
Zusammen mit PHP-Scripting kann man die Funktionalität der "Großen" ganz gut simulieren und erproben.
MYSQL und PHP (LAMP/WAMP)
MySQL ist ein Produkt aus Skandinavien wie auch Linux und diverse andere so nützliche Tools und noch dazu "frei".
Das heißt es unterliegt den GPL-Bestimmungen (General Public Licens) und der Open Source Cummunity. Diese
Lizenz verpflichtet die Mitglieder den Quellcode ihrer Programme und Scripts der Allgemeinheit für nichtkommerzielle Nutzung frei zu geben, zwecks Weiterentwicklung. Die GPU-Leute sind die "Gralsritter " des Internet mit
der hehren humanistischen Auffassung, dass das Wissen der ganzen Menschheit gehört und nicht einer einzelnen Firma
(im Gegensatz zu manchen sehr bekannten Monopol-Firmen). Will eine Firma die Produkte kommerziell nutzen,
bezahlt sie selbstverständlich Lizenzgebühren an die Autoren und die GPU (wie dies z.B. IBM schon getan hat).
"MySQL" könnte man mit "Meine SQL-Datenbank" überetzen. Es ist eine sehr einfache relationale Datenbank mit
einer standardisierten Abfrage-Sprache (SQL = Standard Query Language). Sie ist sowohl als UNIX/Linux/FreeBSD
wie auch als Windows-Version erhältlich (genauso wie die Scriptsprache (Interpreter) PERL und PHP) und bildet
zusammen mit einem Webserver (APACHE bzw. MS-Windows' – PWS/IIS (PersonalWebServer,
InternetInformationServer ) eine freie Datenbank-Plattform (LAMP/ WAMP) zum Informations-Austausch und zur
Speicherung und Verwaltung von Informationen.
Trotzdem, auch bei einer noch so kleinen Datensammlung kann man nicht soe einfach „d’rauflos“ tippen, sondern sollte
sich überlegen, welche Informationen man speichert und wie man sie später wiederfinden will.
Geschickte Planung (Entwurf) kann die spätere Arbeit mit der Datenbank sehr vereinfachen oder natürlich im
umgekehrten Fall sehr behindern. Die investierte Zeit rechnet sich später.
Wir werden uns in der nächsten Zeit etwas mit dieser Plattform beschäftigen, um die grundsätzlichen Funktionen und Anwendungen
der Formular- und Datenbankgestützten Webseiten kennenzulernen (Gästebücher, Firmenforen, Warenkorb/Artikelverwaltung
(E-Commerce) etc.) Dazu benötigen wir neben inigen Grundkenntnissen in PHP-/MySQL-/SQL-/HTML auch die Clients von Telnet
und FTP und natürlich einen Browser.
Herunterladen