ник: rulez22
Проектируем систему бронирования отелей, а точнее структуру базы пока.
Прилагаю скрин структуры к которой пока что пришли и сам файл (по скрину не все связи видны - некоторые с удалением подчиненных, некоторые без)
И так что требуется - сами отели с описаниями, клиенты, продажи, поставщики, платежи, агенты, факт продажи есть основная связуящая . В продаже может быть
один/несколько разных клиентов (берутся из отдельной таблицы),
у каждой продажи может быть один/несколько поставщиков,
в каждой продаже может быть несколько услуг (не всегда соответствует количеству поставщиков)
У каждой продажи есть свой номер (чтото типа номера фактуры, нечто типа AB8034)
Агенты (справочник таблица agents) используются как клиенты, т.е. когда продаем за комиссию, но она просто вынесена отдельно т.к. специфика работы с агентами немного иная и информация отличается от информации клиентов.
Отели привязаны к городам, города к странам, цены разнесли по годам, так будет проще работать?, просто заводить новую таблицу каждый год. Каждый отель имеет тип комнат (обычно 3-5, но у разных отелей они могут быть и 10ти типов и называться по разному), у каждого типа комнаты на данную дату есть своя цена.
Формирование продажи идет по принципу "нет услуги - нет продажи", "нет заданной комнаты в заданную дату в данном отеле" - нет продажи", нет "поставщика - нет услуги".
Задачи - избежать скопление мусора в базе изза неверных связей и минимизировать повторяющиеся данные, сделать систему бронирования максимально гибкой.
Какие мнения есть на этот счет и правильно ли сделана структура? Спасибо.
Здесь скрин структуры - http://i529.photobucket.com/albums/dd331/iamxxii/ver2.gif