Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
10.05.2015
Размер:
610.45 Кб
Скачать

Вторая нормальная форма

О таблице говорят, что она находится во второй нормальной форме, если:

· Она удовлетворяет условиям первой нормальной формы

· Любое неключевое поле однозначно идентифицируется полным набором ключевых полей.

Из приведенного определения видно, что понятие 2НФ применимо только к таблицам, имеющим составной ключ. В нашем примере такой таблицей является Заказано, в которой составной ключ образуют поля Номер Заказа и Код Товара. Данная таблица не является таблицей во 2НФ, т.к. поля Наименование, Единица измерения однозначно определяются только одним из ключевых полей – Наименование Товара.

Для приведения таблицы ко 2НФ выделим из таблицы Заказано таблицу Товар, которая будет содержать информацию о товарах (рисунок 9). Для связывания таблиц Заказано и Товары используется поле Код товара.

Врезка9

Третья нормальная форма

О таблице говорят, что она находится во второй нормальной форме, если:

· Она удовлетворяет условиям второй нормальной формы

· Ни одно из неключевых полей не идентифицируется с помощью другого неключевого поля.

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

В таблице Заказ поле Тел содержит номера телефонов менеджеров, которые однозначно определяются значением поля Контактная персона (при условии что нет однофамильцев) и не зависит от Номера Заказа. Следовательно, т.к. неключевое поле (Тел) однозначно определяется другим неключевым полем (Контактная персона), таблица Заказ не является таблицей в 3НФ. Для приведения этой таблицы к 3НФ создадим новую таблицу Сотрудник.

В результате получаем инфологическую модель (ИЛМ) базы данных «Заказы» (рисунок 10)

Врезка10

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

ИЛМ отражает иерархию подчинения объектов. В одно-многозначных связках каждый подчиненный объект необходимо разместить ниже главного. Все объекты должны быть распределены по уровням. На рисунке 11 представлен порядок заполнения таблиц.

Врезка11

Сначала вносятся данные в таблицы «Заказчик», «Сотрудник», «Товар». Таблица «Заказ» заполняется на основе данных из таблиц «Заказчик» и «Сотрудник». А данные в таблицу «Заказано» вносятся, когла все осальные таблицы уже заполнениы.

1.5.Основы использования языка sql

SQL(StructuredQueryLanguage, структурированные язык запросов) – стандартный язык запросов по работе в реляционными базами данных. SQLнельзя в полной мере отнести к традиционным языкам программирования, он не содержит традиционные операторы, управляющие ходом выполнения программы. Операторы SQLвстраиваются в базовый язык программирования, которым может быть любой алгоритмический язык типа С, Паскаль и т.д. Кроме того, операторы SQLмогут выполняться в интерактивном режиме.

Язык SQLсостоит из двух основных компонент:

· языка описания данных (ЯОД), позволяющего создавать схему описания данных в базе;

· языка манипулирования данными (ЯМД), выполняющего операции с базой данных (наполнение, обновление, удаление, выборку информации).

Кроме указанных компонентов SQLимеет также средства управления транзакциями (последовательностью операций модифицирования данных в БД, переводящая БД из одного непротиворечивого состояния в другое непротиворечивое состояние), средства администрирования данных и несколько операторов программирования.