Volker: Type Construction

Hallo,

eine Frage und zwar habe ich schon realtiv viel gelesen über diese Typenkonstruktion in Postgresql oder Oracle. Nun wollte ich mich mal daran machen, aber meine Frage habe ich nirgends so richtig beantwortet bekommen. Nun hoffe ich mal auf euch.

Folgendes Problem

Tabelle "Fahrzeug" hat folgende Attribute : id, farbe und marke

Nun möchte ich noch technische Daten hinzunehemen wie Hubraum, PS, NullAufHundert, Zylinder ...

Diese möchte ich aber nicht direkt als Attribute mit in Fahrzeug aufnehmen, sondern als neuen Typen "technischeDetails" mit in Fahrzeug aufnehmen. Dabei sollen aber zB PS als Pflichfeld, also NOT NULL sein, aber zB NullAufHundert kann NULL sein. Außerdem muss ich noch integritäten erstellen. Müssen diese in "Fahrzeug" oder in "technischeDaten" erstellt werden?

zB will ich sagen, dass wenn Hubraum gesetzt ist, dann muss auch Zylinder gesetzt sein, oder wenn NullAufHundert einen Wert hat, darf Hubraum keinen Wert haben (auch wenn das unlogisch ist, aber vom Prinzip her)

Ich danke schonmal.

Wenn es geht, bitte nicht irgendwelche URLs schicken wo man erschlagen wird von Infos. Kurz und prägnante Beispiele wären perfekt :-)

Vielen Dank,
Volker

  1. Hallo Volker,

    Diese möchte ich aber nicht direkt als Attribute mit in Fahrzeug aufnehmen, sondern als neuen Typen "technischeDetails" mit in Fahrzeug aufnehmen.

    sollte mit PostgreSQL kein Problem sein.

    Dabei sollen aber zB PS als Pflichfeld, also NOT NULL sein, aber zB NullAufHundert kann NULL sein. Außerdem muss ich noch integritäten erstellen. Müssen diese in "Fahrzeug" oder in "technischeDaten" erstellt werden?

    Das geht mit der aktuellen Version von PostgreSQL nicht.

    Wenn es geht, bitte nicht irgendwelche URLs schicken wo man erschlagen wird von Infos. Kurz und prägnante Beispiele wären perfekt :-)

    Ich poste Dir nicht irgendeine URL, sondern die entsprechende Handbuchseite von PostgreSQL, die prägnante und doch kurze Beispiele enthält.

    http://www.postgresql.org/docs/8.2/interactive/rowtypes.html

    Freundliche Grüße

    Vinzenz