Учебная работа. Курсовая работа: Автоматизация работы базы отдыха

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Автоматизация работы базы отдыха

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

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

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

Владивосток, 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-vokomnat

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. Виды проживания (

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

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-vokomnat)

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

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
запрос для расчета суммы за повторяющиеся услуги для всякого отдыхающего и количество циклических использованных услуг.

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

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

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 INNER JOIN 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



Питание

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

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

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

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

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

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

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

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

На 2-ой вкладке размещена информация о услугах, которыми могут воспользоваться клиенты. Она содержит форму ‘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+ строчки

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



)




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 Реализация алгоритмов средствами
VisualBasic

PrivateSubf1_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

Forms! [F_main]! [f2].Requery

End Sub

Private Sub f2_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

End Sub

Private Sub f3_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

End Sub

Private Sub k1_AfterUpdate()

Forms! [F_main]! [Z_ludi].Requery

End Sub

Private Sub k2_AfterUpdate()

Forms! [F_main]! [f_uslug].Requery

End Sub

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

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

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = «f_otdih»

DoCmd. OpenForm stDocName, stLinkCriteria

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

ExitSub

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

MsgBox Err. Description

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

EndSub

8. Разработка приложения юзера

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

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

· услуги.

· Счет.

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

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

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

]]>