Informatik II Datenorganisation Datenbanken Studiengang Wirtschaftsingenieurwesen (2. Semester) Prof. Dr. Sabine Kühn Tel. (0351) 462 2490 Fachbereich Informatik/Mathematik skuehn@informatik.htw-dresden.de Raum S315a www.htw-dresden.de/~skuehn
0.1 Organisatorisches 1 SWS Vorlesung Prof. Kühn 2 SWS Praktikum Gruppen 1, 2: Frau Buschendorf, Gruppen 3, 4: Frau Kantardshieffa, und Restegr. : Prof. Kühn Selbstständige Erarbeitung eines Beleges zur Überprüfung der eigenen Kenntnisse in Vorbereitung auf die Prüfung (in den letzten 4 Prakt.-stunden) Schriftliche Prüfung (Klausur, 90 min., ohne Unterlagen) Note Informatik = Inf I (50 %) + Inf II (50 %) 2
0.2 Überblick über die Datenbankproblematik Unter einer Datenbank versteht man ein System zur Beschreibung, Speicherung und Wiedergewinnung von umfangreichen Datenmengen. Abgrenzung der Begriffe Daten, Informationen und Wissen 3
Daten, Informationen, Wissen Grün (Datum) Losfahren? Kontext: Ampel (Information) Reaktion (Wissen) 4
Daten kommen vor in... Betriebssysteme z.b.:windows NT, Solaris, Linux Anwendungssoftware z.b.:textverarbeitungsprogramme, Tabellenkalkulation Grafiken, Animation z.b. Coreldraw, Power Point Probleme in der Datenhaltung 1. Datenredundanz (Speicherplatz) 2. Gefahr der Dateninkonsistenz 3. Effizienz der Datenverwaltung 4. Datenschutz und Datensicherheit 5
0.3 Inhalt 1. Grundlagen der Datenorganisation Speichern und Wiederfinden von Daten Datenbanksysteme 2. Einführung in das relationale Datenmodell Strukturteil/ Operationsteil 3. MS Access Arbeitsoberfläche/ Erstellen von DB/ Tabellen/ Berichte/ Formulare/ Makros 4. Programmentwicklung mit VBA Grundlagen/ Steuerstrukturen/ Objekte in Access 5. Datenmodellierung Entity Relationship Modell/ Entwurf von Relationen/ Schlüsselarten 6. Datenbankorganisation Architektur von Datenbanksystemen/ Transaktionen 6
1. Grundlagen der Datenorganisation 1.1 Motivation: Speichern und Wiederfinden Programmverarbeitung findet grundsätzlich im Hauptspeicher (HS) statt. Datenverwaltung intern : HS, Register, Puffer (Cache) extern : Festplatte, CD, DVD,... Dateien Persistenz intern: statisch vs. dynamisch Anforderung bereits zur Übersetzungszeit bekannt (Compiler) Anforderung erst zur Laufzeit bekannt 7
Erzeugen und Ausführen von Programmen: x.c übersetzen x.o verbinden (linken) a.out HS Bibliotheksprogramme Quellprogramme Objektprogramme (Zielprogramme) Ausführbares Programm (Lademodul, Executable) 8
Organisationsformen ungeordnete Folge Basisoperationen geordnete Folge Binärer Baum B*-Baum Einfügen eines Elementes in die Datenbasis Suchen eines Elementes in der Datenbasis Entfernen eines Elementes aus der Datenbasis Hashtabelle Reihenfolge der Verarbeitung bestimmte Reihenfolge beliebige Reihenfolge Zugriffsverfahren sequentiell binär/trichotom (bei Bäumen) Hash-Verfahren (direkt oder indirekt) 9
10
1.2 Datenbanksysteme Datenbanksystem (DBS) Datenbankmanagementsystem (DBMS) Datenbank (DB) DBS = DBMS + DB DBS sind eine spezielle Art von Informationssystemen Ziel: weitgehende Unabhängigkeit der Daten von den mit ihnen arbeitenden Programmen bzw. Benutzern 3 Ebenen - Externe Ebene (Benutzersichten) - Konzeptuelle Ebene (Logische Gesamtsicht) - Interne Ebene (physische Sicht) 11
3 Ebenen - Beispiel 12
Klassifikation von Datenbanksystemen 13
2. Einführung Relationales Datenmodell Relationenmodell nach E. F. Codd, 1970 Strukturteil: Operationsteil: Beschreiben von Objekttypen durch Relationenschemata Satz von Operationen für Anfragen (Selektion) Definitionen Modifikationen (Einfügen, Entfernen) 2.1 Strukturteil Objekttyp beschrieben durch Menge von Attributen mit Wertebereichen Objekt besitzt Ausprägungen (Werte) zu Attributen 14
Veranschaulichung eines Relationsschemas und einer Relation Relationenschema R Relationen r(r) Attribute, Wertebereiche Teilmenge des kartesischen Produktes über den Wertebereichen von R Ein Element einer Relation heißt Tupel Basisrelation Datenbank Datenbankschema Die in der Datenbank aktuell vorhandene Relation zu einem definierten Relationenschema Menge aller Basisrelationen Menge aller Relationenschemata 15
Kartesisches Produkt Angenommen die Relation besteht aus zwei Attributen mit gleichen Wertebereichen der Menge M. Das kartesische Produkt umfasst alle Kombinationen der einzelnen Elemente. Mögliche Basisrelation sei hier die grün markierte Teilmenge. 16
Eigenschaften einer Relation keine mehrfachen Tupel vorhanden keine festgelegte Reihenfolge der Tupel in der Relation keine Festlegung der Reihenfolge der Attribute Attributwerte sind atomar (sog. 1 Normalform) Tabellendarstellung von Relationen: Relation Attribut Tupel Wertebereich Tabelle Spalte Datensatz, Zeile Domäne Grad (degree) Kardinalität Anzahl der Attribute Anzahl der Datensätze 17
Beispiel für das gesamte Semester: 4 Objekttypen aus dem Geschäftsbereich einer Handelsfirma (Kaufen, Verkaufen) Artikel Lieferanten enthalten werden geliefert von Vorlesung: Praktikum: Bestellungen Kunden Kunden, Bestellungen Artikel, Bestellungen enthalten Lieferanten LNR LNAME Kunden KNR Kundennummer NAME VORNAME STRASSE PLZ ORT UMSATZ SUMOFFEN Summe unbez. Rechnungen LETZTRECH Datum der letzten Rechnung FRECHOFFEN unbez. Rechn. vor LETZTRECH 18
2.2 Operationsteil Relationenalgebra Normsprache SQL Relationenalgebra: Selektion Projektion Satz von Grundoperationen σ π Natürlicher Verbund >< Mengenoperationen Umbenennung,, β 19
Selektion Wählt Tupel (Zeilen) aus einer Relation (Tabelle) entsprechend einer Selektionsbedingung aus. Selektionsbedingung kann sein: Attribut Konstanten Vergleich Attribut Attribut Vergleich Verknüpfung von Selektionsbedingungen durch Operatoren ODER, AND,NOT Beispiele: σ ORT = Dortmund (r(kunden)) σ SUMOFFEN <> 0 (r(kunden)) σ NAME = VORNAME (r(kunden)) σ SUMOFFEN <> 0 AND UMSATZ > 10000 (r(kunden)) 20
Weitere Operationen der Relationsalgebra Projektion Wählt Spalten aus einer Relation (Tabelle) aus. Es entsteht eine neue Relation. Natürlicher Verbund Verknüpfung von Relationen über allen gemeinsamen Attributen. Nur Tupel mit gemeinsamen gleichen Attributwerten werden zu neuen Tupeln verbunden. Mengenoperationen Übliche Mengenoperationen auf Relationen anwenden, die das gleiche Relationenschema besitzen. Umbenennung Dient zum kompatibel machen von Relationenschemata, die später vereinigt werden sollen. 21