| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Помогите разобраться со структурой базы банных!!! |
| Автор: webx 22.7.2006, 17:05 |
| Привет всем!!! Запутался со структурой базы данных и связями, решил попросить помощи у профи, для кого это как семячки, т.е. к ВАМ! Нужно зделать бд. Есть исходные данные и данные , которые поступают постепенно (Заявки). Исходные данные таковы: 1) Есть информация о отелях: а) названия отелей, б) города где они находятся, в) типы номеров, какие бывают в етом отеле (в разных отелях они разные), г) в различные периоды - различные цены и скидки на каждый тип камнаты, для каждого отеля кол-во периодов, даты начала и окончания периодов свои. Скидки представленны в виде бесплатных ночей в этих номерах... (пример: если человек живет в гостинеце "Паттая Парк Отель" с 07.01.07 по 15.01.07 получается 7 ночей, а платит за 5 ночей, т.к. попадает в период скидки , который начинается 01.01.07 и заканчивается 17.03.07) д) в некоторых отелях празнуются различные праздники (Новый год, Китайский новый год, Старый новый год, рождество и т.д.) Если человек живет в отеле и на период его проживания выпадает како-то праздник, то он обязан доплатить на праздничный банкет . (Например Семья Пупкиных живет в отеле с 28.12.06 по 25.01.07 , а в этом отеле 31.12.06 Новогодний Ужин, а 14.01.07 Старый Новый ГОД, то Пупкины должны при бронировании этого отеля помимо Оплаты за номер заплатить за ужины 31.12 и 14.01 по 50$ + 35$ с каждого взрослого и 25$ + 20$ c ребенка соответственно) 2) Есть информация о стоимости транспортных услуг: а) направления (откуда и куда), (не толко города и Названия отелей, но и в какой аэропорт) б) стоимость услуг на каждом направлении, с разными тарифами, (Тарифы зависят от того, какой тип транспортных услуг выблал клиент , кол-ва человек и нужно сопроваждение гида или нет.) в)тип транспортных услуг (груповой, индивидуальный, ВИП) Группавой это трансфер на автобусе, индивидуальный на машине с водителем, ВИП на рупер тачке) 3) Есть информация о компаниях партнерах: а)Название компании, б)из кокого города, г)кто ее шеф, д)какой процент скидки она имеет. 4) Есть инфа о авиокассах: а) Название, б) цена авиобилета, в) контактная информация, г) Номер рейса, д) название аэропортов вылета и посадки, е) даты и время вылета и прилета. -------------------------------------------------------------------------------- Данные, получаемые: 1) Приходят данные заявки: а) от какой компании партнера, б) сколько человек, (Сколько Взрослых и детей) в) Фамилии людей, г) дата их прилета, д) номер рейса самолета, на котором они прилетают. е) в какой город их надо отвезти и по каким тарифам, ж) в каком отеле они будут жить, в каком типе номера, (возможно, что они 3-и дня живут в одной гостинице, а затем едут в другую и т.д.), з) возможно, что они должны перемещаться из города в город на самолетах местных авиакомпаний. В этом случае, им покупается авиабилет в авиокассе. и) дата вылета, к) номер рейса. Мне надо, чтобы я мог : 1)выбиряя заявку, видеть всю инфу а) Какая компания партнер их отправила, б) Инву о Фамилиях и поле (Я планирую это в дополнительной таблице типа Мастер-Детаилз), в) когда приезжают, г) в какой аэропорт, д) где и сколько живут, е) куда и когда их надо перевезти, ж) когда уезжают из страны. з) Номер их рейса. и) сколько они дожны оплатить за все услуги (Встреча, переезд из аэропорта в гостиницу(включая выбранный тип сервиса), стоимость номера в гостинице с учетом в какой период они папали, какой тип номера, есть ли праздники, скидки, плюс стоимость авиобилетов на местные авиалинии(если они куда-то летали)) Информация должна быть представленна как в развернутом виде(сколько за встречу, сколько за отель, сколько за авиобитет и т.д.), так и суммарная.... 2)смотреть информацию, когда и какие рейсы прилетают и выбрав рейс , увидеть: а) номера заявок, Б) сколько человек, г) их фамилии относительно каждой заявки, д) какой вид транспортных услуг они заказали, е) куда их везти (в какую гостиницу) ж) и дополнительно видеть кагда и куда их надо перевезти потом (Возможно в качестве примечания) 3) видеть инфу, когда и людей из какой комнаты надо перевезти в другой отель или отвезти в аэропорт, чтобы они полетели в другой город... 4) когда и каким рейсом они улетают, из какой гостиницы , какая комната, Фамилии людей, номер заявки, какая компания партнер их прислала, какой вид транспотрных услуг и в какой аэропорт везти... 5) Сколько должна заплатить компания партнер за данную заявку с учетом скидки (по поваду 7 ночей, а оплата за 5) , с учетом праздников, периодов в отелях и проценту скидки для этой комнании. Это самое основное Вот ссылка на картинку с базой, которую я нарисовал! http://zip.bountytour.com/vik.png Посоветуйте , что мне изменить в структуре, чтобы мои SQL запросы были не сильно замароченные ??? Дополнение: Таблицы изображенные на рисунке. Flights - таблица Международных аваорейсов; Partners - Таблица компаний партнеров; Requests - Таблица заявок; Invois - Таблица Счетов; Persons - Таблица с данными клиентов; Request_Details - дополнительная инфа по заявкам; Numbers - номера отелей; Numbers_types - типы номеров (Люкс, полу уюкс, стандартный и т.д.); Hotels - таблица отелей; Seasons - Таблица сезонов (в разные сезоны, разные цены) Hotel_prices - тут надеюсь понятно все.... Prazdniki - Таблица праздников; City - Таблица Городов; Aeroports - Таблица аэропортов; Routes - таблица связей (С ее помащью я попытался связать все трансферы и местные авиоперелеты) Transport - Тип транспорта; Transport_Prices - Данные по транспорту; Service_types - Виды транспортных услуг (группавой трансфер, индивидуальный, ВИП) Aviokassi - Таблица авиокасс на местрые перелеты (Внутри страны) ПОМОГИТЕ ПЛИЗ!!! Зарание благодарен ! |
| Автор: Gold Dragon 22.7.2006, 17:36 |
| webx, вопрос то в чём? Ты уж извини, но это похоже не полноценное техническое задание, а не на вопрос Боюсь ни у кого не будет столько времени... |
| Автор: igorold 24.7.2006, 06:41 |
| .... да, это не вопрос и не семЯчки ... это действительно ТЗ ... |
| Автор: Ignat 24.7.2006, 09:10 | ||
А где у Вас замороченный запрос? |
| Автор: Akella 24.7.2006, 09:38 |
| ты хочешь чтобы за тебя базу спроектировали? а если вопрос именно в SQL-запросах и их "облегчении", то я в MySQL не соображаю |
| Автор: webx 24.7.2006, 10:34 |
| Ну мне же надо как-то проверить правильность того, что я зделал.... Помогите плиз За мной не заржавеет |
| Автор: Ignat 24.7.2006, 11:23 |
Если такой подход, то тема будет перемещена в раздел "Работа". В противном случае, пожалуйста, скажите какие именно места у вас вызывают сомнения и почему. |
| Автор: webx 25.7.2006, 14:45 |
| У меня основная заморочка со связями ниже следующих таблиц!!! 1) City - Таблица Городов; 2) Aeroports - Таблица аэропортов; 3) Routes - таблица связей (С ее помащью я попытался связать все трансферы и местные авиоперелеты) 4) Transport - Тип транспорта; 5) Transport_Prices - Данные по транспорту; 6) Service_types - Виды транспортных услуг (группавой трансфер, индивидуальный, ВИП) 7) Aviokassi - Таблица авиокасс на местрые перелеты (Внутри страны) Как можно переделать связи, чтобы SQL запросом я мог получить данные: когда, каким транспортом и людей из какого отеля надо перевезти в другой отель или отвезти в аэропорт, чтобы они полетели в другой город... ???? |
| Автор: Ignat 25.7.2006, 15:24 |
| webx, боюсь, что вы пытаетесь решить задачу выбора оптимального маршрута не совсем оптимальными средствами |