create table auditoriums (
  room varchar(64) not null
    check (length(room) >= 1),
  theatre_id integer not null
    references theatres(id),
  seats_available integer not null,
  primary key (room, theatre_id)
);

create sequence movie_showtimes_id_seq;
create table movie_showtimes (
  id integer not null
    default nextval('movie_showtimes_id_seq')
  movie_id integer not null
    references movies(id),
  theatre_id integer not null
    references theatres(id),
  room varchar(64) not null,
  primary key (id),
  foreign key (theatre_id, room)
    references auditoriums(theatre_id, room) initially deferred
);

