Содержание лекционного занятия:
· Базовые понятия реляционной модели данных
· Типы данных
· Домен
Реляционная модель позволила решить одну из важнейших задач в управлении базами данных — обеспечить независимость представления и описания данных от прикладных программ, следствием чего было бы существенное упрощение проектирования и программирования баз данных. Поэтому после опубликования работ Кодда начались активные исследования по созданию реляционной системы управления базами данных. В результате этих исследований во второй половине 70-х годов был создан ряд коммерческих и некоммерческих реляционных СУБД.
К основным достоинствам реляционного подхода к управлению базой данных следует отнести:
· наличие небольшого набора абстракций, которые позволяют сравнительно просто моделировать большую часть распространенных предметных областей и допускают точные формальные определения, оставаясь интуитивно понятными;
· наличие простого и в то же время мощного математического аппарата, опирающегося главным образом на теорию множеств и математическую логику и обеспечивающего теоретический базис реляционного подхода к организации баз данных;
· возможность манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти.
Базовые понятия реляционной модели данных
Термин «реляционный» (от английского relation — отношение) указывает прежде всего на то, что такая модель хранения данных построена на взаимоотношении составляющих ее частей, которые удобно представлять в виде двумерной таблицы. Кодд показал, что набор отношений (таблиц) может быть использован для хранения данных об объектах реального мира и моделирования связей между ними. Таким образом, реляционная модель данных представляет информацию в виде совокупности взаимосвязанных таблиц, которые принято называть отношениями или реляциями.
Основными понятиями реляционной модели данных являются:
· тип данных;
· домен;
· атрибут;
· кортеж;
· ключ.
Рассмотрим смысл этих понятий на примере отношения (таблицы) СТУДЕНТЫ, содержащего информацию о студентах некоторого вуза (табл.1).
Таблица1. Пример отношения СТУДЕНТЫ реляционной базы данных
№_студ_ билета |
Имя |
Дата_ рождения |
Курс |
Специальность |
23980282 |
Алексеев Д. А. |
12.03.1982 |
2 |
Биология |
22991380 |
Яковлев Н. В. |
25.12.1979 |
4 |
Физика |
22657879 |
Михайлов В. В. |
29.02.1979 |
5 |
Математика |
24356783 |
Афанасьев А. В. |
19.08.1983 |
1 |
Иностранный язык |
24350283 |
Кузнецов В. И. |
03.10.1982 |
1 |
Физика |
23125681 |
Смирнов А. Д. |
26.03.1981 |
3 |
История |
Тип данных
Понятие тип данных в реляционной модели данных полностью эквивалентно соответствующему понятию в алгоритмических языках. Набор поддерживаемых типов данных определяется СУБД и может сильно различаться в разных системах. Однако практически все СУБД поддерживают следующие типы данных:
· целочисленные;
· вещественные;
· строковые;
· специализированные типы данных для денежных величин;
· специальные типы данных для временных величин (дата и/или время);
· типы двоичных объектов (данный тип не имеет аналога в языках программирования; обычно для его обозначения используется аббревиатура BLOB — Binary Large Object).
В рассматриваемом примере используются три типа данных — строковый (столбцы «Имя» и «Специальность»), временной тип (столбец «Дата_рождения») и целочисленный тип («Курс» и «№_студенческого _ билета»).
Домен
Наименьшая единица данных реляционной модели — это отдельное атомарное (неразложимое) для данной модели значение данных. Доменом называется множество атомарных значений одного и того же типа. Иными словами, домен представляет собой допустимое потенциальное множество значений данного типа.
В нашем примере можно для каждого столбца таблицы определить домен:
· домены «Имена» и «Специальности» для столбцов «Имя» и «Специальность» соответственно будут базироваться на строковом типе данных — в число их значений могут входить только те строки, которые могут изображать имя и название специальности (в частности, такие строки не должны начинаться с мягкого знака);
· домен «Даты_рождения» для столбца «Дата_рождения» определяется на базовом временном типе данных — данный домен содержит только допустимый диапазон дат рождения студентов;
· домены «Номера_курсов» и «Номера_студенческих_билетов» базируются на целочисленном типе — в число его значений могут входить только те целые числа, которые могут обозначать номер курса университета (обычно от 1 до 6) и номер студенческого билета (обязательно положительное число).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. Если же значения двух атрибутов берутся из различных доменов, то их сравнение, вероятно, лишено смысла. В нашем примере значения доменов «Номера_курсов» и «Номера_студенческих_билетов» основаны на одном типе данных — целочисленном, но не являются сравнимыми.
Вопросы для самоконтроля:
1.Понятия атрибутов.
2.Понятие первичного ключа, записи.
3.Вторичные индексы.
4.Что такое предметная область базы данных?
5. Что такое объект базы данных?
Рекомендуемая литература:
1.Ладыженский Г.М. Базы данных: коротко о главном. - М.: Изд.-во НИИСИ РАН, 2000. - 114 с
2.Информатика: Учебник/Под ред. проф. Н.В. Макаровой, - М.: Финансы и статистика, 1997, 2000.