Автор работы: Пользователь скрыл имя, 04 Декабря 2013 в 10:41, шпаргалка
1.Базы данных (БД). Структура БД. Система управления базами данных (СУБД)
Информация — совокупность сведений, воспринимаемых из окружающей среды, выдаваемых в окружающую среду, либо сохраняемых внутри информационной системы.
Данные — информация, представленная в виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку человеком или информационным средствам.
Выполнение требований нормализации обеспечивает построение реляционной БД без дублирования данных и возможность поддержания целостности при внесении изменений.
При проектировании реляционной базы данных необходимо решить
вопрос о наиболее эффективной структуре данных. Основные цели
проектирования:
обеспечить
быстрый доступ к данным
исключить ненужное повторение данных, которое является причиной
ошибок при вводе
и нерационального
вашего компьютера;
обеспечить
целостность данных таким
одних объектов автоматически
происходило соответствующее
связанных с ними объектов.
Процесс
уменьшения избыточности
называется нормализацией. В теории нормализации базы данных
разработаны достаточно
формализованные подходы к
обладающих сложной структурой на несколько таблиц.
Теория
нормализации структуры
формами таблиц. Каждая следующая нормальная форма должна
удовлетворять требованиям предыдущей формы и некоторым
дополнительным условиям. Ограничимся рассмотрением первых трех
нормальных форм, поскольку при практическом проектировании баз данных
четвертая и пятая формы используются в редких случаях.
В качестве
примера рассмотрим таблицу
Таблица 7. Структура таблицы Продажи
№
Наименование
1
Код клиента
2
Фамилия
3
Имя
4
Отчество
5
Телефон
6
Факс
10
Адрес
11
Предприятие
12
Руководитель
13
Кредит
14
Примечание
15
Код товара
16
Дата заказа
17
Заказано
18
Дата продажи
19
Продано
20
Цена
21
Примечание к заказу
22
Категория
23
Наименование товара
Таблицу Продажи можно рассматривать как однотабличную базу
данных. Основная проблема заключается в том, что в ней содержится
значительное количество повторяющейся информации. Например, сведения
о покупателе повторяются для каждого сделанного им заказа. Такая
структура данных является причиной следующих проблем, возникающих
при работе с базой данных:
значительные
затраты времени на ввод
Например, для всех заказов, сделанных одним из покупателей, придется
каждый раз вводить одни и те же данные о покупателе;
при изменении адреса или телефона покупателя необходимо
корректировать все записи, содержащие сведения о заказах этого покупателя;
наличие
повторяющейся информации
увеличению размера базы данных. В результате снизится скорость
выполнения запросов. Кроме того, повторяющиеся данные нерационально
используют дисковое пространство вашего компьютера;
любые внештатные ситуации потребуют значительного времени для
получения требуемой информации. Например, при больших размерах таблиц
поиск ошибок будет занимать значительное время.
2.1. Первая нормальная форма
Табл.
7 является ненормализованной
Требования к таблице в первой нормальной форме:
1. Таблица не должна иметь
2. В таблице должны
Для выполнения условия пункта 2 каждая таблица должна иметь
первичный ключ. Таблица Продажи (табл. 7) не содержит первичного
ключа, что допускает наличие в ней повторяющихся записей. Для
выполнения условия 2 добавим поле Код клиента, которое будет содержать
значение первичного ключа.
Требование
1 постулирует устранение
Поскольку каждый покупатель
может сделать несколько
которых в свою очередь
может содержать несколько
две таблицы. Каждая запись одной таблицы будет содержать сведения об
одном из покупателей, а второй таблицы – информацию о каждом заказе.
Поэтому надо разбить таблицу Продажи на две отдельные таблицы
Клиенты и Заказы и определить поля Код клиента в качестве ключей
связи. Структуры таблиц Клиенты и Заказы приведены на рис.1. Тип связи
между таблицами Клиенты и Заказы будет один-ко-многим.
Таким образом, для таблицы Клиенты решена проблема
повторяющихся групп полей.
Клиенты
1 ∞
Код клиента
Фамилия
Имя
Отчество
Телефон
Таблица Заказы содержит сведения о товарах, включенных в
конкретный заказ. Для исключения повторяющихся записей можно
воспользоваться одним из способов:
1) добавить в таблицу новое уникальное ключевое поле Код заказа, что
позволит однозначно
идентифицировать каждый из
работе с Ms Access это далеко не лучший метод, так как при разработке
многотабличных форм и отчетов связь между таблицами осуществляется
посредством ключевых полей с совпадающими значениями;
2) использовать уникальный составной ключ, состоящий из полей Код
клиента, Код товара и Дата заказа.
После
того как мы разделили
ключевые поля в каждой таблице, таблицы Клиенты и Заказы находятся в
первой нормальной форме (рис.1).
Структура
связей между таблицами
2.2. Вторая нормальная форма
Таблица
находится во второй
она удовлетворяет условиям первой нормальной формы;
любое
неключевое поле однозначно
ключевых полей, входящих в составной ключ.
Из приведенного выше определения следует, что понятие второй
нормальной формы применимо только к таблицам, имеющим составной
ключ. В рассматриваемом примере такой таблицей является таблица Заказы,
в которой составной ключ образуют поля Код клиента, Код товара и Дата
заказа. Она является таблицей во второй нормальной форме, поскольку поля
Категория, Наименование товара и Цена однозначно определяются только
одним из ключевых полей (Код товара).
Для приведения таблицы ко второй нормальной форме выделим из
таблицы Заказы таблицу Товары, которая будет содержать информацию о
товарах каждого типа. Для связывания таблиц Заказы и Товары
используется поле Код товара.
Клиенты
Заказы
1 ∞
Код клиента Код клиента ∞ Код товара
Фамилия
Код товара
Имя Дата заказа Наименование товара
Отчество Заказано
Телефон Дата продажи
Факс Продано
Индекс Цена
Страна Примечание к заказу
Город
Адрес
Предприятие
Руководитель
Кредит
Примечание
2.3. Третья нормальная форма
Таблица
находится в третьей
удовлетворяет условиям второй нормальной формы; ни одно из неключевых
полей таблицы не идентифицируется с помощью другого неключевого поля.
Обратимся
к таблице Клиенты. Поле
содержит имена руководителей компаний, которые однозначно определяются
значением поля Предприятие. Поскольку неключевое поле Руководитель
однозначно определяется другим неключевым полем Предприятие, таблица
Клиенты не является таблицей в третьей нормальной форме.
Для
приведения ее к третьей
Предприятие
Клиенты Заказы Товары
1 ∞ 1
Код клиента Код клиента Код товара
Фамилия Код товара Категория
Имя Дата заказа Наименование товара
Отчество Заказано
Телефон Дата продажи
Факс Продано
Индекс Цена
Страна Примечание к заказу
Город
Адрес
Предприятие ∞ Предприятие
Кредит 1