Datenbanksysteme Vom Datenmodell zur Datenbank Eine Einführung in Relationale Datenbanksysteme am Beispiel MS-ACCESS datadidakt 1-1 Einführung Datenbanksysteme Datenbanksysteme Inhaltsverzeichnis Inhalt Kapitel 1: Grundlagen Inhaltsverzeichnis .......................................................................................... 1- 2 1 Was versteht man unter Datenbank, Datenbankmanagementsystem ....... 1- 5 und Datenbanksystem? 2 Transaktionskonzept ................................................................................. 1- 7 3 Arten von Datenbanken ............................................................................ 1- 8 Wiederholungsfragen zu Kapitel 1 ............................................................... 1- 9 Kapitel 2: Relationale Datenbanksysteme 1 2 3 4 5 Bestandteile relationaler Datenbanksysteme ............................................ 2Aufbau von Tabellen ................................................................................ 2Beziehungen und Verknüpfungen ............................................................ 2Beziehungstypen und referentielle Integrität ............................................ 2Abfrage- und Manipulationssprachen ....................................................... 2- 1 1 3 5 7 Wiederholungsfragen zu Kapitel 2 ................................................................ 2- 8 Kapitel 3: Datenmodellierung 1 2 3 4 Ziel und Vorgehensweise der Datenmodellierung.................................... 3- 1 Anforderungsanalyse ................................................................................ 3- 2 Grundbegriffe des Entitäten-Beziehungsmodell ....................................... 3- 2 Erstellen eines Entitäten-Beziehungsmodells ........................................... 3- 6 EuroData: Dokumentation der Anforderungsanalyse ............................... 3- 7 EuroData: Erstellen des Entitäten-Beziehungsmodells ............................ 3- 8 5 Ableiten des Relationenmodells ............................................................... 3-11 EuroData: Ableiten des Relationenmodells .............................................. 3-15 6 Normalformenlehre ................................................................................... 3-17 Wiederholungsfragen zu Kapitel 3 ................................................................ 3-19 Kapitel 4: Erstellen einer Datenbank 1 2 3 4 Anlegen einer neuen Datenbank ............................................................... 4Festlegen der Tabellenstruktur.................................................................. 4Herstellen der Beziehungen zwischen den Tabellen ................................ 4Erfassen der Tabellendaten ....................................................................... 4EuroData: Erstellen der Tabellen und Festlegen der Beziehungen .......... 4- 1 2 4 5 6 Wiederholungsfragen zu Kapitel 4 ................................................................ 4- 7 datadidakt 1-2 Einführung Datenbanksysteme Datenbanksysteme Kapitel 5: Auswahlabfragen 1 Sprachkonzepte der Abfragesprachen SQL und QbE ............................... 5- 1 2 Projektion .................................................................................................. 5- 3 Sortieren von Abfrageergebnissen ............................................................ 5- 4 EuroData: Abfragen (Projektion).............................................................. 5- 5 3 Selektion ................................................................................................... 5- 6 - Einfache Bedingungen............................................................................ 5- 7 - Zusammengesetzte Bedingungen (AND, OR) ....................................... 5- 8 - Verneinte Bedingungen (NOT) .............................................................. 5- 9 - Bereichsbeschränkungen (BETWEEN) ................................................. 5-10 - Einschränkung auf Listenwerte (IN) ...................................................... 5-10 - Mustervergleiche (LIKE) ....................................................................... 5-11 EuroData: Abfragen (Selektion) ............................................................... 5-12 4 Abfragen mit Parametern .......................................................................... 5-14 5 Abfragen mit Berechnungen ..................................................................... 5-15 Nullwert-Problem ..................................................................................... 5-17 6 Abfragen mit Gruppierungen .................................................................... 5-18 EuroData: Abfragen (Parameter, Berechnungen, Gruppierungen) ........... 5-20 7 Verbundabfragen (Join-Abfragen) ............................................................ 5-21 EuroData: Abfragen (Verbundabfragen) .................................................. 5-23 Wiederholungsfragen zu Kapitel 5 ................................................................ 5-25 Kapitel 6: Manipulationsabfragen 1 2 3 4 Tabellenerstellungsabfragen .................................................................... 6Löschabfragen .......................................................................................... 6Anfügeabfragen ....................................................................................... 6Aktualisierungsabfragen .......................................................................... 6EuroData: Aktions-/Manipulationsabfragen ............................................ 6- 1 2 3 4 4 Wiederholungsfragen zu Kapitel 6 ................................................................ 6- 6 Kapitel 7: Standardformulare 1 2 3 4 5 Grundsätze der Formulargestaltung .......................................................... 7- 1 Formularansichten .................................................................................... 7- 1 Einspaltige Formulare ............................................................................... 7- 3 Tabellarische Formulare ........................................................................... 7- 8 Haupt- und Unterformulare ...................................................................... 7- 9 EuroData: Formulare ................................................................................ 7-13 Wiederholungsfragen zu Kapitel 7 ................................................................ 7-15 datadidakt 1-3 Einführung Datenbanksysteme Datenbanksysteme Inhaltsverzeichnis Kapitel 8: Einfache Berichte 1 2 3 4 5 Struktur eines Berichts .............................................................................. 8- 2 Einspaltige Berichte .................................................................................. 8- 3 Tabellarische Berichte .............................................................................. 8- 6 Berichte mit Gruppierungen ..................................................................... 8- 6 Adressetiketten.......................................................................................... 8-10 EuroData: Berichte ................................................................................... 8-12 Wiederholungsfragen zu Kapitel 8 ................................................................ 8-13 datadidakt 1-4 Einführung Datenbanksysteme Datenmodellierung 1 Datenbanksysteme Grundlagen Lerninhalte L1 Was versteht man unter Datenbank, Datenbankmanagementsystem und Datenbanksystem? Transaktionskonzept Lerninhalte Arten von Datenbanken Was versteht man unter Datenbank, Datenbankmanagementsystem und Datenbanksystem? Für den reibungslosen Ablauf eines Betriebes ist es wichtig, die Flut von Informationen und Neuigkeiten (wie z. B. Kundenadressen, Lieferantendaten, Artikeldaten, Umsatzstatistiken, Lagermengen, Mindestbestände, Zahlen der Buchhaltung und Kostenrechnung , Personaldaten usw.) so zu sammeln, dass jede Abteilung im Betrieb schnell Zugriff auf einzelne Daten hat, für die sie eine Zugriffsberechtigung hat. Die Gesamtheit der Daten wird in einer Datenbank gespeichert. Die in der Datenbank gespeicherten Daten können meist sehr unterschiedlicher Art sein, z. B. Texte, Zahlen, Grafiken, Bilder, Sprache und/oder Videosequenzen. Das Datenbankmanagementsystem (kurz DBMS) - teilweise auch Datenbankverwaltungssystem (kurz DBVS) genannt - kontrolliert und verwaltet diesen Datenbestand. Der Anwender kann von der Betriebssystemebene (Programmierung) und aus verschiedenen Anwendungsprogrammen direkt auf die Datenbank zugreifen, sofern Betriebssystem bzw. Anwendung über einen Datenbanktreiber (z. B. ODBC) verfügen. Moderne Betriebssysteme bzw. Anwendungen (z. B. Access, dBase für Windows) und Entwicklungsumgebungen (z. B. C++, Delphi, Visual Basic) bieten solche Schnittstellen. Das Datenbankmanagementsystem ermöglicht so Abfragen an die Datenbank wie z. B. „Bei welchen Rechnungen ist das Zahlungsziel mindestens 10 Tage überschritten?“ „Welche Artikel hatten die höchsten Umsätze?“ „Welche Kunden wohnen im Großraum Mainz und haben im letzten Jahr keinen Auftrag erteilt?“ und Datenmanipulationen wie z. B. Erhöhung aller Verkaufspreise der Artikelgruppe 1 um 4 %, Aufnahme eines neuen Mitarbeiters Löschen eines Kunden). Abfragen und Datenmanipulationen können jedoch nur in dem Rahmen vorgenommen werden, den das Datenbankmanagementsystem zulässt. Datenbank und Datenbankmanagementsystem werden unter dem Begriff Datenbanksystem (kurz DBS) zusammengefasst. Bekannte Datenbanksysteme sind DB/2 von IBM, Oracle, Adabas, miniSQL, Microsoft-SQL-Server oder Microsoft Access. datadidakt 1-5 Einführung Datenbanksysteme Datenbanksysteme Datenmodellierung Datenbank, Datenbankmanagementsystem, Datenbanksystem, Anwendung und Betriebssystem im Funktionszusammenhang: Das Datenbanksystem besitzt die _______________________________________________________________________ (Aufbau der Datenbank, Bereitstellung der Daten, Pflege), ________________________________________________________________________________ (fehlerfreie und korrekte Speicherung der Daten sowie Schutz vor Widersprüchen, vor Zerstörung, vor Verlust, vor unbefugtem Zugriff und Mißbrauch), ermöglicht und unterstützt den _______________________________________________________ (d. h. es können mehrere Benutzer gleichzeitig ein und dieselbe Datenbank abfragen und bearbeiten, wobei unterschiedliche Berechtigungen möglich sind), bietet einen hohen Grad an __________________________________________________________ (d. h. Daten und Anwendungsprogramme bleiben weitgehend voneinander getrennt). Unter einer Datenbank versteht man eine Sammlung von Datenbeständen unterschiedlicher Struktur, die miteinander in Beziehung stehen. Das Datenbankmanagementsystem kontrolliert und verwaltet diesen Datenbestand. Es ermöglicht Abfragen und Datenmanipulationen. Datenbank und Datenbankmanagementsystem werden unter dem Begriff Datenbanksystem zusammengefasst. datadidakt 1-6 Einführung Datenbanksysteme Datenmodellierung L2 Datenbanksysteme Transaktionskonzept Ein wesentliches Prinzip aller Datenbanksysteme stellt das Transaktionskonzept dar. Eine Transaktion ist eine in sich abgeschlossene („atomare“) Aktivität innerhalb eines DV-Systems zur Erfüllung einer bestimmten Aufgabe. Sie besteht aus einer festgelegten Folge von Einzeloperationen. Erreicht eine Transaktion ein vorzeitiges Ende (Abbruch durch den Benutzer, Systemfehler, Integritätsverletzung) wird der Zustand vor Beginn der Transaktion wiederhergestellt. Beispiel: Um einen Zahlungseingang zum Ausgleich einer Rechnung in einer Datenbank abzubilden, sind vereinfachend folgende Operationen notwendig: Operation 1: Sollbuchung auf dem Bankkonto Operation 2: Habenbuchung im Debitorenkonto Operation 3: Ausgleich des offenen Postens („Offene-Posten-Buchung“) Die Transaktion „Zahlungseingang zum Ausgleich einer Rechnung“ besteht somit aus drei Operationen und wird als eine Einheit betrachtet. Kommt es beispielsweise zwischen „Sollbuchung“ und „Habenbuchung“ zu einem Systemabsturz, so wird nach dem Neustart des Datenbanksystems der Zustand wieder hergestellt, der vor Beginn der „Sollbuchung“ bestand. In der Datenbanktheorie wird das Transaktionskonzept in Anlehnung an die vier grundlegenden Eigenschaften einer Transaktion als ACID-Prinzip bezeichnet. Es wird als einer der wesentlichen Fortschritte der Datenbankprogrammierung angesehen. Die vier grundlegenden Eigenschaften sind: A atomicity .................. Eine Transaktion wird als atomar aufgefasst („Alles-oder-Nichts“). C consistency .............. Die Integritätsbedingungen werden gewährleistet. I isolated execution .... Während der Transaktion werden die betroffenen Daten vor dem Zugriff durch andere Prozesse geschützt (Sperren, logischer Einbenutzerbetrieb). D durability ................. Alle Änderungen sind dauerhaft. Das Transaktionskonzept garantiert die Vollständigkeit von zusammengehörigen Operationen: Entweder werden alle Operationen einer Transaktion ausgeführt oder keine! Das Transaktionskonzept ist somit eine wesentliche Voraussetzung für die Widerspruchsfreiheit einer Datenbank. datadidakt 1-7 Einführung Datenbanksysteme Datenbanksysteme L3 Datenmodellierung Arten von Datenbanken Je nachdem wie die Daten in einer Datenbank organisiert sind, unterscheidet man verschiedene Arten von Datenbanken: Hierarchische Datenbanken Vernetzte Datenbanken Relationale Datenbanken Hierarchische bzw. vernetzte Datenbanken Bei diesen beiden Datenbankarten werden die Beziehungen zwischen den Datenelementen bzw. den Dateneinheiten mit Zeigern, Mengen und verketteten Listen aufgebaut. Nachteilig sind die starren Strukturen: Änderungen in der Struktur der Datenbank erfordern neue Anweisungen. Hierarchische und vernetzte Datenbanken finden sich vor allem in der Großrechnerwelt (Tendenz: abnehmend). Relationale Datenbanken In relationalen Datenbanksystemen (kurz RDBS) werden die Informationen in Form von Tabellen gespeichert. Zwischen den einzelnen Tabellen des Datenbanksystems bestehen Beziehungen. Der Vorteil relationaler Datenbanksysteme besteht vor allem in den sehr flexiblen und effizienten Zugriffsmöglichkeiten. Nachteilig ist der rechnerintern hohe Verwaltungsaufwand, der die Zentraleinheit stark belastet. In der Praxis sind heute relationale Datenbanken am weitesten verbreitet (Tendenz: zunehmend). Auf relationale Datenbanksysteme soll im folgenden Kapitel näher eingegangen werden. In relationalen Datenbanksystemen werden Informationen in Tabellenform gespeichert. Bei relationalen Datenbanksystemen bestehen sehr flexible und effiziente Zugriffsmöglichkeiten. Relationalen Datenbanksysteme sind in der Praxis am weitesten verbreitet. datadidakt 1-8 Einführung Datenbanksysteme Datenmodellierung Datenbanksysteme Wiederholungsfragen 1. Erklären Sie den Begriff Datenbank. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 2. Welche Arten von Daten kann eine Datenbank aufnehmen? _______________________________________________________________________________ _______________________________________________________________________________ 3. Erklären Sie den Begriff Datenbankmanagementsystem. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 4. Was versteht man unter einer Abfrage an die Datenbank? Erläutern Sie den Sachverhalt an einem selbst gewählten Beispiel. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 5. Was versteht man unter Datenmanipulation? Erläutern Sie den Sachverhalt an einem selbst gewählten Beispiel. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 6. Erklären Sie den Begriff Datenbanksystem. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 7. Nennen Sie bekannte Datenbanksysteme. _______________________________________________________________________________ _______________________________________________________________________________ 8. Erläutern Sie die Aussage: „Das Datenbanksystem besitzt die Kontrolle über die Daten“. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 9. Erläutern Sie die Aussage: „Das Datenbanksystem gewährleistet die Datenintegrität“. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ datadidakt 1-9 Einführung Datenbanksysteme Datenbanksysteme Datenmodellierung 10. Erläutern Sie die Aussage: „Das Datenbanksystem ermöglicht den Mehrbenutzerbetrieb“. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 11. Erläutern Sie die Aussage:„Das Datenbanksystem bietet einen hohen Grad an Datenunabhängigkeit“. _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 12. Was versteht man unter dem Transaktionskonzept? _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 13. Aus welchem Grund wird das Transaktionskonzept als Meilenstein in der Entwicklung der Datenbankprogrammierung angesehen? _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 14. Welche Arten von Datenbanksystemen unterscheidet man? _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 15. Worin besteht das wesentliche Merkmal relationaler Datenbanksysteme? _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 16. Welche Vorteile bieten relationale Datenbanksysteme? _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ datadidakt 1-10 Einführung Datenbanksysteme