powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать БД
25 сообщений из 29, страница 1 из 2
Помогите спроектировать БД
    #33731079
Алексей0077
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу понять как спроектировать БД :
Пусть требуется создать программную систему, предназначенную для администратора гостиницы. Такая система должна обеспечивать хранение сведений о имеющихся в гостинице номерах, о проживающих в гостинице клиентах и о служащих, убирающих в номерах. Пусть количество номеров в гостинице известно, и имеются номера трех типов: одноместный, двухместный и трехместный, отличающиеся стоимостью проживания в сутки. В каждом номере есть телефон. О каждом проживающем должна храниться следующая информация: номер паспорта, фамилия, имя, отчество, город, из которого он прибыл, дата поселения в гостинице, выделенный гостиничный номер. О служащих гостиницы должна храниться информация следующего содержания: фамилия, имя , отчество, где (этаж) и когда (день недели) он убирает. Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи.
HELP!!!
Помогите спроектировать БД
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33731156
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в чем проблема-то - бери и проектируй. А если что не так подскажут
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33731552
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное-не зацикливаться,что номера бывают одно двух и трехместная:бывают ведь и шестиместные.Мало того,в номере кроме телефона бывает и телевизор,т.е. надо задуматься о сущности "Дополнительные вещи в номере".Надо ли учитывать этажи и прочее?Какие отчеты надо?Постановка задачи никакая!

P.S. Что значит "пусть требуется создать". ТАки пусть или требуется?Если курсовик-одно дело,если реально-то надо много думать.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33732497
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот блин - как май начался, так поперло:
памагите, ничерта не понимаю, как три сущности поместить в таблицы а потом как эти три таблицы между собой связать, но хочу сдать курсовой и быть программистом!!!
Или берите курсовую подходящую, где понимаете, или делайте что-то, чтобы сдать - хоть потемкинскую деревню (большое количество крсовых/дипломов так и делается, и я так делал) - но только сами думайте.

ЗЫ Хотя конечно с одной стороны хорошо - нет конкуренции :)

-- Tygra's --
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33732576
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей0077HELP!!!
Помогите спроектировать БД
Никак не отражена тема оплаты труда помогающего.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33732593
ненн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей0077Не могу понять как спроектировать БД :
....................

Предложи свои варианты схем - обсудим.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33732685
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это интересно Алексей0077Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи.+ ежедневно ни один этаж не остается не убранным. Семь полей? Или это уже за пределами модели данны- ну не хватает этих самых служащих?

2 Автор.
Ну чему-то же Вас учили, раз дают задания, начните!
Ответят, ей-богу.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33733049
Алексей0077
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал как мог :(
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33733051
Алексей0077
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей0077Сделал как мог :(
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33733239
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Про имена Множественное число - тогда Nomers и Tasks вместо raspisanie.
2)Проверьте связи Nomers. Используйте нотацию Баркера для словесного описания связей.
3)Процесс найма клиентами номеров разворачивается во времени. Вряд ли без этого модель можно считать реалистичной.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33733890
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, да и вообще так задача не ставится

а вот отдельную таблицу для учета обслуживания номеров (регулярного) нужно, причем именно с учетом конкретной расчетной даты

что касается приведенной схемы, ИМХО не имеет смысла даже ее обсуждать
нет больше времени тут распинаться - пойду-ка лучче пивка глону
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734015
Помогаю, друг.
Как Вы знаете, идентификаторы не являются характеристиками объектов, поэтому я их и не показываю среди характеристик в {}.

ОБЪЕКТЫ

Место{}
Номер{}
Номер: тип{Наименование, Описание}
Этаж{Номер}
Предмет бытовой{Код,Наименование,...}
...

СВЯЗИ

Место---Использует/Используется для---Предмет бытовой (связь 1:1 для указания кровати, используемой на этом "койкоместе", теоретически можно спать и на полу)
Место<--Находится в/Имеет---Номер
Номер<--Имеет/Используется для---Номер: тип
Номер<--Находится на/На котором находится---Этаж (если используются многоэтажные номера, то связь будет М:М, и следует предусмотреть входы в многоэтажный номер)
Предмет бытовой<--Находится в/Содержит-->Номер{Количество,...}
...

В нормальной объектной системе только триггеры останется написать, и приложение готово.
Извините, что не разжевал с персоналом, клиентами, бронированием, поселением, кормлением, утренней побудкой и т.п.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734600
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, а чем всетаки вы обоснуете наличие в таблице FLOOR поля FLOOR_ID и FLOOR_NUMBER ? Это случайно не масло масляное? У вас могут быть в таблице строки с разными FLOOR_ID и одним и тем же FLOOR_NUMBER?

Я - категорически против такого подхода.

Как дополнение - почему номера не могут быть двухэтажными?
Почему бы гостинице не состоять из корпусов? Например - Измайловский комплекс.

Кстати, если дойдете до предметов (телевизор, холодильник, кровать, кресла...) то у них есть инвентарные номера. Чтобы не париться с изобретением огромной группы таблиц рекомендую описание этих объектов хранить в XML.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734660
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanИнтересно, а чем всетаки вы обоснуете наличие в таблице FLOOR поля FLOOR_ID и FLOOR_NUMBER ? Это случайно не масло масляное? У вас могут быть в таблице строки с разными FLOOR_ID и одним и тем же FLOOR_NUMBER?

Я - категорически против такого подхода.

Как дополнение - почему номера не могут быть двухэтажными?

1)Кто же мешает создать столько уникальных ограничений, сколько нужно?
2)ИМХО двухэтажный номер с точки зрения эксплуатации все равно приписан к одному этажу.

2Чернышев Андрей Леонидович
--
ИМХО имущество достаточно приписать к номеру в целом. Про места достаточно знать их количество. Но тема имущества вообще-то поднята не автором, он говорил только про телефон, видимо не как имущество, а как средство связи с номером.

З.Ы. Вы не находите, что рассказывать человеку про ОБД, когда ему нужна помощь по РБД - несколько нетривиальный способ помощи?
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734680
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanЯ - категорически против такого подхода.

+1

gardenmanКстати, если дойдете до предметов

дошел, пока обошелся тремя... :)

в смысле таблицами :)

насчет XML можно попробовать - THNX
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734690
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>1)Кто же мешает создать столько уникальных ограничений, сколько нужно?
А смысл?
А оно действительно "нужно"?...
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734756
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
З.Ы. Вы не находите, что рассказывать человеку про ОБД, когда ему нужна помощь по РБД - несколько нетривиальный способ помощи?

с моей, глубоко законспирированной субъективной точки зрения,

1 автору этого треда не нужна помощь по РБД и ему глубоко наплевать на то, что это такое и чем оно отличается от ОБД

2 деление на этажи безусловно ущербно - существуют и могут существовать разные способы деления...

предположим, что двухэтажный номер все равно находится на одном этаже и к одному этажу приписан, а если это комбинированный номер который может быть или одно или двух этажным - Transformer?

а если гостиница это цепочка бунгало на берегу карибского моря, а если одноэтажный мотель на трассе Москва-Нижний Новгород.

нужен иной подход к зонированию и группированию номеров...

например позволяющий уборку номеров "Super Lux Queen Elizabeth" поручать только специально обученым людям, на каком бы этаже номер не находился

или, например, позволяющий делить делить длинные коридоры на зоны уборки не по этажам, а по лестничным маршам

и проч. и проч. и проч.

пока я оставил только AreaID с тем чтобы в дальнейшем вернуться к этому вопросу, если не будет лениво...
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33734994
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proposed amendment2 деление на этажи безусловно ущербно - существуют и могут существовать разные способы деления...Несомненно могут и конечно меняются со временем. Бассейны появились, а у них своя классификация, режимы замены воды, а бедный проектировщик мучайся - бассейн похож на номер? или новую табличку создать? :)
Диллема...
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33735261
MoonRabbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33735323
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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...
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33737106
Не понял, ModelR, почему человеку нужна помощь по РБД ? РБД не годятся для таких задач (как Вы помните, так и не удолось придумать подходящих для РБД и РСУБД задач). И уж совсем непонятно почему плохо в результате проектирования БД получить готовое приложение, а не схему БД (конечно, в полной схеме корпоративной БД для гостиниц около 400 объектов, и "попотеть" немного придется даже в объектной системе)?
"Имущество" итак приписано к номеру в целом, а "кровать" определяет "качество" места.

"Super Lux Queen Elizabeth" - это тип номера. На здоровье, поручайте его уборку только специально обученным людям, на каком бы этаже номера этого типа не находились. Только сначала этих людей нужно принять на работу, а потом еще и обучить (вот так, вместе с автотранспортным "цехом", ресторанами и медпунктами и т.п., и набегает около 400 объектов). В бунгало тоже есть один этаж, разве это не очевидно ? Ведь этажи в зданиях находятся, а зданий у гостиницы может быть сколько угодно, причем в разных городах разных стран.

P.S. И, все-таки, я скорее помешал (опять), чем помог. Соглашаюсь.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33737654
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoonRabbit Conceptual Data Model For A Hotel Reservations System Ха, нифига понимаешь, они не умеют отдельные койки в номере продавать.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33737778
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичНа здоровье, поручайте его уборку только специально обученным людям, на каком бы этаже номера этого типа не находились.

Андрей Леонидович, с Вами невозможно вести обсуждения, вы совершенно игнорируете контекст.

ИМХО для решения таких задач вполне подходят РБД
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33737813
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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,
- и проч. и проч.

Есть три подхода. Первый утверждает,что БД должна быть защищена от дурака. Нужно в сруктуре БД прописать объекты-таблицы и их характеристики.
Второй, что дураков нечего подпускать к системе, а всего не предусмотришь. Создадим словарь дескрипторов и пусть пользователь приписывает к помещению сколько угодно дескриптров.
Наконец третий отдает создание словаря всевозможных категорий и признаков в руки администратора системы.

В рамках этого топика первый наверно правильней.
...
Рейтинг: 0 / 0
Помогите спроектировать БД
    #33738274
MoonRabbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR MoonRabbit Conceptual Data Model For A Hotel Reservations System Ха, нифига понимаешь, они не умеют отдельные койки в номере продавать.

Да-да, и дополнительные раскладушки в номера ставить
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]