Загрузка данных


-- This script was generated by the ERD tool in pgAdmin 4.
-- Please log an issue at https://github.com/pgadmin-org/pgadmin4/issues/new/choose if you find any bugs, including reproduction steps.
BEGIN;


CREATE TABLE IF NOT EXISTS public.category_rugs
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT category_rugs_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.client
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default",
    login character varying(50) COLLATE pg_catalog."default",
    password character varying(50) COLLATE pg_catalog."default",
    CONSTRAINT client_pkey PRIMARY KEY (id),
    CONSTRAINT client_login_key UNIQUE (login)
);

CREATE TABLE IF NOT EXISTS public.cloth_rugs
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT cloth_rugs_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.manufacturing_rugs
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT manufacturing_rugs_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.orders
(
    id serial NOT NULL,
    id_rugs integer,
    id_client integer,
    id_status integer,
    count integer,
    date_orders date,
    total_price numeric(8, 2),
    discount integer,
    CONSTRAINT orders_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.rugs
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    id_category integer,
    id_type integer,
    id_manufacturing integer,
    id_cloth integer,
    quantity integer,
    price numeric(8, 2),
    CONSTRAINT rugs_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.status_orders
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT status_orders_pkey PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS public.type_rugs
(
    id serial NOT NULL,
    name character varying(50) COLLATE pg_catalog."default" NOT NULL,
    CONSTRAINT type_rugs_pkey PRIMARY KEY (id)
);

ALTER TABLE IF EXISTS public.orders
    ADD CONSTRAINT orders_id_client_fkey FOREIGN KEY (id_client)
    REFERENCES public.client (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.orders
    ADD CONSTRAINT orders_id_rugs_fkey FOREIGN KEY (id_rugs)
    REFERENCES public.rugs (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.orders
    ADD CONSTRAINT orders_id_status_fkey FOREIGN KEY (id_status)
    REFERENCES public.status_orders (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.rugs
    ADD CONSTRAINT rugs_id_category_fkey FOREIGN KEY (id_category)
    REFERENCES public.category_rugs (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.rugs
    ADD CONSTRAINT rugs_id_cloth_fkey FOREIGN KEY (id_cloth)
    REFERENCES public.cloth_rugs (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.rugs
    ADD CONSTRAINT rugs_id_manufacturing_fkey FOREIGN KEY (id_manufacturing)
    REFERENCES public.manufacturing_rugs (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;


ALTER TABLE IF EXISTS public.rugs
    ADD CONSTRAINT rugs_id_type_fkey FOREIGN KEY (id_type)
    REFERENCES public.type_rugs (id) MATCH SIMPLE
    ON UPDATE NO ACTION
    ON DELETE NO ACTION;

END;