Zusammengesetzte Datentypen ◦ Zusammenfassung ◦ ?

### Attribute

Eine Unternehmung besteht aus Objekten (Kunden, Konten, Zahlen etc.). Objekte können aufgrund irgendwelcher Kriterien in einer Objektklasse zusammengefasst werden. Jedes ihrer Elemente lässt sich durch Werte von Attributen (Eigenschaften) wie Artikelnummern und Preis beschreiben. Die Menge aller Werte, die ein Attribut annehmen kann, heisst Wertebereich: Die beiden Attribute DEUTSCHNOTE und CHEMIENOTE der Abschlusszeugnisse einer Objektklasse Schüler besitzen zum Beispiel beide den Wertebereich {1, 2, 3, 4, 5, 6}.

Ein Attribut heisst zusammengesetzt, wenn es mehr als einen Wertebereich hat. Das Attribut SPRACHKENNTNISSE kann sich zum Beispiel aus einem Wert des Bereichs FREMDSPRACHEN (Englisch, Französisch, ...) und einem Wert des Bereichs KENNTNISSTAND (gut, durchschnittlich, schlecht) zusammensetzen.

In Programmiersprachen nennt man einen Wertebereich, auf dem bestimmte Operationen definiert sind, einen Datentyp: Als INTEGER bezeichnet man zum Beispiel einen Teilbereich der ganzen Zahlen, auf dem die Operationen Addition, Subtraktion, Multiplikation und Division mit Rest definiert sind. Die folgende Übersicht teilt Attribute nach der Art ihrer Beziehung zu einem oder mehreren Wertebereichen ein (Die Bezeichnungen, die für die entsprechenden Datentypen von Programmiersprachen üblich sind, stehen zwischen Klammern):

> Einfache Attribute definieren ihren Wertebereich durch ...

> - Aufzählung (Aufzählungstypen)

> - ein Prädikat (Bsp. INTEGER und String)

> - einen Ausschnitt eines andern Wertebereichs (Ausschnittstypen)

> Zusammengesetzte Attribute sind ...

> - homogen zusammengesetzt, wenn sich alle Elemente auf den selben Wertebereich beziehen (Bsp. Datenfeld)

> - heterogen zusammengesetzt, wenn sich mindestens zwei Elemente auf verschiedene Wertebereiche beziehen (Bsp. Adress-record)

Datentypen

### Eine Notation für zusammengesetzte Attribute

> Eine Unternehmung begleitet jede Zahlung an einen Lieferanten mit einem Zahlungsbescheid. Er enthält unter anderem eine Liste aller bezahlten Rechnungen und das Total aller Rechnungsbeträge. Die Zahlung erfolgt entweder per Bankgiro oder mit dem beigelegten Check. Eine Rechnung wird beschrieben durch die Nummer, das Datum, den Betrag und eventuell einen kurzen Kommentar.

Eine Beschreibung des zusammengesetzten Attributs ZAHLUNGSBESCHEID könnte zum Beispiel so aussehen:

> ZAHLUNGSBESCHEID
> DATUM
> NAME DES LIEFERANTEN
> ADRESSE DES LIEFERANTEN
> {CHECKNUMMER, BANKGIRO}
> BANK DES LIEFERANTEN
> KONTONUMMER DES LIEFERANTEN
> RECHNUNG * (0 - 10)
> NUMMER
> DATUM
> BETRAG
> [KOMMENTAR]
> ZAHLUNGSTOTAL

> Notationsregeln
> Einrückung: Eingerücktes Attribut ist Element des nächsthöheren Attributs
> {}: Eines der enthaltenen Attribute muss gewählt werden
> *: Mehrere Werte möglich
> []: wahlfreies (optionales Attribut)

Baumdarstellung