SCHEMA Achslastdaten;

REFERENCE FROM Allgemeine_Objekte (Groesse, Anzahl);

ENTITY Achslastdatenerfassung;
--- Attribute :
--- Relationen :
    hat_GG_Verteilung_e_FZ_Klasse: SET [1: ?] OF GG_Verteilung_einer_FZ_Klasse;
    hat_Achslastvertlg_e_Achstyps: SET [1: ?] OF Achslastverteilung_e_Achstyps;
    hat_abgel_Werte_und_Vertlgen: OPTIONAL SET [1: ?] OF abgel_Werte_und_Verteilungen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY abgel_Werte_und_Verteilungen;
--- Attribute :
--- Relationen :
INVERSE
    von_Achslastdatenerfassung: SET [0: ?] OF Achslastdatenerfassung FOR hat_abgel_Werte_und_Vertlgen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY GG_Verteilung_einer_FZ_Klasse;
--- Attribute :
    Fahrzeugklasse: INTEGER;
    Anzahl_der_GG_Klassen_FZ_Kl_3: INTEGER;
    Anzahl_der_GG_Klassen_FZ_Kl_4: INTEGER;
    Anzahl_der_GG_Klassen_FZ_Kl_5: INTEGER;
    Anzahl_Ueberladungen: Anzahl;
--- Relationen :
    hat_GG_Klasse: SET [1: ?] OF GG_Klasse;
INVERSE
    von_Achslastdatenerfassung: SET [0: ?] OF Achslastdatenerfassung FOR hat_GG_Verteilung_e_FZ_Klasse;
WHERE
    Anzahl_Ueberladungen_zulaessig: Anzahl_Ueberladungen<=255;
    Fahrzeugklasse_zulaessig: { 3<=Fahrzeugklasse<=5};
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY GG_Klasse;
--- Attribute :
    Klassennummer: INTEGER;
    Klassengrenze: Groesse;
    Klassenwert: Klassenwert;
--- Relationen :
INVERSE
    von_GG_Verteilung_e_FZ_Klasse: SET [0: ?] OF GG_Verteilung_einer_FZ_Klasse FOR hat_GG_Klasse;
WHERE
    Klassennummer_zulaessig: { 1<=Klassennummer<=8};
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Achstyp;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


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

   (1,'Einfachachse')
   (2,'Doppelachse')
   (3,'Dreifachachse')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Achslastverteilung_e_Achstyps;
--- Attribute :
    Achstyp: Achstyp;
    Anz_d_Klassen_f_Einzelachsen: Anzahl_Klassen;
    Anz_d_Klassen_f_Doppelachsen: Anzahl_Klassen;
    Anz_d_Klassen_f_Dreifachachsen: Anzahl_Klassen;
--- Relationen :
    hat_Klasse_AL: Klasse_AL;
INVERSE
    von_Achslastdatenerfassung: SET [0: ?] OF Achslastdatenerfassung FOR hat_Achslastvertlg_e_Achstyps;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Klasse_AL;
--- Attribute :
    Klassennummer: INTEGER;
    Klassengrenze: Groesse;
    Klassenwert: Klassenwert;
--- Relationen :
INVERSE
    von_Achslastvertlg_e_Achstyps: SET [0: ?] OF Achslastverteilung_e_Achstyps FOR hat_Klasse_AL;
WHERE
    Klassennummer_zulaessig: { 0<=Klassennummer<=99};
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

TYPE Klassenwert = Anzahl;
WHERE
    Klassenwert_zulaessig: SELF<=65535;
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

TYPE Anzahl_Klassen = INTEGER;
WHERE
    Anzahl_zulaessig: { 1<=SELF<=99};
END_TYPE;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

END_SCHEMA; -- Achslastdaten