drop table klient cascade;
drop table konto cascade;
drop table przelew cascade;

CREATE TABLE Klient (
  id INTEGER PRIMARY KEY,
  imie VARCHAR(30) NOT NULL,
  nazwisko VARCHAR(40) NOT NULL
);

CREATE TABLE Konto (
  numer INTEGER PRIMARY KEY,
  idklienta INTEGER NOT NULL REFERENCES Klient,
  saldo INTEGER NOT NULL DEFAULT 0
);

CREATE TABLE Przelew (
  nadawca INTEGER NOT NULL REFERENCES Konto,
  odbiorca INTEGER NOT NULL REFERENCES Konto
           CHECK (nadawca != odbiorca),
  kwota INTEGER NOT NULL CHECK (kwota > 0),
  data DATE NOT NULL,
  PRIMARY KEY (nadawca, odbiorca, data)
);

insert into Klient values (1, 'a', 'A');
insert into Klient values (2, 'b', 'B');
insert into Klient values (3, 'c', 'C');

insert into Konto values (1, 1, 15);
insert into Konto values (2, 1, 15);
insert into Konto values (3, 2, 25);
insert into Konto values (4, 2, 25);
insert into Konto values (5, 1, 35);
insert into Konto values (6, 1, 20);
insert into Konto values (7, 2, 45);
insert into Konto values (8, 2, 25);

insert into Przelew values (2, 1, 9950, '2021-01-01');
insert into Przelew values (3, 1, 15, '2021-01-02');
insert into Przelew values (4, 1, 15, '2021-01-03');
insert into Przelew values (5, 1, 15, '2021-01-04');
insert into Przelew values (6, 1, 15, '2021-01-05');
insert into Przelew values (7, 1, 15, '2021-01-06');
insert into Przelew values (8, 1, 15, '2021-01-06');
insert into Przelew values (4, 2, 3000, '2021-01-01');
insert into Przelew values (4, 2, 5000, '2021-01-02');
insert into Przelew values (4, 2, 3000, '2021-01-03');
insert into Przelew values (4, 2, 20, '2021-01-05');
insert into Przelew values (4, 2, 20, '2021-01-06');
insert into Przelew values (4, 2, 20, '2021-01-07');
insert into Przelew values (2, 3, 15, '2021-01-01');
insert into Przelew values (2, 1, 15, '2021-01-01');
insert into Przelew values (3, 4, 11000, '2021-01-01');
