Internetdienste und -Protokolleskuehn/VL/winf2/WI_1VL.pdf · • Attribut Spalte • Tupel...

Post on 08-Aug-2019

215 views 0 download

transcript

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