SCHEMA Verkehrsstaerke;

REFERENCE FROM Unfall (Angaben_zu_Unfallumstaenden);

REFERENCE FROM Allgemeine_Objekte (Anzahl, Prozent, Wochentag, Woche, Jahr, Datum);

ENTITY Verkehrsstaerkekennwerte;
--- Attribute :
--- Relationen :
    sind_Verkehrsstaerken: OPTIONAL SET [1: ?] OF Verkehrsstaerken;
    werden_addiert_zu_Tageswert_q: OPTIONAL Tageswert_q;
    abbildbar_als_Wtganglinien: OPTIONAL Wochentagsganglinien_q;
    abbildbar_als_Tganglinien: OPTIONAL Tagesganglinien_q;
    hat_zeitliche_Zuordnung: SET [1: ?] OF zeitliches_Zuordnungskriterium;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Verkehrsstaerken;
--- Attribute :
--- Relationen :
    hat_Verkehrsstaerkeverteilung: SET [1: ?] OF Verkehrsstaerkeverteilung;
INVERSE
    werden_aufbereitet_zu_VStKennw: SET [0: ?] OF Verkehrsstaerkekennwerte FOR sind_Verkehrsstaerken;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Verkehrsstaerkeverteilung;
--- Attribute :
    zugehoerige_FZ_Klasse_VS: SET [1: ?] OF INTEGER;
    Verkehrsstaerkewert: SET [1: ?] OF INTEGER;
--- Relationen :
INVERSE
    von_Verkehrsstaerken: SET [0: ?] OF Verkehrsstaerken FOR hat_Verkehrsstaerkeverteilung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Tageswert_q;
--- Attribute :
    Wert: Kfz_pro_Stunde;
    Datum: Datum;
--- Relationen :
    werden_aufbereitet_zu_Wgangl: OPTIONAL Wochenganglinie_q;
    werden_aufbereitet_zu_Jgangl: OPTIONAL Jahresganglinie_q;
INVERSE
    entstehen_aus_Verkehrsstkennw: SET [0: ?] OF Verkehrsstaerkekennwerte FOR werden_addiert_zu_Tageswert_q;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Wochenganglinie_q;
--- Attribute :
    Woche: Woche;
    Jahr: Jahr;
    Ganglinientyp: OPTIONAL Ganglinientyp;
--- Relationen :
INVERSE
    entsteht_aus_Tageswert_q: SET [0: ?] OF Tageswert_q FOR werden_aufbereitet_zu_Wgangl;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Jahresganglinie_q;
--- Attribute :
    Jahr: Jahr;
    Ganglinientyp: OPTIONAL Ganglinientyp;
--- Relationen :
INVERSE
    entsteht_aus_Tageswert_q: SET [0: ?] OF Tageswert_q FOR werden_aufbereitet_zu_Jgangl;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Tagesganglinien_q;
--- Attribute :
    Datum: Datum;
--- Relationen :
INVERSE
    entstehen_aus_Verkehrsstkennw: SET [0: ?] OF Verkehrsstaerkekennwerte FOR abbildbar_als_Tganglinien;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Wochentagskennung;
--- Attribute :
    Langtext: STRING(28);
--- Relationen :
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'montags')
   (2,'dienstags bis donnerstags')
   (3,'feiertags')
   (4,'samstags und sonntags')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Wochentagsganglinien_q;
--- Attribute :
    Wochentag: Wochentag;
    Jahr: Jahr;
    Wochentagskennung: OPTIONAL Wochentagskennung;
    Ganglinientyp: OPTIONAL Ganglinientyp;
--- Relationen :
INVERSE
    entstehen_aus_Verkehrsstkennw: SET [0: ?] OF Verkehrsstaerkekennwerte FOR abbildbar_als_Wtganglinien;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY zeitliches_Zuordnungskriterium
ABSTRACT SUPERTYPE OF (ONEOF(Tageszeitwert , Nachtzeitwert , alle_Tage , werktags , sonn_und_feiertags , ferienwerktags , Di_bis_Do ));
--- Attribute :
--- Relationen :
INVERSE
    von_Verkehrsstaerkekennwerten: SET [0: ?] OF Verkehrsstaerkekennwerte FOR hat_zeitliche_Zuordnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Tageszeitwert
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: INTEGER;
    massgebender_Wert_M_T: OPTIONAL Kfz_pro_Tag;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Nachtzeitwert
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: INTEGER;
    massgebender_Wert_M_N: OPTIONAL Kfz_pro_Tag;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY alle_Tage
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: STRING(30);
    DTV: Kfz_pro_Tag;
    DTV_Lkw: OPTIONAL Lkw_pro_Tag;
    Lkw_Anteil: OPTIONAL Prozent;
    MSV: Kfz_pro_Stunde;
    MSV_Lkw: OPTIONAL Lkw_pro_Stunde;
--- Relationen :
INVERSE
    zu_Unfallumstaenden: SET [0: ?] OF Angaben_zu_Unfallumstaenden FOR hat_DTV_im_Gesamtquerschnitt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY werktags
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: SET [1: ?] OF STRING(28);
    DTV_W: Kfz_pro_Tag;
    DTV_W_Lkw: OPTIONAL Lkw_pro_Tag;
    MSV_W: Kfz_pro_Stunde;
    MSV_W_Lkw: OPTIONAL Lkw_pro_Stunde;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY sonn_und_feiertags
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Anzahl: INTEGER;
    Jahr: Jahr;
    DTV_S: Kfz_pro_Tag;
    MSV_S: Kfz_pro_Stunde;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY ferienwerktags
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: SET [1: ?] OF STRING(30);
    DTV_F: Kfz_pro_Tag;
    DTV_F_Lkw: OPTIONAL Lkw_pro_Tag;
    MSV_F: Kfz_pro_Stunde;
    MSV_F_Lkw: OPTIONAL Lkw_pro_Stunde;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Di_bis_Do
SUBTYPE OF (zeitliches_Zuordnungskriterium);
--- Attribute :
    Zeitbereich: STRING(30);
    DTV_Di_bis_Do: Kfz_pro_Tag;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

TYPE Ganglinientyp = STRING;
WHERE
    Ganglinientyp_sinnvoll: { 'A'<=SELF<='F'};
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

TYPE Kfz_pro_Stunde = Anzahl;
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

TYPE Kfz_pro_Tag = Anzahl;
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

TYPE Lkw_pro_Stunde = Anzahl;
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

TYPE Lkw_pro_Tag = Anzahl;
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

END_SCHEMA; -- Verkehrsstaerke