SCHEMA MELVER;

REFERENCE FROM Strassennetz (Strassenklasse);

REFERENCE FROM Administration (Strassenbaudienststelle_abstrakt, Baulasttraeger, Verwaltungsbezirk_abstrakt);

REFERENCE FROM Allgemeine_Objekte (EURO, Anzahl_zweistellig, Datum);

REFERENCE FROM Grunderwerb (Land);

ENTITY MELVER;
--- Attribute :
--- Relationen :
    hat_administrative_Angaben: administrative_Angaben_MELVER;
    hat_Angaben_zur_Bauleistung: Angaben_zur_Bauleistung_MELVER;
    hat_Angaben_zu_Bew_Biet_Angeb: Angaben_zu_Bew_Biet_Ang_MELVER;
    hat_Angaben_zur_Vergabe: Angaben_zur_Vergabe_MELVER;
    hat_vertragl_Best_und_Massn: vertragl_Best_und_Massn_MELVER;
    hat_Angaben_zur_Auftragssumme: Angaben_z_Auftragssumme_MELVER;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY administrative_Angaben_MELVER;
--- Attribute :
    Bauvertragsnummer: INTEGER;
    CPV_Nr: STRING(9);
    Bezeichnung_der_Bauleistung: STRING;
    Zusatzfeld: OPTIONAL STRING(2);
--- Relationen :
    in_Bundesland: Verwaltungsbezirk_abstrakt;
    hat_Baulasttraeger: Baulasttraeger;
    in_Baudienststelle: Strassenbaudienststelle_abstrakt;
    in_Kreis_Gemeinde: Verwaltungsbezirk_abstrakt;
    hat_Haushalts_Buchungsstelle: Haushalts_Buchungsst_MELVER;
    hat_Bearbeiter: Bearbeiter_MELVER;
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_administrative_Angaben;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Haushalts_Buchungsst_MELVER;
--- Attribute :
    Kapitel: INTEGER;
    Titel: INTEGER;
    Funktion: INTEGER;
--- Relationen :
INVERSE
    zu_administrative_Angaben: SET [0: ?] OF administrative_Angaben_MELVER FOR hat_Haushalts_Buchungsstelle;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Bearbeiter_MELVER;
--- Attribute :
    Name_Bearbeiter: STRING;
    Tel_Nr_Bearbeiter: STRING;
--- Relationen :
INVERSE
    von_administrative_Angaben: SET [0: ?] OF administrative_Angaben_MELVER FOR hat_Bearbeiter;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Angaben_zur_Bauleistung_MELVER;
--- Attribute :
    Strassenklasse: Strassenklasse;
    Art_der_Baumassnahme_Phase: Art_der_Baumassnahme_P_MELVER;
    Art_der_Baumassnahme_Bereich: Art_der_Baumassnahme_B_MELVER;
    Bauzeit_in_Monaten: Anzahl_zweistellig;
--- Relationen :
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_Angaben_zur_Bauleistung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Neubau')
   (2,'Ausbau')
   (3,'Erhaltung')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Straßenbau')
   (2,'Kunstbauten')
   (3,'Sonstiges')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Angaben_zu_Bew_Biet_Ang_MELVER;
--- Attribute :
--- Relationen :
    hat_Anz_Bewerber_Bieter_Angeb: SET [15: 15] OF Anz_Bewerb_Bieter_Angeb_MELVER;
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_Angaben_zu_Bew_Biet_Angeb;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Anz_Bewerb_Bieter_Angeb_MELVER;
--- Attribute :
    Art_Bewerber_Bieter_Angebot: Art_Bewerb_Bieter_Angeb_MELVER;
    Region: Region_MELVER;
    Anzahl: Anzahl_zweistellig;
--- Relationen :
INVERSE
    von_Ang_zu_Bewerb_Bieter_Angeb: SET [0: ?] OF Angaben_zu_Bew_Biet_Ang_MELVER FOR hat_Anz_Bewerber_Bieter_Angeb;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Bewerber bei Teilnahmewettbewerb')
   (2,'Bewerber, an die Vergabeunterlagen abgegeben wurden')
   (3,'Bieter')
   (4,'eingegangene Hauptangebote')
   (5,'eingegangene Nebenangebote')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Deutschland')
   (2,'EG')
   (3,'Sonstige')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Angaben_zur_Vergabe_MELVER;
--- Attribute :
    Vergabeart: Vergabeart_MELVER;
    Eroeffnung_Angebotsabgabe: Datum;
    Auftragserteilung: Datum;
    Angebotsart: Angebotsart_MELVER;
    Platznummer_Zuschlagsangebot: Anzahl_zweistellig;
    Erlaeuterung_zur_Vergabeart: Erl_zur_Vergabeart_MELVER;
--- Relationen :
    hat_Angaben_zum_Auftragnehmer: Ang_zum_Auftragnehmer_MELVER;
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_Angaben_zur_Vergabe;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (10,'Ö.A.')
   (11,'B.A.m.T.')
   (12,'B.A.o.T.')
   (13,'F.V.')
   (14,'R.')
   (15,'N.')
   (20,'O.V.')
   (21,'N.V.')
   (22,'Vv.m.B.')
   (23,'Vv.o.B.')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Hauptangebot')
   (2,'Nebenangebot')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (31,'4a')
   (32,'4b')
   (33,'4c')
   (34,'5a')
   (35,'5b')
   (36,'5c')
   (37,'5d')
   (38,'5e')
   (39,'5f')
   (40,'5g')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Ang_zum_Auftragnehmer_MELVER;
--- Attribute :
    Name: STRING;
    Sitz_PLZ: OPTIONAL INTEGER;
    Sitz_in_Land: OPTIONAL Land;
    weitere_Namen: OPTIONAL SET [1: 5] OF STRING;
    Art_des_Auftragnehmers: Art_des_Auftragnehmers_MELVER;
--- Relationen :
    Sitz_in_Bundesland: OPTIONAL Verwaltungsbezirk_abstrakt;
INVERSE
    zu_Angaben_zur_Vergabe_MELVER: SET [0: ?] OF Angaben_zur_Vergabe_MELVER FOR hat_Angaben_zum_Auftragnehmer;
WHERE
    entweder_Land_oder_Bundesland: (EXISTS(Sitz_in_Land)XOR EXISTS(Sitz_in_Bundesland));
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Einzelunternehmer')
   (2,'Arbeitsgemeinschaft')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY vertragl_Best_und_Massn_MELVER;
--- Attribute :
    Lohngleitklausel: BOOLEAN;
    Stoffgleitklausel: BOOLEAN;
    Vertragsstrafe: BOOLEAN;
    Nachpruefungsverfahren_eingel: BOOLEAN;
    Nachpruefungsverfahren_entsch: OPTIONAL rechtliche_Instanz_MELVER;
    Zeitdauer_zw_Ruege_u_Entsch: Anzahl_zweistellig;
    Aenderung_der_Vergabeentsch: BOOLEAN;
--- Relationen :
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_vertragl_Best_und_Massn;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (50,'Vergabeprüfstelle')
   (51,'Vergabekammer')
   (52,'Oberlandesgericht')
   (53,'Bundesgerichtshof')
   (54,'Rücknahme')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Angaben_z_Auftragssumme_MELVER;
--- Attribute :
    Auftragssumme: EURO;
--- Relationen :
    hat_Summen_n_Art_der_Arbeiten: SET [6: 6] OF Summe_n_Art_der_Arbeit_MELVER;
    hat_Summen_n_Unternehmensart: SET [2: 2] OF Summe_n_Unternehmensart_MELVER;
    hat_Summen_nach_Regionen: SET [3: 3] OF Summe_nach_Regionen_MELVER;
    hat_Summen_bevorzugt_Bewerber: Summe_bevorz_Bewerber_MELVER;
INVERSE
    von_MELVER_Datensatz: SET [0: ?] OF MELVER FOR hat_Angaben_zur_Auftragssumme;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Summe_n_Art_der_Arbeit_MELVER;
--- Attribute :
    Art_der_Arbeit: Art_der_Arbeit_MELVER;
    Anteil_Auftragssumme: EURO;
--- Relationen :
INVERSE
    zu_Ang_z_Auftragssumme_MELVER: SET [0: ?] OF Angaben_z_Auftragssumme_MELVER FOR hat_Summen_n_Art_der_Arbeiten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Abbrucharbeiten')
   (2,'Erdarbeiten')
   (3,'Arbeiten für Kunstbauten')
   (4,'Oberbauarbeiten')
   (5,'Arbeiten für Straßenausstattungen')
   (6,'Sonstige Arbeiten')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Summe_n_Unternehmensart_MELVER;
--- Attribute :
    Art_des_Unternehmens: Art_des_Unternehmens_MELVER;
    Anteil_Auftragssumme: EURO;
--- Relationen :
INVERSE
    zu_Ang_z_Auftragssumme_MELVER: SET [0: ?] OF Angaben_z_Auftragssumme_MELVER FOR hat_Summen_n_Unternehmensart;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Großwirtschaft')
   (2,'Mittelstand')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Summe_nach_Regionen_MELVER;
--- Attribute :
    Region: Region_MELVER;
    Anteil_Auftragssumme: EURO;
--- Relationen :
INVERSE
    zu_Ang_z_Auftragssumme_MELVER: SET [0: ?] OF Angaben_z_Auftragssumme_MELVER FOR hat_Summen_nach_Regionen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Summe_bevorz_Bewerber_MELVER;
--- Attribute :
    Anteil_Auftragssumme: EURO;
    Grund_der_Bevorzugung: Grund_der_Bevorzugung_MELVER;
    Auftragskriterium: Auftragskriterium_MELVER;
    gewaehrter_Mehrpreis: EURO;
--- Relationen :
INVERSE
    zu_Ang_z_Auftragssumme_MELVER: SET [0: ?] OF Angaben_z_Auftragssumme_MELVER FOR hat_Summen_bevorzugt_Bewerber;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Anerkannte Werkstätten für Behinderte')
   (2,'Blindenwerkstätten')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'wirtschaftlichstes Angebot')
   (2,'Eintrittsrecht mit Mehrpreisgewährung')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

END_SCHEMA; -- MELVER