create table kluby(
  nazwa varchar2(50) unique not null,
  id number(3) primary key,
  ranking number(5) unique not null
);

create table bokserzy(
  id number(5) primary key,
  nazwisko varchar2(20) not null,
  waga number(3) not null check (waga > 0 and waga < 500),
  wzrost number(3) not null check (wzrost > 0 and wzrost < 500),
  klub number(5) references kluby
);

create table kat_wagowe(
  id number(5) primary key,
  min number(3) not null check (min > 0 and min < 500),
  max number(3) not null check (max > 0 and max < 500),
  nazwa varchar2(20) unique not null,
  check (min < max)
);

create table walki(
  bokser1 number(5) not null references bokserzy,
  bokser2 number(5) not null references bokserzy,
  zwyciezca number(1) not null check(zwyciezca in (0,1,2)), --0 remis
  kat_wag number(5) not null references kat_wagowe,
  data date not null,
  check (bokser1 <> bokser2)
);
