15.11.2012 Aufrufe

Mengenlehre

Mengenlehre

Mengenlehre

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

1 Grundbegriffe<br />

<strong>Mengenlehre</strong><br />

Jörg Witte<br />

25.10.2007<br />

Die Menegenlehre ist heute für die Mathematik grundlegend. Sie spielt aber<br />

auch in der Informatik eine entscheidende Rolle. Insbesondere fußt die Theorie<br />

der relationalen Datenbanken auf der <strong>Mengenlehre</strong>.<br />

Die <strong>Mengenlehre</strong> wurde von G. Cantor (1845 – 1918) begündet. Er legte<br />

den Begriff der Menge folgendermaßen fest:<br />

Definition 1.1 (Menge) Unter einer Menge M verstehen wir eine Zusammenfassung<br />

von bestimmten wohl unterschiedenen Objekten der Anschauung<br />

oder des Denkens, welche die Elemente der Menge genannt werden, zu einem<br />

Ganzen.<br />

Für ein ELement x von M schreiben wir: x ∈ M. Endliche Mengen lassen<br />

sich aufzählen:<br />

{x1, x2, . . . , xn}<br />

Häufig werden Mengen durch Aussageformen p(x) definiert. Eine Aussageform<br />

ist eine logische Aussage, die entweder wahr oder falsch ist, und die von<br />

einem Parameter x abhängt. Schreibweise:<br />

{x|p(x)}<br />

Mit Hilfe einer Aussageform knnen Elemente zu einer Menge zusammengefasst<br />

werden, die alle eine Eigenschaft gemeinsam haben. Beispiel:<br />

{x|x ist eine Primzahl}.<br />

Wichtig ist die Unterscheidbarkeit der Elemente. Ein Element kann in<br />

einer Menge höchstens einmal auftreten. Das spiegelt sich in der Theorie der<br />

relationalen Datenbanken darin wieder, dass ein Datensatz in einer Tabelle<br />

höchstens einmal vorhanden sein kann.Beispiel:<br />

{I, N, F, O, R, M, A, T, K}.<br />

1


Das I tauch hier nur einmal auf, da die beiden I’s, die in dem Wort Informatik<br />

auftauchen, nicht wohl unterschieden sind. Auch spielt die Reihenfolge, in der<br />

die Elemente aufgelistet werden, keine Rolle.<br />

Da Mengen auf unterschiedliche Weisen dargstellt werden können, stellt sich<br />

die Frage wann zwei Mengen gleich sind.<br />

Definition 1.2 (Gleichheit) Zwei Mengen A und B sind genau dann gleich,<br />

wenn<br />

x ∈ A ⇐⇒ x ∈ B.<br />

Beispiel: die Menge der natürlichen Zahlen, die durch drei teilbar sind, und<br />

die Menge der natürlichen Zahlen, deren Quersummen durch drei teilbar sind,<br />

sind gleich.<br />

Die Menge, die keine elemente enthält, wird leere Menge genannt und mit<br />

dem Symbol ∅ bezeichnet. Auf Grund der Gleichheitsdefinition kann es nur eine<br />

leere Menge geben.<br />

Definition 1.3 (Teilmenge) Eine Menge A ist genau dann eine Teilmenge<br />

von B, wenn<br />

x ∈ A =⇒ x ∈ B.<br />

Folgerung 1.1 Zwei Mengen A und B sind genau dann gleich, wenn A ⊂ B<br />

und B ⊂ A.<br />

2 Mengenoperationen<br />

Auf Mengen können Operationen ausgeführt werden. Diese sind für das Verständnis<br />

relationaler Datenbanken wichtig, da alle Datenbankoperationen Mengenoperationen<br />

sind.<br />

Definition 2.1 (Durchschnitt) Der Durchschnitt A ∩ B zweier Mengen A<br />

und B ist wie folgt definiert:<br />

A ∩ B = {x|x ∈ A und x ∈ B}<br />

Definition 2.2 (Vereinigung) Die Vereinigung A ∪ B zweier Mengen A und<br />

B ist wie folgt definiert:<br />

A ∪ B = {x|x ∈ A und x ∈ B}<br />

Die Vereinigung un der Durchschnitt sind Assoziativ und Kommutataiv.<br />

Weiterjhin gibt es zwei Distributvgesetze:<br />

und<br />

A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)<br />

A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C).<br />

2


Definition 2.3 (Differenz von Mengen) Die Differenz A\B zweier Mengen<br />

A und B ist wie folgt definiert:<br />

A \ B = {x|x ∈ A und x �∈ B}<br />

Ein besonderer Fall der Mengendifferenz liegt, dann vor, wenn eine Menge<br />

eine Teilmenge der anderen ist.<br />

Definition 2.4 (Komplement von Mengen) Das Komplement A von A bezüglich<br />

einer Universalmenge Ω ist die Differenzmenge Omenga \ A, wenn A ⊂ Ω.<br />

Häufig ist die Universalmenge aus dem Zusammenhang her klar, so dass sie<br />

nicht noch explizit erwähnt wird.<br />

Satz 2.1 (Regeln von Morgan)<br />

und<br />

A ∩ B = A ∪ B<br />

A ∪ B = A ∩ B<br />

3 Cartesisches Produkt<br />

Bei einem Schachspiel werden die Felder durch eine Kombination von 8 Buchstaben<br />

und 8 Zahlen identifiziert. Betrachten wir die Mengen<br />

und<br />

{A, B, C, D, E, F, G, H}<br />

{1, 2, 3, 4, 5, 6, 7, 8}!<br />

Ein Feld eine Schachspiels ist dann eindeutig duch ein Paar von je einem<br />

Element aus der ersten Menge und einem Element aus der zweiten Menge bestimmt.<br />

Bei einem Tabellenkalkulationsprogramm finden wir ähnliches vor.<br />

Definition 3.1 (binäres Cartesisches Produkt) Seien A und B zwei Mengen,<br />

dann heit<br />

A × B = {(a, b)|a ∈ A, b ∈ B}<br />

das Cartesische Produkt der Mengen A und B.<br />

Das Cartesische Produkt ist also eine Menge von geordneten Paaren. Die<br />

Mengen A und B müssen nicht notwendigerweise verschieden sein.<br />

Für die leere Menge und eine Beliebige menge A erhaltren wir:<br />

A × ∅ = ∅ × A = ∅<br />

3


In der Theorie der relationalen Datenbanken werden uns Cartesische Produkte<br />

als Relationen bzw. bei Datenbankabfragen begegnen.<br />

In der Literatur zu den relationalen Datenbanken findet man häufig noch<br />

eine andere Definition des Cartesischen Produktes. Auch wird dort häufig von<br />

der Reihenfolge der Elemente abgesehen. Wenn das Cartesiche Produkt aber als<br />

geordnetes Paar definiert wird, dann spielt die Reihenfolge durchaus eine Rolle.<br />

Ihre Rolle reduziert sich allerdings darauf, die Elemente zu identifizieren. In der<br />

Theorie der relationalen Datenbanken werden dafür Bezeichner verwendet.<br />

Eine Definition, die nicht von einer Reihenfolge gebraucht macht, aber auch<br />

nicht von Bezeichnern, sieht wie folgt aus:<br />

A × B = {{a, {a, b}}|a ∈ A, b ∈ B}.<br />

Jedem geordneten Paar lät sich eindeutig ein Element dieser Menge zuordnen<br />

und umgekehrt. Daher kann man die zweite Definition nur als eine andere<br />

Schreibweise für das Cartesische Produkt auffassen. Wir sprechen hier der Einfachheit<br />

wegen weiter von geordneten Paaren.<br />

Wir wollen uns herlegen, wie diese eindeutige Zuordnung aussieht. Offensichtlich<br />

wird dem Paar (a, b) die Menge {a, {a, b}} zugeordnet. Umgekehrt<br />

kann man dieser Menge auch eindeutig ein Paar (a, b) zuordnen. Warum geht<br />

das mit der Menge {a, b} nicht notwendigerweise? Mehrdeutigkeiten gibt es,<br />

wenn die Mengen A und B einen nichtleeren Durchschnitt haben, a, b ∈ A ∩ B<br />

und a �= b. Ist a = b, dann hat (a, b) nur ein Element und ist eindeutig dem<br />

Paar A, A zugeordnet.<br />

Rekursiv lät sich die Definition des geordneten Paares verallgemeinernt:<br />

{(m1, . . . , mn) = ((m1, . . . , mn−1), mn).<br />

Definition 3.2 (Cartesische Produkt) Seien M1, ..., Mn n Mengen, dann<br />

ist das Produkt aus M1, ..., Mn wie folgt definiert:<br />

M1 × · · · × Mn = {(m1, . . . , mn)|m1 ∈ M1, . . . , mn ∈ Mn}<br />

In der Theorie der relationalen Datenbanken ist es wichtig, eine Relation zu<br />

identifizieren und von anderen Relationen abzugrenzen. Daherist die folgende<br />

Definition sinnvoll.<br />

Definition 3.3 Zwei n-Tupel (r1, . . . , rn) und (s1, . . . , sn) sind genau dann gleich,<br />

wenn fr alle i ∈ {1, . . . , n} gilt: ri = si.<br />

Für das Cartesische Produkt gelten zwei Distributivgesetze:<br />

und<br />

A × (B ∪ C) = (A × B) ∪ (A × C)<br />

A × (B ∩ C) = (A × B) ∩ (A × C)<br />

4


4 Relationen und Funktionen<br />

Definition 4.1 (binäre Relation) Seien A und B zwei Mengen, dann ist<br />

eine (binäre ) Relation R eine Teilmenge des Cartesischen Produktes A × B:<br />

Beispiel: Gleicheitsrelation:<br />

R ⊂ A × B.<br />

R = {(x, x)|x ∈ A}.<br />

Ordnungsrelation: Sei A eine angeordnete Menge, dann ist<br />

R = {(a, b)|a, b ∈ A, a < b}<br />

eine Relation, nämlich die Ordnungsrelation.<br />

Definition 4.2 (n-stellige Relation) Seiebn M1, M2,..., Mn n Mengen, dann<br />

ist<br />

R ⊂ M1 × · · · × Mn<br />

eine (nn-stellige) Relation.<br />

Von sehr wichtiger Besdeutung für des Entwurf relationaler Datenbanken ist<br />

die folgende Definition.<br />

Definition 4.3 (Funktionen) Sei R ⊂ A × B eine Relation zwischen A und<br />

B.<br />

• F heit linksvollständig, wennn es zu jedem a ∈ A ein b ∈ B gibt, so dass<br />

(a, b) ∈ R<br />

• R heit rechtseindeutig, wenn für alle Paare (a, b), (a, c) ∈ R stets gilt:<br />

b = c.<br />

• eine Relation, die sowohl linksvollständig als auch rechteindeutig ist, heit<br />

eine Funktion oder Abbildung. A heit der Definitionsbereich, B der Wertebereich.<br />

Man schreibt auch:<br />

R : A → B<br />

bzw b = R(a). Man sagt dann: b hngt funktional von a ab.<br />

Beispiel<br />

R = {(ISBN, Buchtitel)| ISBN-Nummer, passender Buchtitel}<br />

Da die ISBN-Nummer eindeutig ein Buchbeschreibt, hängt der Titel funktional<br />

von der ISBN-Nummer ab. Beim relationalen Datenbankentwurf werden systematisch<br />

solchhe funktionalen Abhängigkeiten aufgedeckt.<br />

5


Neben der Bildung von Cartesischen Produkten spielen bie Datenbankabfragen<br />

gewisse Einschrnkungen eine Rolle. Zum einen wird die Anzahl der Faktoren<br />

eines Cartesischen Produktes eingeschrnkt. Abbildungen, die solche Einschränkungen<br />

bewirken, heißen Projektionen. Zum anderen kann durch die<br />

Formulierung von Bedinungen die Anzahl der Tupel eingeschränkt werden. Abbildungen,die<br />

derartige Einschränkungen bewirken, heißen Selektionen. Bedinungen<br />

werden i. A. durch Vergleichsoperatoren uund logische Operatoren<br />

formuliert.<br />

Eine Hintereinanderausfhrung von Cartesischem Produkt und Selektion heißt<br />

join und spielt bei Datenbakabfragen eine wichtige Rolle.<br />

Eine minimale Menge von Operationen, die mindestens notwendig ist, um<br />

alle Ausdrü cke bilden zu knnen, die für Datanbankabfragen notwendig sind,<br />

umfasst<br />

• Projektion<br />

• Selektion<br />

• Cartesisches Produkt<br />

• Vereinigung<br />

• Differenz<br />

6

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!