Отношения и их свойства.Реляционные базы данных
8.4. Реляционная модель данных
Классификация СУБД по типу модели данных:
Дореляционные
Инвертированные списки (файлы)
Иерархические
Сетевые
Реляционные
Постреляционные
Объектно-реляционные
Объектно-ориентированные
Многомерные
Прочие (NoSQL)
Рассмотрим реляционную модель данных, в которой данные хранятся в виде
двумерных таблиц.
Фамилия Имя Отчество Факультет
Иванов Иван Иванович лечебный
Петров Петр Петрович стоматологический
Отношение СТУДЕНТ
(вся таблица)
Атрибуты
(заголовок таблицы)
Запись (строка) Поле (столбец)
Структура данных реляционной модели данных
Таблицы обладают следующими свойствами:
- каждая ячейка таблицы является одним элементом данных;
- каждый столбец содержит данные одного типа (числа, текст и т. п.);
- каждый столбец имеет уникальное имя;
- таблицы организуются так, чтобы одинаковые строки отсутствовали;
- порядок следования строк и столбцов произвольный.
Каждая таблица представляет собой отношение, описываемое атрибутами:
СТУДЕНТ = (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ).
Для идентификации записей выделяют следующие виды ключей – полей,
определяющих запись:
- первичный: однозначно определяет запись;
- вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти
несколько записей.
Ключ может быть простым, если он включает одно поле, или составным, если
включает два и более полей. Если в отношении СТУДЕНТ нет однофамильцев, то
первичным будет простой ключ – поле ФАМИЛИЯ. Иначе первичным будет составной
ключ ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО.
Первичный ключ должен обладать следующими свойствами:
- уникальность: не должно существовать двух или более записей, имеющих одинаковые
значения полей, входящих в первичный ключ;
- не избыточность: первичный ключ не должен содержать поля, удаление которых из
ключа не нарушит его уникальность.
42. Нормализация отношений
Нормализация отношений – это приведение отношений к виду, позволяющему устранить дублирование, обеспечить непротиворечивость данных, хранимых в БД, и уменьшить трудозатраты на ведение БД.
Выделяют несколько нормальных форм отношений. Рассмотрим первые три из них (чаще всего при разработке базы данных этого бывает достаточно).
Первая нормальная форма. Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты являются простыми, то есть не могут быть далее разделены.
Вторая нормальная форма. Отношение приведено ко второй нормальной форме, если оно находится в первой нормальной форме, и каждый не ключевой атрибут функционально полно зависит от составного ключа.
Третья нормальная форма. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неключевой атрибут не зависит от ключа транзитивно.
Инфологическая модель
Уточнение понятия инфологической модели. В базе данных отображается какая-то часть реального мира. Естественно, что полнота ее описания будет зависеть от целей создаваемой информационной системы.
Для того чтобы база данных адекватно отражала предметную область, проектировщик базы данных должен хорошо представлять себе все нюансы, присущие данной предметной области (ПО), и уметь отобразить их в базе данных. Поэтому, прежде чем начинать проектирование базы данных, необходимо как следует разобраться, как функционирует предметная область, для отображения которой БЫ создаете БД. Предметная область должна быть предварительно описана. Для этого в принципе может использоваться и естественный язык, но его применение имеет много недостатков, основными из них являются громоздкость описания и неоднозначность его трактовки. Поэтому обычно для этих целей используют искусственные формализованные языковые средства. В связи с этим под инфологической моделью (ИЛМ) понимают описание предметной области, выполненное с использованием специальных языковых средств, не зависящих от используемых в дальнейшем программных средств.
Инфологическая модель должна строиться вне зависимости от того, будете ли вы в дальнейшем использовать какую-либо СУБД или пользоваться другими программными средствами для реализации своей информационной системы.
Требования, предъявляемые к инфологической модели. Основным требованием к ИЛМ, вытекающим из ее назначения, является требование адекватного отображения предметной области. В связи с этим язык для представления ИЛМ должен обладать достаточными выразительными возможностями для отображения явлений, имеющих место в предметной области. ИЛМ должна быть непротиворечивой. Она является единым интегрированным описанием предметной области и отражает взгляды и потребности всех пользователей системы. Не должна допускаться неоднозначная трактовка модели.
Метод пузырька
Как видно из текста программы на Паскале, при сортировке массива методом пузырька, сравниваются два соседних элемента массива. В том случае, если элемент массива с номером i оказывается больше элемента массива с номером i+1, происходит обмен значениями при помощи вспомогательной переменной buf (переменной я дал название со смысловой нагрузкой, от слова "буфер").
{ сортировка массива "пузырьком" по возрастанию }
Const
n = 10; { количество элементов в массиве }
Var
a:array[1..n] of integer;
i,j,buf:integer;
Begin
{Заполняем массив случайными целыми числами из диапазона от 0 до 9 и выводим массив на экран}
for i:=1 to ndo
Begin
a[i]:=random(10);
write(a[i],' ');
end;
fori:=1 to n-1 do
for j:=i+1 to n do{В этой строке начинающие программисты чаcто допускают ошибку}
ifa[i]>a[j] then
Begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
writeln;
writeln('Массив после сортировки пузырьковым методом: ');
for i:=1 to ndo
write(a[i],' ');
End.