16
Nicole Rottmann 2011/12 Datenbankentwicklung IV-LK 1. Warum Datenbanken? 2. Anforderungsanalyse für Datenbanken 3. Ableitung von Tabellenstrukturen 4. Normalisierung 5. Relationenalgebra 6. Formalisierung von Tabellen in SQL 7. SQL- Anfragen

Datenbankentwicklung IV-LK

  • Upload
    ayoka

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Datenbankentwicklung IV-LK. Warum Datenbanken? Anforderungsanalyse für Datenbanken Ableitung von Tabellenstrukturen Normalisierung Relationenalgebra Formalisierung von Tabellen in SQL SQL- Anfragen. 3. Ableitung von Tabellenstrukturen IV-LK. Einführung des Tabellenbegriffs - PowerPoint PPT Presentation

Citation preview

Page 1: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

Datenbankentwicklung

IV-LK

1. Warum Datenbanken?

2. Anforderungsanalyse für Datenbanken

3. Ableitung von Tabellenstrukturen

4. Normalisierung

5. Relationenalgebra

6. Formalisierung von Tabellen in SQL

7. SQL- Anfragen

Page 2: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von TabellenstrukturenIV-LK

1. Einführung des Tabellenbegriffs

2. Übersetzung des ERM in Tabellen

3. Besondere Askpekte der Übersetzung

4. Aufgaben

Page 3: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen1. Einführung des Tabellenbegriffs

IV-LK

Beispiel für eine Tabelle zur Verwaltung von Bestellungen:

Kunde Bestellnr. Bestelldatum Status bezahlt42 1 27.02.09 abgeschlossen wahr

66 2 28.02.09 abgeschlossen falsch

89 3 28.02.09 Bearbeitung falsch

42 4 28.02.09 Bearbeitung falsch

Typische Tabelleneigenschaften:

Bestellung

Page 4: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen1. Einführung des Tabellenbegriffs

IV-LK

Definition Datentyp: Ein Datentyp ist eine Menge von Werten.

Text: Ein Element des Datentyps Text ist eine beliebige Folge von Zeichen, die in einfachen Hochkommata eingeschlossen sind.

Zahl: Ein Element des Datentyps Zahl ist eine beliebige Zahl, dabei wird nicht zwischen ganzen und Fließkommazahlen unterschieden.

Datum: Ein Element des Datentyps Datum ist ein beliebiges gültiges Datum.

Boolean: In der Menge Boolean sind die Wahrheitswerte „wahr“ und „falsch“ zusammengefasst.

Definition Datentypen für Tabellen: In Tabellen können die Datentypen Text, Zahl, Datum und Boolean genutzt werden, dabei ist jeder ursprüngliche Datentyp um einen Wert NULL ergänzt worden.

Page 5: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen1. Einführung des Tabellenbegriffs

IV-LKDefinition Tabelle: Eine Tabelle hat einen Namen, eine Menge von Attributen {Att1,

…,Attn}, wobei jedes Attribut Atti Teilmenge eines Datentyps für Tabellen ist, und einen Inhalt der Teilmenge des Kreuzproduktes der Attribute Att1x...xAttn.

Durch das Kreuzprodukt wird die Menge aller möglichen Einträge beschrieben, die theoretisch in der Tabelle stehen können. Elemente dieses Kreuzproduktes werden auch n-Tupel genannt. Jedes dieser n-Tupel entspricht einer Zeile der Tabelle.

Kunde Zahlungsfähig

42 wahr

69 wahr

88 wahr

42 falsch

69 falsch

88 falsch

Tabellenartige Darstellung des Kreuzproduktes

Kunde Zahlungsfähig

42 wahr

69 falsch

88 falsch

Tabelle als Teilmenge des Kreuzproduktes

Zahlungsmoral

Page 6: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

Bei der Übersetzung von ERM in Tabellen gibt es drei zentrale Ziele:

1. Bei der Füllung der Tabellen mit Daten sollen redundante Daten vermieden werden.

2. Wenn es nicht aus praktischer Sicht notwendig ist, sollen keine NULL-Werte zur Füllung der Tabellen notwendig werden.

3. Es soll unter Berücksichtigung von 1. und 2. eine möglichst minimale Anzahl von Tabellen entstehen.

Page 7: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

Beispielmodell für Übersetzung:

1

M

Mitarbeiter

MiNr

bearbeitet

telefoniert

beauftragt

Name

Rolle

Auftragsdatum

1

1N

Firmenhandy

TelNr Typ

Kunde

KNr Name

Projekt

AbtNr Titel

N

Page 8: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

1. Schritt: Übersetzung der Entitätstypen

MiNr Name

42 Egon

43 Erwin

44 Erna

AbtNr Titel

1 DBX

1 Jovo

2 DBX

KNr Name

54 Bonzo

55 Collecto

TelNr Typ

01777 Nokia

01700 Siemens

01622 Erikson

Mitarbeiter Firmenhandy

ProjektKunde

Page 9: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

2. Schritt: Übersetzung von 1:1-Beziehungen

MiNr Name TelNr Typ42 Egon 01777 Nokia43 Erwin 01700 Siemens44 Erna 01622 Erikson

Mitarbeiter

In der neuen Tabelle Mitarbeiter wurden die Tabellen Mitarbeiter und Firmenhandy zusammen gefasst. Hätte die Beziehung Attribute, würden diese mit in die Tabelle aufgenommen.

Page 10: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK3. Schritt: Übersetzung von 1:N Beziehungen

AbtNr Titel KNr Auftragsdatum

1 DBX 54 26.02.06

1 Jovo 54 06.05.06

2 DBX 55 27.02.06

Projekt

Knr Name

54 Bonzo

55 Collecto

Die Attribute der Beziehung werden mit in die Tabelle aufgenommen.

Die Spalte KNr wird Fremdschlüssel genannt, da über ihre Werte auf jeweils genau einen Kunden geschlossen werden kann.

Kunde

Page 11: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

4.Schritt: Übersetzung von M:N-Beziehungen

MiNr AbtNr Titel Rolle

42 1 DBX Design

42 1 Jovo Review

43 2 DBX Analyse

44 1 Jovo Design

44 2 DBX Review

MiNr Name TelNr Typ

42 Egon 01777 Nokia

43 Erwin 01700 Siemens

44 Erna 01622 Erikson

AbtNr Titel Knr Auftragsdatum

1 DBX 54 26.02.06

1 Jovo 54 06.05.06

2 DBX 55 27.02.06

KNr Name

54 Bonzo

55 Collecto

Mitarbeiter

Bearbeitung

ProjektKunde

Page 12: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

Umgang mit C und NC:

1. Jeder Mitarbeiter kann ein Firmenhandy haben, muss aber nicht.

2. Es gibt Handys, die keinem Mitarbeiter zugeordnet sind.

Page 13: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

Übersetzung einer komplexen Beziehung:

trinkt

ProfessorGehalt

FachbereichName

NC

NC

KneipeName

Plätze

Bier

Hersteller

Name

NC

Page 14: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen4. Wiederholungsfragen

IV-LK

1. Wie kann man den Begriff Tabelle genau beschreiben?2. Was versteht man unter Datentypen?3. Erkläre anschaulich den Begriff Kreuzprodukt.4. Wozu gibt es NULL-Werte? Wie viele verschiedene gibt es davon?5. Nenne drei zentrale Ziele der Übersetzung von Enitiy-Relationship-

Modellen.6. Beschreibe die Übersetzung der verschiedenen Beziehungstypen aus

ERM in Tabellen.7. Wie werden Beziehungen mit C-bzw. NC-Kardinalitäten übersetzt?

Warum wird dieser Weg gewählt?8. Wie werden Beziehungen zwischen mehr als zwei Entitätstypen

übersetzt?9. Beschreibe unterschiedliche Modellierungen für den gleichen Sachverhalt

und deren Auswirkungen auf die aus der Übersetzung resultierenden Tabellen.

Page 15: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen4. Übungsaufgaben

IV-LK

1. Übersetze mit dem vorgestellten Verfahren das folgende ERM in Tabellen.

Gib zwei Änderungen an, die du für praxisnäher hältst.

M

1N

1

NC

NC

MC

C

C

C Organisation Name

Gründungsdatum

Land

Einwohner

Name

Stadt

Länge

Breite

liegt in

beheimatet

Mitglied von

Status

NameHauptstadt

vongrenzt

an

Länge

Page 16: Datenbankentwicklung IV-LK

Nicole Rottmann 2011/12

3. Ableitung von Tabellenstrukturen2. Übersetzung des ERM in Tabellen

IV-LK

2. Gegeben sei folgendes allgemeine ERM.

Gib für alle Kombinationen von Kardinalitäten für x und y, also insgesamt 16 Möglichkeiten, die Tabellen an, die Ergebnis der Übersetzung sind.

R2R1B3A1

B1

Ay x

Brel

A2B2