Vom Datenmodell zur Datenbank Eine Einführung in Relationale Datenbanksysteme am Beispiel MS-ACCESS 1-1
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 Bestandteile relationaler Datenbanksysteme... 2-1 2 Aufbau von Tabellen... 2-1 3 Beziehungen und Verknüpfungen... 2-3 4 Beziehungstypen und referentielle Integrität... 2-5 5 Abfrage- und Manipulationssprachen... 2-7 Wiederholungsfragen zu Kapitel 2... 2-8 Kapitel 3: Datenmodellierung 1 Ziel und Vorgehensweise der Datenmodellierung... 3-1 2 Anforderungsanalyse... 3-2 3 Grundbegriffe des Entitäten-Beziehungsmodell... 3-2 4 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 Anlegen einer neuen Datenbank... 4-1 2 Festlegen der Tabellenstruktur... 4-2 3 Herstellen der Beziehungen zwischen den Tabellen... 4-4 4 Erfassen der Tabellendaten... 4-5 EuroData: Erstellen der Tabellen und Festlegen der Beziehungen... 4-6 Wiederholungsfragen zu Kapitel 4... 4-7 1-2
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 Tabellenerstellungsabfragen... 6-1 2 Löschabfragen... 6-2 3 Anfügeabfragen... 6-3 4 Aktualisierungsabfragen... 6-4 EuroData: Aktions-/Manipulationsabfragen... 6-4 Wiederholungsfragen zu Kapitel 6... 6-6 Kapitel 7: Standardformulare 1 Grundsätze der Formulargestaltung... 7-1 2 Formularansichten... 7-1 3 Einspaltige Formulare... 7-3 4 Tabellarische Formulare... 7-8 5 Haupt- und Unterformulare... 7-9 EuroData: Formulare... 7-13 Wiederholungsfragen zu Kapitel 7... 7-15 1-3
Inhaltsverzeichnis Kapitel 8: Einfache Berichte 1 Struktur eines Berichts... 8-2 2 Einspaltige Berichte... 8-3 3 Tabellarische Berichte... 8-6 4 Berichte mit Gruppierungen... 8-6 5 Adressetiketten... 8-10 EuroData: Berichte... 8-12 Wiederholungsfragen zu Kapitel 8... 8-13 1-4
Datenmodellierung Datenbanksysteme 1 Grundlagen Lerninhalte Was versteht man unter Datenbank, Datenbankmanagementsystem und Datenbanksystem? Transaktionskonzept Arten von Datenbanken Lerninhalte L1 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. 1-5
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. 1-6
Datenmodellierung Datenbanksysteme L2 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. 1-7
Datenmodellierung L3 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. 1-8
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. 1-9
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? 1-10