Реляционная модель представления данных.
При реляционном подходе данные представляются в виде двумерных таблиц (реляционных таблиц) – наиболее естественном для человека.
Основными понятиями реляционных баз данных являются:
- Сущность – это объект любой природы, данные о котором хранятся в БД.
- Атрибут – именованная характеристика сущности.
- Отношение – это простейшая двумерная таблица.
- Домен (поле)− это столбец таблицы со значениями соответствующего атрибута.
- Кортеж (запись) − это строка таблицы со значениями разных атрибутов.
- Мощность отношения (координатное число) − это число его кортежей, а степень отношения – число атрибутов. Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени.
- Схема отношения − это строка заголовков.
Например, схема отношения СТУДЕНТ может быть следующей:
СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС), здесь СТУДЕНТ − отношение, а ФАМИЛИЯ, ИМЯ и т.д. − атрибуты. Далее таблица представляет отношение СТУДЕНТ.
Мощность отношения СТУДЕНТ (координатное число) равно 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, реализованный в большинстве СУБД, является более чем реляционно-полным, так как кроме операций реляционной алгебры он содержит полный набор операторов над строками - «включить», «удалить», «обновить», а также реализует арифметические операции и операции сравнения.
Достоинства и недостатки реляционных моделей.
К достоинствам относятся: простота представления данных реляционной модели благодаря табличной форме, минимальная избыточность данных при нормализации отношений. В реляционных моделях обеспечивается независимость программных приложений от данных, допускающая включение или удаление отношений, изменение атрибутного состава отношений. Универсальность процедур обработки данных является основой типовых средств в различных реляционных СУБД. К недостаткам реляционной модели можно отнести то, что нормализация реляционной модели приводит к значительной фрагментации данных, в то время как в большинстве задач необходимо объединение фрагментированных данных.
Системы управления базами данных (СУБД)
СУБД − это совокупность программ, реализующих функции по организации и использованию базы данных в удобной для пользователя форме.
Основными функциями СУБД являются:
- ввод данных об объектах некоторой предметной области;
- надежное хранение и защита данных во внешней памяти вычислительной системы;
- дополнение, удаление, изменение данных;
- сортировка, выборка данных по запросам пользователей;
- выполнение специфических для данной предметной области преобразований данных информации;
- предоставление пользователям удобного интерфейса;
обобщение данных и составление отчетов.
СУБД поддерживают один из возможных типов моделей данных— сетевую, иерархическую или реляционную,которые являются одним из важнейших признаков классификации СУБД.