-- This script was generated by the ERD tool in pgAdmin 4. -- Please log an issue at https://redmine.postgresql.org/projects/pgadmin4/issues/new if you find any bugs, including reproduction steps. BEGIN; DROP TABLE IF EXISTS public."Tech_Dish"; DROP TABLE IF EXISTS public."Source"; DROP TABLE IF EXISTS public."Link"; DROP TABLE IF EXISTS public."Dish"; DROP TABLE IF EXISTS public."Cathegory"; DROP TABLE IF EXISTS public."Tech"; DROP TABLE IF EXISTS public."Conversion"; DROP TABLE IF EXISTS public."Alternative Name"; DROP TABLE IF EXISTS public."Ingredients"; DROP TABLE IF EXISTS public."Methods"; CREATE TABLE IF NOT EXISTS public."Cathegory" ( cath_id serial, cath_name character varying(20) NOT NULL, root_id integer, PRIMARY KEY (cath_id), CONSTRAINT "Name" UNIQUE (cath_name) ); CREATE TABLE IF NOT EXISTS public."Dish" ( dish_id serial, cath_id integer NOT NULL, name character varying(20) NOT NULL, cook_time interval NOT NULL, manual text NOT NULL, PRIMARY KEY (dish_id), CONSTRAINT "Name Dish" UNIQUE (name) ); CREATE TABLE IF NOT EXISTS public."Link" ( dish_id integer, ingr_id integer, method_id integer NOT NULL, amount numeric(10) NOT NULL, PRIMARY KEY (dish_id, ingr_id) ); CREATE TABLE IF NOT EXISTS public."Ingredients" ( ingr_id serial, ingr_name character varying(20) NOT NULL, ingr_descr text NOT NULL, PRIMARY KEY (ingr_id), CONSTRAINT "Inrg Name" UNIQUE (ingr_name) ); CREATE TABLE IF NOT EXISTS public."Conversion" ( ingr_id integer, method1_id integer, method2_id integer, transit numeric NOT NULL, PRIMARY KEY (ingr_id, method1_id, method2_id) ); CREATE TABLE IF NOT EXISTS public."Methods" ( method_id serial, method_name character varying(20) NOT NULL, standart boolean NOT NULL, PRIMARY KEY (method_id), UNIQUE (method_name) ); CREATE TABLE IF NOT EXISTS public."Source" ( dish_id integer, picture serial NOT NULL, PRIMARY KEY (dish_id) ); CREATE TABLE IF NOT EXISTS public."Tech" ( tech_id serial, tech_name character varying(20) NOT NULL, PRIMARY KEY (tech_id), CONSTRAINT "Name Tech" UNIQUE (tech_name) ); CREATE TABLE IF NOT EXISTS public."Tech_Dish" ( "Tech_tech_id" integer, "Dish_dish_id" integer, PRIMARY KEY ("Tech_tech_id", "Dish_dish_id") ); CREATE TABLE IF NOT EXISTS public."Alternative Name" ( ingr_id integer, alt_name character varying(20) NOT NULL, PRIMARY KEY (ingr_id), CONSTRAINT "Alt Name" UNIQUE (alt_name) ); ALTER TABLE IF EXISTS public."Cathegory" ADD FOREIGN KEY (root_id) REFERENCES public."Cathegory" (cath_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Dish" ADD FOREIGN KEY (cath_id) REFERENCES public."Cathegory" (cath_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Link" ADD FOREIGN KEY (ingr_id) REFERENCES public."Ingredients" (ingr_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Link" ADD FOREIGN KEY (dish_id) REFERENCES public."Dish" (dish_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Conversion" ADD FOREIGN KEY (method1_id) REFERENCES public."Methods" (method_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Conversion" ADD FOREIGN KEY (ingr_id) REFERENCES public."Ingredients" (ingr_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Conversion" ADD FOREIGN KEY (method2_id) REFERENCES public."Methods" (method_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Source" ADD FOREIGN KEY (dish_id) REFERENCES public."Dish" (dish_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Tech_Dish" ADD FOREIGN KEY ("Tech_tech_id") REFERENCES public."Tech" (tech_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Tech_Dish" ADD FOREIGN KEY ("Dish_dish_id") REFERENCES public."Dish" (dish_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; ALTER TABLE IF EXISTS public."Alternative Name" ADD FOREIGN KEY (ingr_id) REFERENCES public."Ingredients" (ingr_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID; END;