metBD (1084482), страница 10

Файл №1084482 metBD (Учебное пособие) 10 страницаmetBD (1084482) страница 102018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

(R  S)  T = S  (R  T)

3.4 Реляционное исчисление

В выражениях реляционной алгебры всегда явно задается некий порядок, а также подразумевается некая стратегия оценки запроса. В реляционном исчислении не существует никакого описания оценки запроса, поскольку в запросе реляционного исчисления указывается, что следует извлечь, а не как.

Название «Реляционное исчисление» произошло от части символьной логики, которая называется исчислением предикатов. В контексте баз данных оно существует в двух формах: в форме реляционного исчисления кортежей и в форме реляционного исчисления доменов.

В логике первого порядка или теории исчисления предикатов под предикатом подразумевается истинностная функция с аргументами. При подстановке вместо аргументов значений функция становится выражением, называемым суждением, которое может быть истинным или ложным.

Если предикат содержит переменную, то у этой переменной должна быть соответствующая область определения.

Если Р - предикат, то множество всех значений переменной х, при которых суждение Р становится истинным, можно символически записать следующим образом:

{х | Р(х)}

Предикаты могут соединяться с помощью логических операторов AND, OR, NOT с образованием составных предикатов.

Реляционное исчисление кортежей

В реляционном исчислении кортежей задача состоит в нахождении таких кортежей, для которых предикат является истинным. Это исчисление основано на переменных кортежа. Переменными кортежа являются такие переменные. Областью определения которых является указанное отношение – т.е. переменные, для которых допустимые значения могут быть только кортежи данного отношения. Понятие «область определения» в данном случае относится не к используемому диапазону значений, а к домену, на котором определены эти значения.

Например, для указания отношения Staff в качестве области определения переменной кортежа S используется следующая форма записи:

RANG OF S IS Saff

Кроме того. Запрос «найти множество всех кортежей S, для которых Р(S) является истинным» можно записать следующим образом:

(S | P(S))

Здесь предикат Р называется формулой.

Для указания количества экземпляров, к которым должен быть применен предикат, в формулах могут использоваться два типа кванторов. Квантор существования - и квантор общности - .

Переменные кортежа называются свободными переменными, если они не квалифицируются кванторами или , в противном случае они называются связанными переменными.

Не каждая последовательность формул является допустимой. Допустимыми формулами могут быть только недвусмысленные и небессмысленные последовательности. Формула (или правильно построенная формула) в исчислении предикатов определяется следующими правилами.

  • Если Р является n-арной формулой, а t1, t2,...,tn – это константы или переменные, то выражение Р(t1,t2,...,tn) является правильно построенной формулой.

  • Если t1 и t2 являются константами или переменными из одного домена, а  представляет собой один из операторов сравнения, то выражение t1  t2 является правильно построенной формулой.

  • Если выражения F1 и F2 являются формулами, то их конъюнкция обозначается как F1 ^ F2, дизъюнкция – F1 V F2 и отрицание – как – F1.

  • Если выражение F1 является формулой со свободной переменной Х, то выражение (X) и F(X) также являются формулами.

Примеры. Реляционное исчисление кортежей.

    1. Создать список всех менеджеров, зарплата которых превышает 3000 руб

RANG of S is «Персонал»

{S.ФИО | S.должность = «Менеджер» ^ S.оклад > 3000 }

    1. Создать список всех сотрудников, которые отвечают за работу с объектами недвижимости в Воронеже.

RANG of S is «Персонал»

RANG of P is «Объекты»

{S | P (P.личн№ = S.№сотрудника ) ^ P.город = «Воронеж»}

Атрибут «№ сотрудника» в отношении «Объекты» содержит номер того сотрудника, который отвечает за работу с данным объектом недвижимости. Этот запрос можно сформулировать иначе: «Для всех сотрудников, данные о которых нужно привести в списке, в отношении «Объекты» имеются кортежи, соответствующие этим сотрудникам, причем значение атрибута «Город» в каждом таком кортеже равно «Воронеж».

3. Создайте список всех сотрудников, которые в данный момент не работают с объектами недвижимости.

RANG of S is «Персонал»

RANG of P is «Объекты»

{S.ФИО | -( P (P.личн№ = S.№сотрудника ))}

4. Создать список всех клиентов, осматривавших объекты недвижимости в городе Воронеже, с указанием их имен и комментариев, сделанных по поводу проведенного осмотра

RANG of R is «Арендатор»

RANG of P is «Объекты»

RANG of V is «Осмотр»

{R.ФИО, V.комментарии | V (R.№ = V.№арендатора ) ^ (V.№объекта = P.№объекта ^ P.город = «Воронеж»)}

Реляционное исчисление доменов.

В реляционном исчислении доменов используются переменные, значения которых берутся из доменов, а не из кортежей отношений. Если P(d1, d2,...,dn) обозначает предикат с переменными d1, d2,...,dn , то множество всех переменных домена d1, d2,...,dn, для которых предикат или формула P(d1, d2,...,dn) истинны, обозначается следующим выражением:

{d1, d2,...,dn | P(d1, d2,...,dn) }

В реляционном исчислении доменов зачастую требуется проверить условие принадлежности, чтобы определить, принадлежит ли значение указанному отношению. Выражение R(x, y) считается истинным тогда и только тогда, когда в отношении R имеется кортеж со значениями x и y в двух его атрибутах.

Пример. Реляционное исчисление доменов.

1. Найдите имена всех менеджеров, оклад которых превышает 3000 руб.

{фамилия, имя, отчество | должность, оклад (Персонал(фамилия, должность, оклад) ^ должность = «Менеджер» ^ оклад > 3000)}

2. Создать список всех сотрудников, которые отвечают за работу с объектами недвижимости в Воронеже.

{фамилия, имя, отчество | личный № Персонал(личный № , фамилия, имя, отчество) ^ город (Объекты (№ объекта, личный № ) ^ город = «Воронеж»)}

Эти запросы безопасны, и, если реляционное исчисление доменов ограничивается только такими выражениями, оно эквивалентно реляционному исчислению кортежей, ограниченному только безопасными выражениями, которое, в свою очередь, эквивалентно реляционной алгебре. Это означает, что для каждого выражения реляционной алгебры существует эквивалентное выражение реляционного исчисления, а для каждого выражения реляционного исчисления доменов или кортежей существует эквивалентное выражение реляционной алгебры.

3.5 Задания для самостоятельной работы

Задание 1.

Даны отношения, моделирующие работу банка и его филиалов. Клиент может иметь несколько счетов, при этом они могут быть размещены как в одном, так и в разных филиалах банка. В отношении R1 содержится информация обо всех клиентах и их счетах в филиалах нашего банка. Каждый клиент, в соответствии со своим счетом, может рассчитывать на некоторый кредит от нашего банка, сумма допустимого кредита также зафиксирована.

Таблица 22

R1

Ф ИО клиента

№ филиала

№ счета

Остаток

Кредит

Таблица 23

R2

№ филиала

Район

1) Использованием языка реляционной алгебры составить запросы, позволяющие не выбрать:

2) Филиалы, клиенты которых имеют счета с остатком, превышающим $1000.

3) Клиентов, которые имеют счета во всех филиалах данного банка.

4) Клиентов, которые имеют только по одному счету в разных филиалах банка. То есть в общем у этих клиентов может быть несколько счетов, но в одном филиале не более одного счета.

5) Клиенты, которые имеют счета в нескольких филиалах банка, расположенных только в одном районе.

6) Филиалы, которые не имени ни одного клиента.

7) Филиалы, которые имеют клиентов с остатком на счету 0 (ноль).

8) Филиалы, у которых есть клиенты с кредитом, превышающим остаток на счету в 2 раза.


Задание 2.

Дины отношения, моделирующие работу международной фирмы, имеющей несколько филиалов. Филиалы фирмы могут быть расположены в разных странах, это отряжено в отношении R1. Клиенты фирмы также могут быть из разных стран, и это отражено в отношении R4. По каждому конкретному заказу клиент мог заказать несколько разных товаров.

Таблица 24

R1

Филиал

Страна

Таблица 25

R2

Филиал

Заказчик

№ заказа

Таблица 26

R3

№ заказа

Товар

Количество

Таблица 27

R4

Заказчик

Страна


С использованием реляционной алгебры составить запросы, позволяющие выбрать:

1) Заказчиков, которые работают со всеми филиалами фирмы, но покупают только один товар.

2) Филиалы фирмы, которые торгуют всеми товарами.

3) Товары, которые работают с филиалами фирмы, которые расположены только в одной стране.

4) Заказчиков, которые работают с филиалами фирмы, которые расположены только в одной стране.

5) Филиалы, с которыми не работает ни один заказчик.

6) Заказчиков, которые работают только с филиалами, расположенными в той же стране, что и заказчик.

7) Заказчиков, которые покупают все товары, представленные в отношении R3.

Задание 3.

Д аны отношения, моделирующие работу фирмы, занимающейся разработкой программных систем. Каждый сотрудник административно закреплен только за одним отделом. Файлы хранятся на разных серверах. На разных серверах файлы могут иметь одинаковые имена. Создатель файла является его владельцем, поэтому у каждого файла только один владелец, но владелец файла может разрешить пользоваться файлом другим сотрудникам. Существует множество системного программного обеспечения, каждая программа может работать с од­ним или с несколькими файлами, расположенными на одном или нескольких серверах.

Таблица 28 Таблица 29

R1

R4

Название файла

Имя владельца файла

Сотрудник

Отдел

Таблица 30

R2

Название программы

Название файла

Сервер

Таблица 31

R3

Название файла

Название сервера

С использованием реляционной алгебры составить запросы, позволяю­щие выбрать:

1) Файлы, которые имеют нескольких пользователей из разных отделов.

2) Программы, которые работают только с одним файлом.

3) Файлы, которые имеют одно и тоже имя, но расположены на различных сер­верах и используются сотрудниками разных отделов.

4 ) Файлы, с которыми работают сотрудники всех отделов.

5) Файлы, пользователями которых являются сотрудники только одного отдела.

6) Программы, которые работают со всеми серверами.

7) Отделы, сотрудники которых не работают ни с одним файлом. То есть отделы, в которых нет ни одного сотрудника, работающего с каким-нибудь фай­лом.

8) Отделы, сотрудники которых работают со всеми серверами.

9) Серверы, с которыми работают сотрудники только одного отдела.

4. ЗАДАЧИ И ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ. ИСПОЛЬЗОВАНИЕ НОРМАЛЬНЫХ ФОРМ ПРИ ПРОЕКТИРОВАНИИ ПРИЛОЖЕНИЙ В РЕЛЯЦИОННЫХ СУБД. ЭТАПЫ НОРМАЛИЗАЦИИ ОТНОШЕНИЙ. МЕТОДОЛОГИИ ПРОЕКТИРОВАНИЯ

4.1 Этапы проектирования баз данных

Проектирование реляционных БД на основе принципов нормализации.

Что такое проект? Это схема - эскиз некоторого устройства, который в дальнейшем будет воплощен в реальность. Что такое проект реляционной базы данных? Это набор взаимосвязанных отношений, в которых определены все атрибуты, заданы первичные ключи отношений и заданы еще некоторые дополнительные свойства отношений, которые относятся к принципам поддержки целостности. Почему именно взаимосвязанных отношений? Потому что при выполнении запросов мы производим объединение отношений и одни и те же значения должны в разных отношениях-таблицах обозначаться одинаково. Действительно, если мы в одной таблице оценки будем обозначать цифрами, а в другой словами «отлично», «хорошо» и т. д., то мы не сможем объединить эти таблицы по столбцу Оценка, хотя по смыслу это для нас одно и то же, но то, что интуитивно понятно человеку, совсем не понятно «умному» компьютеру. Это проблема систем с искусственным интеллектом, которые могут решать весьма сложные интеллектуальные задачи, трудные для рядового инженера, но иногда пасуют перед простейшими интуитивными ассоциациями, понятными любому школьнику. И это необходимо учитывать. Поэтому проект базы данных должен быть очень точен и выверен. Фактически проект базы данных – это фундамент будущего программного комплекса, который будет использоваться достаточно долго и многими пользователями. И как в любом здании, можно достраивать мансарды, переделывать крышу, можно даже менять окна, но заменить фундамент, не разрушив всего здания, невозможно. Этапы жизненного цикла базы данных изображены на рис. 1. Они аналогичны, в основном, развитию любой программной системы, однако в них есть определенная специфика, касающаяся только баз данных. Более подробно мы будем рассматривать этапы жизненного цикла БД в следующих разделах учебного пособия.

Проектирование БД


Характеристики

Тип файла
Документ
Размер
1,9 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее