Хранение театральных мест в БД - PullRequest
0 голосов
/ 07 апреля 2011

Я не был уверен, как правильно хранить места в системе бронирования. До сих пор я думал, что мне понадобятся эти таблицы. Также я собирался сделать это как веб-страницу.

  • Показать
    • Id
    • Theather_Id
    • Имя
    • AgeRating
  • Theather
    • Id
    • Имя
  • SHOW_TIME
    • Id
    • Show_Id
    • Время
  • Show_Day
    • show_time_id
    • день
  • Seat_Category
    • Id
    • Имя
  • Seat_Status
    • Id
    • Имя
  • Бронирование
    • ID
    • 1062 * Ровно *
    • seatno
    • имя пользователя (обнуляемый)
    • seatstatus_id
    • show_timeid
    • Дата
  • Пользователи
  • Членство
  • Show_Seat_Price
    • show_id
    • seat_category_id
    • START_ROW
    • start_no
    • END_ROW
    • end_seat
    • цена

Моя самая большая проблема заключается в том, как сохранить массив сидений в БД, также я хочу сделать классификацию сидений, такую ​​как бронза, серебро, золото, для каждой определенной секции будет назначена цена.

Пустой макет:

ПЕРЕДНЯЯ
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
1 1 1 1 1 1 1
НАЗАД

Но так как мне требуются категории золота, серебра и бронзы, это еще больше усложняет дело

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Вы должны хранить каждое возможное место как отдельную запись в базе данных, массивы на самом деле не являются стандартной практикой для хранения в БД;они должны сломать нормальную форму или две, но я не помню, какая из них;)

Каждый сайт будет иметь число, столбец и т. д. и уникальный идентификатор.Таким образом, вы можете получить историю для каждого места, хранить дополнительные свойства для каждого места и т. Д. Намного лучше!Если место разбито, вы можете отключить его с помощью флага и т. Д. - если только инвалиды подходят только для определенных мест (например, возле прохода), вы также можете пометить его как таковое и запросить количество «доступных» мест.оставил.На самом деле, определенно намного лучше:)

Для заполнения вам нужно написать утилиту хранимой процедуры / инициализации.

0 голосов
/ 07 апреля 2011

Поскольку у вас уже есть числовой массив сидений, как насчет того, чтобы настроить этот массив так, чтобы он выглядел следующим образом?

FRONT
0 0 3 3 3 0 0
0 3 3 3 3 3 0
1 2 2 2 2 2 1
1 1 1 1 1 1 1
BACK

... где 1, 2 и 3 представляют бронзу, серебро и золото.(Я использовал тот же пример, что и вы, и предположил, какие места будут в какой категории)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...