Sobes.tech
Junior — Middle

Design a database schema for a cinema management system, considering information about halls, sessions, and seating.

sobes.tech AI

Answer from AI

For a cinema management system with halls, screenings, and seating, the following database schema can be proposed:

-- Halls table
CREATE TABLE Halls (
    HallID INT PRIMARY KEY,
    Name VARCHAR(100),
    TotalSeats INT
);

-- Seats table
CREATE TABLE Seats (
    SeatID INT PRIMARY KEY,
    HallID INT,
    RowNumber INT,
    SeatNumber INT,
    FOREIGN KEY (HallID) REFERENCES Halls(HallID)
);

-- Movies table
CREATE TABLE Movies (
    MovieID INT PRIMARY KEY,
    Title VARCHAR(255),
    DurationMinutes INT
);

-- Sessions table
CREATE TABLE Sessions (
    SessionID INT PRIMARY KEY,
    HallID INT,
    MovieID INT,
    StartTime DATETIME,
    FOREIGN KEY (HallID) REFERENCES Halls(HallID),
    FOREIGN KEY (MovieID) REFERENCES Movies(MovieID)
);

-- Bookings table
CREATE TABLE Bookings (
    BookingID INT PRIMARY KEY,
    SessionID INT,
    SeatID INT,
    CustomerName VARCHAR(255),
    BookingTime DATETIME,
    FOREIGN KEY (SessionID) REFERENCES Sessions(SessionID),
    FOREIGN KEY (SeatID) REFERENCES Seats(SeatID)
);

Description:

  • Halls — information about halls.
  • Seats — seats linked to halls, indicating row and seat number.
  • Movies — movies being shown.
  • Sessions — specific movie screenings in a hall at a certain time.
  • Bookings — seat reservations for specific sessions.

This design allows flexible management of halls, sessions, and seats, as well as tracking reservations.