ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ БД
Лекция 1. Реляционная модель данных
ТЕМА 1.2. ВЗАИМОСВЯЗИ В МОДЕЛЯХ И РЕЛЯЦИОННЫЙ ПОДХОД К ПОСТРАЕНИЮ МОДЕЛЕЙ
Реляционная модель была предложена в 1969 году сотрудником фирмы IBM Е. Ф. Коддом (Or. Е. Р. Соdd), известным исследователем в области баз данных. Впервые основные концепции этой модели были опубликованы в 1970 году.
Набор средств для управления реляционными базами данных называется реляционной системой управления базами данных (РСУБД). Реляционная система управления базами данных может содержать утилиты, приложения, сервисы, библиотеки, средства создания приложений и другие компоненты.
Реляционная база данных представляет собой совокупность двумерных таблиц. Напомним что любая таблица реляционной базы данных состоит из строк, называемых записями, и столбцов, называемых полями. Строки таблицы содержат сведения об объектах. Возьмем, например, записную книжку с заметками о друзьях и знакомых. О каждом в книжке есть информация - фамилия, имя, адрес, номер телефона, хобби. Для облегчения чтения расположим всю информацию в виде таблицы, то есть по строкам и столбцам. Каждый тип ин формации занесем в свой собственный столбец - отдельно имя человека, отдельно его адрес и т.д.
№ | ФИО | Домашний адрес | Дата рождения | Телефон | Хобби |
Андреев Олег Олегович | Ул. Зорге, 18-45 | 01.01.1980 | 5-46-28 | Фотография | |
Иванов Иван Иванович | Уи. Тобольная, 12-45 | 23.03.1981 | Рыбалка | ||
Петров Петр Петрович | Ул. Красина, 45-1 | 08.08.1979 | 42-55-11 | Филателия |
Каждый столбец в таблице должен содержать только определенный тип информации (например, дату рождения, или хобби Вашего друга, или домашний адрес и т п.). Каждая строка таблицы содержит разнообразную (разного типа) информацию о человеке. Все данные, помещенные в одной строке, называют записью, каждый элемент записи - это поле. Таким образом, каждое поле содержит часть информации, находящейся на пересечении соответствующей строки и столбца. В таблице всевозможные значения одного типа в одном столбце называют доменом.
Поле является элементом записи и представляет собой ячейку таблицы. У каждого столбца есть свое неповторимое имя, описывающее тот вид информации, который содержится в нем. Это имя называют «именем поля базы данных»
Каждое поле имеет фиксированную длину, следовательно, и любая запись в таблице имеет фиксированную длину. Каждая запись характеризуется своим уникальным порядковым номером.
Данные в реляционной таблице должны удовлетворять следующим принципам:
1. Каждое значение поля должно быть атомарным, т.е. не расчленяемым на несколько значений;
2. Значения данных домена (в одном и том же столбце) должны принадлежать к одному и тому же типу данных, доступному для использования в данной СУБД;
3. Каждая запись в таблице уникальна, т.е. в таблице не существует двух записей с полностью совпадающим набором значений ее полей;
4. Каждое поле имеет уникальное имя;
5. Последовательность полей в таблице несущественна;
6. Последовательность записей в таблице несущественна.
Существенное отличие реляционной модели от обыкновенного последовательного файла заключается в том, что все столбцы в таблице с точки зрения входа предполагаются эквивалентными. Именно это свойство делает эту модель весьма мощной и делает невозможным отображение ее на память в виде последовательного массива данных.
Поскольку записи в таблице неупорядочены, то необходимо указать поле (или набор нескольких полей) для уникальной идентификации каждой записи.
Первичный ключ - это поле или набор полей, которые однозначно идентифицируют (определяют) запись таблицы
Обычно ключом является поле или совокупность полей фиксированной длины. Каждому значению первичного или основного ключа соответствует одна и только одна запись. Первичный ключ любой таблицы обязан содержать уникальные непустые значения для каждой записи. Если первичный ключ состоит из нескольких полей, он называется составным первичным ключом (рrimагу кеу).
Поле, указывающее на запись в другой таблице, связанную с данной записью, называется внешним ключом (foreign кеу).
Подобное взаимоотношение между таблицами называется связью (ге1ationship). Связь между двумя таблицами устанавливается путем присвоения значений внешнего ключа одной таблицы значениям первичною ключа другой. Таблица, содержащая внешний ключ, называется второстепенной или, а таблица, содержащая первичный ключ, определяющий возможные значения внешнего ключа второстепенной таблицы, называется главной.
Типичная реляционная база данных состоит из нескольких связанных таблиц. Приведем пример фрагмента базы данных "Деканат".
ТаблицаСтуденты состоит из следующих полей: