Классификация СУБД по типу модели данных:
· Дореляционные
o Инвертированные списки (файлы)
o Иерархичекие
o Сетевые
· Реляционные (SQL)
· Постреляционные
o Объектно-реляционные
o Объектно-ориентированные
o NoSQL
Реляционная модель данных
Основоположником теории реляционных баз данных является британский учёный Эдгар Кодд, который в 1970 году оп убликовал первую работу по реляционной модели данных. Наиболее распространенная трактовка реляционной модели данных принадлежит Кристоферу Дейту.
Согласно Дейту, реляционная модель состоит из трех частей: структурной (отношения), целостностной (наличие условий) и манипуляционной (реляционное исчисление для манипулирование отношений).
Реляционная база данных – это набор отношений, имена которых совпадают с именами схем отношений в схеме базы данных.
Пример. Рассмотрим реляционную модель данных, в которой данные хранятся в виде двумерных таблиц.
Рис.1 Структура данных реляционной модели данных
|
|
Таблицы обладают следующими свойствами:
- каждая ячейка таблицы является одним элементом данных;
- каждый столбец содержит данные одного типа (числа, текст и т. п.);
- каждый столбец имеет уникальное имя;
- таблицы организуются так, чтобы одинаковые строки отсутствовали;
- порядок следования строк и столбцов произвольный.
Каждая таблица представляет собой отношение, описываемое атрибутами:
СТУДЕНТ = (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ).
Для идентификации записей выделяют следующие виды ключей – полей, определяющих запись:
- первичный: однозначно определяет запись;
- вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти несколько записей.
Ключ может быть простым, если он включает одно поле, или составным, если включает два и более полей.
Если в отношении СТУДЕНТ нет однофамильцев, то первичным будет простой ключ – поле ФАМИЛИЯ. Иначе первичным будет составной ключ ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО.
Первичный ключ должен обладать следующими свойствами:
- уникальность: не должно существовать двух или более записей, имеющих одинаковые значения полей, входящих в первичный ключ;
- неизбыточность: первичный ключ не должен содержать поля, удаление которых из ключа не нарушит его уникальность.
Нормализация отношений
Нормализация отношений – это приведение отношений к виду, позволяющему устранить дублирование, обеспечить непротиворечивость данных, хранимых в БД, и уменьшить трудозатраты на ведение БД.