Учебная дисциплина «Базы данных» для студентов специальности Прикладная информатика (бакалавриат) 080800.62 ЛЕКЦИЯ №4 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос 1. Основные понятия реляционных баз данных. Вопрос 2. Фундаментальные свойства отношений. Вопрос 3. Реляционная модель данных. Литература 1. Базы данных: учеб. Пособие для студ. высш. учеб. Заведений / А.В. Кузин, С.В. Левонисова. – 2-е изд. стер. – М.: Издательский центр «Академия», 2008. 2. Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. –М.: Финансы и статистика, 2006. 3. Теория и практика построения баз данных. 8е изд. / Д. Крёнке. –СПб: Питер, 2003. Рис. 1. Соотношение основных понятий реляционного подхода Традиционное (нестрогое) определение типа данных состоит из трех основных компонентов: 1) определение множества значений данного типа; 2) определение набора операций, применимых к значениям типа; 3) определение способа внешнего представления значений типа (литералов). В примере на рис. 1 мы имеем дело с данными трех типов: строки символов, целые числа и «деньги». Домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу этого типа данных (ограничения домена). Элемент данных является элементом домена в том и только в том случае, если вычисление этого логического выражения дает результат истина (для логических значений попеременно используются обозначения истина и ложь или true и false). Отношения является наиболее фундаментальным в реляционном подходе к организации баз данных, поскольку n-арное отношение является единственной родовой структурой данных, хранящихся в реляционной базе данных. Заголовком (или схемой) отношения r (Hr) называется конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида <A, T, v>. Телом Br отношения r называется произвольное множество кортежей tr. Значением Vr отношения r называется пара множеств Hr и Br. Переменной VARr называется именованный контейнер, который может содержать любое допустимое значение Vr. Степенью, или «арностью», заголовка отношения, кортежа, соответствующего этому заголовку, тела отношения, значения отношения и переменной отношения является мощность заголовка отношения. Реляционная база данных – это набор пар <VARr, Hr> (конечно, каждая переменная отношения в любой момент времени содержит некоторое значение-отношение, в частности, пустое). Первичным ключом переменной отношения является такое подмножество S множества атрибутов ее заголовка, что в любое время значение первичного ключа (составное, если в состав первичного ключа входит более одного атрибута) в любом кортеже тела отношения отличается от значения первичного ключа в любом другом кортеже тела этого отношения, а никакое собственное подмножество S этим свойством не обладает. Представлением отношения является таблица, заголовком которой является схема отношения, а строками – кортежи отношения-экземпляра; в этом случае имена атрибутов соответствуют именам столбцов данной таблицы. Поэтому иногда говорят про «столбцы таблицы», имея в виду «атрибуты отношения». Иногда также используются термины файл как аналог таблицы, запись как аналог строки и поле как аналог столбца. Рис. 2. Ненормализованное отношение ОТДЕЛЫ-СЛУЖАЩИЕ Рис. 3. Отношение СЛУЖАЩИЕ: нормализованный вариант отношения ОТДЕЛЫ-СЛУЖАЩИЕ Если a – это значение некоторого типа данных или NULL, op – любая двуместная «арифметическая» операция этого типа данных (например, +), а lop – операция сравнения значений этого типа (например, =), то по определению: a op NULL = NULL NULL op a = NULL a lop NULL = unknown NULL lop a = unknown Здесь unknown – это третье значение логического, или булевского, типа, обладающее следующими свойствами: NOT unknown = unknown true AND unknown = unknown true OR unknown = true false AND unknown = false false OR unknown = unknown Требование целостности сущности — означает, что первичный ключ должен полностью идентифицировать каждую сущность, а поэтому в составе любого значения первичного ключа не допускается наличие неопределенных значений. Требование целостности по ссылкам (referential integrity) – означает, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование целостности внешнего ключа, состоит в том, что для каждого значения внешнего ключа, появляющегося в кортеже значенияотношения ссылающейся переменной отношения, либо в значении-отношении переменной отношения, на которую указывает ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть полностью неопределенным (т. е. ни на что не указывать) Таблица истинности операций AND (& – конъюнкция), OR ( – дизъюнкция) и NOT (¬ – отрицание): Контрольные вопросы 1. Приведите традиционное (нестрогое) определение типа данных. 2. Дайте понятие домена, элемента данных и отношения. 3. Дайте понятие заголовка, кортежа, тела, значения отношения. 4. Дайте понятие переменной и степени заголовка. 5. Дайте понятие реляционной базы данных и первичного ключа. 6. Поясните базовые требования реляционной модели данных: целостности сущности и целостности по ссылкам.