|
|
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Не могу понять как спроектировать БД : Пусть требуется создать программную систему, предназначенную для администратора гостиницы. Такая система должна обеспечивать хранение сведений о имеющихся в гостинице номерах, о проживающих в гостинице клиентах и о служащих, убирающих в номерах. Пусть количество номеров в гостинице известно, и имеются номера трех типов: одноместный, двухместный и трехместный, отличающиеся стоимостью проживания в сутки. В каждом номере есть телефон. О каждом проживающем должна храниться следующая информация: номер паспорта, фамилия, имя, отчество, город, из которого он прибыл, дата поселения в гостинице, выделенный гостиничный номер. О служащих гостиницы должна храниться информация следующего содержания: фамилия, имя , отчество, где (этаж) и когда (день недели) он убирает. Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи. HELP!!! Помогите спроектировать БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2006, 21:49 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
а в чем проблема-то - бери и проектируй. А если что не так подскажут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2006, 23:30 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Самое главное-не зацикливаться,что номера бывают одно двух и трехместная:бывают ведь и шестиместные.Мало того,в номере кроме телефона бывает и телевизор,т.е. надо задуматься о сущности "Дополнительные вещи в номере".Надо ли учитывать этажи и прочее?Какие отчеты надо?Постановка задачи никакая! P.S. Что значит "пусть требуется создать". ТАки пусть или требуется?Если курсовик-одно дело,если реально-то надо много думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 09:06 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Вот блин - как май начался, так поперло: памагите, ничерта не понимаю, как три сущности поместить в таблицы а потом как эти три таблицы между собой связать, но хочу сдать курсовой и быть программистом!!! Или берите курсовую подходящую, где понимаете, или делайте что-то, чтобы сдать - хоть потемкинскую деревню (большое количество крсовых/дипломов так и делается, и я так делал) - но только сами думайте. ЗЫ Хотя конечно с одной стороны хорошо - нет конкуренции :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 13:30 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Алексей0077HELP!!! Помогите спроектировать БД Никак не отражена тема оплаты труда помогающего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 13:55 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Алексей0077Не могу понять как спроектировать БД : .................... Предложи свои варианты схем - обсудим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 14:01 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
А вот это интересно Алексей0077Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи.+ ежедневно ни один этаж не остается не убранным. Семь полей? Или это уже за пределами модели данны- ну не хватает этих самых служащих? 2 Автор. Ну чему-то же Вас учили, раз дают задания, начните! Ответят, ей-богу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 14:27 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Сделал как мог :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 15:44 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Алексей0077Сделал как мог :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 15:44 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
1) Про имена Множественное число - тогда Nomers и Tasks вместо raspisanie. 2)Проверьте связи Nomers. Используйте нотацию Баркера для словесного описания связей. 3)Процесс найма клиентами номеров разворачивается во времени. Вряд ли без этого модель можно считать реалистичной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 16:41 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
ModelRВряд ли без этого модель можно считать реалистичной. я бы предложил рассматривать номер как ресурс и всю базу строить как ResourceSchedule например не нужно заставлять служащих убирать номера, в которых никто не останавливается - уборка номера это смена белья, замена расходных и прочие расходы, которые ложатся на конкретное заселение номера и нужно создать механизм позволяющий относить условно переменные расходы на конктретную производственную задачу поэтому основной таблицей будет tblOccupations OccupancyID RoomID VisitorID CheckInDate CheckOutDate ChargeRate вообще, по большому буфету, для гостиницы ресурсом является время (Time Is Money) - это расчетные сутки с 12:00:01 PM одного дня до 12:00:01 PM другого дня, они работают как эффективный ресурс если номерной фонд занят (и стоимость пребывания в нем превышает стоимость его обслуживания) и работают в убыток если номерной фонд свободен или находится в ремонте. для учета и планирования использования номерного фонда может быть создана таблица tblRoomsScheduling вида RoomsScheduleID OccupancyID ActualDate (с 12 до 12 - т.е. Time_Shift +12 часов) ChargeRate тогда из таблицы tblOccupations можно выбросить поля CheckInDate, CheckOutDate и ChargeRate - хотя я и оставил бы - в целях нормальной денормализации стоить отдельно такую таблицу в учебной БД, вероятно, не имеет смысла, поскольку данные могут быть представлены в запросе по таблицам tblOccupations и tblRooms, да и вообще так задача не ставится а вот отдельную таблицу для учета обслуживания номеров (регулярного) нужно, причем именно с учетом конкретной расчетной даты что касается приведенной схемы, ИМХО не имеет смысла даже ее обсуждать нет больше времени тут распинаться - пойду-ка лучче пивка глону ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 19:49 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Помогаю, друг. Как Вы знаете, идентификаторы не являются характеристиками объектов, поэтому я их и не показываю среди характеристик в {}. ОБЪЕКТЫ Место{} Номер{} Номер: тип{Наименование, Описание} Этаж{Номер} Предмет бытовой{Код,Наименование,...} ... СВЯЗИ Место---Использует/Используется для---Предмет бытовой (связь 1:1 для указания кровати, используемой на этом "койкоместе", теоретически можно спать и на полу) Место<--Находится в/Имеет---Номер Номер<--Имеет/Используется для---Номер: тип Номер<--Находится на/На котором находится---Этаж (если используются многоэтажные номера, то связь будет М:М, и следует предусмотреть входы в многоэтажный номер) Предмет бытовой<--Находится в/Содержит-->Номер{Количество,...} ... В нормальной объектной системе только триггеры останется написать, и приложение готово. Извините, что не разжевал с персоналом, клиентами, бронированием, поселением, кормлением, утренней побудкой и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 21:16 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Интересно, а чем всетаки вы обоснуете наличие в таблице FLOOR поля FLOOR_ID и FLOOR_NUMBER ? Это случайно не масло масляное? У вас могут быть в таблице строки с разными FLOOR_ID и одним и тем же FLOOR_NUMBER? Я - категорически против такого подхода. Как дополнение - почему номера не могут быть двухэтажными? Почему бы гостинице не состоять из корпусов? Например - Измайловский комплекс. Кстати, если дойдете до предметов (телевизор, холодильник, кровать, кресла...) то у них есть инвентарные номера. Чтобы не париться с изобретением огромной группы таблиц рекомендую описание этих объектов хранить в XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:15 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
gardenmanИнтересно, а чем всетаки вы обоснуете наличие в таблице FLOOR поля FLOOR_ID и FLOOR_NUMBER ? Это случайно не масло масляное? У вас могут быть в таблице строки с разными FLOOR_ID и одним и тем же FLOOR_NUMBER? Я - категорически против такого подхода. Как дополнение - почему номера не могут быть двухэтажными? 1)Кто же мешает создать столько уникальных ограничений, сколько нужно? 2)ИМХО двухэтажный номер с точки зрения эксплуатации все равно приписан к одному этажу. 2Чернышев Андрей Леонидович -- ИМХО имущество достаточно приписать к номеру в целом. Про места достаточно знать их количество. Но тема имущества вообще-то поднята не автором, он говорил только про телефон, видимо не как имущество, а как средство связи с номером. З.Ы. Вы не находите, что рассказывать человеку про ОБД, когда ему нужна помощь по РБД - несколько нетривиальный способ помощи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:29 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
gardenmanЯ - категорически против такого подхода. +1 gardenmanКстати, если дойдете до предметов дошел, пока обошелся тремя... :) в смысле таблицами :) насчет XML можно попробовать - THNX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:38 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
>>1)Кто же мешает создать столько уникальных ограничений, сколько нужно? А смысл? А оно действительно "нужно"?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:40 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
ModelR З.Ы. Вы не находите, что рассказывать человеку про ОБД, когда ему нужна помощь по РБД - несколько нетривиальный способ помощи? с моей, глубоко законспирированной субъективной точки зрения, 1 автору этого треда не нужна помощь по РБД и ему глубоко наплевать на то, что это такое и чем оно отличается от ОБД 2 деление на этажи безусловно ущербно - существуют и могут существовать разные способы деления... предположим, что двухэтажный номер все равно находится на одном этаже и к одному этажу приписан, а если это комбинированный номер который может быть или одно или двух этажным - Transformer? а если гостиница это цепочка бунгало на берегу карибского моря, а если одноэтажный мотель на трассе Москва-Нижний Новгород. нужен иной подход к зонированию и группированию номеров... например позволяющий уборку номеров "Super Lux Queen Elizabeth" поручать только специально обученым людям, на каком бы этаже номер не находился или, например, позволяющий делить делить длинные коридоры на зоны уборки не по этажам, а по лестничным маршам и проч. и проч. и проч. пока я оставил только AreaID с тем чтобы в дальнейшем вернуться к этому вопросу, если не будет лениво... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:58 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
proposed amendment2 деление на этажи безусловно ущербно - существуют и могут существовать разные способы деления...Несомненно могут и конечно меняются со временем. Бассейны появились, а у них своя классификация, режимы замены воды, а бедный проектировщик мучайся - бассейн похож на номер? или новую табличку создать? :) Диллема... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:55 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
ModelRДиллема... в чем заключается - мучайся проектировщик XOR мучайся пользователь? Да, проблема для проектирования есть я просто добавил RoomStatus служебное нормальное износ ремонт в принципе это был подход на скорую руку - лениво париться впустую - так просто посидел поковырялся имхо распределять помещения по назначению можно как раз одновременно с распределением по зонам например создаем и учитываем зоны AreaID {A-zone # 45} AreaType {Shared zone; Private zone; Restricted zone; Cleaning zone; DutyFree zone} AreaCategory {Regular; A-Category; Food Court; Aqua Zone; Solarium etc.} например создаем и учитываем помещения RoomID {# 4567} RoomType {Loundry; Toilet; Restaurant; Residence; Office} RoomCategory {A-Category etc} RoomCondition {Excelent; Normal; ToBeRepainted; ToBeRepaired etc.} раскидываем помещения по разным зонам many-to-many одно помещение может входить одновременно в разные зоны - закрытые зоны, зоны уборки, зоны наблюдения, зоны ответсвенности, зоны ВиАйПи, номерной фонд, этажи, блоки и прочее. например создав ранее зону "номерной фонд" A-zone # 45 SharedPool Regular или зону "входная группа" A-zone # 32 EntranceGroup Luxerior или зону "особого контроля" Y-zone # 01 RestrictedArea Service и помещения типа "комната с санузлом" # 4567 W/C Equiped A-Category Exelent или помещение типа "камера хранения" # 2211 SecuredLuggage ServiceRoom Regular можно было бы засунуть ту или иную комнату в ту или иную зону и присвоить ей ту или иную характеристику... <Some ID> A-zone # 45 # 4567 Одноместный номер с санузлом Отличное состояние "4567" <Some ID> A-zone # 32 # 2211 Помещение для хранения багажа не требует ремонта "Luggage - Камера храния" и одновременно <Some ID> Y-zone # 01 # 2211 Охраняемая территория Под видеонаблюдением "No Entrance - Не входить" etc... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:02 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Не понял, ModelR, почему человеку нужна помощь по РБД ? РБД не годятся для таких задач (как Вы помните, так и не удолось придумать подходящих для РБД и РСУБД задач). И уж совсем непонятно почему плохо в результате проектирования БД получить готовое приложение, а не схему БД (конечно, в полной схеме корпоративной БД для гостиниц около 400 объектов, и "попотеть" немного придется даже в объектной системе)? "Имущество" итак приписано к номеру в целом, а "кровать" определяет "качество" места. "Super Lux Queen Elizabeth" - это тип номера. На здоровье, поручайте его уборку только специально обученным людям, на каком бы этаже номера этого типа не находились. Только сначала этих людей нужно принять на работу, а потом еще и обучить (вот так, вместе с автотранспортным "цехом", ресторанами и медпунктами и т.п., и набегает около 400 объектов). В бунгало тоже есть один этаж, разве это не очевидно ? Ведь этажи в зданиях находятся, а зданий у гостиницы может быть сколько угодно, причем в разных городах разных стран. P.S. И, все-таки, я скорее помешал (опять), чем помог. Соглашаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 23:00 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
MoonRabbit Conceptual Data Model For A Hotel Reservations System Ха, нифига понимаешь, они не умеют отдельные койки в номере продавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:16 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
Чернышев Андрей ЛеонидовичНа здоровье, поручайте его уборку только специально обученным людям, на каком бы этаже номера этого типа не находились. Андрей Леонидович, с Вами невозможно вести обсуждения, вы совершенно игнорируете контекст. ИМХО для решения таких задач вполне подходят РБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:47 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
proposed amendment[quot ModelR]Диллема... в чем заключается - мучайся проектировщик XOR мучайся пользователь? Именно! - proposed amendment например создаем и учитываем зоны AreaID {A-zone # 45} AreaType {Shared zone; Private zone; Restricted zone; Cleaning zone; DutyFree zone} AreaCategory {Regular; A-Category; Food Court; Aqua Zone; Solarium etc.} [] кому мучится с правилами и оганичениями: - из списка {Shared zone; Private zone; Restricted zone} выберите ровно один, - DutyFree не может быть Private, - и проч. и проч. Есть три подхода. Первый утверждает,что БД должна быть защищена от дурака. Нужно в сруктуре БД прописать объекты-таблицы и их характеристики. Второй, что дураков нечего подпускать к системе, а всего не предусмотришь. Создадим словарь дескрипторов и пусть пользователь приписывает к помещению сколько угодно дескриптров. Наконец третий отдает создание словаря всевозможных категорий и признаков в руки администратора системы. В рамках этого топика первый наверно правильней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:55 |
|
||
|
Помогите спроектировать БД
|
|||
|---|---|---|---|
|
#18+
ModelR MoonRabbit Conceptual Data Model For A Hotel Reservations System Ха, нифига понимаешь, они не умеют отдельные койки в номере продавать. Да-да, и дополнительные раскладушки в номера ставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 12:41 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33733049&tid=1545223]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 473ms |

| 0 / 0 |
