Это может работать, но есть комната для улучшения - зависит от того, как вы используете его и как вы хотите, чтобы оптимизировать его:
- Будьте в именовании таблицы соответствует. Вы не должны называть одну таблицу
trainTable
, другую Boogie
и третью Seats
. Либо всегда есть «стол», либо никогда; либо всегда использовать множественное число, либо никогда. Попробуйте trains
, boogies
, seats
.
- Вам не нужно повторять имя таблицы в имени столбца - при обращении к
train.id
это достаточно ясно. Но это для обсуждения, некоторые люди. Но быть последовательным: использовать username
и не только name
- вам нужно дополнительное поле
traintable.trainNoOfBoogies
ли? Вы можете получить эту информацию, просто СЧИТАЙТЕ все буги с помощью данного идентификатора trainID.
- То же самое для сидений: вам нужен
Boogie.boogieNoOfSeats
? Вы можете просто выбрать SELECT COUNT (*) с мест, где boogieID = wantedId`.
- Стол
seats
связан с буги-вугой и поездом? Вы, вероятно, можете просто привязать место к буги. Буги-сам будет связываться с поездом. Если поставить ссылку в более чем один раз, вы рискуете несогласованности (но опять же, вы должны опубликовать спецификации для меня, чтобы увидеть, что вы хотите ...)
Предложение:
trains
(ID,name,from,to,date) PK(ID)
boogies
(ID,trainId,name,) CompositeKey(trainId,boogieId)...
seats
(ID, trainID, boogieID, status, type) CompositeKey(trainId,boogieId,seatId)
users
(ID, name, ... personal details) PK (ID)
userBookings
(ID, userId, trainId, boogieId, seatId) CompositeKey(trainId,boogieId,seatId)
Если вы хотите получить больше советов, напишите немного больше информации: что вы хотите сохранить, что вы хотите с ним делать? Какие примерные запросы программисты будут писать против базы данных?
Спасибо за это ... – alokpatil
, но как я могу реализовать его в MySQL и спящий режим ... Пожалуйста, ответьте мне – alokpatil
Извините alokpatil, я знаком с MySQL, но не спящий режим - вы должны опубликовать новый вопрос с «Как реализовать этот проект базы данных в MySQL и Hibernate» ->, который привлечет опытных пользователей, чтобы помочь вам :) – Konerak