--
-- Oskar Skibski, http://www.mimuw.edu.pl/~oski/bd/
-- 
-- Przykladowy baza danych osob i ich zwierzat
-- 

DROP TABLE IF EXISTS posiadanie;
DROP TABLE IF EXISTS zwierze;
DROP TABLE IF EXISTS osoba;

CREATE TABLE osoba (
  imie VARCHAR(20) PRIMARY KEY,
  nazwisko VARCHAR(30) NOT NULL,
  mama VARCHAR(20) REFERENCES osoba,
  tata VARCHAR(20) REFERENCES osoba
);

CREATE TABLE zwierze (
  idzwierzecia NUMERIC(3) PRIMARY KEY,
  imie VARCHAR(20) NOT NULL,
  gatunek VARCHAR(20) NOT NULL,
  datasmierci DATE
);

CREATE TABLE posiadanie (
  imiewlasciciela VARCHAR(20) NOT NULL REFERENCES osoba,
  idzwierzecia NUMERIC(3) NOT NULL REFERENCES zwierze,
  dataprzygarniecia DATE NOT NULL,
  PRIMARY KEY (imiewlasciciela, idzwierzecia)
);

INSERT INTO osoba
VALUES ('Ewa', 'Pobozna', NULL, NULL),
       ('Adam', 'Pobozny', NULL, NULL),
       ('Grzegorz', 'Markowy', 'Ewa', NULL),
       ('Tomek', 'Kowalski', 'Ewa', 'Adam'),
       ('Agnieszka', 'Nieznana', 'Ewa', NULL),
       ('Marek', 'Nowak', 'Agnieszka', 'Tomek'),
       ('Wojtek', 'Nowak', 'Ewa', 'Grzegorz'),
       ('Ala', 'Makota', 'Agnieszka', NULL),
       ('Julia', 'Cokolwiek', 'Ala', 'Grzegorz');

INSERT INTO zwierze
VALUES (1, 'Mruczek', 'kot', NULL),
       (2, 'Reksio', 'pies', NULL),
       (3, 'Ira', 'pies', '20-JAN-01'),
       (4, 'Bonifacy', 'kot', '10-JUN-01'),
       (5, 'Dumbo', 'slon', '17-OCT-01'),
       (6, 'Chichi', 'pies', '30-MAY-02'),
       (7, 'Miau', 'kot', NULL),
       (8, 'Ogonek', 'zolw', NULL),
       (9, 'Kacper', 'papuga', NULL),
       (10, 'Mruczek', 'kot', NULL),
       (11, 'Ira', 'pies', '16-MAY-01');

INSERT INTO posiadanie
VALUES ('Ala', 1, '10-JAN-01'),
       ('Ala', 5, '05-JAN-01'),
       ('Ala', 8, '01-JAN-01'),
       ('Wojtek', 2, '01-JAN-02'),
       ('Wojtek', 6, '30-MAY-01'),
       ('Wojtek', 11, '01-OCT-02'),
       ('Tomek', 3, '07-JUN-07'),
       ('Tomek', 10, '24-DEC-05'),
       ('Julia', 4, '10-SEP-10');
