Лекция 3. Реляционная модель данных
Содержание лекционного занятия:
· Базовые понятия реляционной модели данных
· Типы данных
· Домен
Реляционная модель позволила решить одну из важнейших задач в управлении базами данных — обеспечить независимость представления и описания данных от прикладных программ, следствием чего было бы существенное упрощение проектирования и программирования баз данных. Поэтому после опубликования работ Кодда начались активные исследования по созданию реляционной системы управления базами данных. В результате этих исследований во второй половине 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.
Жүйелік мәліметтер қоры
Қoймaның дeрeктeр бaзacын жoбaлaу
Дерекқорлар мен Ақпараттық жүйелер
Case - технологиясы
Мәлімет қоры қосымшасының құрылымы
ДЕРЕКТЕР ҚОРЫНЫҢ ТЕОРИЯСЫ
Жартылай өткізгішті кристалдарды өндіруде өндіріс процесін басқаруды автоматтандыру
Банктің корпоративтік клиенттерімен жүргізетін операцияларын басқарудың ақпараттық жүйесін тұрғызу
Вуздағы кафедра құжат айналымын DELPHI көмегімен дамытуды ұйымдастыру
Химиялық кинетика және катализ пәнінен ДӘРІСТЕР ЖИНАҒЫ