Post on 08-Aug-2019
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
2
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 %)
3
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
4
Losfahren?
Grün (Datum)
Kontext: Ampel (Information)
Reaktion (Wissen)
Daten, Informationen, Wissen
5
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
6
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
7
1.1 Motivation: Speichern und Wiederfinden
1. Grundlagen der Datenorganisation
Datenverwaltung „intern“: HS, Register, Puffer (Cache) „extern“: Festplatte, CD, DVD, ... Dateien Persistenz intern: „statisch“ vs. „dynamisch“
Programmverarbeitung findet grundsätzlich im Hauptspeicher (HS) statt.
Anforderung bereits zur Übersetzungszeit bekannt (Compiler)
Anforderung erst zur Laufzeit bekannt
8
Erzeugen und Ausführen von Programmen:
übersetzen
Quellprogramme
x.c x.o
Objektprogramme (Zielprogramme)
Ausführbares Programm (Lademodul, Executable)
verbinden (linken) HS
Bibliotheksprogramme
a.out
9
Organisationsformen
ungeordnete Folge geordnete
Folge Binärer Baum B*-Baum
Hashtabelle Basisoperationen • Einfügen eines Elementes in die Datenbasis • Suchen eines Elementes in der Datenbasis • Entfernen eines Elementes aus der Datenbasis Reihenfolge der Verarbeitung • bestimmte Reihenfolge • beliebige Reihenfolge
Zugriffsverfahren • sequentiell • binär/trichotom (bei Bäumen) • Hash-Verfahren
(direkt oder indirekt)
10
11
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)
12
3 Ebenen - Beispiel
13
Klassifikation von Datenbanksystemen
14
2.1 Strukturteil Objekttyp beschrieben durch Menge von Attributen mit
Wertebereichen Objekt besitzt Ausprägungen (Werte) zu Attributen
2. Einführung Relationales Datenmodell
Relationenmodell nach E. F. Codd, 1970 Strukturteil: Beschreiben von Objekttypen durch Relationenschemata Operationsteil: Satz von Operationen für Anfragen (Selektion) Definitionen Modifikationen (Einfügen, Entfernen)
15
Relationenschema R Attribute, Wertebereiche Relationen r(R) Teilmenge des kartesischen Produktes über den Wertebereichen von R Ein Element einer Relation heißt Tupel Basisrelation Die in der Datenbank aktuell vorhandene Relation zu einem definierten Relationenschema Datenbank Menge aller Basisrelationen Datenbankschema Menge aller Relationenschemata
Veranschaulichung eines Relationsschemas und einer Relation
16
Kartesisches Produkt
Angenommen die Relation besteht aus zwei Attributen mit gleichen Wertebereichen der Menge M. Das kartesische Produkt umfasst alle Kombi- nationen der einzelnen Elemente. Mögliche Basisrelation sei hier die grün markierte Teilmenge.
17
• 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 Tabelle • Attribut Spalte • Tupel Datensatz, Zeile • Wertebereich Domäne
• Grad (degree) Anzahl der Attribute • Kardinalität Anzahl der Datensätze
Eigenschaften einer Relation
18
4 Objekttypen aus dem Geschäftsbereich einer Handelsfirma (Kaufen, Verkaufen)
Artikel Bestellungen
Kunden Lieferanten
werden geliefert von
enthalten
enthalten
Vorlesung: Kunden, Bestellungen Praktikum: Artikel, Bestellungen
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
Beispiel für das gesamte Semester:
19
2.2 Operationsteil
Relationenalgebra Normsprache SQL
Relationenalgebra: Satz von Grundoperationen
Selektion σ
Projektion π
Natürlicher Verbund |><|
Mengenoperationen ∪, ∩, −
Umbenennung β
20
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))
Selektion
21
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.
Weitere Operationen der Relationsalgebra