SCHEMA Allgemeine_Objekte;

REFERENCE FROM Strassennetz (Netzknoten_abstrakt);

REFERENCE FROM Administration (ASB_Objekt);

REFERENCE FROM Historisierung (historisches_Objekt, Ereignis);

REFERENCE FROM Geometrieschema (Punktobjekt_Modell, Linienobjekt_Modell, Flaechenobjekt_Modell);

REFERENCE FROM Oekologie (Bewuchs);

REFERENCE FROM Strassenausstattungen (Strassenentwaesserung, Leitung);

REFERENCE FROM Projektressourcen (Kostenberechnung_nach_AKS, Ausschreibung_und_Vergabe, Abrechnung);

REFERENCE FROM Kreuzungen (Kreuzung_Strasse_Weg, Tierwechsel);

ENTITY Wochentag;
--- Attribute :
   Langtext : STRING(10);
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'Sonntag')
   (2,'Montag')
   (3,'Dienstag')
   (4,'Mittwoch')
   (5,'Donnerstag')
   (6,'Freitag')
   (7,'Samstag')

Referenziert von:
   Angaben_zur_Unfallzeit : Eigenschaft Wochentag
 

ENTITY einfacher_Zeitraum
SUBTYPE OF (Zeitraum);
--- Attribute :
--- Relationen :
   hat_Startdatum : Startdatum;
   hat_Dauer : Dauer;
END_ENTITY;
 

ENTITY Startdatum;
--- Attribute :
   Jahr : OPTIONAL INTEGER;
   Monat_im_Jahr : OPTIONAL INTEGER;
   Woche_im_Jahr : OPTIONAL INTEGER;
   Tag_im_Monat : OPTIONAL INTEGER;
   vorwaerts_oder_rueckwaerts : OPTIONAL BOOLEAN;
   Woche_im_Monat : OPTIONAL INTEGER;
   Tag_in_der_Woche : OPTIONAL INTEGER;
   Stunde_am_Tag : OPTIONAL INTEGER;
   Minute_in_der_Stunde : OPTIONAL INTEGER;
   Sekunde_in_der_Minute : OPTIONAL INTEGER;
--- Relationen :
INVERSE
   von_einfachem_Zeitraum : SET [0:?] OF einfacher_Zeitraum FOR hat_Startdatum;
END_ENTITY;
 

ENTITY Dauer;
--- Attribute :
   Jahre : OPTIONAL INTEGER;
   Monate : OPTIONAL INTEGER;
   Wochen : OPTIONAL INTEGER;
   Tage : OPTIONAL INTEGER;
   Stunden : OPTIONAL INTEGER;
   Minuten : OPTIONAL INTEGER;
   Sekunden : OPTIONAL INTEGER;
--- Relationen :
INVERSE
   von_einfachem_Zeitraum : SET [0:?] OF einfacher_Zeitraum FOR hat_Dauer;
END_ENTITY;
 

ENTITY komplexer_Zeitraum
SUBTYPE OF (Zeitraum);
--- Attribute :
--- Relationen :
   hat_ersten_Zeitraum : Zeitraum;
   hat_zweiten_Zeitraum : Zeitraum;
   hat_Operator : Operator;
END_ENTITY;
 

ENTITY Operator;
--- Attribute :
   Kennung : STRING(1);
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   ('+','Vereinigung')
   ('*','Durchschnitt')
   ('-','Differenz')

Referenziert von:
   komplexer_Zeitraum : Eigenschaft hat_Operator
 

ENTITY Zeitraum
ABSTRACT SUPERTYPE OF (ONEOF(einfacher_Zeitraum, komplexer_Zeitraum))
SUBTYPE OF (historisches_Objekt);
--- Attribute :
--- Relationen :
INVERSE
   erster_in : SET [0:?] OF komplexer_Zeitraum FOR hat_ersten_Zeitraum;
   zweiter_in : SET [0:?] OF komplexer_Zeitraum FOR hat_zweiten_Zeitraum;
END_ENTITY;
 

ENTITY Waehrungsangabe;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'EURO')
   (2,'DM')

Referenziert von:
   Bau_und_Erhaltungsmassnahme : Eigenschaft Waehrung
   Kosten_fuer_Bau_Erh_und_Betr : Eigenschaft Waehrung_Ausgabe
   Angaben_zum_Unfallgeschehen : Eigenschaft Waehrung_Gesamtsachschaden
   Unfallfahrzeug : Eigenschaft Waehrung_Sachschaden
   Zusatzdaten_Kostra : Eigenschaft Waehrung
 

ENTITY Vorzeichen;
--- Attribute :
   Kennung : STRING(1);
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   ('+','Summe')
   ('-','Differenz')

Referenziert von:
   Ableitung_autom_Dauerzaehlst : Eigenschaft Vorzeichen
 

ENTITY Objekt_ID;
--- Attribute :
   ID : STRING;
   Namensraum_Verfahren : STRING;
--- Relationen :
INVERSE
   von_Bewuchs : SET [0:?] OF Bewuchs FOR hat_Objekt_Id;
   von_Kreuzung_Strasse_Weg : SET [0:?] OF Kreuzung_Strasse_Weg FOR eigenes_Teilsystem;
   von_Tierwechsel : SET [0:?] OF Tierwechsel FOR bauliche_Einrichtung;
END_ENTITY;
 

ENTITY geometrische_Auspraegung;
--- Attribute :
--- Relationen :
   hat_Auspraegung_Punkt : OPTIONAL SET [1:?] OF geometrische_Auspraegung_Punkt;
   hat_Auspraegung_Linie : OPTIONAL SET [1:?] OF geometrische_Auspraegung_Linie;
   hat_Auspraegung_Flaeche : OPTIONAL SET [1:?] OF geometrische_Auspraegung_Flaeche;
INVERSE
   von_Bewuchs : SET [0:?] OF Bewuchs FOR hat_Auspraegungen;
END_ENTITY;
 

ENTITY geometrische_Auspraegung_Punkt
SUBTYPE OF (Punktobjekt_Modell);
--- Attribute :
--- Relationen :
INVERSE
   von_geometrischer_Auspraegung : SET [0:?] OF geometrische_Auspraegung FOR hat_Auspraegung_Punkt;
END_ENTITY;
 

ENTITY geometrische_Auspraegung_Linie
SUBTYPE OF (Linienobjekt_Modell);
--- Attribute :
--- Relationen :
INVERSE
   von_geometrischer_Auspraegung : SET [0:?] OF geometrische_Auspraegung FOR hat_Auspraegung_Linie;
END_ENTITY;
 

ENTITY geometrische_Auspraegung_Flaeche
SUBTYPE OF (Flaechenobjekt_Modell);
--- Attribute :
--- Relationen :
INVERSE
   von_geometrischer_Auspraegung : SET [0:?] OF geometrische_Auspraegung FOR hat_Auspraegung_Flaeche;
END_ENTITY;
 

ENTITY Sensor
SUPERTYPE OF (ONEOF(Fotostandpunkt));
--- Attribute :
   Wirkungsrichtung_horizontal : OPTIONAL Winkel;
   Wirkungsrichtung_vertikal : OPTIONAL Winkel;
   Art : Art_Sensor;
   Typbezeichnung : OPTIONAL STRING;
   Hoehe_ueber_Boden : OPTIONAL Meter;
--- Relationen :
   hat_Sensorstandort : Sensorstandort;
END_ENTITY;
 

ENTITY Art_Sensor;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING(30);
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'Fotokamera')
   (2,'Videokamera')
   (3,'Mikrofon')
   (4,'Wärmebildkamera')

Referenziert von:
   Sensor : Eigenschaft Art
 

ENTITY Sensorstandort;
--- Attribute :
   hat_Erfassungsqualitaet : Erfassungsqualitaet;
--- Relationen :
   hat_Sensorstandpunkt : OPTIONAL Sensorstandpunkt;
   hat_Sensorstandlinie : OPTIONAL Sensorstandlinie;
INVERSE
   von_Sensor : SET [0:?] OF Sensor FOR hat_Sensorstandort;
END_ENTITY;
 

ENTITY Sensorstandpunkt
SUBTYPE OF (Punktobjekt_Modell);
--- Attribute :
--- Relationen :
INVERSE
   von_Sensorstandort : SET [0:?] OF Sensorstandort FOR hat_Sensorstandpunkt;
END_ENTITY;
 

ENTITY Sensorstandlinie
SUBTYPE OF (Linienobjekt_Modell);
--- Attribute :
--- Relationen :
INVERSE
   von_Sensorstandort : SET [0:?] OF Sensorstandort FOR hat_Sensorstandlinie;
END_ENTITY;
 

ENTITY Foto;
--- Attribute :
   erstellt_von : OPTIONAL STRING;
   physikalische_Aufloesung : OPTIONAL dpi;
   Farbspektrum : OPTIONAL Farbtiefe;
   Datei : OPTIONAL STRING;
   inhaltliche_Beschreibung : OPTIONAL STRING;
--- Relationen :
   Startdatum : Startdatum;
   verwendetes_Verfahren : OPTIONAL fotografisches_Verfahren;
   Aufbewahrungsort_Medium_analog : OPTIONAL STRING;
   hat_Fotostandpunkt : OPTIONAL Fotostandpunkt;
END_ENTITY;
 

ENTITY fotografisches_Verfahren;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING(60);
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'Digitalkamera')
   (2,'Analogkamera, scannen des Papierabzuges')
   (3,'Analogkamera, scannen des Dia-Positives')

Referenziert von:
   Foto : Eigenschaft verwendetes_Verfahren
 

ENTITY Fotostandpunkt
SUBTYPE OF (Sensor);
--- Attribute :
--- Relationen :
INVERSE
   von_Foto : SET [0:?] OF Foto FOR hat_Fotostandpunkt;
END_ENTITY;
 

ENTITY Dokument
SUBTYPE OF (historisches_Objekt, Dokument_abstrakt);
--- Attribute :
   Kennzeichen_Aktenzeichen : OPTIONAL STRING(30);
   URI : OPTIONAL STRING;
   Seite : OPTIONAL INTEGER;
   verfuegt : OPTIONAL BOOLEAN;
   Datum : OPTIONAL Datum;
   von_Benutzer : OPTIONAL STRING(60);
   Wirksamkeitsdatum_Dokument : OPTIONAL Datum;
   Inhalt : OPTIONAL BINARY;
   Text : OPTIONAL STRING(64);
--- Relationen :
   von_Strassenentwaesserung : OPTIONAL SET [1:?] OF Strassenentwaesserung;   (* D *)
   von_Leitung : OPTIONAL SET [1:?] OF Leitung;   (* D *)
   ist_Grundlage_fuer_Ereignis : OPTIONAL SET [1:?] OF Ereignis;   (* D *)
   von_Kostenberechnung_nach_AKS : OPTIONAL SET [1:?] OF Kostenberechnung_nach_AKS;   (* D *)
   von_Ausschr_u_Vergabe : OPTIONAL SET [1:?] OF Ausschreibung_und_Vergabe;   (* D *)
   von_Abrechnung : OPTIONAL SET [1:?] OF Abrechnung;   (* D *)
   von_ASB_Objekt : OPTIONAL SET [1:?] OF ASB_Objekt;   (* D *)
   ist_Netzknotenskizze_zu : OPTIONAL SET [1:?] OF Netzknoten_abstrakt;   (* D *)
   ist_Einmessskizze_zu : OPTIONAL SET [1:?] OF Netzknoten_abstrakt;   (* D *)
END_ENTITY;
 

ENTITY Dokument_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(Dokument, Dokument_Symbol));
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Dokument_Symbol
SUBTYPE OF (Dokument_abstrakt);
--- Attribute :
   Kennung_Aktenzeichen : OPTIONAL STRING(30);
   Kennung_URI : OPTIONAL STRING;
--- Relationen :
END_ENTITY;
 

TYPE Datum = STRING(10) FIXED;
WHERE
   Datums_Format : SELF LIKE '##.##.####';
END_TYPE;
 

TYPE Uhrzeit = STRING(12);
WHERE
   Uhrzeit_Format : SELF LIKE '##:##' OR SELF LIKE '##:##:##' OR SELF LIKE '##:##:##:###'( SELF LIKE '##:##' ) OR ( SELF LIKE '##:##:##' ) OR ( SELF LIKE '##:##:##:###' );
END_TYPE;
 

TYPE Jahr = INTEGER;
END_TYPE;
 

TYPE Monat = INTEGER;
WHERE
   Monat_sinnvoll : { 1 <= SELF <= 12 };
END_TYPE;
 

TYPE Woche = INTEGER;
WHERE
   Woche_sinnvoll : { 1 <= SELF <= 53 };
END_TYPE;
 

TYPE Tag = INTEGER;
WHERE
   Monat_sinnvoll : { 1 <= SELF <= 31 };
END_TYPE;
 

TYPE Stunde = INTEGER;
WHERE
   Stunde_sinnvoll : { 1 <= SELF <= 12 };
END_TYPE;
 

TYPE Minute = INTEGER;
WHERE
   Minute_sinnvoll : { 1 <= SELF <= 12 };
END_TYPE;
 

TYPE Anzahl = INTEGER;
WHERE
   Anzahl_nicht_negativ : SELF >= 0;
END_TYPE;
 

TYPE Anzahl_zweistellig = INTEGER;
WHERE
   Anzahl_zweistellig : { 0 <= SELF <= 99 };
END_TYPE;
 

TYPE Groesse = REAL;
WHERE
   Groesse_nicht_negativ : SELF >= 0;
END_TYPE;
 

TYPE Tage = Anzahl;
END_TYPE;
 

TYPE Millisekunden = Anzahl;
END_TYPE;
 

TYPE Meter = REAL;
END_TYPE;
 

TYPE Dezimeter = Groesse;
END_TYPE;
 

TYPE Zentimeter = Groesse;
END_TYPE;
 

TYPE Millimeter = Groesse;
END_TYPE;
 

TYPE Mikrometer = Groesse;
END_TYPE;
 

TYPE Kilometer = REAL;
END_TYPE;
 

TYPE Meter_ueber_NN = REAL;
END_TYPE;
 

TYPE Quadratmeter = Groesse;
END_TYPE;
 

TYPE Quadratmillimeter = Groesse;
END_TYPE;
 

TYPE Tonnen = Groesse;
END_TYPE;
 

TYPE Prozent = REAL;
END_TYPE;
 

TYPE Gon = Groesse;
END_TYPE;
 

TYPE Winkel = REAL;
END_TYPE;
 

TYPE Grad = INTEGER;
WHERE
   Grad_sinnvoll : { 0 <= SELF <= 359 };
END_TYPE;
 

TYPE Newton_pro_Quadratmillimeter = Anzahl;
END_TYPE;
 

TYPE Kilonewton = Groesse;
END_TYPE;
 

TYPE Kilogramm = Groesse;
END_TYPE;
 

TYPE Kilogramm_pro_Quadratmeter = Groesse;
END_TYPE;
 

TYPE cd_pro_Quadratmeter = Anzahl;
END_TYPE;
 

TYPE Lux = Anzahl;
END_TYPE;
 

TYPE Kilowatt = Anzahl;
END_TYPE;
 

TYPE Grad_Celsius = Groesse;
END_TYPE;
 

TYPE Hektopascal = INTEGER;
WHERE
   Hektopascal_sinnvoll : { 800 <= SELF <= 1200 };
END_TYPE;
 

TYPE Stundenkilometer = Anzahl;
END_TYPE;
 

TYPE Meter_pro_Sekunde = Groesse;
WHERE
   Meter_pro_Sekunde_nicht_neg : SELF >= 0;
END_TYPE;
 

TYPE Millimeter_pro_Stunde = Groesse;
WHERE
   Millimeter_pro_Stunde_n_neg : SELF >= 0;
END_TYPE;
 

TYPE DM = Groesse;
END_TYPE;
 

TYPE Euro = Groesse;
END_TYPE;
 

TYPE Anzahl_einstellig = INTEGER;
WHERE
   Anzahl_zweistellig : { 0 <= SELF <= 9 };
END_TYPE;
 

TYPE Kubikzentimeter = Groesse;
END_TYPE;
 

TYPE Promille = Groesse;
END_TYPE;
 

TYPE Betrag = Groesse;
END_TYPE;
 

TYPE dpi = INTEGER;
END_TYPE;
 

TYPE Farbtiefe = INTEGER;
END_TYPE;
 

TYPE Zustaendigkeit = STRING();
END_TYPE;
 

TYPE Erfassungsqualitaet = STRING();
END_TYPE;
 

END_SCHEMA; -- Allgemeine_Objekte