Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по БД(ОПИСАНИЕ).docx
Скачиваний:
58
Добавлен:
10.05.2015
Размер:
2.38 Mб
Скачать

3.2. Нормализация

Нормализацияпроцесс уменьшения избыточности информации в таблицах реляционной БД и, как следствие, построения оптимальной структуры таблиц и связей.

Можно выделить 4 основных правила, которыми следует руководствоваться при проектировании и последующей нормализации таблиц базы данных:

  1. Каждое поле любой таблицы должно быть уникальным.

  2. Каждая таблица должна иметь уникальный первичный ключ, который может состоять из одного или нескольких полей таблицы.

  3. Для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы.

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

Созданные мною таблицы, удовлетворяют вышеизложенным требованиям:

1 НФ (Нормальная Форма):

Название таблицы

Ключевое поле

Клиенты

Заказы

Страны

Курорты

Отели

Код клиента

Код

Код страны

Код курорта

Код отеля

2 НФ: выполняются ограничения 1НФ, и каждый не ключевой атрибут функционально полно зависит от составного первичного ключа.

3 НФ: все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.

Таким образом, база данных удовлетворяет всем требованиям нормализации таблиц и третья нормальная форма – окончательный результат нормализации моей Базы данных.

3.3. Схема данных

Отношения – это правила, поддерживаемые на уровне механизма реализации СУБД. Различают три типа отношений:

  • Отношение «один-к-одному»: для каждой строки в одной таблице существует не более одной строки связанной таблицы.

  • Отношение «один-ко-многим»: одна таблица не содержит вообще или имеет набор связанных «дочерних» записей из другой таблицы.

  • Отношение «многие-ко-многим»: для каждой строки первой таблицы может существовать набор строк в другой таблице и наоборот. Такая связь организуется, как правило, при помощи третьей, связующей таблицы, содержащей значения первичных ключей обеих таблиц в качестве внешних ключей.

При разработке базы данных необходимо принимать во внимание правила обеспечения целостности данных (обеспечивает каскадное обновлениезаписей в связанных таблицах)

В моей схеме данных таблицы связаны отношением «Один-ко-многим». При поступлении нового клиента, сотрудник агентства заполняет новый заказ, личные данные клиента в заказ указываются из таблицы Клиенты с помощью мастера подстановки.

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

Ниже представлена моя схема данных (См. Рис.9.).

Рис.9. Схема данных

4.Создание пользовательского интерфейса

4.1. Запросы

Запрос – это требование на получение определенной информации. Запросы позволяют сфокусировать внимание именно для тех данных, которые нужны для решения текущей задачи.

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

Результат работы запроса называется выборкой. Выборка не сохраняется в базе данных; она создается заново каждый раз при выполнении запроса и уничтожается при его закрытии.

Виды запросов:

  • Режим «Конструктор» – «ручное» создание запроса:

  • Режим «Простой запрос» ( для показа суммирования в одной

колонке)

  • Режим «Перекрестный запрос» ( для создания всевозможных

подсчетов на базе Схемы данных)

  • Режим «Повторяющиеся записи» ( для повторов данных в таблицах)

  • Режим «Не имеющие подчиненных» ( для показа записей, не

имеющих связей): Например, клиенты, не имеющие заказов.

  • Итоговые запросы, группировка, итоговые функции.

  • Использование запросов на Удаление и на Обновление.

В моей базе данных разработан «Запрос на выборку данных клиента по ФИО».

Данные для создания запроса берутся из таблицы «Клиенты», включены поля: ФИО, № паспорта, № загранпаспорта, Адрес и Телефон (См. Рис.10).

Рис.10. «Запрос на выборку данных клиента по ФИО» в режиме Конструктор

При запуске этого запроса он требует ввести ФИО клиента (данные из таблицы Клиенты). (См.Рис.11).

Рис.11. Запрос «Запрос на выборку данных клиента по ФИО»

В результате выполнения запроса выходит таблица с результатами поиска (См. Рис.12).

Рис.12. «Запрос на выборку данных клиента по ФИО». Результат

В режиме SQL данный запрос выглядит так:

SELECT Клиент.ФИО, Клиент.[№ паспорта], Клиент.[№ загранпаспорта], Клиент.Адрес, Клиент.Телефон

FROM Клиент

WHERE (((Клиент.ФИО)=[Введите ФИО])).