7. Мастер подстановок - поле для выбора значения из списка.
Таблица 6 - Оплата
|
Имя поля |
Тип данных |
||
|
Форма оплаты |
Текстовый |
Ключевое поле |
Классическая технология проектирования реляционных баз данных связана с теорией нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений. Процесс нормализации имеет своей целью устранение избыточности данных. Нормализация позволяет существенно сократить объем хранимой информации и устранить аномалии в организации хранения данных. Степень нормализации данных может быть различной. Приведение модели к требуемому уровню нормальной формы является основой построения реляционной базы данных [6].
Нормализация достигается путем проверки соответствия таблиц ряду условий, определенных в трех уровнях нормализации: первой, второй и третьей нормальных формах (существуют также и другие уровни). [2]
Первая нормальная форма требует, чтобы каждое поле таблицы БД было неделимым и не содержало повторяющихся групп.
Неделимость поля означает, что содержащиеся в нем значения не должны делиться на более мелкие. Повторяющимися являются поля, содержащие одинаковые по смыслу значения.
Вторая нормальная форма требует, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен. Если же в какой-либо таблице имеется зависимость каких-либо не ключевых полей от части первичного ключа, следует выделить их в отдельную таблицу, сделав первичным ключом новой таблицы ту часть первичного ключа, от которой зависят данные поля, и установить связь "один ко многим" от новой таблицы к старой.
Третья нормальная форма требует, чтобы в таблицах не имелось транзитивных зависимостей между не ключевыми полями, то есть чтобы значение любого поля, не входящего в первичный ключ, не зависело от значения другого поля, также не входящего в первичный ключ. Результатом нормализации является модель данных, которую легко поддерживать, не содержащая неопределенностей в данных и повторений данных [18].
Выделяют следующие методы доступа к данным таблиц:
— последовательный;
— прямой;
— индексно-последовательный.
При последовательном методе выполняется последовательный просмотр всех записей таблицы и поиск нужных из них. Этот метод доступа является крайне неэффективным и приводит к значительным временным затратам на поиск, прямо пропорциональным размеру таблицы. Поэтому его рекомендуется использовать только для относительно небольших таблиц.
При прямом доступе нужная запись выбирается на основании ключа или индекса. При этом просмотр других записей не выполняется. При поиске записи выполняется не последовательный просмотр всей таблицы, а непосредственный доступ к записи на основании ссылки.
Индексно-последовательный метод доступа включает в себя элементы последовательного и прямого методов доступа и используется при поиске группы записей. Этот метод реализуется только при наличии индекса, построенного по полям, значение которых должны быть найдены. Суть его заключается в том, что находится индекс первой записи, удовлетворяющей заданным условиям, и соответствующая запись выбирается из таблицы на основании ссылки. Это является прямым доступом к данным. После обработки первой найденной записи осуществляется переход к следующему значению индекса, и в таблице выбирается запись, соответствующая значению этого индекса. Так последовательно перебираются индексы всех записей, удовлетворяющих заданным условиям, что является последовательным доступом [29].
Ключ - это столбец или несколько столбцов, добавляемый к таблице и позволяющий установить связь с записями в другой таблице.
Существуют ключи двух типов: первичные и вторичные или внешние. Первичный ключ- это одно или несколько полей (столбцов),
комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.
Внешний (вторичный) ключ- это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.
Из двух логически связанных таблиц одну называют таблицей первичного ключа, или главной таблицей, а другую - таблицей вторичного (внешнего) ключа, или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе [12].
Прежде чем заносить данные в таблицы нужно определить структуру этих таблиц. Под этим понимается не только описание наименований и типов полей, но и ряд других характеристик. Кроме описания структуры таблиц, обычно задаются связи между таблицами.
Связи в реляционных базах данных определяются по совпадению значений полей в разных таблицах:
- один-к-одному - каждой записи из одной таблицы соответствует только одна запись в другой таблице;
- один-ко-многим - каждой записи из одной таблицы соответствует несколько записей другой таблице;
- многие-к-одному - множеству записей из одной таблице соответствует одна запись в другой таблице;
- многие-ко-многим- множеству записей из одной таблицы соответствует несколько записей в другой таблице.
Тип отношения в создаваемой связи зависит от способа определения связываемых полей:
- отношение«один-ко-многим»создается в том случае, когда только одно из полей является полем первичного ключа или уникального индекса;
- отношение«один-к-одному»создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;
- отношение«многие-ко-многим»фактически является двумя отношениями «один-ко-многим» с третьей таблицей, первичный ключ которой состоит из полей внешнего ключа двух других таблиц [26].
На рисунке 23 приведена схема данных.
Рисунок 23 - Схема данных
3.3 Эксплуатационная часть
Помимо шести таблиц в созданной базе данных разработаны 8 форм: главная форма, горничные, дополнительные услуги, клиенты гостиницы, регистрация, свободные номера, справка по счету. На главной форме
расположены четыре команды: регистрация клиента, выписать счет для клиента, свободные номера, каталог дополнительных услуг.
При выборе команды Регистрация клиента открывается регистрационная форма, куда можно ввести данные нового клиента, даты приезда/отъезда, выбрать номер, и просмотреть изображения номера. Также можно ввести форму оплаты, выбрать дополнительные и просмотреть данные горничной номера. Внизу формы есть область предварительного расчета и кнопки регистрации.
При выборе команды Выписать счет для клиента открывается форма счета за проживание.
При выборе команды Свободные номера появляется форма со списком свободных номеров в гостинице. Здесь отображается номер, вид номера и фамилия горничной, ответственной за номер.
Команда Каталог дополнительных услуг позволяет просмотреть и ознакомиться с услугами, предоставляемыми гостиницей, и прейскурантом.
Скриншоты форм находятся в Приложении к данной работе.
Также база данных содержит 7 запросов: запрос по горничным, запрос по дополнительным услугам, оплате проживания, свободным номерам, счету к оплате, запросы занять номера и освободить номера.
В базе данных сформированы три отчета: горничные, счет к оплате и дополнительные услуги.
3.4 Экономическая себестоимость программного продукта
Для создания описанного комплекса программ статистической обработки данных достаточно одного программиста. Произведем расчет окладов сотрудника по следующей формуле:
Тk - Тарифный коэффициент с учётом тарифного разряда работника (ведущий инженер - 16 разряд, инженер 1-ой категории - 15 разряд);
Ш - Последние две цифры шифра дипломника;
МРОТ - Минимальный размер оплаты труда, иначе ставка первого разряда. Определяется на государственном уровне и составляет 7500 рублей на 2017 год.
Расходные материалы определяются исходя из объёма работ. Данные по ценам на материалы приведены исходя из рыночных цен на текущий момент времени и представлены в таблице 7:
Таблица 7. Расчет затрат на расходные материалы, которые используются на этапах исследования и разработки сайта
|
№ п/п |
Наименован ие материала |
Стоимость единицы материала руб. |
Кол -во шт. |
Общая стоимость материала руб. |
|
|
1 |
Бумага писчая А4 |
120,00 |
1 |
120,00 |
|
|
2 |
Устройство FLASH - памяти |
500,00 |
1 |
500,00 |
|
|
4 |
Папка для бумаг |
60,00 |
2 |
120,00 |
|
|
5 |
Картридж для принтера |
2000,00 |
1 |
2000,00 |
|
|
ИТОГО: |
2740,00 |
Тарифная заработная плата вычисляется по формуле:
руб.
O - Должностной оклад, руб./мес.;
22 - количество рабочих дней в месяц;
Т - трудоемкость по выполнению работ в этапах проекта, соответствует количеству дней затраченных одним работником при разработке проекта;
Тарифная заработная плата Инженера 1-й категории следующая:
Итого: Зт = 115848,41 руб.
Основная заработная плата рассчитывается путем суммирования тарифной з/п и доплат, которые составляют 40% от тарифной з/п.:
3o = 115848,41* 1,4 = 162187,77 руб.;
Дополнительная заработная плата составляет 20% от основной заработной платы:
3д= 162187,77 * 0,2 = 32437,55 руб.
Взносы во внебюджетные фонды= 194625,32 * 0,342 = 66561,86 руб.
Затраты на содержание и эксплуатацию оборудования рассчитываются по следующей формуле:
S = Sa + Se руб.
где: Sa - Амортизационные отчисления, используемого оборудования за время работы над проектом;
Se - Стоимость электроэнергии, затраченной оборудованием за время работы над проектом.
Амортизационные отчисления (Sa), рассчитываются путём умножения стоимости использованного оборудования на коэффициент амортизации, принятый для данного класса оборудования.
С учётом того, что разработка велась с использованием персонального компьютера, коэффициент амортизации равен 25% в год, отсюда, формула имеет вид:
Sa/год = Sоб * 0,25 руб.
После завершения разработки система будет размещаться на оборудовании, ранее уже закупленном в рамках компании, в которой разрабатывался дипломный проект. Поэтому стоимость оборудования будет составлять только ПК, на котором велась разработка.
Таблица 8. Стоимость персонального компьютера и периферии
|
№ п/п |
Наименование |
Цена, руб. |
|
|
1 |
Системный блок |
15000,00 |
|
|
2 |
ЖК монитор Dell 17” |
5000,00 |
|
|
3 |
Клавиатура |
500,00 |
|
|
4 |
Мышь |
200,00 |
|
|
5 |
Лазерный принтер HP |
50000,00 |
|
|
Итого (Sоб): |
70700,00 |
Амортизационные отчисления за год составляют:
Sa/год = 70700 * 0,25 = 17675 руб./год
Годовой полезный фонд времени работы компьютера составляет 244 дня, или 1952 часа:
Тф/год =244 дней = 244 * 8 = 1952 часа.
Исходя из того, что компьютер использовался для разработки программного обеспечения не целый год, а лишь 43дня (T=43*8=344 часов), вычисляем амортизационные отчисления используемого оборудования за время работы над проектом по следующей формуле:
Стоимость электроэнергии (Se), затраченной оборудованием за время работы над проектом рассчитывается по формуле:
Se = Рк * SкВт * Т руб.
где: Рк - мощность, потребляемая ПК (250 Вт - 0,25 кВт);
SкВт - цена за 1 кВт/час, установленная для предприятия (3,47руб. без НДС); НДС составляет 18% от стоимости электроэнергии Se.
Т - время использования ПК при разработке программного обеспечения.
Se =0,2 * 3,47 * 344*1,18 = 281,71 руб. (с учетом НДС)
В результате вышеприведённых вычислений затраты на содержание и эксплуатацию оборудования составляют:
S = Sa + Se = 3114,86 + 281,71 = 3396,57 руб.
СУБД MS Access позволяет создавать реляционные базы данных в режиме WYSIWYG. Реляционная база данных состоит из таблиц - классов, каждая строка в таблице является объектом, имеющим определенный набор атрибутов. Данные связаны между собой с помощью связей нескольких видов. MS Access поддерживает типизацию данных.