Тема 2. Реляционные базы данных
2. Реляционные базы данных.
2.1. Структурные элементы реляционной базы данных.
Реляционная модель основана на математическом понятии отношения. Поскольку физическим представлением отношения является таблица, то официальный термин «отношение» и неофициальный «таблица» используются в литературе как синонимы. Для пользователя реляционная база данных представляет собой набор таблиц, определенным образом связанных между собой.
Таблица состоит из строк (записей) и столбцов (полей). В официальной терминологии запись называется кортежем, а поле – атрибутом. Каждая строка таблицы описывает какой-либо объект, в официальной терминологии называемый сущностью.
Количество записей в таблице не ограничено. Минимальное число записей –ноль. Таблица, не содержащая ни одной записи, тоже является полноценной реляционной таблицей.
2.2. Свойства таблиц.
Таблица в реляционной БД характеризуется следующими свойствами:
-
каждая запись (кортеж, строка таблицы) представляет собой один элемент данных (сведения об одном объекте);
-
все ячейки, расположенные в одном столбце таблицы, однородны, то есть значения одного поля (атрибута) имеют одинаковый тип.
-
каждое поле (атрибут, столбец таблицы) имеет уникальное имя.
-
одинаковые строки в таблице не допускаются.
-
порядок следования записей (кортежей, строк таблицы) и полей (атрибутов, столбцов таблицы) может быть произвольным.
2.3. Понятие ключа.
Поскольку строки в реляционной таблице не упорядочены, нельзя выбрать строку по ее номеру в таблице. Для различения отдельных строк каждая реляционная таблица должна иметь так называемый ключ.
Под ключом понимают одно или несколько полей (атрибутов) таблицы (отношения), однозначно идентифицирующих каждую запись (кортеж).
В таблице на рис. 2.1 только одно поле, значения которого не повторяются. Это поле Шифр. Во всех остальных полях встречаются или могут встречаться повторяющиеся значения. Поэтому поле Шифр однозначно идентифицирует конкретную книгу и может служить ключом.
Ключ, состоящий из одного поля, называют простым ключом.
Книги |
|||
Шифр |
Автор |
Название |
Год издания |
И54 |
Иванов А.Б. |
Волоконная оптика |
1999 |
Б28 |
Кудрявцев Л.Д. |
Математический анализ |
2003 |
Д35 |
Иванов А.Б. |
Контроль качества в телекоммуникациях и связи |
2001 |
Д01 |
Шабалин С.А. |
Измерения для всех |
1991 |
В51 |
Бейли Д. |
Волоконная оптика |
2008 |
П21 |
Фриман Р. |
Волоконно-оптические системы связи |
2003 |
Рис. 2.1. Таблица с простым ключом.
В некоторых случаях уникальными для каждой записи являются значения не одного, а двух или большего числа полей. В этом случае говорят о составном ключе.
Группы повышения квалификации |
|||
Номер группы |
Год |
Тематика |
Стоимость обучения |
43 |
2010 |
Строительство и эксплуатация ВОЛС |
15 000 |
44 |
2010 |
Основы цифровой связи |
21 000 |
45 |
2010 |
Системы ВЧ связи по ЛЭП |
15 000 |
43 |
2011 |
Системы ВЧ связи по ЛЭП |
18 000 |
44 |
2011 |
Цифровые учрежденческие АТС |
18 000 |
45 |
2011 |
Технологии измерений на первичной сети |
17 500 |
Рис. 2.2. Таблица с составным ключом.
В таблице на рис. 2.2 нет ни одного поля, значения которого не повторяются. Однозначно идентифицирует каждую запись только комбинация двух полей – Номер группы и Год. Эти два поля являются составным ключом.
Ключ называют первичным, если он состоит из минимального набора полей, по значениям которых можно однозначно найти требуемую запись. Минимальность означает, что исключение из набора любого поля не позволяет идентифицировать запись по оставшимся полям.
Одним из важнейших требований, предъявляемых к реляционной таблице, является ее целостность, подразумевающая недопустимость наличия двух записей с одинаковыми значениями первичного ключа, то есть двух разных записей об одном и том же объекте. Действительно, если такая ситуация возникнет, информация об этом объекте может стать противоречивой. Контроль за соблюдением целостности должна обеспечивать СУБД. Это достигается введением двух ограничений:
-
при добавлении записи проверяется уникальность первичного ключа
-
при редактировании записи либо совсем запрещается изменять значения первичного ключа, либо запрещаются ситуации, когда ключ изменен так, что стал не уникальным.