Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2014, 23:56   #1
al-s
 
Регистрация: 30.03.2014
Сообщений: 4
По умолчанию БД-Продажа билетов (ж\д) ERWIN 7, Firebird 2.5, IBExpert 2008

Задача – информационная поддержка деятельности транспортных касс (выбрать вид транспорта). Система должна осуществлять:
 ведение списка рейсов и билетов на них с указанием класса;
 учёт забронированных мест;
 ведение архива пассажиров за последний месяц.
Необходимо предусмотреть:
 продажу билетов в оба конца;
 поиск места на рейс в соответствии с требованиями заказчика;
 получение списка свободных мест на рейс;
 выдачу информации по конкретному рейсу;
 получение списка проданных мест;
 проверку наличия брони по имени клиента и/или названию организации.

Логическая модель, физическая модель, БД.
Логическую модель я сделал, по физической и дальше имеются вопросы.
Изображения
Тип файла: jpg Захват-1.jpg (43.5 Кб, 119 просмотров)
al-s вне форума Ответить с цитированием
Старый 01.04.2014, 00:00   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Цитата:
по физической и дальше имеются вопросы.
Какие именно?
Streletz вне форума Ответить с цитированием
Старый 01.04.2014, 00:17   #3
al-s
 
Регистрация: 30.03.2014
Сообщений: 4
По умолчанию

V1 делал на лабе, а вот дома не могу сделать V2. Да и в типах данных и размерах не уверен.
Изображения
Тип файла: jpg Захват-2.jpg (90.5 Кб, 113 просмотров)
al-s вне форума Ответить с цитированием
Старый 01.04.2014, 00:46   #4
al-s
 
Регистрация: 30.03.2014
Сообщений: 4
По умолчанию

На сколько я понимаю V1, V2 - это будут таблицы БД.
Изображения
Тип файла: jpg Захват-3.jpg (74.9 Кб, 127 просмотров)

Последний раз редактировалось al-s; 01.04.2014 в 02:25.
al-s вне форума Ответить с цитированием
Старый 01.04.2014, 07:28   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Чего такое V1 и V2?
V2 практически повторяет persons, какой смысл? Потом все равно будете делать нормализацию базы. V1 дублирует Train... Или вы так запросы оформляете?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 01.04.2014, 08:18   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Цитата:
Сообщение от al-s Посмотреть сообщение
Задача – информационная поддержка деятельности транспортных касс (выбрать вид транспорта). Система должна осуществлять:
 ведение списка рейсов и билетов на них с указанием класса;
 учёт забронированных мест;
 ведение архива пассажиров за последний месяц.
Необходимо предусмотреть:
 продажу билетов в оба конца;
 поиск места на рейс в соответствии с требованиями заказчика;
 получение списка свободных мест на рейс;
 выдачу информации по конкретному рейсу;
 получение списка проданных мест;
 проверку наличия брони по имени клиента и/или названию организации.
Это порядка 20 таблиц минимум. И то высокие накладные расходы, на поддержку координации работы между разными станциями (почти во всех таблицах надо будет делать поля вроде "станция с которой производилась операция", "станция на которой будет реализована реальная работа"). Я как бы не понаслышке знаю.
Цитата:
Сообщение от al-s Посмотреть сообщение
Логическую модель я сделал
Если кратко - то Вы неправы.

У вас даже нет банально сущности "билет", хотя вроде как V_2 напоминает его. В V_1 вообще поле кода поезда дважды, вообще для чего она? Почему именование неадекватное?
Не продумана фиксация продажи (бронь не подразумевает оплату сразу, но подразумевает занятие места).
Как выше сказал - ноль действий в сторону "дистанционной продажи" (в "оба конца") - это когда на двух станциях производится одновременное занятие мест (для чего потом используются поля по станциям, описанные выше). Обычно такую работу, включающую передачу данных на другую станцию, выполняет хранимая процедура или джоб на сервере или "сервер приложений" при 3х-звенной архитектуре.
Рейсы также бессмысленны у Вас. Кто их должен создавать ? Человек каждый раз заново ? Нет. Должна быть статичная "маршрутная информация" (почти неизменная) - станции и их связи, "маршруты" состоящие из списка станция-время(несколько разных)-расписание в днях. По ним создаётся динамическая картина - на конкретные дни, эта картина даже может меняться (в отличие от статичной) в смысле возможности вручную корректировать конкретные отправления.
Также нет ничего касательно типов вагонов/мест - всякие вместимость, разбивка по вагону/купе, разные виды комфорта и соответственно, тарифы (об этом говорят слова "с учётом класса", "с учётом требований заказчика").

Лично у нас, если отбросить не относящиеся к постановке задачи сущности, на такую работу порядка 40-50 таблиц и сотни хранимых процедур.

В общем, чисто на мой взгляд, сложновато для лабы, а упрощать если, то какое-то убожество будет.
phomm вне форума Ответить с цитированием
Старый 01.04.2014, 08:21   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Не представляю как будет работать Station_Train согласно связям на картинке.... И вообще составных ключей намешано.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 01.04.2014, 22:21   #8
al-s
 
Регистрация: 30.03.2014
Сообщений: 4
По умолчанию

phomm, вы безусловно правы логическая модель сделана из-за не понимания, как ее на самом деле нужно делать (да и как понять за 4 пары занятий). БД нужна упрощенная, а не как вы описали (как в жизни). Пытаюсь разобраться.
al-s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ продажа билетов Дашунь C/C++ Базы данных 0 26.03.2012 16:08
Начало работы Firebird + Delphi + IBExpert Uuuux БД в Delphi 4 20.07.2010 11:32
IBExpert Firebird и Delphi power61RUS БД в Delphi 15 09.12.2009 08:33
Редактирование с IBQuery. C++, IBExpert+FireBird Striderr Помощь студентам 1 22.11.2009 18:41
ERWin 7.3 и FireBird 1.5 Шульц БД в Delphi 1 13.07.2009 12:38