Правильно составлена БД? [требует правки]

187
06 мая 2018, 18:01

Постановка задачи. Разработать систему, обеспечивающую ведение базы данных по поездам, расписанию движения поездов, пассажирах и билетах. База данных должна содержать информацию о времени прибытия и отправки поездов, тип поезда, пунктах отправления и прибытия. Для автоматизации процесса выдачи билета необходимо хранить Ф. И.О. и паспортные данные пассажира, а также размер льгот. Кроме того, в билете указывается номер вагона, номер места, место отправления и место прибытия и дата получения билета. Создать интерфейс, удобный для работы, включающий удобные и понятные формы, отчеты. Организовать работу с таблицами, поиск по ним, формирование и печать отчетов.

использовать C# или Java для разработки GUI

Answer 1

Я бы подправил Вашу схему исходя из реалий жизни и полезности все называть своими именами по-максимуму следующим образом: Поезд у Вас, скорее всего, не поезд, а рейс (или поездка). У рейса есть дата, кроме времени. Билет у пассажира именно на конкретную дату. Рейс связан с физическим поездом, бригадой и т.п. (на перспективу). Избегайте экономии на разнообразии объектов. Легче позже избавиться от лишних путем объединения, чем добавлять и разделять в процессе написания кода. Расписание - тоже связано с поездкой. Если речь идет не только о планировании, а о реальном режиме времени, то и у пассижира, и у рейса, и у тем более поезда, есть текущие статусы (состояния) и их история. Сел пассажир или опоздал, подан поезд на посадку или еще нет, и так далее. Билет связан с местом. Но билет, исходя из схемы, еще может быть не продан, т.е. не существовать, не иметь кода пассажира и т.п.- Места можно классифицировать, начиная с классификации вагонов (купе, плацкарт, бронепоезд...). Соответственно, места - боковое, верхнее и т.п. Плюс может оказаться для сортировки полезными, например, флаги "рядом с туалетом". Для конкретных мест в "физических" вагонах могут быть быть актуальными пометки типа "поломано".

В общем, фантазия вам в помощь.

READ ALSO
Ожидание получения данных TCP(ObooltNet library)

Ожидание получения данных TCP(ObooltNet library)

Приветствую уважаемые гуру перегруженного стекаУ меня такой вопрос: Есть класс-обертка построенный на Tcp библиотеке ObooltNet Вот собственно...

150
Перемещение элементов формы

Перемещение элементов формы

Вопрос из серии "помогите загуглить"

205
Как открыть новое окно, чтобы старое осталось активным? C# forms

Как открыть новое окно, чтобы старое осталось активным? C# forms

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

185
Помогите с кодом

Помогите с кодом

Я написал обычный калькулятор, работающий в консолиЯ хочу сделать так, чтобы, например, при записи в консоль слова "Калькулятор" заработал...

173