From b435ffa0fdd936f8d2d15a36148cb7bfb882a469 Mon Sep 17 00:00:00 2001 From: Andreas Tharang Date: Wed, 25 Feb 2026 08:53:25 +0100 Subject: [PATCH] =?UTF-8?q?DB-Schema-=C3=9Cberarbeitung=20als=20Diskussion?= =?UTF-8?q?svorschlag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Datenbank_ERD.md | 127 +++++++++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 54 deletions(-) diff --git a/doc/Datenbank_ERD.md b/doc/Datenbank_ERD.md index e53d924..98a7a1e 100644 --- a/doc/Datenbank_ERD.md +++ b/doc/Datenbank_ERD.md @@ -1,58 +1,77 @@ ```mermaid erDiagram -tbl_akteure{ - Int4 fid PK - varchar Bezeichnung - varchar(6) vkz "Verfahren, für das der Akteur relevant ist" -} -tbl_konten{ - varchar(3) kontonr - varchar bezeichnung -} -tbl_ausbauart{ - int4 id PK - varchar Ausbauart_text - int4 preis - varchar(3) tbe_nr - varchar(3) Ausbauart_nr "Nr. der Ausbauart zur einfacheren Referenz" -} -tbl_Massnahme{ - int4 MnNr - int4 Abschnitte FK -} -p41_Massnahmen_linie{ - int4 id PK - geom Geometrie - varchar mnnr "Berechnet aus mn_konto und lfd_nr" - varchar mnname - int4 ausbauart FK "ref:tbl_ausbauart.id" - varchar(3) mn_konto FK "ref: tbl_konten.kontonr" - varchar(2) lfd_nr - varchar(1) tbe - bool umsetzung - int4 unterhalt_bisher FK "ref: tbl_akteure.id" - int4 unterhalt_zukuenftig FK "ref: tbl_akteure.id" - int4 bautraeger FK "ref: tbl_akteure.id" - int4 kostentraeger FK "ref: tbl_akteure.id" - int4 Planungsjahr - int4 baujahr - int4 Pflege_Anfang - int4 Pflege_Ende - float8 fahrbahnbreite - float8 gesamtbreite - varchar vorgesehene_regelungen - varchar bemerkungen - int4 laenge - int4 flaeche - varchar foerdersatz - bool ingenieurbauwerk - varchar bildpfad - bool fertiggestellt - int4 ausbauart_nr - bool plangenehmigt + +verfahren { + INTEGER id PK + VARCHAR_6 vkz UK "UNIQUE NOT NULL - Verfahrenskennzeichen" + VARCHAR_255 bezeichnung "NOT NULL" } -tbl_konten ||--o{ p41_Massnahmen_linie : verwendet -tbl_akteure ||--o{ p41_Massnahmen_linie : verwendet -tbl_ausbauart ||--o{ p41_Massnahmen_linie : verwendet -``` \ No newline at end of file +akteur { + INTEGER id PK + VARCHAR_255 bezeichnung "NOT NULL" + INTEGER verfahren_id FK "ref: verfahren.id" +} + +konto { + VARCHAR_3 kontonr PK "Kontonummer" + VARCHAR_255 bezeichnung "NOT NULL" +} + +ausbauart { + INTEGER id PK + VARCHAR_3 ausbauart_nr UK "UNIQUE - Kurzreferenz-Nr" + VARCHAR_255 bezeichnung "NOT NULL - Beschreibungstext" + NUMERIC_10_2 preis "Einheitspreis" + VARCHAR_3 tbe_nr +} + +massnahme { + INTEGER id PK + INTEGER verfahren_id FK "NOT NULL - ref: verfahren.id" + VARCHAR_3 konto_nr FK "ref: konto.kontonr" + VARCHAR_2 lfd_nr "NOT NULL - Laufende Nr innerhalb Konto" + VARCHAR_255 bezeichnung "Massnahmenname" + VARCHAR_7 geometrietyp "NOT NULL - CHECK: LINIE PUNKT POLYGON" + VARCHAR_1 tbe + SMALLINT planungsjahr + SMALLINT baujahr + SMALLINT pflege_anfang "Beginn Pflegezeitraum Jahr" + SMALLINT pflege_ende "Ende Pflegezeitraum Jahr" + BOOLEAN umsetzung "DEFAULT FALSE" + BOOLEAN plangenehmigt "DEFAULT FALSE" + BOOLEAN fertiggestellt "DEFAULT FALSE" + BOOLEAN ingenieurbauwerk "DEFAULT FALSE" + VARCHAR_50 foerdersatz + TEXT vorgesehene_regelungen + TEXT bemerkungen + VARCHAR_500 bildpfad + INTEGER unterhalt_bisher_id FK "ref: akteur.id" + INTEGER unterhalt_zukuenftig_id FK "ref: akteur.id" + INTEGER bautraeger_id FK "ref: akteur.id" + INTEGER kostentraeger_id FK "ref: akteur.id" +} + +abschnitt { + INTEGER id PK + INTEGER massnahme_id FK "NOT NULL - ref: massnahme.id" + SMALLINT abschnitt_nr "NOT NULL - Reihenfolge innerhalb Massnahme" + GEOMETRY geometrie "NOT NULL - Punkt Linie oder Polygon" + INTEGER ausbauart_id FK "ref: ausbauart.id" + NUMERIC_10_2 laenge "Laenge in Metern" + NUMERIC_12_2 flaeche "Flaeche in qm" + NUMERIC_5_2 fahrbahnbreite "Fahrbahnbreite in Metern" + NUMERIC_5_2 gesamtbreite "Gesamtbreite in Metern" + TEXT bemerkungen "Abschnittsspezifische Bemerkungen" +} + +verfahren ||--o{ akteur : "gehoert_zu" +verfahren ||--o{ massnahme : "gehoert_zu" +konto ||--o{ massnahme : "budgetiert" +akteur ||--o{ massnahme : "unterhalt_bisher" +akteur ||--o{ massnahme : "unterhalt_zukuenftig" +akteur ||--o{ massnahme : "bautraeger" +akteur ||--o{ massnahme : "kostentraeger" +massnahme ||--o{ abschnitt : "hat_abschnitte" +ausbauart ||--o{ abschnitt : "beschreibt" +```