Помогите с дизайном базы данных - PullRequest
0 голосов
/ 16 апреля 2011

enter image description here

Может ли кто-нибудь помочь мне здесь.

У меня есть таблицы выставок и билетов, но я не понимаю, как их связать.

Моя основная идея состояла в том, чтобы иметь таблицу, заполненную разными типами билетов, но для определенного шоу потребуется тип билета. Но для показа потребуется информация о билете, чтобы узнать, какой билет выбран для шоу.

В какой таблице должен присутствовать внешний ключ во взаимосвязи?

Спасибо.

Ответы [ 2 ]

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

Я предполагаю, что если у User есть Booking, то им разрешено видеть конкретный Show, если у них есть Ticket.

В этом случае ticketID не требуется в Show, но Booking.

Как уже говорили другие, TicketType может быть столом, который вы хотите. Это может зависеть не только от Show, но и от места проведения. Возможно, вам также понадобится стол для этого, чтобы вы могли выделить количество мест для сидений разного уровня.

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

Похоже, для каждого шоу у вас будет много билетов. Таким образом, внешний ключ будет находиться в таблице заявок (где show.showid будет ссылкой на первичный ключ)

В общем, я думаю, что у вас будет дополнительная таблица с названием tickettypes. Эта таблица будет использоваться для поиска заявок, чтобы описать тип заявки, к которой относится каждая заявка.

Здесь должен быть ваш билет

Ticket
-------
TicketId
TicketTypeID --Foreign Key to TicketType Table
ShowID --Foreign Key to Show Table
.... Any Additional Fields needed

Я также хочу отметить, что вы, похоже, отслеживаете билеты по группам, поэтому необходимо указать поле ticketQuantity. Если вы делаете это, это правда, что каждая группа билетов имеет одинаковую цену и тип. Если это не так, то вам следует изменить модель данных для обработки этого сценария.

Ticket
------
TicketID
TicketTypeID
ShowID
TicketPrice
OrderID -- would be a foreign key reference linking each individual ticket with an order and total price.
...