Нормальная форма (1NF)

Ключ

Термины и определения реляционных баз данных

Реляционная модель.

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

Реляционная (англ.) – отношение.

В простейшем случае реляционная модель описывает единственную двумерную таблицу. В основном она (модель) описывает взаимоотношения между несколькими таблицами.

Любая реляционная таблица обладает следующими свойствами:

- каждый элемент таблицы – это один элемент данных;

- все столбцы однородны, т.е. все элементы в столбце имеют одинаковый тип;

- каждый столбец в таблице имеет уникальное имя;

- одинаковые строки в таблице отсутствуют;

- порядок следование строк и столбцов может быть произвольным.

 

Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор Кодд. Появилась она в 1970 г в США и опирается эта теория на математический аппарат теории множеств.

Таблица БД– двумерный массив, содержащий информацию об одном классе объектов. В теории реляционной алгебры двумерный массив называют отношением.

Таблица состоит из следующих элементов:

- поле (атрибут)

- ячейка

- запись (кортеж)

Поле содержит значение одного из признаков, характеризующих объекты БД. Число полей в таблице соответствует числу признаков, характеризующих объектов БД.

Ячейка содержит конкретное значение соответствующего поля.

Запись – это строка таблицы. Она содержит значение всех признаков, характеризующих данный объект. Число записей (строк) соответствует числу объектов.

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

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

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

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

 

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

 

При формировании ключа таблицы БД, состоящего из нескольких полей необходимо:

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

- нельзя включать в состав ключа неуникальное поле, т.е. поле, значение которого повторяется в таблице.

 

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

Пример: если в качестве первичного ключа выбрать ИНН (индивидуальный номер налогоплательщика), то в качестве альтернативного ключа номер паспорта.

 

 

Нормализация таблиц реляционной БД

Реляционная БД представляет собой некоторое множество таблиц, связанные между собой. Число таблиц в одном файле или одной БД зависит от многих факторов:

- состав пользователей БД;

- обеспечение целостности информации;

- обеспечение наименьшего объёма требуемой памяти и минимального времени обработке данных.

Учёт данных факторов при проектировании реляционной БД осуществляется методами нормализации таблиц и установлением связей между ними.

Нормализация таблицы представляет собой способы разделения одной таблицы на несколько таблиц.

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

Существует 6 форм нормальности, но в основном используют 1,2,3 уровни нормальности. При описании нормальных форм используют следующие понятия:

-функциональная зависимость между полями;

-многозначная зависимость

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

Пр. связь междуномером паспорта и ИНН.

Многозначная функциональная зависимость между полями. Поле А многозначно определяет поле B, если для каждого значения поля А существует хорошо определённое множество соответствующих значений поля B.

Пр.таблица успеваемости.

Полной функциональной зависимостью между составным полем А и полем B, называется зависимость, при которой поле B, зависит функционально от поля А, и не зависит функционально от любого подмножества поля А.

Транзитивная функциональная зависимость между полями A и С , если поле C функционально зависит от поля B, а поле В функционально зависит от поля А; при этом не существует функциональной зависимости поля А от поля В.

Взаимная независимость между полями. Несколько полей взаимно независимы, если ни одно из них не является функционально зависимым от другого.

Таблица находится в 1 нормальной форме, тогда, когда не одно из полей не содержит более одного значения и любое ключевое поле не пустое. Первая нормальная форма является основной реляционной модели данных. Любая таблица в реляционной базе данных автоматически находится в первой нормальной форме. В такой таблице не должно содержаться полей, которые можно было бы разделить на несколько полей.