DROP TABLE IF EXISTS Zabiegi;
DROP TABLE IF EXISTS Lekarze;
DROP TABLE IF EXISTS Pacjenci;

CREATE TABLE Lekarze (
  numer INTEGER PRIMARY KEY,
  nazwisko VARCHAR(20) NOT NULL,
  imie VARCHAR(15) NOT NULL,
  miasto VARCHAR(20));

CREATE TABLE Pacjenci (
  pesel CHAR(11) PRIMARY KEY,
  nazwisko VARCHAR(20) NOT NULL,
  imie VARCHAR(15) NOT NULL,
  limit1 NUMERIC(8) NOT NULL);

CREATE TABLE Zabiegi (
  pacjent CHAR(11) REFERENCES Pacjenci,
  lekarz INTEGER REFERENCES Lekarze,
  data DATE,
  krytyczny CHAR(3) NOT NULL CHECK (krytyczny IN ('tak', 'nie')),
  koszt NUMERIC(8) NOT NULL,
  PRIMARY KEY (pacjent, lekarz, data));

INSERT INTO Lekarze VALUES (1, 'l1', 'l1', 'm1');
INSERT INTO Lekarze VALUES (2, 'l2', 'l2', 'm1');
INSERT INTO Lekarze VALUES (3, 'l3', 'l3', 'm2');
INSERT INTO Lekarze VALUES (4, 'l4', 'l4', 'm2');
INSERT INTO Lekarze VALUES (5, 'l5', 'l5', 'm3');
INSERT INTO Lekarze VALUES (6, 'l6', 'l6', 'm3');
INSERT INTO Lekarze VALUES (7, 'l7', 'l7', 'm4');

INSERT INTO Pacjenci VALUES ('1', 'p1', 'p1', 100);
INSERT INTO Pacjenci VALUES ('2', 'p2', 'p2', 100);
INSERT INTO Pacjenci VALUES ('3', 'p3', 'p3', 100);
INSERT INTO Pacjenci VALUES ('4', 'p4', 'p4', 200);
INSERT INTO Pacjenci VALUES ('5', 'p5', 'p5', 100);
INSERT INTO Pacjenci VALUES ('6', 'p6', 'p6', 200);
INSERT INTO Pacjenci VALUES ('7', 'p7', 'p7', 100);
INSERT INTO Pacjenci VALUES ('8', 'p8', 'p8', 100);

INSERT INTO Zabiegi VALUES ('1', 1, '2022-03-03', 'nie', 40),
                           ('2', 2, '2022-03-04', 'nie', 30),
                           ('2', 2, '2022-03-06', 'nie', 120),
                           ('3', 1, '2022-03-04', 'tak', 40),
                           ('4', 3, '2022-03-04', 'nie', 30),
                           ('1', 4, '2022-03-04', 'nie', 40),
                           ('5', 1, '2022-03-07', 'tak', 30),
                           ('1', 2, '2022-03-08', 'tak', 40),
                           ('2', 5, '2022-03-07', 'nie', 30);
      
