SCHEMA Strassenzustandsdaten;

REFERENCE FROM Strassennetz (Streckenobjekt_stat);

REFERENCE FROM Verkehr (Verkehrsrichtung, Fahrstreifen_Nummer);

REFERENCE FROM Bauliche_Strasseneigenschaften (Querschnittstreifen);

REFERENCE FROM Allgemeine_Objekte (Zeitraum, Datum);

ENTITY ZEB_Objekt
SUBTYPE OF (Streckenobjekt_stat);
--- Attribute :
    Kurzbezeichnung_ZEB_Objekt: OPTIONAL STRING(8);
    ZEB_Objekt: OPTIONAL STRING(30);
    Objektnummer: OPTIONAL INTEGER;
    hat_Verkehrsrichtung: Verkehrsrichtung;
--- Relationen :
    gilt_fuer_Querschnittstreifen: SET [1: ?] OF Querschnittstreifen;
    gilt_fuer_Fahrstreifen: OPTIONAL SET [1: ?] OF Fahrstreifen_Nummer;
    hat_ZEB_Projekt: ZEB_Projekt;
    hat_Art_des_ZEB_Objektes: Art_des_ZEB_Objektes;
    hat_ZEB_Parameterwert: SET [1: ?] OF ZEB_Parameterwert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Projekt;
--- Attribute :
    Kurzbezeichnung_ZEB_Kamp: OPTIONAL STRING(8);
    ZEB_Projekt: OPTIONAL STRING(20);
    Hauptmessverfahren: OPTIONAL STRING(20);
    Zweck: OPTIONAL STRING(100);
    Umfang: OPTIONAL STRING(200);
--- Relationen :
    hat_ZEB_Parameterliste: ZEB_Parameterliste;
    hat_Zeitraum: SET [1: ?] OF Zeitraum;
    hat_ZEB_Ereignis: SET [1: ?] OF ZEB_Ereignis;
    hat_ZEB_Subjekt: SET [1: ?] OF ZEB_Subjekt;
INVERSE
    von_ZEB_Objekt: SET [0: ?] OF ZEB_Objekt FOR hat_ZEB_Projekt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Parameterwert
ABSTRACT SUPERTYPE OF (ONEOF(Wert_der_Zustandsgroesse , Wert_eines_Messwertes , Wert_des_Zustandswertes , Eintrag_in_Beschreibungstext , Wert_des_Zustandsteilwertes , Wert_des_Zustandsgesamtwertes , zugewiesene_Zustandsklasse ));
--- Attribute :
    Kurzbezeichnung: OPTIONAL STRING(8);
    Wert: OPTIONAL STRING(8);
    Einheit: OPTIONAL STRING(8);
--- Relationen :
INVERSE
    von_ZEB_Objekt: SET [1: ?] OF ZEB_Objekt FOR hat_ZEB_Parameterwert;
    von_ZEB_Parameter: ZEB_Parameter FOR hat_ZEB_Parameterwert;
    von_ZEB_Ereignis: ZEB_Ereignis FOR hat_ZEB_Parameterwert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Art_des_ZEB_Objektes;
--- Attribute :
    Kurzbezeichnung_Objektart: OPTIONAL STRING(8);
    ZEB_Objektart: OPTIONAL STRING(30);
--- Relationen :
    hat_Zustandsmerkmal: SET [1: ?] OF Zustandsmerkmal;
INVERSE
    von_ZEB_Objekt: SET [0: ?] OF ZEB_Objekt FOR hat_Art_des_ZEB_Objektes;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Wert_der_Zustandsgroesse
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Wert_eines_Messwertes
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Wert_des_Zustandswertes
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Eintrag_in_Beschreibungstext
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
    Text_ZEB_Parameter: OPTIONAL STRING(80);
    Kurzbez_Mess_Beschreibgroesse: OPTIONAL STRING(8);
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Wert_des_Zustandsteilwertes
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Wert_des_Zustandsgesamtwertes
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY zugewiesene_Zustandsklasse
SUBTYPE OF (ZEB_Parameterwert);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Parameter;
--- Attribute :
    Kurzbezeichnung_Paramgroesse: OPTIONAL STRING(8);
    Parametergroesse: OPTIONAL STRING(30);
    Parameternummer: OPTIONAL INTEGER;
--- Relationen :
    hat_ZEB_Parameterwert: SET [1: ?] OF ZEB_Parameterwert;
INVERSE
    von_ZEB_Parameterliste: SET [0: ?] OF ZEB_Parameterliste FOR hat_ZEB_Parameter;
    gemaess_ZEB_Methode: SET [1: ?] OF ZEB_Methode FOR hat_ZEB_Parameter;
    von_Zustgroesse_o_Zustwert: Zustandsgroesse_o_Zustandswert FOR hat_ZEB_Parameter;
WHERE
    einfach_in_ZEB_Parameterliste: VALUE_UNIQUE(von_ZEB_Parameterliste);
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Dokument;
--- Attribute :
    Kurzbezeichnung_ZEB_Dokument: OPTIONAL STRING(8);
    ZEB_Dokument: OPTIONAL STRING(20);
    Datum_der_Erstellung: OPTIONAL Datum;
    Ersteller: OPTIONAL STRING(30);
    Art_des_Dokumentes: OPTIONAL STRING(20);
--- Relationen :
INVERSE
    von_ZEB_Ereignis: SET [0: ?] OF ZEB_Ereignis FOR hat_ZEB_Dokument;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Ereignis;
--- Attribute :
    Kurzbezeichnung_ZEB_Ereignis: OPTIONAL STRING(8);
    ZEB_Ereignis: OPTIONAL STRING(20);
--- Relationen :
    hat_ZEB_Parameterwert: SET [1: ?] OF ZEB_Parameterwert;
    hat_ZEB_Dokument: OPTIONAL ZEB_Dokument;
    hat_Zeitraum: SET [1: ?] OF Zeitraum;
    hat_ZEB_Subjekt: SET [1: ?] OF ZEB_Subjekt;
INVERSE
    von_ZEB_Projekt: SET [0: ?] OF ZEB_Projekt FOR hat_ZEB_Ereignis;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Erfasser
SUBTYPE OF (ZEB_Subjekt);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Bewerter
SUBTYPE OF (ZEB_Subjekt);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Veranlasser
SUBTYPE OF (ZEB_Subjekt);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Subjekt
ABSTRACT SUPERTYPE OF (ONEOF(ZEB_Erfasser , ZEB_Bewerter , ZEB_Veranlasser ));
--- Attribute :
    Kurzbezeichnung_Subjekt: OPTIONAL STRING(8);
    Subjekt: OPTIONAL STRING(20);
    Adresse_Subjekt: OPTIONAL STRING(100);
--- Relationen :
INVERSE
    von_ZEB_Ereignis: SET [1: ?] OF ZEB_Ereignis FOR hat_ZEB_Subjekt;
    von_ZEB_Projekt: SET [0: ?] OF ZEB_Projekt FOR hat_ZEB_Subjekt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Parameterliste;
--- Attribute :
    Kurzbezeichnung_ZEB_Paramliste: OPTIONAL STRING(8);
    Bezeichnung_ZEB_Parameterliste: OPTIONAL STRING(20);
--- Relationen :
    hat_ZEB_Parameter: SET [1: ?] OF ZEB_Parameter;
INVERSE
    von_ZEB_Projekt: SET [0: ?] OF ZEB_Projekt FOR hat_ZEB_Parameterliste;
WHERE
    einfache_ZEB_Parameter: VALUE_UNIQUE(hat_ZEB_Parameter);
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_Methode
ABSTRACT SUPERTYPE OF (ONEOF(Zustandserfassungsmethode , Zustandsbewertungsmethode ));
--- Attribute :
    Nummer: OPTIONAL INTEGER;
    Kurzbezeichnung: OPTIONAL STRING(8) FIXED;
    Methode: OPTIONAL STRING(30);
    Beschreibung: OPTIONAL STRING(120);
--- Relationen :
    hat_ZEB_Parameter: ZEB_Parameter;
INVERSE
    von_Zustgroesse_o_Zustwert: SET [0: ?] OF Zustandsgroesse_o_Zustandswert FOR bestimmbar_durch_ZEB_Methode;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandserfassungsmethode
ABSTRACT SUPERTYPE OF (ONEOF(Zustandsmessverfahren , ZEB_visuell_sensit_Wahrnehmung , Aggregationsmethode ))
SUBTYPE OF (ZEB_Methode);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsbewertungsmethode
ABSTRACT SUPERTYPE OF (ONEOF(Normierungsmethode , Kombinationsmethode , Klassifizierungsmethode ))
SUBTYPE OF (ZEB_Methode);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsgroesse_o_Zustandswert
ABSTRACT SUPERTYPE OF (ONEOF(Zustandsgroesse , Zustandswert , Zustandsteilwert , Zustandsgesamtwert , Zustandsklasse ));
--- Attribute :
    Art_der_Groesse: OPTIONAL STRING(4);
    ID_ZEB_Parameter: OPTIONAL INTEGER;
--- Relationen :
    hat_ZEB_Parameter: OPTIONAL SET [1: ?] OF ZEB_Parameter;
    bestimmbar_durch_ZEB_Methode: OPTIONAL SET [1: ?] OF ZEB_Methode;
INVERSE
    von_Zustandsindikator: SET [0: ?] OF Zustandsindikator FOR hat_Zustgroesse_o_Zustwert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsindikator;
--- Attribute :
--- Relationen :
    hat_Zustgroesse_o_Zustwert: SET [1: ?] OF Zustandsgroesse_o_Zustandswert;
INVERSE
    von_Zustandsmerkmal: SET [0: ?] OF Zustandsmerkmal FOR hat_Zustandsindikator;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsmerkmal;
--- Attribute :
--- Relationen :
    hat_Zustandsindikator: SET [1: ?] OF Zustandsindikator;
INVERSE
    von_Art_des_ZEB_Objektes: SET [0: ?] OF Art_des_ZEB_Objektes FOR hat_Zustandsmerkmal;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsmessverfahren
SUBTYPE OF (Zustandserfassungsmethode);
--- Attribute :
--- Relationen :
    hat_Messwert_o_Beschrgroesse: Messwert_oder_Beschrgroesse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY ZEB_visuell_sensit_Wahrnehmung
SUBTYPE OF (Zustandserfassungsmethode);
--- Attribute :
--- Relationen :
    hat_Messwert_o_Beschrgroesse: Messwert_oder_Beschrgroesse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Aggregationsmethode
SUBTYPE OF (Zustandserfassungsmethode);
--- Attribute :
--- Relationen :
    hat_Messwert_o_Beschrgroesse: Messwert_oder_Beschrgroesse;
    hat_Zustandsgroesse: Zustandsgroesse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Normierungsmethode
SUBTYPE OF (Zustandsbewertungsmethode);
--- Attribute :
--- Relationen :
    hat_Zustandsgroesse: Zustandsgroesse;
    hat_Zustandswert: Zustandswert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Kombinationsmethode
SUBTYPE OF (Zustandsbewertungsmethode);
--- Attribute :
--- Relationen :
    hat_Zustandswert: Zustandswert;
    hat_Zustandsteilwerte: SET [1: ?] OF Zustandsteilwert;
    hat_Zustandsteilwert: OPTIONAL Zustandsteilwert;
    hat_Zustandsgesamtwert: OPTIONAL Zustandsgesamtwert;
WHERE
    entw_Teilwert_oder_Gesamtwert: EXISTS(hat_Zustandsteilwert)XOR EXISTS(hat_Zustandsgesamtwert);
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Klassifizierungsmethode
SUBTYPE OF (Zustandsbewertungsmethode);
--- Attribute :
--- Relationen :
    hat_Zustandsgesamtwert: Zustandsgesamtwert;
    hat_Zustandsklasse: Zustandsklasse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Messwert_oder_Beschrgroesse;
--- Attribute :
    Kurzbezeichnung_Messw_o_Beschr: OPTIONAL STRING(8);
    Messwert_Beschreibung: OPTIONAL STRING(30);
--- Relationen :
INVERSE
    von_Zustandsmessverfahren: SET [0: ?] OF Zustandsmessverfahren FOR hat_Messwert_o_Beschrgroesse;
    von_ZEB_visuell_sens_Wahrnehmg: SET [0: ?] OF ZEB_visuell_sensit_Wahrnehmung FOR hat_Messwert_o_Beschrgroesse;
    von_Aggregationsmethode: SET [0: ?] OF Aggregationsmethode FOR hat_Messwert_o_Beschrgroesse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsgroesse
SUBTYPE OF (Zustandsgroesse_o_Zustandswert);
--- Attribute :
--- Relationen :
INVERSE
    von_Aggregationsmethode: SET [0: ?] OF Aggregationsmethode FOR hat_Zustandsgroesse;
    von_Normierungsmethode: SET [0: ?] OF Normierungsmethode FOR hat_Zustandsgroesse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandswert
SUBTYPE OF (Zustandsgroesse_o_Zustandswert);
--- Attribute :
--- Relationen :
INVERSE
    von_Normierungsmethode: SET [0: ?] OF Normierungsmethode FOR hat_Zustandswert;
    von_Kombinationsmethode: SET [0: ?] OF Kombinationsmethode FOR hat_Zustandswert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsteilwert
SUBTYPE OF (Zustandsgroesse_o_Zustandswert);
--- Attribute :
--- Relationen :
INVERSE
    von_Kombinationsmethoden: SET [0: ?] OF Kombinationsmethode FOR hat_Zustandsteilwerte;
    von_Kombinationsmethode: SET [0: ?] OF Kombinationsmethode FOR hat_Zustandsteilwert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsgesamtwert
SUBTYPE OF (Zustandsgroesse_o_Zustandswert);
--- Attribute :
--- Relationen :
INVERSE
    von_Kombinationsmethode: SET [0: ?] OF Kombinationsmethode FOR hat_Zustandsgesamtwert;
    von_Klassifizierungsmethode: SET [0: ?] OF Klassifizierungsmethode FOR hat_Zustandsgesamtwert;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Zustandsklasse
SUBTYPE OF (Zustandsgroesse_o_Zustandswert);
--- Attribute :
--- Relationen :
INVERSE
    von_Klassifizierungsmethode: SET [0: ?] OF Klassifizierungsmethode FOR hat_Zustandsklasse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

END_SCHEMA; -- Strassenzustandsdaten