DEFINICJA TABEL!!!!
Create table ksiazka
(
autor varchar(20),
tytul varchar(20),
ilość_stron integer,
ksiazka_id serial
);
Sprawdzenie
\d ksiazka
Table "public.ksiazka"
Column | Type | Modifiers
-------------+-----------------------+-----------------------------------------------------------------
autor | character varying(20) |
tytul | character varying(20) |
ilosc_stron | integer |
ksiazka_id | integer | not null default nextval('public.ksiazka_ksiazka_id_seq'::text)
Create table wypozyczenie
(
data_wypozyczenia date,
data_zwrotu date,
ksiazka_id serial,
osoba_id serial
);
Sprawdzenie
\d wypożyczenie
Table "public.wypozyczenie"
Column | Type | Modifiers
-------------------+---------+----------------------------------------------------------------------
data_wypozyczenia | date |
data_zwrotu | date |
ksiazka_id | integer | not null default nextval('public.wypozyczenie_ksiazka_id_seq'::text)
osoba_id | integer | not null default nextval('public.wypozyczenie_osoba_id_seq'::text)
Create table osoba
(
imie varchar(20),
nazwisko varchar(20),
pesel char(11),
osoba_id serial
);
Sprawdzenie
\d osoba
Table "public.osoba"
Column | Type | Modifiers
----------+-----------------------+-------------------------------------------------------------
imie | character varying(20) |
nazwisko | character varying(20) |
pesel | character(11) |
osoba_id | integer | not null default nextval('public.osoba_osoba_id_seq'::text)
Wpierdolenie danych
Insert into osoba values (`jan', 'kowalski', '75558965458');
Insert into osoba values (`adam', 'nowak', '15524545455');
Insert into osoba values (`janina', 'opolska', '54547575755');
Sprawdzenie
select * from osoba;
imie | nazwisko | pesel | osoba_id
--------+----------+-------------+----------
jan | kowalski | 54547575755 | 1
adam | nowak | 78965412365 | 2
janina | opolska | 12546398745 | 3
(3 rows)
Insert into ksiazka values (`sienkiewicz', 'latarnik', 50);
Insert into ksiazka values (`mickiewicz', 'pan tadeusz',300);
Sprawdzenie
select * from ksiazka;
autor | tytul | ilosc_stron | ksiazka_id
-------------+-------------+-------------+------------
sienkiewicz | latarnik | 50 | 1
mickiewicz | pan tadeusz | 300 | 2
(2 rows)
Insert into wypozyczenie (data_wypozyczenia, osoba_id, ksiazka_id) values ('30-04-2004',1,1);
Insert into wypozyczenie (data_wypozyczenia, osoba_id, ksiazka_id) values ('03-03-2004',2,1);
Insert into wypozyczenie (data_wypozyczenia, data_zwrotu, osoba_id, ksiazka_id) values ('12-12-2003', '23-12-2003',2,3);
Insert into wypozyczenie (data_wypozyczenia, data_zwrotu, osoba_id, ksiazka_id) values ('13-11-2002', '01-12-2002',2,1);
Insert into wypozyczenie (data_wypozyczenia, data_zwrotu, osoba_id, ksiazka_id) values ('01-01-2002', '30-01-2002',2,2);
Sprawdzenie
select * from wypozyczenie;
data_wypozyczenia | data_zwrotu | ksiazka_id | osoba_id
-------------------+-------------+------------+----------
2004-04-30 | | 1 | 1
2004-03-03 | | 1 | 2
2003-12-12 | 2003-12-23 | 3 | 2
2002-11-13 | 2002-01-12 | 1 | 2
2002-01-01 | 2002-01-30 | 2 | 2
(5 rows)
Polecenia
SELECT imie,nazwisko,tytul,autor,data_wypozyczenia,data_zwrotu FROM wypozyczenie,osoba,ksiazka WHERE ksiazka.ksiazka_id=wypozyczenie.ksiazka_id AND osoba.osoba_id=wypozyczenie.osoba_id;
imie | nazwisko | tytul | autor | data_wypozyczenia | data_zwrotu
------+----------+-------------+-------------+-------------------+-------------
jan | kowalski | latarnik | sienkiewicz | 2004-04-30 |
adam | nowak | latarnik | sienkiewicz | 2004-03-03 |
adam | nowak | latarnik | sienkiewicz | 2002-11-13 | 2002-01-12
adam | nowak | pan tadeusz | mickiewicz | 2002-01-01 | 2002-01-30
(4 rows)
UPDATE wypozyczenie SET data_zwrotu='2004-03-05' WHERE data_wypozyczenia like
'2004-03-03';
Sprawdzenie
select * from wypozyczenie;
data_wypozyczenia | data_zwrotu | ksiazka_id | osoba_id
-------------------+-------------+------------+----------
2004-04-30 | | 1 | 1
2003-12-12 | 2003-12-23 | 3 | 2
2002-11-13 | 2002-01-12 | 1 | 2
2002-01-01 | 2002-01-30 | 2 | 2
2004-03-03 | 2004-03-05 | 1 | 2
(5 rows)
UPDATE wypozyczenie SET data_zwrotu='2004-04-30' WHERE data_wypozyczenia like '2004-04-30';
Sprawdzenie
select * from wypozyczenie;
data_wypozyczenia | data_zwrotu | ksiazka_id | osoba_id
-------------------+-------------+------------+----------
2003-12-12 | 2003-12-23 | 3 | 2
2002-11-13 | 2002-01-12 | 1 | 2
2002-01-01 | 2002-01-30 | 2 | 2
2004-03-03 | 2004-03-05 | 1 | 2
2004-04-30 | 2004-04-30 | 1 | 1
(5 rows)
c) DELETE FROM wypozyczenie WHERE data_wypozyczenia<'2003-01-01' AND data_wypozyczenia>='2002-01-01';
Sprawdzenie
select * from wypozyczenie;
data_wypozyczenia | data_zwrotu | ksiazka_id | osoba_id
-------------------+-------------+------------+----------
2003-12-12 | 2003-12-23 | 3 | 2
2004-03-03 | 2004-03-05 | 1 | 2
2004-04-30 | 2004-04-30 | 1 | 1
(3 rows)
Pomysł powstał w naszych głowach, zwarzywszy na fakt, że niektórzy nie wiedza w ogóle o co w tym wszystkim chodzi ( co się tyra)
Miłej nauki
Made by Bednar & Podlas