diff --git a/SQL/Auftraggebers.sql b/SQL/Auftraggebers.sql new file mode 100644 index 0000000..9f0aa7d --- /dev/null +++ b/SQL/Auftraggebers.sql @@ -0,0 +1,20 @@ +-- Table: public.Auftraggebers + +-- DROP TABLE IF EXISTS public."Auftraggebers"; + +CREATE TABLE IF NOT EXISTS public."Auftraggebers" +( + "Id" integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), + "Name" text COLLATE pg_catalog."default", + "Strasse" text COLLATE pg_catalog."default", + "Ort" text COLLATE pg_catalog."default", + "Postleitzahl" text COLLATE pg_catalog."default", + "Ansprechpartner" text COLLATE pg_catalog."default", + "Telefonnummer" text COLLATE pg_catalog."default", + CONSTRAINT "PK_Auftraggebers" PRIMARY KEY ("Id") +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public."Auftraggebers" + OWNER to "SewerGen"; \ No newline at end of file diff --git a/SQL/Kanaele.sql b/SQL/Kanaele.sql new file mode 100644 index 0000000..5266ebc --- /dev/null +++ b/SQL/Kanaele.sql @@ -0,0 +1,58 @@ +-- Table: public.Kanaele + +-- DROP TABLE IF EXISTS public."Kanaele"; + +CREATE TABLE IF NOT EXISTS public."Kanaele" +( + "Id" integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), + "Objektbezeichnung" text COLLATE pg_catalog."default", + "StartSchachtId" integer, + "EndSchachtId" integer, + "DN" integer NOT NULL, + "Material" text COLLATE pg_catalog."default", + "Haltungslaenge" numeric NOT NULL, + "Entwaesserung" integer NOT NULL, + "ProjektId" integer, + CONSTRAINT "PK_Kanaele" PRIMARY KEY ("Id"), + CONSTRAINT "FK_Kanaele_Projekte_ProjektId" FOREIGN KEY ("ProjektId") + REFERENCES public."Projekte" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION, + CONSTRAINT "FK_Kanaele_Schaechte_EndSchachtId" FOREIGN KEY ("EndSchachtId") + REFERENCES public."Schaechte" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION, + CONSTRAINT "FK_Kanaele_Schaechte_StartSchachtId" FOREIGN KEY ("StartSchachtId") + REFERENCES public."Schaechte" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public."Kanaele" + OWNER to "SewerGen"; +-- Index: IX_Kanaele_EndSchachtId + +-- DROP INDEX IF EXISTS public."IX_Kanaele_EndSchachtId"; + +CREATE INDEX IF NOT EXISTS "IX_Kanaele_EndSchachtId" + ON public."Kanaele" USING btree + ("EndSchachtId" ASC NULLS LAST) + TABLESPACE pg_default; +-- Index: IX_Kanaele_ProjektId + +-- DROP INDEX IF EXISTS public."IX_Kanaele_ProjektId"; + +CREATE INDEX IF NOT EXISTS "IX_Kanaele_ProjektId" + ON public."Kanaele" USING btree + ("ProjektId" ASC NULLS LAST) + TABLESPACE pg_default; +-- Index: IX_Kanaele_StartSchachtId + +-- DROP INDEX IF EXISTS public."IX_Kanaele_StartSchachtId"; + +CREATE INDEX IF NOT EXISTS "IX_Kanaele_StartSchachtId" + ON public."Kanaele" USING btree + ("StartSchachtId" ASC NULLS LAST) + TABLESPACE pg_default; \ No newline at end of file diff --git a/SQL/Projekte.sql b/SQL/Projekte.sql new file mode 100644 index 0000000..5dd0b83 --- /dev/null +++ b/SQL/Projekte.sql @@ -0,0 +1,33 @@ +-- Table: public.Projekte + +-- DROP TABLE IF EXISTS public."Projekte"; + +CREATE TABLE IF NOT EXISTS public."Projekte" +( + "Id" integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), + "Projektname" text COLLATE pg_catalog."default", + "Erstelldatum" text COLLATE pg_catalog."default", + "Strasse" text COLLATE pg_catalog."default", + "Ort" text COLLATE pg_catalog."default", + "ExportType" integer NOT NULL, + "Kodierungssystem" integer NOT NULL, + "AuftraggeberId" integer NOT NULL DEFAULT 0, + CONSTRAINT "PK_Projekte" PRIMARY KEY ("Id"), + CONSTRAINT "FK_Projekte_Auftraggebers_AuftraggeberId" FOREIGN KEY ("AuftraggeberId") + REFERENCES public."Auftraggebers" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE CASCADE +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public."Projekte" + OWNER to "SewerGen"; +-- Index: IX_Projekte_AuftraggeberId + +-- DROP INDEX IF EXISTS public."IX_Projekte_AuftraggeberId"; + +CREATE INDEX IF NOT EXISTS "IX_Projekte_AuftraggeberId" + ON public."Projekte" USING btree + ("AuftraggeberId" ASC NULLS LAST) + TABLESPACE pg_default; \ No newline at end of file diff --git a/SQL/Schaechte.sql b/SQL/Schaechte.sql new file mode 100644 index 0000000..100c5c2 --- /dev/null +++ b/SQL/Schaechte.sql @@ -0,0 +1,33 @@ +-- Table: public.Schaechte + +-- DROP TABLE IF EXISTS public."Schaechte"; + +CREATE TABLE IF NOT EXISTS public."Schaechte" +( + "Id" integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), + "Objektbezeichnung" text COLLATE pg_catalog."default", + "RechtsWert" numeric(18,4) NOT NULL, + "HochWert" numeric(18,4) NOT NULL, + "SohlHoehe" numeric(18,4) NOT NULL, + "DeckelHoehe" numeric(18,4) NOT NULL, + "Entwaesserung" integer NOT NULL, + "ProjektId" integer, + CONSTRAINT "PK_Schaechte" PRIMARY KEY ("Id"), + CONSTRAINT "FK_Schaechte_Projekte_ProjektId" FOREIGN KEY ("ProjektId") + REFERENCES public."Projekte" ("Id") MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION +) + +TABLESPACE pg_default; + +ALTER TABLE IF EXISTS public."Schaechte" + OWNER to "SewerGen"; +-- Index: IX_Schaechte_ProjektId + +-- DROP INDEX IF EXISTS public."IX_Schaechte_ProjektId"; + +CREATE INDEX IF NOT EXISTS "IX_Schaechte_ProjektId" + ON public."Schaechte" USING btree + ("ProjektId" ASC NULLS LAST) + TABLESPACE pg_default; \ No newline at end of file