Реляционная модель представления данных.

При реляционном подходе данные представляются в виде двумерных таблиц (реляционных таблиц) – наиболее естественном для человека.

Основными понятиями реляционных баз данных являются:

  • Сущность – это объект любой природы, данные о кото­ром хранятся в БД.
  • Атрибут – именованная характеристика сущности.
  • Отношение – это простейшая двумерная таблица.
  • Домен (поле)− это столбец таблицы со значениями соответствующего атрибута.
  • Кортеж (запись) − это строка таблицы со значениями разных атрибутов.
  • Мощность отношения (координатное число) − это число его кортежей, а степень отношения – число атрибутов. Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени.
  • Схема отношения − это строка заголовков.

Например, схе­ма отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС), здесь СТУДЕНТ − отношение, а ФАМИЛИЯ, ИМЯ и т.д. − атрибуты. Далее таблица представляет отношение СТУДЕНТ.

Мощность отношения СТУДЕНТ (координатное число) равно 4; степень отношения СТУДЕНТ − 5.

  • Первичным ключом отношения называется поле или группа по­лей, однозначно определяющие запись. Ключ должен удовлетворять следующим требованиям: должен быть уникальным; должен быть минимальным, то есть удаление любого поля из ключа ведет к нарушению уникальности. Если первичный ключ включает одно поле, то он называется простым; если несколько полей − составным.

Например, в отношении СТУДЕНТ пер­вичным ключом может быть поле ФАМИЛИЯ, если во всем списке нет однофамильцев — это будет простой ключ. Если есть однофа­мильцы, то совокупность полей − фамилия, имя, отчество — созда­дут составной первичный ключ. На практике в качестве клю­чевого выбирают поле, в котором совпадения заведомо исключены.

Логические связи в реляционной модели.

Для связи реляционных таблиц необходимо ввести в обе табли­цы одинаковые по типу поля, по которым определится связь между записями (кортежами) обеих таблиц. Такие одинаково определенные поля играют роль ключа связи (внешнего ключа).

Например, в отношениях (таблицах) СТУДЕНТ и ВУЗ ключом связи будет поле КОД вуза. В отношении ВУЗ поле КОД вуза будет первич­ным ключом, а в отношении СТУДЕНТ поле КОД вуза будет внешним ключом.

Связи бывают нескольких типов:

  • 1:1 − «один к од­ному»;
  • 1: n − «один ко многим»;
  • m : n − «многие ко многим».

 

В вышеприведенном примере была установлена связь «один ко многим», т.е. одной записи в таблице ВУЗ соответствуют многие записи в таблице СТУДЕНТ.

 

Нормализация таблиц-отношений

Важным требованием, предъявляемым к отношениям (таблицам) реляционной модели, является нормализация данных, представленных таблицей.

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

Процесс нормализации имеет итерационный (пошаговый) харак­тер, осуществляется методом нормальных форм. Суть метода состоит в последовательном переводе таблицы из одной нормальной формы в другую, причем каждая последующая устраняет определенный вид функциональной зависимости между полями таблицы. Всего в тео­рии описаны шесть нормальных форм, на практике чаще всего при­меняются первые три.

 

Операции с данными в реляционной модели

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

Операциями, выполняемыми на уровне строк (кортежей) отношений, являются:

  • включение − в таблицу добавляется новая строка;
  • удаление − из таблицы удаляется строка;
  • обновление − осуществляется изменение значений атрибутов в строках.

При выполнении операций над отношениями таблица-отношение обрабатывается как единый объект. При этом результатом обработки всегда является новая таблица-отно­шение, которая также может быть обработана.

Основными операциями над отношениями реляционной модели данных являются

  • основные операции над множествами:

− объединение,

− пересечение,

− разность (вычитание),

− декартово про­изведение,

  • а также специальные операции:

− выбор,

− проекция,

− соединение,

− деление множеств.

Совокупность этих операций образует полную алгебру отношений. Рассмотрим основные операторы языка реляционной алгебры.

Объединение −операция выполняется над двумя совместимыми отношения­ми R1 и R2 (с идентичной структурой). В результате операции объе­динения строится новое отношение . Отношение R имеет тот же состав атрибутов и совокупность кортежей исходных отношений. Причем в эту совокупность не включаются дубликаты.

Пример.

Ниже приведены исходные отношения: R1 «Клиенты банка А» (табл. 1), R2 «Клиенты банка В» (табл.2) и результат объединения − R (табл.3).

Таблица 1. R1 «Клиенты банка А»

  Город Фамилия
К11 Москва Петров
К12 Санкт-Петербург Смирнов
К13 Воронеж Соколов

 

 

Таблица 2. R2 «Клиенты банка В»

  Город Фамилия
К21 Самара Петров
К22 Москва Петров
К23 Тверь Семенов

 

 

Таблица 3. R «Клиенты»

  Город Фамилия
К11 Москва Петров
К12 Санкт-Петербург Смирнов
К13 Воронеж Соколов
К21 Самара Петров
К23 Тверь Семенов

В новое отношение R не вошел кортеж К22, так как он дублирует кортеж К11.

 

Пересечение − операция выполняется над двумя совместимыми отношениями R1 и R2. Результирующее отношение содержит одинаковые кортежи, которые есть в каждом из двух исходных. Результат пересечения имеет тот же состав атрибутов, как и в исходных.

Пример.

Пересечение двух отношенийR1 «Клиенты банка А» (табл. 1) и R2 «Клиенты банка В» (табл.2) дает отношение RР «Клиент» (табл. 4).

Таблица 4. RP Пересечение отношений

Город Фамилия  
Москва Петров К11 (К22)

Вычитание− операция выполняется над двумя совместимыми отношениями R1 и R2 с идентичным набором атрибутов. В результате операции вычитания строится новое отношение с идентичным набором атрибутов, содержа­щее только те кортежи первого отношения R1 которые не повторяются в другом отношении R2 .

Пример.

Вычитание двух отношенийR1 «Клиенты банка А» (табл. 1) и R2 «Клиенты банка В» (табл.2) дает отношение RV «Клиенты только банка А» (табл. 5).

Таблица 5. RV «Клиенты только банка А»

  Город Фамилия
К12 Санкт-Петербург Смирнов
К13 Воронеж Соколов

Декартово произведениевыполняется над двумя отношениями R1 и R2, имеющими в общем случае разный состав атрибутов. В результате операции декартова произведения образуется новое отношение , которое включает все атрибуты исходных отношений. Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношениями R1 и R2. Число кортежейдекартова произ­ведения равно произведению количеств кортежейв исходных отношениях. Пример.

Декартово произведение двух отношений R1 «Студент» (табл. 6) и R2 «Предмет» (табл.7) дает новое отношение RD «Экзаменационная ведо­мость» (табл. 8), которое содержит все атрибуты исходных отношений.

Таблица 6. R1 «Студент»

  Номер Фамилия
К11 Иванов
К12 Петров
К13 Сидоров

 

Таблица 7. R2 «Предмет»

  Код Наименование
К21 П1 Математика
К22 П2 Информатика

 

Таблица 8. RD «Экзаменационная ведомость»

    Номер Фамилия Код Наименование Оценка
К11 К21 Иванов П1 Математика  
К11 К22 Петров П1 Математика  
К12 К21 Сидоров П1 Математика  
К12 К22 Иванов П2 Информатика  
К13 К21 Петров П2 Информатика  
К13 К22 Сидоров П2 Информатика  

Заметим, что в полученное отношение целесообразно добавить атрибут «Оценка» для записи результатов экзамена.

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

Развитие реляционного подхода привело к созданию реляционных языков. Например, язык SQL, реализованный в большинстве СУБД, является более чем реляционно-полным, так как кроме операций реляционной алгебры он содержит полный набор операторов над строками - «включить», «удалить», «обновить», а также реализует арифметические операции и операции сравнения.

Достоинства и недостатки реляционных моделей.

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

 

Системы управления базами данных (СУБД)

 

СУБД − это совокуп­ность программ, реализующих функции по организации и использованию базы данных в удобной для пользователя форме.

Основными функциями СУБД являются:

  • ввод данных об объектах некоторой предметной области;
  • надежное хранение и защита данных во внешней памяти вычислительной системы;
  • дополнение, удаление, изменение данных;
  • сортировка, выборка данных по запросам пользователей;
  • выполнение специфических для данной предметной области преобразований данных информации;
  • предоставление пользователям удобного интерфейса;
    обобщение данных и составление отчетов.

СУБД поддерживают один из возможных типов моделей данных— сетевую, иерархическую или реляционную,которые явля­ются одним из важнейших признаков классификации СУБД.