Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 99
от 10.06.2006, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 311, Экспертов: 44
В номере:Вопросов: 1, Ответов: 2


Вопрос № 45305: Доброго времени суток, Уважаемые Эксперты!!!! Есть задача создать базу данных: предметная область: касса автовокзала Объектная информация: Маршрут: № маршрута, время отправления, направление, тип автобуса. Тип автобуса: марк...

Вопрос № 45.305
Доброго времени суток, Уважаемые Эксперты!!!!

Есть задача создать базу данных:
предметная область: касса автовокзала
Объектная информация:
Маршрут: № маршрута, время отправления, направление, тип автобуса.
Тип автобуса: марка, кол-во мест, характеристика (мягкий, жесткий), стоимость полного и детского
билета, регистрационный знак.
Наличие мест: № маршрута, время отправления, продано билетов, кол-во свободных мест.
Касса: № маршрута, время отправления, место, десткий или взрослый билет, сумма.

Так вот сообственно проблема:
если таблицы "маршрут" и "тип автобуса" получается связать легко чз поле тип автобуса,то
таблицы "наличие мест" и "касса" ни как не клеются ни друг с другом ни с "маршрутом"
(реализуется в Access) - не удается установить связи.
Подскажите схему данных.
И вообще хотелось бы сделать запрос, который бы сразу делал запись в "кассе" и корректировал
данные в "Наличии мест".

Заранее спасибо.
Отправлен: 05.06.2006, 20:21
Вопрос задал: Korolyov Alexandr (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Игорь Елизаров
Здравствуйте, Korolyov Alexandr!
мне кажется, что наличие мест надо связывать с автобусом
и кассу тоже с автобусом

и маршрут, тоже с автобусом

то есть получается примерно следующее

таблица маршрута Marchrut
Id идентификатор маршрута
name его описание

таблица автобуса auto
id идентификатор
number номер
voditel водитель
data дата маршрута
id_marsh идентификатор маршрута
kol_mest количество мест
таблица наличия мест Mesto
id идентификатор записи
id_auto идентификатор автобуса
id_marsrut идентификатор маршрута
summa сумма, полученная с пассажира
date дата
check номер кассового чека

Эта табличка автоматически заполняется при назначении автобуса на маршрут, в нее добавляется количество записей, равное количеству мест в автобусе
ну а заполнять ее можно просто через форму, выбираешь маршрут, автобус (или дату) и высвечиваешь список свободных мест и тут же их заолняешь.

то есть в общем-то никаких и запросов-то особых не надо, работаешь с базой через форму.

Мне кажется, так будет наиболее просто.
Если желаете, могу эту идею развить более подробно..

Ответ отправил: Игорь Елизаров (статус: 4-ый класс)
Ответ отправлен: 06.06.2006, 01:02

Отвечает: Кузьма Дмитрий Валерьевич
Здравствуйте, Korolyov Alexandr!
Рациональнее было бы немного переделать уже имеющееся: к маршруту добавить id_marsh, тогда
в МЕСТА вместо №маршрута и время отправления ставишь id_marsh - по нему и связываешь таблицы между собой. При создании нового маршрута добавляешь запрос на создание записи &# 1052;ЕСТА (устанавливаешь автоматическую установку свободных мест по местам).
В КАССУ вместо номера маршрута и времени отправления устанавливаешь id_mesto(это не номер места в автобусе, а строка, в которой хранится инфа о свободных местах - номер места в автобусе хранится в таблице касса). Соответственно, после заполнения записи в кассе автоматически вычитаешь единицу из числа свободных мест.
Это не самый простой (хотя и совсем не сложный) способ, но зато один из самых экономичных по месту на диске.
Ответ отправил: Кузьма Дмитрий Валерьевич (статус: 1-ый класс)
Ответ отправлен: 06.06.2006, 11:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное