Глава 2 - Проектирование реляционной бд.
Параграф 1 - Анализ предметной области.
Основной целью данной курсовой работы является проектирование базы данных «Салон красоты», которая поддерживает структурированную обработку данных о клиентах, сотрудниках, услугах и т.д.
База данных «Салон красоты» проста в применении и может быть использована даже человеком, который владеет только основами знаний по информатике.
Человек, который работает с базой данных «Салон красоты», может вести списки клиентов, сотрудников, а также имеет возможность прослеживать оплату по выполненным услугам, выводить информацию по клиентам и сотрудникам, делать отчеты и т.д.
Задачи, которые необходимо решить с использованием БД «Салон красоты»:
сокращение избыточности хранимых данных;
сбор и хранение информации о клиентах, сотрудниках, оказанных услугах и т.д.;
обработка данных (вывод нужной информации в отчетах, запросах и т.д.);
на основе данных можно отслеживать информацию об оказанных услугах и услугах, которые запланированы на будущее.
Требования к базе данных:
целостность базы данных;
многократное использование данных;
быстрый поиск и получение информации по запросам пользователей;
простота обновления данных;
адекватность отображения данных.
Параграф 2 - Проектирование БД методом нормальных форм.
Проектирование базы данных является одним из этапов жизненного цикла информационной системы. Основной задачей, решаемой в процессе проектирования, является задача нормализации ее отношений.
Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации.
Перечень атрибутов базы данных «Салон красоты» представлен в (приложение 1).
Одно из требований к отношениям заключается в том, чтобы все атрибуты отношения имели атомарные значения. В исходном отношении каждый атрибут кортежа также должен быть простым. Исходное отношение «Салон красоты» представлено в (приложение 2).
Нормализация отношения.
Метод нормальных форм является классическим методом проектирования реляционных баз данных. Этот метод основан на фундаментальном в теории реляционных баз данных понятии зависимости между атрибутами отношений.
Нормализация – процесс разбиения (декомпозиции) отношений с неудовлетворительными свойствами на новые отношения.
Первая нормальная форма. Отношение находится в первой нормальной форме, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно находилось в 1НФ.
Таблица 1 1НФ
ID клиента |
Фамилия |
Имя |
Отчество |
Телефон |
Постоянство |
Адрес |
2 |
Константинова |
Евгения |
Петровна |
+79876547624 |
да |
г.Новочебоксарск, ул. Восточная 32 |
Таблица 2 1 НФ
ID песетителя |
Клиент |
Услуга |
Сотрудник |
Дата |
Время |
Услуга оказана |
3 |
Ильина |
массаж |
Соколова |
02.05.2014 |
16:00 |
да |
Таблица 3 1 НФ
ID клиента |
ICQ |
|
Skype |
4 |
783323232 |
angelina@mail.ru |
645ang |
Таблица 4 1 НФ
ID услуги |
Название |
Группа |
Себестоимость |
Цена |
Сотруднику |
Описание услуги |
3 |
массаж |
SPA-процедуры |
100 |
1000 |
0,2 |
|
Таблица 5 1 НФ
ID должности |
Название |
Группа услуг |
График работы |
5 |
SPA-специалист |
SPA-процедуры |
2/2 |
Таблица 6 1 НФ
ID сотрудника |
Фамилия |
Имя |
Отчество |
Должность |
Адрес |
Телефон |
5 |
Артакина |
Нина |
Викторовна |
Маникюрша |
г.Чебоксары, ул. 50 лет октября 40 |
+79032584671 |
Для перевода отношения в 2НФ используется операция проекции, то есть разложения отношения на несколько отношений.
Так как в данном отношении нет составного ключа, то оно уже находится в 2НФ.
Третья нормальная форма.
Отношение находится в 3НФ, если:
отношение находится в 2НФ,
каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Или
2) ни одно из неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля (полей).
Так как в наших отношениях не имеется транзитивных зависимостей, значит, наше отношение уже находится в 3НФ.
Нормальная форма Бойса-Кодда.
Таблица 7 R1. «Клиенты»
*ID клиента |
Фамилия |
Имя |
Отчество |
Телефон |
Постоянство |
Адрес |
Таблица 8 R2. «Посещение»
*ID песетителя |
Клиент |
Услуга |
Сотрудник |
Дата |
Время |
Услуга оказана |
Таблица 9 R3. «Контакты»
*ID клиента |
ICQ |
|
Skype |
Таблица 10 R4. «Услуги»
*ID услуги |
Название |
Группа |
Себестоимость |
Цена |
Сотруднику |
Описание услуги |
Таблица 11 R5. «Группы услуг»
*ID группы |
Название |
Таблица 12 R6. «Должности»
*ID должности |
Название |
Группа услуг |
График работы |
Таблица 13 R7. «Сотрудники»
*ID сотрудника |
Фамилия |
Имя |
Отчество |
Должность |
Адрес |
Телефон |
Построенные отношения R1, R2, R3, R4, R5, R6, R7 находятся в нормальной форме Бойса-Кодда, поскольку в них отсутствуют зависимости ключевых атрибутов от неключевых.
Параграф 3 - Проектирование БД методом «сущность-связь».
Метод проектирования «сущность-связь» или, как его еще называют, ER – метод является универсальным методом проектирования баз данных.
Правила формирования отношений основываются на учете следующего:
степени связи между сущностями (1:1, 1:М, М:1, М:М);
класса принадлежности экземпляров сущностей (обязательный и необязательный).
Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER-типа.
Формирование отношений для связи 1:1
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом этого отношения может быть ключ любой из двух сущностей.
На рисунке 2 приведены диаграмма ER-типа и отношение, сформированное по правилу 1 на ее основе.
Рисунок 2 Формирование отношения по правилу 1
Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй - необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.
На рисунке 3 приведены диаграмма ER-типа и отношения, сформированные по правилу 2 на ее основе.
Рисунок 3 Формирование отношения по правилу 2
Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
На рисунке 4 приведены диаграмма ER-типа и отношения, сформированные по правилу 3 на ее основе.
Рисунок 4 Формирование отношения по правилу 3
Формирование отношений для связи 1:М
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
На рисунке 5 приведены диаграмма ER-типа и отношения, сформированные по правилу 4 на ее основе.
Рисунок 5 Формирование отношения по правилу 4
Правило 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рисунок 6). Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Рисунок 6 Формирование отношения по правилу 5
Формирование отношений для связи М:М
Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.
На рисунке 7 приведены диаграмма ER-типа и отношения, сформированные по правилу 6.
Рисунок 7 Формирование отношения по правилу 6
В базе данных «Радиостанция» имеются следующие сущности:
Клиенты (Ключ – ID клиента,…)
Услуги (Ключ – ID услуги,…)
Группы услуг (Ключ – ID группы,…)
Сотрудники (Ключ – ID сотрудника,…)
Должности (Ключ – ID должности,…)
Посещения (Ключ – ID посетителя,…)
Контакты (Ключ – ID клиента,…)
Схема диаграммы ER-типа построена с учетом всех сущностей и связей между ними с целью повышения наглядности и удобства проектирования.
После добавления неключевых атрибутов в схему, отношения примут следующий вид:
Клиенты (*ID клиента, Фамилия, Имя, Отчество, Телефон, Постоянство, Адрес)
Посещения (*ID посетителя, Клиент, Услуга, Сотрудник, Дата, Время, Услуга оказана)
Услуги (*ID услуги, Название, Группа, Себестоимость, Цена, Сотрудники, Описание услуги)
Группы услуг (*ID группы, Название)
Сотрудники (*ID сотрудника, Фамилия, Имя, Отчество, Должность, Адрес, Телефон)
Должности (*ID должности, Название, Группы услуг, График работы)
Контакты (*ID клиента, ICQ, E-mail, Skype).
Полученные в результате проектирования базы данных «Салон красоты» методом «сущность-связь» соответствует нормальной форме Бойса-Кодда.
Таким образом, в данной главе было проведено проектирование базы данных «Салон красоты» методом нормальных форм и методом «сущность-связь». Получившиеся в результате проектирования этими методами отношения и схемы данных совпали.
Параграф 4 - Таблицы и запросы.
Состав таблиц базы данных «Салон Красоты» с ключами и связями (Рисунок 8).
Рисунок 8 Схема базы данных «Салон красоты»
Выборка информации осуществляется при помощи запросов, которые представлены в этом разделе.
Запрос на выборку. Выводит ID посетителя, Услугу, если не стоит отметки о оказании услуги (Рисунок 9).
Рисунок 9 Запрос на выборку
Запрос на создание таблицы. Создается новая таблица с информацией о выполненных услугах и с отметкой о выполнении (Рисунок 10)
Рисунок 10 Запрос на создание таблицы
Перекрёстный запрос. Выводит ФИО клиента, оказанные услуги и стоимость (Рисунок 11).
Рисунок 11 Перекрёстный запрос
Запрос на удаление с параметром. Удаляет из таблицы контакты информацию о конкретном клиенте (Рисунок 12).
Рисунок 12 Запрос на удаление
Запрос с параметром. При запуске запроса на экране появляется окно, в которое нужно ввести ID клиента. Тогда при вводе, например, числа 1, выводится вся информация по клиенту, которой принадлежит этот код (Рисунок 13).
Рисунок 13 Запрос с параметром
Итоговый запрос. Выводит информацию о том, сколько раз каждый клиент посетил салон (Рисунок 14).
Рисунок 14 Итоговый запрос
В данном разделе был приведен состав таблиц БД «Салон красоты» и реализованы все виды запросов.
Параграф 5 - Отчеты и формы.
В данном разделе будет рассмотрена реализация форм и отчетов в базы данных «Салон красоты».
В базе данных «Салон красоты» реализована удобная кнопочная форма, которая является окном, в котором будет работать пользователь. При открытии базы данных появляется окно кнопочной формы, которое предоставляет все возможности работы с БД. Данная форма дает возможность доступа ко всем разделам базы данных, содержащие все необходимые виды информации в виде запросов, отчетов и форм (рисунок 15).
Рисунок 15 Форма «Главное окно»
Информацию о клиентах можно посмотреть в форме «Клиенты» (Рисунок 16).
Рисунок 16 Форма «Клиенты»
Информацию об услугах можно посмотреть в форме «Услуги» (Рисунок 17)
Рисунок 17 Форма «Услуги»
Примером отчетов в проектируемой базе данных является отчет обо всех услугах в салоне красоты (приложение 3).
Параграф 6 - Макросы и модули.
Модули представляют наборы описаний, инструкций и процедур, сохраненных под общим именем для организации программ на языке Microsoft Visual Basic. Существуют два основных типа модулей: модули класса и стандартные модули.
Модули форм и модули отчетов являются модулями класса, связанными с определенной формой или отчетом. Они часто содержат процедуры обработки событий, запускаемые в ответ на событие в форме или отчете.
В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом, а также часто используемые процедуры, которые могут быть запущены из любого окна базы данных.
Примером модуля является модуль на открытие окна калькулятора (Рисунок 18).
Рисунок 18 Модуль на нажатие кнопки и открытие окна калькулятора
Макрос — это набор команд, которые можно применить, нажав всего лишь одну клавишу. С помощью макроса можно автоматизировать любое действие, которое выполняется в используемом приложении, и даже выполнять действия, о возможности выполнения которых вы даже не догадывались.
Примером макросов являются следующие макросы:
Макрос открытие запроса (Рисунок 19)
Рисунок 19 Макрос «ОткрытьЗапрос»
Макрос на открытие одной формы и закрытие другой (Рисунок 20)
Рисунок 20 Макрос «ОткрытьФорму» и «Закрыть»
В данной главе рассмотрена реализация форм, отчетов, макросов и модулей в проектируемой базе данных.
Таким образом, реализована база данных «Салон красоты» в СУБД MS Access. Она содержит таблицы, в которых хранится информация об услугах, сотрудниках, клиентах и т.д. Необходимы запросы, формы, отчеты, макросы и модули успешно реализованы.
Заключение.
В ходе выполнения курсовой работы был выполнен анализ предметной области. На основании анализа были составлены локальные представления и ER – диаграмма. Анализ предметной области позволил также, при определении требований к операционной обстановке, определить объем работы информационной системы.
Полученная база данных может быть применена во многих организациях. Использование СУБД может значительно поднять имидж организации, клиентам не придется часами сидеть и ждать, когда менеджер найдет в ворохе бумаг необходимый бланк и т.д. Применять полученную базу данных рационально в больших организациях.
В основе любых технологических потрясений лежит простой финансовый вопрос. В основе нынешней ситуации в развитии распределенных систем также лежит экономическое обоснование - стоимость передачи данных по сети становится меньше стоимости вычислений на клиентской машине и эта тенденция имеет устойчивый характер. Взрывной рост Internet, который многие связывают с "демократическими свободами" или развитием новой технологии имеет в своей основе все тоже простое экономическое обоснование - эта технология экономически выгодна. Отсюда проистекают и те изменения в мире технологий свидетелями которых мы являемся: стремительный рост пропускной способности, присутствие в сети большинства корпораций, электронная коммерция и банки. На основе этих технологий выросли новые направления бизнеса, а распространенность Internet растет темпами невиданными в отрасли (быстрее телефонии и телевидения). И пока это будет происходить актуальность многопользовательских БД не иссякнет, её можно будет развивать в соответствии с нуждами пользователей.