Цель лекции: рассмотреть формализованное описание реляционной модели и операций манипулирования данными как основу для использования математических методов проектирования баз данных и основу создания
Как уже отмечалось в п. 6.2.3, реляционная модель описывает представление данных в виде двумерной таблицы, называемой
Пусть A1, A2, ..., An имена Ai соответствует допустимое множество значений, которые может принимать Ai. Это множество значений Di называется Ai, i=. По определению, Di соответствует множество значений, стоящих в столбце Ai рассматриваемой таблицы.
Схемой отношения R {A1, A2, ..., An} называется конечное множество имен атрибутов {A1, A2, ..., An}, причем атрибут Ai принимает значение из множества Di (i=1, 2, ..., n), где n – арность отношения.
Понятию
Пусть $$D = D_{1}\cup D_{2}\cup \dots \cup D_{n}$$.
r со схемой R называется конечное множество отображений {t1, t2, ..., tp} из множества R: {A1, A2, ..., An} в множество $$D:\{ D_{1}\cup D2\cup \dots \cup D_{n}\}$$, таких, что $$t_{k}(A_{i}) \in D_{i}, k=\overline{1,p}; i=\overline{1,n}$$.
Отображение tk называется k -м кортежем, n – размерность кортежа.
Понятию k -го кортежа соответствует множество значений, стоящих в k -й строке рассматриваемой таблицы.
Понятию отношения r соответствует множество значений, стоящих во всех строках рассматриваемой таблицы.
r со схемой R называется минимальное подмножество $$K = \{ A_{i1}, A_{i2}, \dots , A_{im}\} \subseteq \{ A_{1}, A_{2}, \dots , A_{n}\}$$, где $$\{ i_{1}, i_{2}, \dots ,i_{m}\} \subseteq \{ 1, 2, \dots , n\}$$, такое, что любые два различных кортежа $$t_{1}, t_{2} \in r (t_{1} \ne t_{2})$$ не совпадают по значениям множества K ={Ai1, Ai2, ..., Aim}.
Возможны случаи, когда r имеет несколько ключей. Такие K, чтобы однозначно его идентифицировать. Ключ используется для представления связей между отношениями. С этой целью первичный ключ одного отношения включается в структуру (набор атрибутов) связанного с ним отношения. Для второго отношения соответствующий ключ называется внешним ключом.
Совокупность схем отношений, используемых для представления концептуальной модели, называется схемой реляционной базы данных (реляционной моделью данных). Текущие значения соответствующих отношений называются реляционной базой данных.
Выпишем A1 – код студента, A2 – фамилия, A3 – дата рождения, A4 – место рождения, A5 – номер факультета, A6 – название факультета, A7 – номер специальности, A8 – название специальности. Обозначим схему отношения СТУДЕНТ как R1, ФАКУЛЬТЕТ как R2, СПЕЦИАЛЬНОСТЬ как R3, СТУДЕНТ УЧИТСЯ НА ФАКУЛЬТЕТЕ как R4, СТУДЕНТ УЧИТСЯ ПО СПЕЦИАЛЬНОСТИ как R5, НА ФАКУЛЬТЕТЕ ИМЕЮТСЯ СПЕЦИАЛЬНОСТИ как R6.
Тогда реляционная модель соответствующего примера описывается следующей совокупностью схем отношений:
R1(A1, A2, A3, A4) R2(A5, A6) R3(A7, A8) R4(A1, A5) R5(A1, A7) R6(A5, A7)
Напомним, что понятие
r1, r2, r3, r4, r5, r6,
Отметим следующие свойства отношения:
Для манипулирования данными в реляционной модели используются два формальных аппарата:
Механизмы
Отличаются два этих формальных аппарата уровнем процедурности. Выражения
Для формулы
Операции, реализуемые с помощью указанных аппаратов, обладают важным свойством: они замкнуты на множестве отношений. Это означает, что выражения
Как мы увидим, алгебра и исчисление обладают большой выразительной мощностью, очень сложные запросы к базе данных могут быть выражены с помощью одного выражения
Заметим, что крайне редко алгебра или исчисление принимаются в качестве полной основы какого-либо языка БД. Обычно (как, например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее знание алгебраических и логических основ языков баз данных часто бывает полезно на практике.
Объединением отношений r и s называется множество кортежей, которые принадлежат или r, или s, или им обоим. Для операции объединения требуется одинаковая арность отношений.
Для примера, пусть
| r | s | |||||
|---|---|---|---|---|---|---|
| a | b | a | b | g | a | |
| d | a | f | d | a | f | |
| c | b | d | ||||
тогда
| $$r \cup s$$ | ||
|---|---|---|
| a | b | a |
| d | a | f |
| c | b | d |
| b | g | a |
Заметим, что с помощью операции объединения может быть реализовано добавление нового кортежа к имеющемуся отношению. В этом случае r – исходное s –
r – s
r и s называется множество кортежей, принадлежащих r, но не принадлежащих s. Для этой операции также требуется одинаковая арность отношений.
r - s | ||
|---|---|---|
| a | b | a |
| c | b | d |
Заметим, что с помощью r – исходное s –
r x s
Пусть r и s – отношения k1 и k2 соответственно. r x s называется множество кортежей длины k1+k2, первые k1 компонентов которых образуют кортежи, принадлежащие r, а последние k2 – кортежи, принадлежащие s.
r x s | |||||
|---|---|---|---|---|---|
| a | b | a | b | g | a |
| a | b | a | d | a | f |
| d | a | f | b | g | a |
| d | a | f | d | a | f |
| c | b | d | b | g | a |
| c | b | d | d | a | f |
Ai1, Ai2, ..., Aim.
Другими словами, это операция построения "вертикального" подмножества, получаемого путем выбора определенных атрибутов и исключения остальных. Повторяющиеся кортежи исключаются.
| $$\pi _{1,3}(r)$$ | |
|---|---|
| a | a |
| d | f |
| c | d |
Выбор (
Пусть F – формула, образованная: операндами, являющимися константами или именами атрибутов, F.
| $$\sigma _{(1)=(3)}(r)=$$ | a | b | a |
Здесь F:(1)=(3) – содержимое первого столбца равно содержимому третьего столбца.
Приведем ряд примеров представления запросов с помощью формальных операций для реляционной модели (СТУДЕНТ, ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТЬ), рассмотренной выше.
Пример 1.
Сформировать список студентов (фамилия).
Рассмотрим схему отношения СТУДЕНТ.
А2 Для ответа на запрос необходимо взять проекцию отношения r1 на столбец А2.
$$\pi _{A2}(r1)$$
Пример 2.
Выдать список фамилий и дат рождений студентов, которым на текущую дату (date) больше 35 лет.
Рассмотрим то же r1. Сначала выбираем студентов, которым больше 35 лет:
Затем берем проекцию полученного отношения на столбцы
$$\pi _{A1,A3}(\sigma _{(A3)+35<date}(r1))$$
Заметим, что можно было бы выполнить эти две операции в другой последовательности – сначала
Пример 3.
Выдать список фамилий студентов, обучающихся по специальности "Информационные технологии". Название специальности является атрибутом отношения r3. Если бы в этом отношении присутствовал r5 присутствует r1. Для ответа на этот запрос необходимо связывать по "код студента" r3 и r1.
Сначала выберем из отношения r3 кортежи с названием специальности "Информационные технологии". Обозначим полученное rp1. (Дальнейшие промежуточные отношения будем обозначать последовательно rp1, rp2, rp3 и т.д.).
$$rp1=\sigma _{(A8)="Информационныетехнологии"}(r3)$$
Далее нас будет интересовать только A1 – "код студента". Поэтому возьмем проекцию на эти столбцы.
$$rp2\pi _{A1}(rp1)$$.
Далее необходимо связать отношения r1 и rp2 (склеить таблицы). Для склейки таблиц используется операция
rp3=r1xrp2
В отношении r3 присутствуют два одинаковых столбца: A1 из отношения r1 и A1 из отношения rp2. Выбирая из отношения rp3 строки, в которых значения в соответствующих столбцах совпадают, получим сведения о студентах, обучающихся по специальности "Информационные технологии"
$$rp4=\sigma _{(A1*r1)=(A1*rp2)}(rp3)$$,
где A1 * r1 и A1 * rp2 обозначают соответственно столбец A1 соответствующей первой и второй составной части
$$rp5=\pi _{A1}(rp4)$$
Получаем требуемый результат. Заметим, что для экономии действий и памяти, перед тем как склеивать таблицы, целесообразно было сделать r1 на столбцы A1, A2. (чтобы не включать в
Введенные пять основных
r и s называется множество кортежей, принадлежащих как r, так и s.
$$\theta$$
$$\theta$$ -соединение r и s по столбцам Ai и Aj представляет собой множество таких кортежей в r и s, что i -й компонент r находится в отношении $$\theta$$ c j -м компонентом s, где $$\theta$$ –

где l – арность отношения r.
Пример.
| r | s | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 3 | 1 | |
| 4 | 5 | 6 | 6 | 2 | |
| 7 | 8 | 9 | |||
![]() | ||||
|---|---|---|---|---|
| 1 | 2 | 3 | 3 | 1 |
| 1 | 2 | 3 | 6 | 2 |
| 4 | 5 | 6 | 6 | 2 |
Заметим, что в примере 3 две последовательно идущие операции (

Операция применима тогда и только тогда, когда столбцы имеют имена (являются атрибутами). Операция применима к отношениям, у которых есть одинаковые атрибуты.
Пусть
r = (A1, ..., Ak, B1,..., Bn), s = (A1, ..., Ak, C1,..., Cm),
имена A1, ..., Ak совпадают.
Тогда
определяется следующим образом

Для подчеркивания важности приведенных
Краткие итоги: В лекции рассматриваются вопросы, связанные с формализацией наиболее распространенной в настоящее время
Вопросы, рассматриваемые в данной лекции, более подробно описаны в [-].
Цель лекции: рассмотреть формализованное описание реляционной модели и операций манипулирования данными как основу для использования математических методов проектирования баз данных и основу создания
Как уже отмечалось в п. 6.2.3, реляционная модель описывает представление данных в виде двумерной таблицы, называемой
Пусть A1, A2, ..., An имена Ai соответствует допустимое множество значений, которые может принимать Ai. Это множество значений Di называется Ai, i=. По определению, Di соответствует множество значений, стоящих в столбце Ai рассматриваемой таблицы.
Схемой отношения R {A1, A2, ..., An} называется конечное множество имен атрибутов {A1, A2, ..., An}, причем атрибут Ai принимает значение из множества Di (i=1, 2, ..., n), где n – арность отношения.
Понятию
Пусть $$D = D_{1}\cup D_{2}\cup \dots \cup D_{n}$$.
r со схемой R называется конечное множество отображений {t1, t2, ..., tp} из множества R: {A1, A2, ..., An} в множество $$D:\{ D_{1}\cup D2\cup \dots \cup D_{n}\}$$, таких, что $$t_{k}(A_{i}) \in D_{i}, k=\overline{1,p}; i=\overline{1,n}$$.
Отображение tk называется k -м кортежем, n – размерность кортежа.
Понятию k -го кортежа соответствует множество значений, стоящих в k -й строке рассматриваемой таблицы.
Понятию отношения r соответствует множество значений, стоящих во всех строках рассматриваемой таблицы.
r со схемой R называется минимальное подмножество $$K = \{ A_{i1}, A_{i2}, \dots , A_{im}\} \subseteq \{ A_{1}, A_{2}, \dots , A_{n}\}$$, где $$\{ i_{1}, i_{2}, \dots ,i_{m}\} \subseteq \{ 1, 2, \dots , n\}$$, такое, что любые два различных кортежа $$t_{1}, t_{2} \in r (t_{1} \ne t_{2})$$ не совпадают по значениям множества K ={Ai1, Ai2, ..., Aim}.
Возможны случаи, когда r имеет несколько ключей. Такие K, чтобы однозначно его идентифицировать. Ключ используется для представления связей между отношениями. С этой целью первичный ключ одного отношения включается в структуру (набор атрибутов) связанного с ним отношения. Для второго отношения соответствующий ключ называется внешним ключом.
Совокупность схем отношений, используемых для представления концептуальной модели, называется схемой реляционной базы данных (реляционной моделью данных). Текущие значения соответствующих отношений называются реляционной базой данных.
Выпишем A1 – код студента, A2 – фамилия, A3 – дата рождения, A4 – место рождения, A5 – номер факультета, A6 – название факультета, A7 – номер специальности, A8 – название специальности. Обозначим схему отношения СТУДЕНТ как R1, ФАКУЛЬТЕТ как R2, СПЕЦИАЛЬНОСТЬ как R3, СТУДЕНТ УЧИТСЯ НА ФАКУЛЬТЕТЕ как R4, СТУДЕНТ УЧИТСЯ ПО СПЕЦИАЛЬНОСТИ как R5, НА ФАКУЛЬТЕТЕ ИМЕЮТСЯ СПЕЦИАЛЬНОСТИ как R6.
Тогда реляционная модель соответствующего примера описывается следующей совокупностью схем отношений:
R1(A1, A2, A3, A4) R2(A5, A6) R3(A7, A8) R4(A1, A5) R5(A1, A7) R6(A5, A7)
Напомним, что понятие
r1, r2, r3, r4, r5, r6,
Отметим следующие свойства отношения:
Для манипулирования данными в реляционной модели используются два формальных аппарата:
Механизмы
Отличаются два этих формальных аппарата уровнем процедурности. Выражения
Для формулы
Операции, реализуемые с помощью указанных аппаратов, обладают важным свойством: они замкнуты на множестве отношений. Это означает, что выражения
Как мы увидим, алгебра и исчисление обладают большой выразительной мощностью, очень сложные запросы к базе данных могут быть выражены с помощью одного выражения
Заметим, что крайне редко алгебра или исчисление принимаются в качестве полной основы какого-либо языка БД. Обычно (как, например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее знание алгебраических и логических основ языков баз данных часто бывает полезно на практике.
Объединением отношений r и s называется множество кортежей, которые принадлежат или r, или s, или им обоим. Для операции объединения требуется одинаковая арность отношений.
Для примера, пусть
| r | s | |||||
|---|---|---|---|---|---|---|
| a | b | a | b | g | a | |
| d | a | f | d | a | f | |
| c | b | d | ||||
тогда
| $$r \cup s$$ | ||
|---|---|---|
| a | b | a |
| d | a | f |
| c | b | d |
| b | g | a |
Заметим, что с помощью операции объединения может быть реализовано добавление нового кортежа к имеющемуся отношению. В этом случае r – исходное s –
r – s
r и s называется множество кортежей, принадлежащих r, но не принадлежащих s. Для этой операции также требуется одинаковая арность отношений.
r - s | ||
|---|---|---|
| a | b | a |
| c | b | d |
Заметим, что с помощью r – исходное s –
r x s
Пусть r и s – отношения k1 и k2 соответственно. r x s называется множество кортежей длины k1+k2, первые k1 компонентов которых образуют кортежи, принадлежащие r, а последние k2 – кортежи, принадлежащие s.
r x s | |||||
|---|---|---|---|---|---|
| a | b | a | b | g | a |
| a | b | a | d | a | f |
| d | a | f | b | g | a |
| d | a | f | d | a | f |
| c | b | d | b | g | a |
| c | b | d | d | a | f |
Ai1, Ai2, ..., Aim.
Другими словами, это операция построения "вертикального" подмножества, получаемого путем выбора определенных атрибутов и исключения остальных. Повторяющиеся кортежи исключаются.
| $$\pi _{1,3}(r)$$ | |
|---|---|
| a | a |
| d | f |
| c | d |
Выбор (
Пусть F – формула, образованная: операндами, являющимися константами или именами атрибутов, F.
| $$\sigma _{(1)=(3)}(r)=$$ | a | b | a |
Здесь F:(1)=(3) – содержимое первого столбца равно содержимому третьего столбца.
Приведем ряд примеров представления запросов с помощью формальных операций для реляционной модели (СТУДЕНТ, ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТЬ), рассмотренной выше.
Пример 1.
Сформировать список студентов (фамилия).
Рассмотрим схему отношения СТУДЕНТ.
А2 Для ответа на запрос необходимо взять проекцию отношения r1 на столбец А2.
$$\pi _{A2}(r1)$$
Пример 2.
Выдать список фамилий и дат рождений студентов, которым на текущую дату (date) больше 35 лет.
Рассмотрим то же r1. Сначала выбираем студентов, которым больше 35 лет:
Затем берем проекцию полученного отношения на столбцы
$$\pi _{A1,A3}(\sigma _{(A3)+35<date}(r1))$$
Заметим, что можно было бы выполнить эти две операции в другой последовательности – сначала
Пример 3.
Выдать список фамилий студентов, обучающихся по специальности "Информационные технологии". Название специальности является атрибутом отношения r3. Если бы в этом отношении присутствовал r5 присутствует r1. Для ответа на этот запрос необходимо связывать по "код студента" r3 и r1.
Сначала выберем из отношения r3 кортежи с названием специальности "Информационные технологии". Обозначим полученное rp1. (Дальнейшие промежуточные отношения будем обозначать последовательно rp1, rp2, rp3 и т.д.).
$$rp1=\sigma _{(A8)="Информационныетехнологии"}(r3)$$
Далее нас будет интересовать только A1 – "код студента". Поэтому возьмем проекцию на эти столбцы.
$$rp2\pi _{A1}(rp1)$$.
Далее необходимо связать отношения r1 и rp2 (склеить таблицы). Для склейки таблиц используется операция
rp3=r1xrp2
В отношении r3 присутствуют два одинаковых столбца: A1 из отношения r1 и A1 из отношения rp2. Выбирая из отношения rp3 строки, в которых значения в соответствующих столбцах совпадают, получим сведения о студентах, обучающихся по специальности "Информационные технологии"
$$rp4=\sigma _{(A1*r1)=(A1*rp2)}(rp3)$$,
где A1 * r1 и A1 * rp2 обозначают соответственно столбец A1 соответствующей первой и второй составной части
$$rp5=\pi _{A1}(rp4)$$
Получаем требуемый результат. Заметим, что для экономии действий и памяти, перед тем как склеивать таблицы, целесообразно было сделать r1 на столбцы A1, A2. (чтобы не включать в
Введенные пять основных
r и s называется множество кортежей, принадлежащих как r, так и s.
$$\theta$$
$$\theta$$ -соединение r и s по столбцам Ai и Aj представляет собой множество таких кортежей в r и s, что i -й компонент r находится в отношении $$\theta$$ c j -м компонентом s, где $$\theta$$ –

где l – арность отношения r.
Пример.
| r | s | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 3 | 1 | |
| 4 | 5 | 6 | 6 | 2 | |
| 7 | 8 | 9 | |||
![]() | ||||
|---|---|---|---|---|
| 1 | 2 | 3 | 3 | 1 |
| 1 | 2 | 3 | 6 | 2 |
| 4 | 5 | 6 | 6 | 2 |
Заметим, что в примере 3 две последовательно идущие операции (

Операция применима тогда и только тогда, когда столбцы имеют имена (являются атрибутами). Операция применима к отношениям, у которых есть одинаковые атрибуты.
Пусть
r = (A1, ..., Ak, B1,..., Bn), s = (A1, ..., Ak, C1,..., Cm),
имена A1, ..., Ak совпадают.
Тогда
определяется следующим образом

Для подчеркивания важности приведенных
Краткие итоги: В лекции рассматриваются вопросы, связанные с формализацией наиболее распространенной в настоящее время
Вопросы, рассматриваемые в данной лекции, более подробно описаны в [-].
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.