Startseite
  Wertebereich der Attribute

Wertebereich der Attribute






Überblick über dieses Kapitel

Noch ein kleines technisches Problem wäre zu lösen. Oft will man Daten nicht nur anzeigen, sondern man möchte sie sortieren, z.B. nach Datum oder nach Preisen oder in alphabetischer Reihenfolge usw. Auch werden Daten oft addiert, z.B. um den Umsatz einer bestimmte Periode zu erhalten. Das alles ist mit Datenbanken kein Problem. Vorausgesetzt wir geben bei jedem Attribut mit an, um welche Art von Datenfeld es sich handelt: ist es eine Zeichenkette (z.B. ein Name), ein Datum oder eine Zahl...?






Wertebereiche


Wie oben schon angesprochen geht es heute um das kleine Problem, für jedes Attribut einen Wertebereich festlegen zu müssen. Aus der Vielzahl der Möglichkeiten, die in Datenbanken vorhanden sind greifen wir nur die wichtigsten heraus.

Hier erstmal eine Liste, um welche Wertebereiche es sich bei einem Datenfeld handeln könnte:
Zeichenfolge, z.B. ein Name
Datum, z.B. ein Geburtsdatum
Ganze Zahl, z.B. der Vorrat an Bauteilen
Dezimalzahl, z.B. der Einkaufspreis meiner Bauteile
Fließkommazahl, das ist eine Zahl mit einer festgelegten Anzahl an Kommastellen, z.B. für einen prozentualen Anteil

Jeder dieser Attributwerte hat in den verschiedenen Datenbanken einen etwas anderen Namen. Die folgenden beziehen sich auf die Datenbank MySQL

VARCHAR(30): Zeichenfolge der maximalen Länge 30
INT(8): Ganzzahliger Wert (mit einer Speicherbelegung von 8)
DECIMAL(10,2): Dezimalwert mit zwei Nachkommastellen (und einer Speicherbelgung von 10
DOUBLE: Fliesskommazahl
DATE: Datumsangabe (im Format JJJJ-MM-TT)





Beispiele

Eine Klasse KUNDE habe die folgenden Attribute: KUNDE{Name, Vorname, Kundennummer, Kunde_Seit, Vorjahresumsatz, Straße, Hausnummer, Postleitzahl, Ort, Telefon und Fax}. Damit hast du auch schon eine neue Schreibweise für Klassen kennengelernt.

Wir ordnen jedem Attribut einen Wertebereich zu:

Für den Namen und den Vornamen wählen wir VARCHAR(40), 40 Zeichen sollten ausreichend sein. Längere Namen können dann aber nicht vergeben werden.

Die Kundennummer enthalte nur Zahlen, daher können wir hier INTEGER(8) vergeben.

Kunde_Seit ist ein Datumsformat, also DATE. Der Vorjahresumsatz ist eine Dezimalzahl mit zwei Nachkommastellen, also DECIMAL(10,2). Die Straße ist wie die Namen ein VARCHAR(40). Genügen 40 Zeichen für den Straßennamen? Kennst du einen Straßennamen der länger ist?

Die Postleitzahl ist (bei uns) immer eine ganze Zahl, also INTEGER(8)

Ort, Telefon und Fax sind wieder VARCHAR(40), wir wollen bei der Telefonnummer ja z.B. Klammern, +Zeichen oder "/" verwenden.




Übung macht den Meister...


Übung 1:

Ergänze bei folgendem Klassendiagramm bei jedem Attribut die Wertebereiche! Verwende die in MySQL üblichen Bezeichnungen!

Lösungsansatz Übung 1:



Ist das nicht ein schönes Diagramm! Was du hier siehst ist tatsächlich schon ein fertiges Modell einer gar nicht einfachen Datenbank. Wenn diese Datenbank später mit Daten gefüllt wird, lassen sich wahnsinnig viele Informationen aus ihr gewinnen. Nimm dir ruhig Zeit, dich etwas in dieses Diagramm einzulsesen. Wir werden es im nächsten Kapitel noch brauchen, wenn wir genau diese Datenbank am Rechner umsetzen wollen.

Ich rede immer von Daten und Informationen, kleine Begrifflichkeitenkunde: Was ist der Unterschied zwischen Zeichen, Daten und Informationen.

Lösung:
Zeichen sind einfache Symbole, die noch keinen Sinn ergeben, z.B. &,d,9,3,l,d,k! Aus Zeichen lassen sich Daten herstellen, z.B. Wörter, Namen, usw. Daten sind aber inhaltsleer. Was nutzt dir das Datum 2001-09-11. Erst die Verknüpfung mit einem Geschehen macht daraus eine Information.





Aufgaben

Hurra, das Thema ist dieses Mal nicht schwer, ich erspare dir die Hausaufgaben für dieses Mal. Wenn im übernächsten Kapitel die Datenbank am Rechner umgesetzt wird wirst du sehen, dass dies sehr leicht ist, weil die Datenbank-Software (Frontend) hier ein Auswahlmenü zum Anklicken bereithält.





Grundwissen Lektion Wertebereich von Attributen

VARCHAR(10):
Bezeichnung in MySQL für Zeichenketten.
INT(EGER)
Bezeichnung in MySQL für Ganzzahlige Werte
DECIMAL(10,2)
Bezeichnung in MySQL für Dezimalzahlen mit (hier) zwei Nachkommastellen
DATE
Bezeichnung in MySQL für Datumseingaben im Format JJJJ-MM-TT, z.B. 2004-08-22
Double
Bezeichnung in MySQL für Fließkommazahlen, z.B. 1,2345123




Copyright 2003 - Letzte Änderung am 4. September 2004