Встречается на собеседованиях • сегодня

Спроектируй БД кинотеатра с залами, событиями и сиденьями

Схема БД кинотеатра

Основные сущности:

  1. CinemaHall (Зал) - id, name, rows, seats_per_row
  2. Seat (Место) - id, hall_id, row_number, seat_number, type (обычное/VIP)
  3. Movie (Фильм) - id, title, duration, rating, description
  4. Screening (Сеанс) - id, movie_id, hall_id, start_time, price
  5. Ticket (Билет) - id, screening_id, seat_id, status (забронирован/куплен), user_id
sql
CREATE TABLE CinemaHall (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    rows INT,
    seats_per_row INT
);

CREATE TABLE Seat (
    id INT PRIMARY KEY,
    hall_id INT REFERENCES CinemaHall(id),
    row_number INT,
    seat_number INT,
    type VARCHAR(20)
);

CREATE TABLE Movie (
    id INT PRIMARY KEY,
    title VARCHAR(255),
    duration INT, -- в минутах
    rating VARCHAR(10),
    description TEXT
);

CREATE TABLE Screening (
    id INT PRIMARY KEY,
    movie_id INT REFERENCES Movie(id),
    hall_id INT REFERENCES CinemaHall(id),
    start_time TIMESTAMP,
    price DECIMAL(10,2)
);

CREATE TABLE Ticket (
    id INT PRIMARY KEY,
    screening_id INT REFERENCES Screening(id),
    seat_id INT REFERENCES Seat(id),
    status VARCHAR(20),
    user_id INT
);

Индексы рекомендуется добавить на часто используемые поля для поиска (start_time, hall_id, movie_id).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы