Реферат: Автоматизация работы базы отдыха

МИНИСТЕРСТВО ОБРАЗОВАНИЯРОССИЙСКОЙ ФЕДЕРАЦИИ

 

Курсовая работа

/>«База отдыха»

Владивосток, 2010


/>/>Введение

Даннаякурсовая работа, а именно база данных, написанная на ACCESS, предназначена дляавтоматизации работы базы отдыха.

Имеетсянекоторая база отдыха, на которую приезжают отдыхающие, приезжающие могутвыбрать место проживание, воспользоваться разными услугами.

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

Всяинформация об отдыхающем (Ф.И.О., паспортные данные, прописка) на время егопроживания на базе отдыха хранится в базе.

При выездечеловека выводим счет и выселяем его, удаляя его из базы данных.


/>/>/>1. Функциональныевозможности системы

Система «База отдыха» предоставляет следующиевозможности для пользователей:

·  Занесениеновых отдыхающих

·  Выборотдыхающими определенных услуг

·  Возможностьвыбора разных видов питания

·  Просмотрсумм которые должен заплатить клиент

·  Просмотринформации о любом отдыхающем

·  Выведениясчета об оплате

·  Выселениеклиента


2. Построениеинформационно-логической модели базы данных/> 2.1 Выделение информационных объектов

а) документы и их реквизиты, подлежащие хранениюв базе данных

№ п/п

Документ

Наименование реквизита (реальное)

Наименование реквизита в базе данных

Тип реквизита

Связи

1. Анкета клиента

Ф.И.О. клиента

Паспорт номер

Паспорт серия

Прописка

Номер клиента

Fio

Passport_nomer

Passport_seria

Propiska

Код_Fio

Описательный

Описательный

Описательный

Описательный

Ключевой

/>/>/>/>/>/>/>/>

/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>

2. Проживание клиентов

Ф.И.О. клиента

Номер

Дата приезда

Дата выезда

код

Fio

№_komnati

Data_zasel

Data_visel

Код

Описательный

Описательный

Описательный

Описательный

Ключевой

3. Номера

Код номера

Номера

Стоимость

Код место

Место

Код вид

Вид

Количество мест

Ключ кол-во мест

Ключ класс

Класс

Ключ состояние

Состояние

Код_nomera

№_komnati

Stoimost’

Код_mesto

Name_mesto

Код_vidi

Name_vidi

Код_kol_mest

Kol_mest

Num_klass

Name_klass

Num_sost

Name_sost

Ключевой

Описательный

Описательный

Ключевой

Описательный

Ключевой

Описательный

Ключевой

Описательный

Ключевой

Описательный

Ключевой

Описательный

4. Пользование услугами и питанием

Ключ номер-чел.

Код питания

Питание

Цена питания

Количество на чел.

Ключ питание

Код польз услуг

Код услуги

Цена услуг

Дата

Kl_n/ch

Код_pitanie

Pitanie

Cena_pitanie

Kol_vo

Kl

Код_usl

Код_uslugi

Nazv_uslugi

Cena_uslugi

data

Описательный

Ключевой

Описательный

Описательный

Описательный

Ключевой

Ключевой

Ключевой

Описательный

Описательный

Описательный

 

б) зависимые реквизиты

Описательные реквизиты Ключевые реквизиты Fio Код_Fio Passport_nomer Код_Fio Passport_seria Код_Fio Propiska Код_Fio Код_Fio Код_Fio №_komnati Код_nomera Data_zasel Код Data_visel Код Код Код Код_nomera Код_nomera Stoimost’ Код_nomera Код_mesto Код_nomera Name_mesto Код_mesto Код_vidi Код_nomera Name_vidi Код_vidi Код_kol_mest Код_nomera Kol_mest Код_kol_mest Num_klass Код_nomera Name_klass Num_klass Num_sost Код_nomera Name_sost Num_sost Kl_n/ch Код Код_pitanie Kl Pitanie Код_pitanie Cena_pitanie Код_pitanie Kol_vo Kl Kl Kl Код_usl Код_usl Код_uslugi Код_usl Nazv_uslugi Код_uslugi Cena_uslugi Код_uslugi data Код_usl

 

в) группировка реквизитов

Реквизиты Ключ Имя инф. объекта Описание

Код

Name_mesto

/> mesto_prozhiv

Ключ

Name_vidi

/> vidi_prozhiv

Код

Mesto_prozhiv

Vidi_prozhiv

№_komnati

Klass

Kol-vo_mest

Stoimost’

Sostoianie

/> Nomera

Код

Kol_mest

/> kol-vo komnat

Name_klass

Num_klass

/> klass

Name_sost

Num_sost

/> sost_nomerov

Код

FIO

Passport_nomer

Passport_seria

Propiska

/> spisok_otdih

FIO

№_komnati

Data_zasel

Data_visel

Код

/> Sdan_nomer

Kl_n/ch

Pitanie

Kol_vo

kl

/> pitanie_otdih

Код

Pitanie

cena

/> Питание

Код

Ключ н/ч

услуга

/> Строки

Код

Nazv_uslugi

Cena_uslugi

/> spravochnik_uslug />/>2.2 Структура информационных объектов базыданных

1.место проживания (mesto_prozhiv)

№п/п Названия столбца тип ключ 1. код счетчик

/>

2. Name_mesto текстовый

2. Видыпроживания (vidi_prozhiv)

№п/п Названия столбца тип ключ 1. ключ счетчик

/>

2. Name_vidi текстовый

3. Номера (Nomera)

№п/п Названия столбца тип ключ 1. Код счетик

/>

2. Mesto_prozhiv числовой 3. Vidi_prozhiv числовой 4. №_komnati числовой 5. klass числовой 6. Kol-vo_mest числовой 7. Stoimost’ числовой 8. Sostoianie числовой

4. Количествокомнат (kol-vo komnat)

№п/п Названия столбца тип ключ 1. код счетчик

/>

2. Kol_mest текстовый

5.Класс (klass)

№п/п Названия столбца тип ключ 1. Name_klass текстовый 2. Num_klass счетчик

/>

6.Состояниеномеров (sost_nomerov)

№п/п Названия столбца тип ключ 1. Name_sost текстовый 2. Num_sost счетчик

/>

7.Списокотдыхающих (spisok_otdih)

№п/п Названия столбца тип ключ 1. Код счетчик

/>

2. FIO текстовый 3. Passport_nomer числовой 4. Pasport_seria числовой 5. Propiska текстовый

8. Сдан номер (Sdan_nomer)

№п/п Названия столбца тип ключ 1. FIO числовой 2. №_komnati числовой 3. Data_zasel числовой 4. Data_visel числовой 5. Код счетчик

/>


9. Питаниеотдыхающих (pitanie_otdih)

№п/п Названия столбца тип ключ 1. Kl_n/ch числовой 2. pitanie числовой 3. Kol_vo числовой 4. kl счетчик

/>

10. Питание

№п/п Названия столбца тип ключ 1. Код счетчик

/>

2. Pitanie текстовый 3. cena числовой

11. Строки

№п/п Названия столбца тип ключ 1. Код счетчик

/>

2. Ключ н/ч числовой 3. услуга числовой />/>/>2.3Связи между информационными объектами

/>


/>/>/>3. Проектирование алгоритмовобработки данных

Въезд отдыхающего

Проживание отдыхающего

Выезд отдыхающего

Регистрация его на базе отдыха

Предоставление выбора номера

Выбор свободного номера

Занесение информации о об отдыхающем

Занесение в информации, что номер занят

Подсчет суммы за прожитые дни

Подсчет суммы за услуги

Подсчет суммы за питание

Подсчет общей суммы

Выселение человека отражения этого в таблицах

Вывод итоговой суммы

Вывод счета

/>/> 


4. Разработка запросовдля корректировки и выборки данных/>/>/> 4.1 Запросы на выборку данных

1.        Z_uslug_2 – запрос для расчета суммы за повторяющиеся услугидля каждого отдыхающего и количество повторяющихся использованных услуг.

а) Данные изследующих таблиц должны быть включены в запрос:

spravochnik_uslug,строки, Sdan_nomer.

 

/>

б) структура связей между таблицами:

FROM [spravochnik-uslug]INNER JOIN (Sdan_nomer INNER JOIN строки ON Sdan_nomer. Код = строки. [ключ н/ч])ON [spravochnik-uslug].Код = строки. услуга

в) поля,включаемы в запрос:

SELECT строки. ключ н/ч, строки.услуга, spravochnik-uslug.cena_uslugi.\

г) групповая операция:

SELECT строки. [ключ н/ч], строки. услуга,Sum([spravochnik-uslug].cena_uslugi) AS [Sum-cena_uslugi], Count (строки. услуга)AS [Count-услуга]

FROM [spravochnik-uslug]INNER JOIN (Sdan_nomer INNER JOIN строки ON Sdan_nomer. Код = строки. [ключ н/ч])ON [spravochnik-uslug].Код = строки. услуга

GROUP BY строки. [ключ н/ч], строки. услуга;

2. stoim_prozhiv-подсчитывает сумму за проживания для каждогочеловека

3. Z_inf_otdih – вся информация об отдыхающих.

4. Z_ludi – необходим для поиска по отдыхающим

5. z_nomer – необходим для осуществления поиска номеров по разным данным

6. z_pitanie, z_uslug_sum – просчитывает сумму за питания и услуги для каждого человека.

7. z_stoim – считает общую сумму за проживание, услуги и питание.

/>/>/> 4.2 Корректировка данных средствами запросов

1.        Z_obnov_nomer: обновление данных о номерах свободен илизанят.

Весь процесс можно описать.

Нахождения необходимого номера и замена«свободен» на «занят».

Данный запрос, описанный в SQL:

UPDATE sost_nomerov INNERJOIN Nomera ON sost_nomerov.num_sost = Nomera.sostoianie SET Nomera.sostoianie= 2

WHERE (((Nomera. №_komnati)=[Forms]![F_main]! [f_nomer]. [Form]! [№_komnati]));

2.Z_obnov_visel-запрос на обновления необходимого номера с «занят» на «свободен».

3.z_visel, z_visel_otl2 – удаление информации об выехавших отдыхающих.

/>


/>/>/>5. Реализацияпользовательского интерфейса средствами форм/>/>/> 5.1 Технология загрузки базы данных

Таблицы –объекты загрузки.

/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

klass

  /> /> /> /> /> /> /> /> /> /> <td/> /> /> /> /> /> <td/> />

Питание

  />

-          Впервую очередь заполняется таблица ‘Nomera’, в которую заносятся все данные о существующихв отеле номерах;

-          Таблица‘Spisok_otdih’ заполняется наосновании данных о прибытии клиента;

-          Таблица‘строки’ и таблица ‘pitanie_otdih’заполняется на основании использовании услуг и питания клиентами,таблица «Sdan_nomer» заполняется на основании данных о проживании клиентами в отеле.Эта информация является рабочей.

/>/> 
5.2 Разработка форм

Главная форма имеет тривкладки: «Регистрация», «Услуги» и «Выселение».

На первой вкладкеинформация о заселении клиентов гостиницы. При заселение клиента информация оклиенте автоматически переносится в формы на второй и третьей вкладках, такимобразом обновляя информацию о клиенте.

Преваявкладка ‘Регистрация’ содержит подчиненную форму ‘f_nomer’. А также вкладка‘Регистрация’ включает кнопку ‘Зарегистрировать’.

Форма ‘f_nomer’ создается на основезапроса ‘z_nomer’.

/>

На второйвкладке расположена информация об услугах, которыми могут пользоваться клиенты.Она содержит форму ‘f_uslug’, которая строится на основе таблиц ‘Sdan_nomer’ и ‘Spisok_otdih’, имеет подчиненныеформы ‘fpp_uslug’, которая строится на основание ‘z_uslug’, и подчиненной формы ‘f_pitanie_otdih’ котороя строится наосновании таблиц ‘питание’ и ‘pitanie_otdih’.


/>

На третьей вкладкепоказывается сумма за все услуги, которыми пользовались клиенты, сумма запитание, проживание и общий итог. Она содержит форму ‘f_s4et’, которая строится наоснове таблиц ‘Sdan_nomer’, ‘Spisok_otdih’, ‘Nomera’, запроса ‘Stoim_prozhiv’ имеет подчиненную. форму ‘fp_z_stoim’, которая строится наоснование ‘z_stoim’. А также вкладка ‘Выселение’включает кнопки ‘Счет’ и ‘об отдыхающем’.

Проектирование формы длякорректировки данных об услугах

Требуется иметьвозможность заносить данные об услугах, которыми пользуются клиенты (спорт зал,боулинг и т.д.). По такой же схему будут вносится данные о питание людей.


/>

1) Составная форма

/>

 

 

 


Источникзаписей: Sdan_nomer + строки

Недостатки:Невозможно корректировать таблицы, отсутствует иерархический просмотр.

2)Вложенная форма содним уровнем

 

/> 

 

 

 



Главная:

Источник записей: Sdan_nomer

Таблица, накоторойстроится форма: Sdan_nomer

Корректируемыеданные: Sdan_nomer

Количествозаписей: Sdan_nomer

Подчиненная:

Источник записей:строки

Таблица, накоторой строится форма: строки

Корректируемыеданные: Нет

Количествозаписей: сколько выведенный клиент пользовался услугами

Достоинства:Возможность корректировать таблицу «Sdan_nomer», реализуется иерархический просмотр.

Вывод: Выбираем дляреализации форму 2, так как она удовлетворяет всем поставленным требованиям.

1) Определение подсхемыданных.

Для удобствапользования желательно заносить информациюоб услугах, по каждому клиенту имеявозможность найти его с помощью поиска.

 

/> 

 

 


2) Общаяструктура вложенной формы.

Всоответствие с приведенной подсхемой определим структуру вложенной формы ‘f_uslug’. В основной части будутрасполагаться реквизиты клиента (название клиента: name_klient); подчиненная форма ‘fpp_uslug’ будет содержать списокзаписей об услугах, которыми пользуются клиенты. Связь между формами будетосуществляться по полям код-ключ н/ч.

Таким образомформу ‘f_uslug’ определяют:

-          Типформы: вложенная;

-          Источникзаписей для основной части формы: таблица ‘Sdan_nomer’;

-          Включаемаяподчиненная форма: ‘fpp_uslug’.

Форму ‘fpp_uslug’ определяют:

-          Типформы: подчиненая;

-          Источникстрок: таблица ‘строки’.

3) Реквизитыосновной и подчиненной формы.

В заголовокформы ‘f_uslug’ включаем реквизит поле,содержащий название клиента. С помощью этого поля будет осуществляться поискзаписей в форме для каждого конкретного клиента. В основную часть формывключаем подчиненную форму ‘fpp_uslug’ в которую включаем поле со списком, содержащийназвание услуги (услуга), поле (cena_uslugi) и поле (data).


/>/>/>/>6.Разработка отчетов

Общий счетпредставляет собой счет-итог, который выдается к оплате клиенту при выезде.Также этот отчет можно использовать для получения информации о потраченныхклиентом суммах с момента въезда до настоящего времени.

Заголовокгруппы «FIO»:

·         Отдыхающий

·         Датазаезда

·         Датавъезда

Областьданных:

·          Наименованиеуслуги

·          Итоговаясумма за каждую услугу

·          Количествоуслуг

Примечаниегруппы:

·          Количествопрожитых дней

·          Итогза услуги

·          Итогза питание

·          Итогза проживания

·          Итоговаясумма


/>/>/>/>/>7. Реализация алгоритмов обработки информации

/>/>/>/> 

7.1 Реализация алгоритмов средствами макросов

Разработаны следующие макросы:

1.        Макрос1.Осуществляет открытие формы ‘sdan_nomer’ для занесения данных о новом клиенте,записывает текущий номер в форму ‘sdan_nomer’ из формы f_nomer, обновляет данные вовсей главной форме ‘F_main’. Привязан к событию ‘Нажатие’ кнопки ‘Зарегистрировать’ в форме‘F_main’ во вкладке‘Регистрация’.

2.        m_inf. Осуществляет открытиеформы ‘F_inf’ для корректировкиданных и получения сведений. Привязан к событию ‘Нажатие’ кнопки ‘об отдыхающем’в форме ‘F_main’ во вкладке ‘Счет’.

3.        m_otchet. Осуществляет открытиеотчета ‘o_otchet’ для определенного клиента,т.е. для клиента, запись про которого является текущей в форме ‘F_c4et’. Привязан к событию‘Нажатие’ кнопки ‘Счет’ в форме ‘ ‘F_main’ во вкладке ‘Счет’.

4.        m_obnov. Осуществляет обновление записей о наличииномеров в таблице ‘Nomera’ с помощью запроса ‘z_obnov_nomer’, а так же закрывает форму ‘ ‘sdan_nomer». Привязан к событию ‘Нажатие’кнопки ‘Вселить’ в форме ‘ ‘sdan_nomer».

5.        m_udal. Удаляет записи овыехавших отдыхающих из таблиц ‘Spisok_otdih’, 'Sdan_nomer’, осуществляетобновление записей об освобождении номеров в таблице ‘Nomera’ с помощью запросов ‘Z_obnov_visel’, ‘Z_visel’, ‘Z_visel_otl2’.Привязан к событию ‘Нажатие’ кнопки ‘Выселение’ в форме ‘F_inf’.

Описание алгоритмавыселения клиента из базы отдыха

1)        Создатьзапросы на удаление и обновление, для того чтобы очистить таблицу ‘spisok_otdih’ ‘Sdan_nomer’ от предыдущих записей иобновить записи об освобождении номеров в таблице ‘Nomera’.

2)        Создатьмакрос ‘M_udal’, последовательнозапускающий запросы на удаление, обновление и добавление.

Макрокоманда ОткрытьЗапрос (Z_visel; Таблица; Изменение ОткрытьЗапрос (Z_visel_otl2; Таблица; Изменение) ОткрытьЗапрос (z_obnov_visel; Таблица; Изменение) ОбновитьОбъект (Форма, F_main)

3)        Вформе ‘Sdan_nomer’ создать кнопку ‘Выселение’. К событию ‘Нажатие’ этой кнопкипривязать макрос ‘M_udal’.

 

/>/>/>/>7.2 Реализация алгоритмов средствами Visual Basic

Private Sub f1_AfterUpdate()

Forms![F_main]! [f_nomer].Requery

Forms![F_main]! [f2].Requery

EndSub

PrivateSub f2_AfterUpdate()

Forms![F_main]! [f_nomer].Requery

EndSub

PrivateSub f3_AfterUpdate()

Forms![F_main]! [f_nomer].Requery

EndSub

PrivateSub k1_AfterUpdate()

Forms![F_main]! [Z_ludi].Requery

EndSub

PrivateSub k2_AfterUpdate()

Forms![F_main]! [f_uslug].Requery

EndSub

PrivateSub Зарегистрировать_Click()

OnError GoTo Err_Зарегистрировать_Click

DimstDocName As String

DimstLinkCriteria As String

stDocName= «f_otdih»

DoCmd.OpenForm stDocName, stLinkCriteria

Exit_Зарегистрировать_Click:

Exit Sub

Err_Зарегистрировать_Click:

MsgBoxErr. Description

ResumeExit_Зарегистрировать_Click

End Sub


/>/>/>8. Разработка приложенияпользователя

Главная форма«f_main», в которой есть 3вкладки:

·       Регистрация.

·       Услуги.

·       Счет.

Для занесения информациио прибывшем отдыхающем необходимо на вкладке ‘Регистрация’ при помощи поискавыбрать подходящий номер (по местонахождению, по виду, классу) в форме ‘f_nomer’, затем нажать на кнопку«Зарегистрировать», при нажатии которой откроется форма ‘Sdan_nomer’ и последовательнозаполнить все поля. После занесения всех необходимых сведений, необходимонажать кнопку ‘Вселить’ и данные об отдыхающем внесутся в таблицы.

Для занесения информациио пользовании услугами нужно перейти на вкладку «Услуги». В форме «f_uslug» следует выбрать впоиски необходимого человека и в подчиненной форме fpp_uslug из поля со списком нужнуюуслугу и указать его дату, а в подчиненной форме f_pitanie_otdih таким же образом выбратьнеобходимое питание и указать на сколько человек (то есть количество) илипоказать его отсутствие.

При выезде клиентанеобходимо перейти на вкладку ‘Счет’. Выбрать в поиски необходимого человека имы увидим на какую сумму были использованы услуги, питание и проживание и также мы видим там общий итог. Клиенту необходимо выдать Счет, нажав на вкладке «Счет»кнопку «Счет», после этого требуется выселить человека, для этого на той жевкладке «Счет» мы нажимаем конку «об отдыхающем» и видим информацию о человекена форме «F_inf» (в каком номерепроживал с какого заехал и какого должен выехать и т.д.), убеждаемся что этотот человек, после это нажимаем кнопку «Выселить» на форме «F_inf».

еще рефераты
Еще работы по информатике, программированию