Skip to content

Reengen-FullStack-Development-Bootcamp/mfatihceliik-final-project-backend

Repository files navigation

image

copy and paste all rows.

BEGIN;

CREATE TABLE public.users
(
    id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    "firstName" character varying,
    "lastName" character varying,
    email character varying unique,
    password character varying,
    role integer,
    PRIMARY KEY (id)
);

CREATE TABLE public.roles
(
    id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    role character varying,
    PRIMARY KEY (id)
);

CREATE TABLE public.factories
(
    id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    "factoryName" character varying,
    "numberOfEmployees" integer,
    "membeshipDate" date,
    "membershipExpiryDate" date,
    "factoryDetails" integer,
    PRIMARY KEY (id)
);

CREATE TABLE public."factoryDetails"
(
    id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
    "unitUsed" character varying,
    "dateRange" daterange,
    "kilowattUsage" integer,
    "usageFee" double precision,
    "discountedPrice" boolean,
    PRIMARY KEY (id)
);

ALTER TABLE public.users
    ADD FOREIGN KEY (role)
    REFERENCES public.roles (id)
    NOT VALID;


ALTER TABLE public.factories
    ADD FOREIGN KEY ("factoryDetails")
    REFERENCES public."factoryDetails" (id)
    NOT VALID;

END;

some queries

select * from users ORDER BY "id" asc
select * from roles ORDER BY "id" asc
select * from factories ORDER BY "id" asc
select * from factory_details ORDER BY "id" asc


/* FactoryDetails update */
UPDATE factory_details
        SET
        "unit_used" = 'kilowatt',
        "start_date" = '2021-12-03',
        "end_date" = '2022-01-03',
        "diff_date" = 31,
        "kilowatt_usage" = 748.65,
        "usage_fee" = 8000,
        "discounted_price" = false,
        "factory_id" = 1
        WHERE "id" = 2


/* FactoryDetails delete */
Delete from "factory_details" WHERE "id" = 5

/* Factories update */
update factories
set 
"factory_name" = 'MefyTech',
"number_of_employees" = 10,
"membership_date" = '2020-01-01',
"membership_expiry_date" = '2025-01-01'
where "id" = 2

/* factoryDetails getByFactoryId */
SELECT * FROM factory_details WHERE "factory_id" = 1

/* factories GetByMembershipExpiryDate */
select * from factories WHERE "membership_expiry_date" <= '2025-01-01'

/* factories GetByMembershipDateRange */
select * from factories where "membership_date" >=  '2013-01-01' 
and "membership_expiry_date" <= '2030-01-01'

/* factories GetByName */
select * from factories where factory_name = 'Reengen'

/* factoruDetails GetById */
select * from factory_details where "id" = 1

/* factoryDetails Insert */
insert into factory_details("unitUsed", "startDate", "endDate", "diffDate", "kilowattUsage", "usageFee", "discountedPrice")
values ('kilowatt','2021-12-04','2022-01-04',31,748.65,8000,FALSE)

/* factoryDetails Get by endDate */
select * from factory_details where "endDate" = '2022-06-18'

/* factoryDetails Get by startDate */
select * from factory_details where "startDate" = '2014-02-01'

/* factoryDetails Get by date range */
select * from factory_details
where start_date >= '2014-02-01' and end_date < '2022-06-18'

/* USER */
select users.id, users.first_name, users.last_name, users.email, users."password", roles.role
from users
inner join roles on users."role" = roles.id
where "email" = 'mfatihceliik@outlook.com'

select * from factories
select * from factory_details

/* factories and factory_details inner join */

select factories.factory_name, factories.number_of_employees, factories.membeship_date, factories.membership_expiry_date,
factory_details.unit_used, factory_details.start_date, factory_details.end_date, factory_details.diff_date,
factory_details.kilowatt_usage, factory_details.usage_fee, factory_details.discounted_price
from factories
inner join factory_details on factory_details.factory_id = factories.id

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published