Wirtschaftsinformatik (Bachelor-Studiengang): Betriebliche Datenmodellierung und Datenbankanwendungen (2. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikBetriebliche Datenmodellierung und Datenbankanwendungen

IC / CM, Kurs vom 01.10.2002 - 31.03.2003

Betriebliche Datenmodellierung und Datenbankanwendungen: Einführung (Information als geschäftsentscheidender Faktor, Informationsinfrastruktur, Mengen, Produkte, Relationen), Relationenmodell (Mathematische Interpretation, Darstellungsarten für Relationenschemata, Schlüssel, Fremdschlüssel, Funktionale Abhängigkeiten und Schlüssel, Erste Normalform, Zweite Normalform, Dritte Normalform), Modellierung, Relationenalgebra (Relationenmodell, Relationenoperatoren).

  1. Einführung
  2. Relationenmodell
  3. Modellierung
  4. Relationenalgebra

Einführung

Information als geschäftsentscheidender Faktor

  1. Beispiele
    • Banken
    • Versicherungen
    • Versandhandel
    • Krankenhäuser
    • Ämter
    • Unternehmen allgemein
  2. Korrektheit
  3. Verfügbarkeit
  4. Daten / Informationen

Informationsinfrastruktur

  1. Klassische Infrastrukturen
    • Straßennetz
    • Wasserversorgung
    • Telefon
  2. Eigenschaften
    • Langlebigkeit
    • Partielle Erneuerung
    • Koexistenz von Alt und Neu
  3. Ursachen für partielle Erneuerung
    • Technischer Fortschritt
    • Unternehmenswachstum
    • Strategiewechsel bei der Geschäftsdurchführung
    • Unternehmensübernahmen, -zusammenschlüsse
  4. Probleme von betrieblichen Informationsinfrastrukturen
    • Redundanz
    • Inkonsistenz

Mengen, Produkte, Relationen

  1. Mengen
  2. Kartesisches Produkt
    • Menge von Paaren für zwei Mengen M und N
    • M × N = {(m,n) | m ∈ M, n ∈ N}
  3. Relationen
    • Teilmenge des karthesischen Produkts
    • R ⊆ M × N
    • Linkstotal: ∀ m ∈ M ∃ n ∈ N: (m,n) ∈ R
    • Rechtstotal: ∀ n ∈ N ∃ m ∈ M: (m,n) ∈ R
    • Rechtseindeutig: ∀ n1, n2 ∈ N: (m,n1) ∈ R, (m,n2) ∈ R ⇒ n1 = n2
    • Linkseindeutig: ∀ m1, m2 ∈ M: (m1,n) ∈ R, (m2,n) ∈ R ⇒ m1 = m2

Linkstotal: alle Elemente einer linken Menge (M) haben eine Beziehung zu Elementen der rechten Menge (N).

Rechtstotal: alle Elemente einer rechten Menge (N) haben eine Beziehung zu Elementen der linken Menge (M).

Rechtseindeutig: einem Element der linken Menge dürfen nicht zwei Elemente der rechten Seite zugeordnet sein.

Linkseindeutig: einem Element der rechten Menge dürfen nicht zwei Elemente der linken Seite zugeordnet sein.

Funktionen (spezielle Relationen):

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Relationenmodell

Zentrales Element: Tabelle = Tabellenstruktur + Tabelleninhalt

Relationenmodell

Bildbeschreibung "Relationenmodell": Tabellenname = Student. Spaltenname (= Attributname = Feldname) = Matrikelnummer, Name, Vorname. Schlüsselattribut (unterstrichen) = Matrikelnummer. In jeder Zeile der grafisch dargestellten Tabelle steht ein Datensatz, auch Tupel genannt. Beispiel 1: 93129, Meier, Hans (Matrikelnummer, Name, Vorname).

Spaltentyp = Attributtyp = Felddatentyp = Domain = Wertebereich

Mathematische Interpretation

Tabellenstruktur (Relationenschema):

Tabelleninhalt:

Menge der Datensätze:

Zuordnung der Datenwerte:

Beispiel Studenten:

Darstellungsarten für Relationenschemata

Tabellarische Darstellung:

Tabellarische Darstellung

Bildbeschreibung "Tabellarische Darstellung": Spalte 1: Student (Tabellenname), Spalte 2: Matrikelnummer, Spalte 3: Name, Spalte 4: Vorname.

Mathematische Darstellung:

Mathematische Darstellung

Bildbeschreibung "Mathematische Darstellung": Student(Matrikelnummer, Name, Vorname)

Graphische Darstellung:

Graphische Darstellung

Bildbeschreibung "Graphische Darstellung": Darstellung über ein Rechteck. Diese beinhaltet: Titel = Student, Attribute = Matrikelnummer als Varchar(15), Name als Varchar(200) und Vorname als Varchar(200).

Datenbank-Skript:

Datenbank-Skript

Bildbeschreibung "Datenbank-Skript": Create table Student {...}. Zwischen den Klammern stehen dann die Angaben der graphischen Darstellung sowie die Definition des Primärschlüssels.

Schlüssel

Projektion auf Spalten:

Gegeben:

Projektion der Attribute aus L auf den Datensatz di:

Beispiel:
L = { Name, Vorname }
d2[L] = d2[Name, Vorname] = ("Müller", "Frank")

Schlüssel:

Fremdschlüssel

Ein Fremdschlüssel identifiziert Zeilen in einer anderen (fremden) Tabelle.

Gegeben R(A1, ..., An) und V(B1, ..., Bk): Ist ein Ai ein Fremdschlüssel in R, der auf den Primärschlüssel B1 in V verweist, so müssen Ai und B1 den gleichen Wertebereich haben und alle Werte in der Spalte Ai müssen in der Spalte B1 vorkommen (referenzielle Integrität).

Ist der Primärschlüssel zusammengesetzt, so auch der Fremdschlüssel.

Beispiel: SG ist Fremdschlüssel im Relationenschema Student und verweist auf das Attribut KurzBez im Relationenschema Studiengang

Fremdschlüssel

Bildbeschreibung "Fremdschlüssel": Die Tabelle wird ergänzt um die Spalte Studiengang, kurz: SG. Dieses Attribut verweist auf eine zweite Tabelle, die Tabelle Studiengang. In dieser stehen zeilenweise die unterschiedlichen Studiengänge mit einer zugehörigen Kurzbezeichnung. Diese Kurzbezeichnung ist in der zweiten Tabelle Primärschlüssel, in der ersten Tabelle Fremdschlüssel.

Funktionale Abhängigkeiten und Schlüssel

Schlüssel:

Identifizieren eindeutig die Datensätze (Zeilen) einer Tabelle.

Nicht-Schlüssel-Attribute:

Sind die Attribute, die nicht zum Schlüssel gehören.

Funktionale Abhängigkeit:

Ein Attribut B ist funktional von einem Attribut A abhängig, wenn die Werte von B durch die Werte von A bestimmt werden.
Alle Attribute sind funktional vom Schlüssel abhängig.

Volle funktionale Abhängigkeit vom Schlüssel:

Nicht-Schlüssel-Attribute sind voll funktional abhängig vom Schlüssel, wenn sie nicht schon von einem Teil des Schlüssels funktional abhängig sind.

Erste Normalform

Definition: Alle Attribute sind atomar, d.h. sie dürfen selbst keine Tabellen sein.

Gegenbeispiel:

Gegenbeispiel Erste Normalform

Bildbeschreibung "Gegenbeispiel Erste Normalform": In der ersten Normalform dürfen Attribute selbst keine Tabellen sein!

Zweite Normalform

Definition:

Erläuterung:

Gegenbeispiel:

Gegenbeispiel Zweite Normalform

Bildbeschreibung "Gegenbeispiel Zweite Normalform": In der zweiten Normalform sind alle Nicht-Schlüssel-Attribute voll funktional abhängig vom Schlüssel.

Dritte Normalform

Definition:

Erläuterung:

Gegenbeispiel:

Gegenbeispiel Dritte Normalform

Bildbeschreibung "Gegenbeispiel Dritte Normalform": In de dritten Normalform gibt es keine funktionale Abhängigkeit zwischen Nicht-Schlüssel-Attributen.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Modellierung

Zweckgebundene Beschreibung eines Gegenstandsbereichs (Realität) in einer formalisierten Form.

Datenmodellierung:

Modellierung von Informationsstrukturen.
(Zweck: z.B. Verstehen der Informationsstrukturen, Implementierung in Datenbanksystemen)

Modellierung

Bildbeschreibung "Modellierung": Die Realität wird in einem Datenmodell beschrieben und in einer Datenbank abgebildet.

Entity Relationship-Modellierung

Konzepte

Bildbeschreibung "Konzepte": Zwei Entities. Erstens: Entity-Typ-Name = Student, Entity-Typ beinhaltet das Schlüssel-Attribut Matrikelnummer sowie die Attribute Name und Vorname; Rolle = studiert in. Zweitens: Entity-Typ-Name = Studiengang, Entity-Typ beinhaltet das Schlüssel-Attribut Kürzel sowie das Attribut Bezeichnung; Rolle = beinhaltet. Der Beziehungstyp zwischen den beiden Entities lautet studiert.

Generalisierung:

Generalisierung

Bildbeschreibung "Generalisierung": Ein Nutzer hat die Attribute Nutzer-Nummer, Name und Vorname. Es gibt zwei Arten von Nutzern: Erstens den Studenten und zweitens den Professor. Der Student hat das zusätzliche Attribut Matrikelnummer, der Professor das Attribut Personalnummer.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Relationenalgebra

Relationenmodell

Die Grundlage des Relationenmodells bilden Tabellenstrukturen mit ihren Spalten und Zeilen.

Relationenschema:

Ein Relationenschema R(A1, ..., An) ist durch einen Relationennamen R und eine Menge von Attributen {A1, ..., An} gegeben. Attribute werden auch Spalten oder Felder genannt. Jedem Attribut Ai ist ein Wertebereich dom(Ai) zugeordnet, wobei Wertebereiche natürliche Zahlen, Zeichenketten, Datumsangaben usw. sein können.

Tabellen:

Eine Tabelle T zu einem Relationenschema R(A1, ..., An) ist durch eine Menge von Zeilen {z1, ..., zk} und eine Menge von partiellen Attributfunktionen Ai : T → dom(Ai) gegeben für alle i ∈ 1, ..., n. Jede Attributfunktion Ai : T → dom(Ai) ordnet jeder Zeile zj der Tabelle T den Wert des Attributs in dieser Zeile zu. Ist die Attributfunktion für eine Zeile nicht definiert, so liegt für das entsprechende Attribut kein Wert vor. Das entspricht einem Nullwert in relationalen Datenbanksystemen.

Relationenoperatoren

Im folgenden werden die Operatoren Projektion, Selektion und Produkt definiert. Die Operatoren werden sowohl auf Relationenschemata angewendet und ergeben dann ein Ergebnisschema als auch auf entsprechende Tabellen und ergeben dann eine Ergebnistabelle.

Des weiteren werden folgende Objekte definiert:

Projektion:

Die Projektion von R auf die Attribute A1*, ... Ap* wird R[A1*, ... Ap*] geschrieben und ergibt das Relationenschema Rerg(A1*, ... Ap*). Die Tabelle Terg ist gleich T, d.h. die Zeilen und die in der Projektion enthaltenen Attribute bleiben unverändert.

Selektion:

Die Selektion von R bezüglich einer Bedingung C wird R<C> geschrieben und ergibt das Relationenschema Rerg(A1, ... An). Das Ergebnisschema enthält dieselben Attribute wie das Ausgangsschema. Die Tabelle Terg enthält alle Zeilen aus T, die die Bedingung C erfüllen. Die Attribute bleiben unverändert.

Der Ausdruck für die Bedingung C kann entsprechend der folgenden Grammatik gebildet werden. Die Symbole der Grammatik bedeuten:

Produkt:

Das Produkt von R und S wird R,S geschrieben und ergibt das Relationenschema Rerg(R.A1, ..., R.An, S.B1, ..., S.Bm). Die Tabelle Terg ist das kartesische Produkt von T und T'. Die Attribute berechnen sich wie folgt: Sei X ein Attribut aus Rerg und x = (z,y) eine Zeile aus Terg.

Produkt

Bildbeschreibung "Produkt": Formel. X(x) wird abgebildet durch Ai(z) falls X = R.Ai und Bj(y) falls X = S.Bj.

Der Schemaname R oder S kann vor dem Attribut weggelassen werden, wenn der Attributname im Ergebnisschema eindeutig ist.

Relationenoperatoren (Übersicht)
Schreibweise Ergebnisschema Ergebnistabelle
Projektion R[A1*, ... Ap*] Rerg(A1*, ... Ap*) Terg = T
Selektion R<C> Rerg(A1, ... An) Terg ⊆ T
Produkt R,S Rerg(R.A1, ..., R.An, S.B1, ..., S.Bm) Terg = T × T'

Relationenschemata können mit dem Symbol → umbenannt werden. Z.B. werden in dem Produkt R → R1, S → R2 die Relationenschemata R und S in R1 bzw. R2 umbenannt. Umbenennungen können auch auf Attribute angewendet werden. Sie sind notwendig, um eindeutige Namen zu erzeugen.

Spaltenberechnungen:

Die Ergebnisspalten bei der Anwendung von Relationenoperatoren ergeben sich immer direkt aus den Spalten der zugrundeliegenden Relationenschemata. Um innerhalb von Spalten Berechnungen durchführen zu können, müssen Spaltennamen durch Spaltenausdrücke ergänzt werden.

Spaltenausdrücke werden entsprechend der folgenden Grammatik gebildet und können überall dort stehen, wo auch Attribute erlaubt sind.