Санкт-Петербургский Государственный Электротехнический
Университет «ЛЭТИ»
Кафедра МОЭВМ
Курсовая работа по бд
О Т Ч Е Т
Факультет КТИ
группа 3341
студент Марьяскин Е.
Санкт-Петербург
2006 г.
Постановка задачи.
Исходная постановка задачи.
Пусть требуется создать программную систему, предназначенную для администратора гостиницы. Такая система должна обеспечивать хранение сведений об имеющихся в гостинице номерах, о проживающих в гостинице клиентах и о служащих, убирающих в номерах. Пусть количество номеров в гостинице известно, и имеются номера трех типов: одноместный, двухместный и трехместный, отличающиеся стоимостью проживания в сутки. В каждом номере есть телефон. О каждом проживающем должна храниться следующая информация: номер паспорта, фамилия, имя, отчество, город, из которого он прибыл, дата поселения в гостинице, выделенный гостиничный номер. О служащих гостиницы должна храниться информация следующего содержания: фамилия, имя, отчество, где (этаж) и когда (день недели) он убирает. Служащий гостиницы убирает все номера на одном этаже в определенные дни недели, при этом в разные дни он может убирать разные этажи.
Работа с системой предполагает получение следующей информации:
о клиентах, проживающих в заданном номере,
о клиентах, прибывших из заданного города,
о том, кто из служащих убирал номер указанного клиента в заданный день недели,
есть ли в гостинице свободные места и свободные номера и, если есть, то сколько.
Администратор должен иметь возможность выполнить следующие операции:
принять на работу или уволить служащего гостиницы.
изменить расписание работы служащего.
поселить или выселить клиента.
Необходимо предусмотреть также возможность автоматической выдачи клиенту счета за проживание в гостинице и получения отчета о работе гостиницы за указанный квартал текущего года. Такой отчет должен содержать следующие сведения: число клиентов за указанный период, сколько дней был занят и свободен каждый из номеров гостиницы, общая сумма дохода.
Принятые уточнения постановки задачи.
Будем считать, что служащий не может в один день убирать более одного этажа гостиницы. Это допущение принято в силу физической затрудненности таких действий для реального служащего, перед которым стоит задача убрать все комнаты на этаже. Однако уборка несколькими служащими одного и того же этажа возможна даже втечение одного рабочего дня.
Будем считать, что постоялец одновременно проживает только в одном номере, так как больше чем один он не может занимать физически, а не занимая номер – не является постояльцем.
При необходимости предоставить финансовый поквартальный отчет, будем учитывать только съехавших к моменту запроса на предоставление запроса постояльцев. Кроме того, предоставим возможность предоставления отчетов за текущий и три предыдущих квартала, так как нет смысла иметь информацию о будущих кварталах текущего года в силу ее отсутствия.
Проектирование бд.
Для создания базы данных, отвечающей заданию, было выбрано 3 сущности, позволяющие реализовать решение поставленных проблем. Эти сущности:
Постоялец (номер паспорта, Фамилия, Имя, Отчество, город)
Комната (номер, номер телефона)
Служащий(Личный номер, Фамилия, Имя, Отчество)
Тип комнаты(вместительность, сут. стоимость)
Между сущностями реализуются связи, обозначенные на схеме:
Выбор и представление таких сущностей и связей объясняется заданием и позволяет разработать на его основе действующую базу данных.
Такой набор сущностей порождает следующие отношения:
Постоялец(номер паспорта, фамилия, имя, номер комнаты, дата поселения)
Комната(номер, тип, телефон)
Тип комнаты(вместимость, сут. стоимость)
Служащий(личный номер, фамилия, имя, отчество)
Находится на этаже(номер этажа,номер комнаты)
Убирает(личный номер служащего,день, этаж)