Многотабличные базы данных. Типы связей между таблицами. Запросы к многотабличным базам данных
Многотабли́чные ба́зы да́нных. Ти́пы свя́зей ме́жду табли́цами. Запро́сы к многотабли́чным ба́зам да́нных — определение одного из типов баз данных, существующих в них типов связей и организация манипулирования с данными, содержащимися в этих базах[1].
Определения
Многотабличные базы данных — тип баз данных (БД), в котором база данных состоит из набора таблиц, связи между которыми устанавливаются с помощью связанных полей и подчиняющихся правилам нормализации.
База данных считается нормализованной, если выполняются следующие условия:
- Каждая таблица БД имеет свой главный ключ;
- Все поля каждой таблицы БД зависят только от главного ключа;
- В таблице БД не должно быть группы повторяющихся значений.
Для обеспечения целостности данных в БД необходимо, чтобы таблицы БД были связаны между собой. Связи между таблицами БД устанавливаются по следующим признакам:
Следует помнить:
Напомним, что в базах данных таблицы могут быть связаны только тремя типами отношений:
- один-к-одному;
- один-ко-многим;
- многие-к-многим.
Преимущества
Связанные таким образом между собой таблицы образуют целостную многотабличную БД, в которой возможно создание новых таблиц, запросов различных типов и формирование отчётов.
Преимуществами многотабличных БД являются:
- Целостность;
- Избежание избыточности информации, а следовательно, и объёма данных, хранящихся в БД;
- Гибкость и масштабируемость;
- Упрощение запросов, а следовательно, и сокращение времени манипулирования с БД.
На основе вышеизложенного понятие нормализации БД можно переформулировать как процесс разделения данных на совокупность таблиц с минимальной избыточностью и максимальной целостностью на основе выделения ключевых полей (первичных или внешних ключей), связывающих таблицы БД между собой.
Типы связей
Типы связей между таблицами — организация связей между таблицами в многотабличной БД. Связи в многотабличных БД бывают внутренними и внешними.
Внутренние связи — вид связей между таблицами многотабличной БД, в которые включаются только те записи из главной таблицы и связанные с ними записи из подчинённых таблиц, в которых данные в связующих полях совпадают. При этом запросы между таблицами устанавливают исключающую связь и называются внутренним соединением.
Внешние связи — вид связей между таблицами многотабличной БД, которые устанавливают включающие связи, называемые внешним соединением. При этом при запросе формируются все записи из таблицы, образующей только одну сторону отношений, но совпадающей только с таблицей, содержащей вторую сторону отношений. Поясним это на примере.
Пусть требуется найти всех клиентов фирмы, не имеющих в БД адреса электронной почты. Тогда формируется запрос на создание таблицы всех клиентов фирмы и таблицы, в полях которой содержится информация об электронных адресах всех клиентов, как с заполненным полем «электронный адрес», так и с незаполненным. После получения двух таблиц задаётся условие, по которому можно отобрать только тех клиентов, у которых поле «электронный адрес» не заполнено. В реляционной СУБД Access таким условием служит «is NULL»[2][3][4].
Типы запросов
Запросы к многотабличным базам данных — запросы, осуществляемые к многотабличным базам данных (БД).
Запросы бывают следующих типов:
- Запросы на выборку данных;
- Запросы с параметрами;
- Перекрёстные;
- Запросы на изменения таблиц.
Выбор и формирование типа запроса зависит от поставленной перед пользователем БД задачи.
Примечания
Литература
- Голицына О. Л., Максимов Н. В., Попов И. И. Базы данных: учебное пособие. — М. : ФОРУМ : ИНФРА-М, 2008.
- Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: учебное пособие. — М. : Бином-Пресс, 2007.
- Чигарина Е. И. Проектирование и реализация баз данных средствами СУБД ACCESS: методические указания. — Самара : Изд-во СГАУ, 2009.


