Einführung in Datenbankarbeit -1- 1. von 8 DATENBANKEN EINFACHE ANWENDUNGEN Inhaltsverzeichnis: 1 EINFÜHRUNG IN DIE DATENBANKPROBLEMATIK ........................................................... 1 1.1 1.2 1.2.1 1.2.2 1.3 2 MENGEN, OBJEKTE, BEZIEHUNGEN (RELATIONEN, VERKNÜPFUNGEN) ......................................... 2 DIE RELATIONALE DATENBANK ..................................................................................................... 3 Der Übergang von der Tabelle zur Datenbank .................................................................... 4 Weitere Datenbankanforderungen ........................................................................................ 4 WARUM ACCESS? ........................................................................................................................ 5 AUFBAU DES ACCESS-FENSTERS ............................................................................................ 5 2.1 3 DER ARBEITSBEREICH – DAS ARBEITSHEFT ................................................................................... 5 VORBEREITEN EINER DATENBANK ....................................................................................... 6 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 IDENTBEGRIFFE, SCHLÜSSEL UND VERKNÜPFUNGEN ..................................................................... 7 EINFÜHRUNG IN DIE ARBEIT MIT EXCEL .............................. ERROR! BOOKMARK NOT DEFINED. Problemanalyse .....................................................................Error! Bookmark not defined. Einfache Dateneingabe ..........................................................Error! Bookmark not defined. FORMATIEREN – Z. B. DAS ARBEITSBLATT............................. ERROR! BOOKMARK NOT DEFINED. Formatieren der Zeilenhöhe, Spaltenbreite ...........................Error! Bookmark not defined. Einfügen von Spalten und Zeilen ...........................................Error! Bookmark not defined. Löschen von Zellen, Zellinhalten ...........................................Error! Bookmark not defined. Zellen, Bereiche .....................................................................Error! Bookmark not defined. Arbeitsblattmenü ....................................................................Error! Bookmark not defined. Übung ....................................................................................Error! Bookmark not defined. 1 Einführung in die Datenbankproblematik Datenbanken eignen sich hervorragend für die Abspeicherung, Verwaltung von Objekten, deren zugehörigen Eigenschaften wir schnell wieder auffinden, auslisten, nach Notwendigkeit ändern oder gar löschen wollen. Oft haben wir schon etwas von Datenbanken gehört. Die Daten werden binär kodiert und dann abgespeichert. Nach dem Bit ist die nächst größere Einheit ein Byte, in das wir ein Zeichen abspeichern. Ein Objekt hat oft einen Namen, eine logische Identifikationsnummer (um sie eindeutiger von anderen gleichartigen Objekten zu unterscheiden) sowie Eigenschaften, um das Objekt besser beschreiben zu können. Dabei können die zur Abspeicherung vorgesehenen Daten nacheinander gespeichert werden. Die gesamte Länge nennen wir dann einen Datensatz. Die gleichen Datensätze werden in einer Datei abgespeichert. Mehrere Dateien, die sich logisch miteinander verknüpfen lassen, bilden ein Filesystem. Bei einem Filesystem müssen die Identifikationsbegriffe oder Ordnungsbegriffe, wie sie oft genannt werden, in jeder Datei abgespeichert werden. Das führt aber zu einer mehrfachen Speicherung gleicher Daten, der so genannten Redundanz. Es ergibt sich die Frage aber wann sprechen wir bei der Datenhaltung von einem Zeichen einem Byte einem Satz einer Datei einem Filesystem einer Datenbank? 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -2- 2. von 8 Bei einer Datenbank sollen die Objekte redundanzfrei (wenn es technisch oder ökonomisch nicht vertretbar ist, dann wenigstens redundanzarm) gespeichert werden. Gute Beispiele für Filesysteme sind dBase oder FoxPro (mit Clipper), die in vieler Hinsicht von sich behaupten Datenbanksysteme zu sein. (Vergleiche (von mir vorgeschlagenes) Lehrbuch von Farkas, Csaba; Windows és Office2000 felhasználónak.) Diese von mir getätigte Aussage, müsste eigentlich bewiesen werden. Wenn wir von Datenbanken sprechen, sollten wir solche Systeme erwähnen, die, obwohl sie keine Microsoftprodukte sind, dennoch weltweit zu den besten ihrer Art gehören: ORACLE eines der ersten Systeme, wenn nicht überhaupt das erste System, dass auf allen verfügbaren Hardware-Plattformen und Betriebssystemen lief. SYBASE INFORMIX MYSQL ein kostenlos herunterladbares System. Daneben gibt es auch stark abhängige Systeme – hier zwei Vertreter ACCESS läuft nur unter Microsoft DB2 nur für IBM-Systeme geeignet 1.1 Mengen, Objekte, Beziehungen (Relationen, Verknüpfungen) An dieser Stelle erinnern wir uns noch einmal an schon bekannte Begriffe, deren Bedeutung an dieser Stelle noch einmal vertieft werden soll. Sie sind auch für die spätere Arbeit mit Datenbanken wichtig. Folgende Aussagen sind vor allem für die Arbeit mit dem PC und dem Betriebssystem von Microsoft mehr oder weniger zugeschnitten, da wir unsere praktische Anwendung mit ACCESS von Microsoft tätigen werden. Viele Textstellen werden Sie genauso bei der EXCEL-Einführung wiederfinden. Wir arbeiten schon seit einer geraumen Zeit mit dem Begriff Datei. Wir unterschieden auf dem PC verschiedene Arten. Wir setzten uns mit der Namenskonvention auseinander und erkannten die Zweckmäßigkeit der Erweiterung im Namen. So sprechen wir von exe-Dateien, wenn es sich um ausführbare Programme, txt-Dateien, wenn es sich um Textdateien, pas-Dateien, wenn es sich um den Quelltext eines PASCAL-Programmes, doc-Dateien, wenn es sich um Dokumente im MS-Word-Format, xls-Dateien, wenn es sich um eine EXCEL-Anwendung mdb-Dateien, wenn es sich um Access Datenbanken handelt Vgl. Excel-Einführung: Daten sind Informationen zu einem bestimmten Objekt. Dieses Objekt kann eine Person, ein Gegenstand, ein Vorgang oder etwas anderes sein. Die Informationen zu diesem Objekt beschreiben die Eigenschaften, zu denen die Objekte in Beziehung stehen. Ein anderes Wort dafür ist Relation. Unter der Menge verstehen wir die Vereinigung von wohl unterschiedenen Objekten mit gleichen Eigenschaften. Beispiel: 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -3- 3. von 8 Solche Mengen können Äpfel, Autos, Zahlen.... sein. Wenn wir diese erfassen, dann geht es vor allem um die Beziehungen, Relationen zu anderen Eigenschaften (Objekten). Zur Beschreibung der Datenmenge Apfel ziehen wir folgende Objekte heran: Name für die Apfelsorte, Farbe, Aroma, Geschmack, Zeit der Bestäubung, Zeit der Pflückreife, Zeit des Genusses, Lagerbarkeit, Name des Obstbauern (Zulieferer), Gelieferte Menge, Ankaufspreis, Lagerbestand, .... Zur Beschreibung der Datenmenge Auto benutzen wir folgende Relationen von Objekten: Typ (es ist oft ein Name), Name des Herstellers, Name des Besitzers, polizeiliches Kennzeichen, Fahrgestellnummer, Motornummer, Farbe, Baujahr (Zeit), Zeit der Verkehrszulassung, .... Sowohl Auto als auch Apfel besitzen gleiche Beziehungen (Relationen) zu anderen Objekten, als da sind: Name, Zeit, Farbe,..., Zu anderen Objekten ist die Relation nicht vorhanden und es ist nicht notwendig dies aufzuschreiben, jedenfalls wäre es sehr seltsam dem Apfel eine Motornummer zu vergeben. Sie finden sicherlich noch andere Beziehungen (Relationen). So kann der Autobesitzer einen Garten mit Apfelbäumen besitzen, das ist aber erst interessant, wenn die betrachteten Objekte Menschen sind. Bemerkung: Tabellen sind sehr gut dafür geeignet die Datenbeziehungen der Objekte (Relationen) in übersichtlicher Form darzustellen. Wobei die Werte der einzelnen Beziehung unterschiedliche sein können. (z.B. Farbe kann rot, grün,... usw. sein) Einige sehr gute Beispiele dafür lassen sich schnell finden. Immer dort wo Gegenüberstellungen in einer übersichtlichen Form mit vielen Daten gesucht werden, greift man auf Tabellen zurück. Beispiele: Menschen werden nach ihren Berufen, Tätigkeiten, Alter, Gesundheitszustand, Familiengröße, Einkommen, politischer Zugehörigkeit, Geschlecht, u.v.a. erfasst. Von Schulkindern werden die Zensuren gegenübergestellt, die Wettbewerbsleistungen verglichen, usw. Haustiere werden nach der Art erfasst, Kühe nach ihren Milchleistungen, u.v.a. Autos werden entsprechend des Herstellers, des Motorhubraumes, dem Jahrgang, dem Typ verglichen, Für viele statistische Auswertungen ist die Tabelle eine geeignete Form, um etwas übersichtlich darzustellen. Aber was ist nun der Unterschied zwischen Tabelle und Datenbank? 1.2 Die relationale Datenbank Auch bei den relationalen Datenbanken verfolgt man ein ähnliches Konzept. Eine Datenbank kann vielerlei Strukturen aufweisen. Heutzutage sind vor allem relationale Datenbanken die Hauptvertreter. Andere Vertreter sind hierarchische Systeme. Die Struktur der relationalen Datenbanken lässt sich am besten mit Tabellen vergleichen. In dieser Datenbank steht aber alles in einer „riesigen Tabelle“, während in einer Tabelle nur bestimmte Eigenschaften gespeichert wurden, die anderen Eigenschaften in einer anderen Tabelle. So erhielt man eine große Anzahl von Tabellen. Eine relationale Datenbank 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -4- 4. von 8 sollte man sich eher wie eine einzige, riesige Tabelle vorstellen. Alle Daten, die sonst in einer oder mehreren Tabellen zur Beschreibung eines Objektes zusammengefasst werden, werden von nun ab in einer relationalen Datenbank gespeichert. Als Nutzer brauchen wir uns weniger um die physikalische Speicherung der Daten kümmern, dafür sollten wir uns aber die Beschreibung der Beziehungstabellen gründlich vornehmen. 1.2.1 Der Übergang von der Tabelle zur Datenbank Den Schritt zur Datenbank sollte man dann vollziehen, wenn es sich um eine große Datenmenge handelt, (die Kapazität des Tabellenkalkulators reicht nicht mehr aus) die Struktur der Datenmenge sehr komplex ist, (mehr als eine Tabelle werden gleichzeitig behandelt) die Datenspeicherung redundanzfrei sein soll, (zumindest redundanzarm) der gleichzeitige Lesezugriff auf die gemeinsamen Daten gestattet werden soll, d.h. die Daten sind für alle aktuell die Datenhaltung robust sein soll, d.h. bei Bedienungsfehler (z. B. den Prozess einer Veränderung abgebrochen) oder äußeren Fehlern (Computer ausgeschaltet) soll immer ein so genannter konsistenter Zustand erreicht werden. Privilegien auf den Datenzugriff vergeben werden sollen. (z.B. ein Lehrer kann nur die Zensuren der Schüler aber auch nur für sein Fach eintragen, der Schüler kann nur seine Daten lesen – nicht die der Mitschüler, den Stundenplan können alle lesen). Bei großen Datenveränderungen besitzen die Datenbanken über so genannte Wiederaufsetzpunkte, d.h. man kann damit den Datenzustand zu einem gewissen Zeitpunkt herstellen. Dazu sollten aber vorher Sicherheitskopien erstellt worden sein. 1.2.2 Weitere Datenbankanforderungen Natürlich gibt es noch viele andere Bedingungen. Welche Anforderungen stellen wir also an eine Datenbank, welche Erwartungen sollte sie erfüllen? Leichte Erfassung, Bearbeitung und Löschung von Daten, Einfache Suche und Zusammenstellung (Listen, Auskünfte) der verfügbaren Daten ermöglichen0 Schneller Zugriff auf ausgewählte Datenbereiche, d. h. Datenhaltung und Suche von Daten, sowie Zusammenstellen unter neuen Gesichtspunkten. Die gespeicherten Daten sind ständig verfügbar. (Das ist eine wichtige organisatorische Frage, denn damit darf der Rechner, auf dem die Datenbank läuft, faktisch nie ausgeschaltet werden.) Die Server – Client – Kommunikation muss gewährleistet sein. Herausfiltern von Daten nach bestimmten Gesichtspunkten über verschiedene Tabellen schnell und leicht ermöglichen (z. B. Schüler einer Klasse, Schüler mit Sprachprüfung usw. heraussuchen) über eine standardisierte Abfragesprache. Diese Sprache nennen wir SQL (Structured Query Language = strukturierte 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -5- 5. von 8 Abfragesprache) Wenn wir ein Programm in SQL geschrieben haben, dann erhalten wir immer das gleiche Ergebnis, egal auf welchem Rechner und mit welchem Betriebssystem oder Datenbankbetriebssystem wir unsere Datenbank betreiben. Natürlich muss die Datenbank gewisse Kriterien erfüllen, damit meine obige Aussage auch zutrifft. (Vergleichbar vielleicht, ich kann meinen Rechner überall starten, wo ich auch Strom habe – damit erklärte ich aber nicht die Normeinhaltung für die Stromerzeugung (230V, Wechselspannung) in Amerika haben wir aber nur 110V und sogar in England haben wir oft andere Steckdosen – Leute, die ihr Mobiltelefon aufladen wollten, kennen sicher das Problem) Bemerkung: Wie auch bei anderen Anwendungen beschränken wir uns auch hier nur auf einige wichtige Funktionen. Wir wollen ein paar Möglichkeiten des Einsatzes von Datenbanken kennen lernen. Ein paar Anfragen in SQL an die Datenbank richten. Die Planung, der Entwurf, die Programmierung, die Durchführung von echten Datenbankanwendungen überlassen wir dann doch den Experten. Aufgaben und Ziel: Was verstehen Sie unter einer Datenbank? Nennen Sie mehrere Beispiele und erläutern Sie die logischen Verknüpfungen einer relationalen Datenbank. Was bedeutet eine eigentlich Relation? Wozu dient die SQL? 1.3 Warum ACCESS? Moderne Tabellenkalkulatoren sind heutzutage einander sehr ähnlich in ihrem Leistungsumfang. EXCEL ist Teil des Microsoft-Office-Pakets, und man nimmt was man hat. Je mehr verbreitet es ist, desto besser für uns. Damit gibt es weniger Probleme, dass in der Schule, zu Hause, beim Nachbarn, bei Freunden andere Softwareprodukte benutzt werden. Mit anderen Worten unsere Schularbeiten und Hausaufgaben können auf vielen Rechner ohne große Probleme bearbeitet werden. Natürlich könnte man auch MYSQL benutzen – sagen einige. Sicher haben sie Recht. Es handelt sich schließlich um eine kostenlose, für alle verfügbare Software. Das Problem bleibt vorläufig unbeantwortet. 2 Aufbau des ACCESS-Fensters 2.1 Der Arbeitsbereich – das Arbeitsheft 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -6- 6. von 8 Bei der Arbeit mit ACCESS sehen wir die Forderung nach der WYSIWYGUmgebung als erfüllt an. Nach dem Start des Datenbankbetriebssystems (DBBS) stellt uns ACCESS ein leeres Fenster zur Verfügung Wir können als Standardvoreinstellung auf folgende Rollomenüs (Register) zurückgreifen: Datei Bearbeiten Ansicht Einfügen Werkzeuge Fenster Hilfe Darunter sind ein paar Symbole für den schnellen Zugriff aktiv, die meisten sind ohne irgendwelche Daten noch ohne Wirkung. Dank SAA sind uns diese Symbole irgendwie bekannt, oder? Augenscheinlich ist der Arbeitsbereich ebenfalls nicht bereit. Ähnlich zu WinWord erzeugen wir eine neue Datenbank oder wir arbeiten mit einer schon vorhandenen. Die Möglichkeit unsere Objekte mittels vorgefertigter Schablonen (für uns ist nur die leere interessant, weil wir alles selbst machen wollen) abzuspeichern ist vorhanden. Bevor wir aber zur eigentliche Abspeicherung kommen, müssen wir einige vorbereitende Arbeiten ausführen. 3 Vorbereiten einer Datenbank 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -7- 7. von 8 3.1 Identbegriffe, Schlüssel und Verknüpfungen Jedes Objekt ist einmalig, obwohl es natürlich viele von seiner Art geben kann. Wenn wir unsere Objekte abspeichern müssen wir darauf achten, dass keine Verwechslungen auftreten können. So hat jeder Mensch z.B. einen Namen, eine Fabrikat eine Bezeichnung z.B. Heft. Anhand seines Namens können wir also die Objekte unterscheiden. Sofort ist klar, nur mit dem Namen bzw. der Bezeichnung kommen wir nicht weiter. Der Name ist der Oberbegriff für unser Objekt, da er an erster Stelle steht ist es der 1. Oberbegriff. Wir haben an dieser Stelle nicht vor, unsere Objektebene zu verlassen, denn dann müssen wir weitere Identifikationsbegriffe (den Identbegriff) bereitstellen, unabhängig in welche Richtung wir die Ebene verlassen, um diese eine gewisse Person in der Datenbank wieder zu finden. Beispiel: Unsere Betrachtungsebene sind die Schüler. So können wir die Schüler einer Klasse, aller Klassen einer Altersstufe, einer Schule, einer Stadt, … betrachten. In der Ebene Schule gehören aber auch die Objekte Lehrer, das Verwaltungspersonal, ... usw. dazu. In der Ebene Klasse sind nur uns nur die unterrichtenden Lehrer wichtig. Der Begriff „Name“ wird aber nach wie vor eine entscheidende Rolle spielen. 3.2 Wichtige Merkmale moderner relationaler Datenbanksysteme Neben den allgemeinen Anforderungen an eine Datenbank, die wir oben aufführten, gibt es noch weitere Bedingungen, die wichtig für den Betreiber einer Datenbank sind. Die Datenbeziehungen müssen immer gegeben sein. Es dürfen keine „Datenleichen“ auftreten, aber ebenso wenig dürfen Daten fehlen. Beispiel: In einer Bibliothek sollte der Buchbestand immer aktuell sein. Es muss immer der Ort des Buches (Regal, Leser,…) bestimmbar sein, d.h. die Informationskette darf nicht unterbrochen sein. Wenn zu einem Buch, das eigentlich schon in der Papiermühle zermahlen wird (ausgesondert), der Datensatz zum Regalplatz noch in der Datenbank steht. automatische Gewährleistung der referentiellen Integrität (Eindeutigkeit bei Zuordnungen), Trigger (automatisches Weiterzählen) und Data Dictionaries (Datenübersichtsverzeichnisse) Sicherheitsfeatures, die versehentliches Löschen oder unbefugte Zugriffe verhindern hohe Performance ODBC - Fähigkeit (Open Database Connectivity) mit Multimedia-Daten umgehen können Inter- und Intranet-Fähigkeit 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium Einführung in Datenbankarbeit -8- 8. von 8 3.3 Hinweise zum praktischen Aufbau einer Datenbank Aus den obigen Beschreibungen wollen wir nun einige Schritte beim Aufbau einer Datenbank besprechen. Zunächst müssen wir die Struktur unseres Projekts aufstellen, so dass wir zu den Objekten diejenigen Eigenschaften (Relationen) erfassen, die notwendig sind. Da wir mehr als nur ein Objekt untersuchen (Vergleichen Sie Themen zum Tabellenkalkulator), sollten wir genau festlegen, welches der Primärschlüssel ist, über den wir die Datenerfassung, Datensuche (engl. search), Datenausgabe auf einfache Art erledigen. Welches sollen die untergeordneten Schlüssel (sekundär) werden, die bei der Datenausgabe relativ häufig von uns benutzt werden (eines der Projektziele). Oft reichen aber Primärschlüssel und Sekundärschlüssel nicht aus, um ein Objekt eindeutig unter den vielen gleichen Schlüsseln (Beispiel: Name, Vorname, Geburtsdatum) eindeutig zu identifizieren. Oder aber es müssten so viel Schlüssel gleichzeitig verarbeitet werden, was sich wiederum nachteilig für die Verarbeitungsgeschwindigkeit auswirkt. So werden für die Datenverarbeitung eineindeutige (X↔Y) Identifikationsbegriffe (Identbegriff) geschaffen. Einige Beispiele für Identifikationsbegriffe, wobei uns einige sicherlich bekannt vorkommen. Personen: Personenkennzahl PKZ Gesundheitswesen: Sozialversicherungsnummer Waren Strichcode (Barcode), Artikelnummer Verlagswesen ISBN Bankwesen Kontonummer Netzwerkkarten MAC-Adresse, teilweise IP-Adresse Post Postleitzahl der Ort Kraftfahrzeuge Nummernschild Autos Motorennummer, Karosserienummer Menschen Fingerabdruck, DSN Telekommunikation Telefonnummer 75879132.doc, Norbert Burmeister, letzte Änderung: 2005.I.04, Mitschriften für Avaser Gymnasium