Главная » Просмотр файлов » 1626434760-4c9f92f9ed5188f8fc024fed893742bb

1626434760-4c9f92f9ed5188f8fc024fed893742bb (844133), страница 14

Файл №844133 1626434760-4c9f92f9ed5188f8fc024fed893742bb (Лекции Загорулько) 14 страница1626434760-4c9f92f9ed5188f8fc024fed893742bb (844133) страница 142021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Целевые списки и выраженияПравильно построенные формулы обеспечивает только средстваформулирования условий выборки кортежей из отношений БД.Для определения набора имен атрибутов результирующегоотношения служат целевые списки (target lists).Целевой список строится из целевых элементов следующего вида:x.attr, где x – имя свободной переменной из ППФ, а attr – имяатрибута отношения, на котором определена x;x, что эквивалентно наличию подсписка x.attr1 ... x.attrn, гдеattr1 ...

attrn включает все имена атрибутов определяющегоотношения;new_name = x.attr, где new_name – новое имя соответствующегоатрибута результирующего отношения.Последний элемент требуется, когда в ППФ используется несколькосвободных переменных с одинаковой областью определения.29Реляционное исчислениеВыражение реляционного исчисления имеет видtarget_list WHERE ППФ.Значением такого выражения является отношение, тело которогоопределяется ППФ, а набор атрибутов и их имена – целевымсписком target_list.Пример: пусть мы имеем БД со схемойСОТРУДНИКИ (Сотр_Ном, Сотр_Имя, Сотр_Зарп, Отд_Ном)ОТДЕЛЫ (Отд_Ном, Отд_Кол, Отд_Нач).Требуется выдать имена и номера сотрудников, являющихсяначальниками отделов с количеством сотрудников больше 50.30Реляционное исчислениеВ терминах реляционной алгебры потребовалось бы выполнитьследующую последовательность операций:1)выполнить соединение отношений СОТРУДНИКИ и ОТДЕЛЫпо условию Сотр_Ном = Отд_Нач;2) ограничить полученное отношение по условию Отд_Кол >50;3) спроецировать результат операции на атрибуты Сотр_Ном иСотр_Имя.В терминах реляционного исчисления этот же запрос выглядитследующим образом:SELECT СОТР.Сотр_Ном, СОТР.Сотр_Имя WHEREEXISTS ОТД (ОТД.Отд_Нач = СОТР.Сотр_НомAND ОТД.Отд_Кол > 50),где RANGE СОТР IS СОТРУДНИКИ, а RANGE ОТД IS ОТДЕЛЫ.31Реляционное исчисление3.

Особенности исчисления доменовВисчислении доменов областью определения переменнойявляются не отношения, а домены. Например, переменныеИМЯ и НОМ_СОТР могут быть определены на доменахсоответственно атрибутов Сотр_Имя и Сотр_Ном.Основным формальным отличием исчисления доменов отисчисления кортежей является наличие в ППФ дополнительныхпредикатов, позволяющих выражать условия членства. Востальном формулы и выражения исчисления доменов похожина формулы и выражения исчисления кортежей.32Реляционное исчислениеЕсли R – это n-арное отношение с атрибутами a1 , a2 ,...

an , тоусловие членства имеет видR ( a1 : v1 , a2 : v2 , ... am : vm ) (m <= n),где vi - константа или доменная переменная.Условие членства истинно, если в отношении R существуеткортеж, содержащий указанные значения атрибутов.Исчисление доменов проиллюстрируем на примере следующегозапроса: Выдать номера и имена сотрудников,получающих зарплату больше минимальной.33Реляционное исчислениеДля простоты будем считать, что мы определили доменныепеременные, имена которых совпадают с именами атрибутовотношения СОТРУДНИКИ; если требуется несколькодоменных переменных, определенных на одном и том жедомене, мы будем добавлять в конце их имени цифры.

Тогдазапрос будет иметь вид:SELECT Сотр_Ном, Сотр_Имя WHEREEXISTS Сотр_Зарп1 ( СОТРУДНИКИ (Сотр_Зарп1)AND СОТРУДНИКИ (Сотр_Ном, Сотр_Имя, Сотр_Зарп)AND Сотр_Зарп > Сотр_Зарп1).Заметим, что на исчислении доменов базировался известный языкQuery-by-Example.34Проектирование реляционных баз данныхПри проектировании базы данных решаются две основныепроблемы:1) каким образом отобразить объекты предметнойобласти (далее – ПО) в абстрактные объекты моделиданных, чтобы это отображение не противоречилосемантике ПО и было наиболее эффективным;2) как обеспечить эффективность хранения базыданных и выполнения запросов к ней, т.е.

какрасположить данные во внешней памяти, какиедополнительные структуры (например индексныефайлы) создать и т.п.Первая задача известна как проблема логическогопроектирования БД, а вторая задача – как проблемафизического проектирования БД.1Проектирование реляционных баз данныхМы будем рассматривать только проблему логическогопроектирования БД и будем считать, что проектирование БДзаключается в принятии следующих решений:1) из каких отношений должна состоять БД,2) какие атрибуты должны быть у этих отношений.Проектирование баз данных будет выполнятся с использованиемнормализации.2Проектирование реляционных баз данных1. Основные понятияТак как РБД включает только нормализованные отношения,первый шаг перехода к РБД есть представление данных в виденормализованных отношений.Полученное таким образом отношение уже находится в первойнормальной форме (далее – НФ). Будем ее обозначать как НФ-1.Дальнейший процесс нормализации состоит в том, что некоторыеотношения, заданные в НФ-1, "расщепляются" на более простые.Причем сначала получается вторая нормальная форма (далее –НФ-2), а затем и третья нормальная форма (далее – НФ-3),обладающая лучшими свойствами, чем НФ-2.3Проектирование реляционных баз данныхЗачем нужна нормализация?1.

Нормализация нужна потому, что ни первая, ни втораянормальные формы не обеспечивают сохранности отношенийпри изменениях БД.2. Нормализация позволяет минимизировать избыточностьданных и число выполняемых над ними операций.Основные свойства нормальных форм:1) каждая следующая НФ в некотором смысле лучшепредыдущей,2) при переходе к следующей НФ свойства предыдущей НФсохраняются.Понятие НФ основывается на фундаментальном для РБД понятиифункциональной зависимости. Дадим несколько определений.4Проектирование реляционных баз данныхОпределение 1.

Функциональная зависимость.В отношении R атрибут B функционально зависит от атрибута A(A и B могут быть составными), если каждому значению атрибута Aсоответствует в точности одно значение атрибута B, т.е. имеетместо отображение R.A → R.B.(Если известно значение атрибута A, можно получить значениеатрибута B.)Определение 2. Полная функциональная зависимость.Атрибут (набор атрибутов) B полностью зависит от другого набораатрибутов A отношения R, если B функционально зависит отвсего множества A, но не зависит ни от какого подмножества A.5Проектирование реляционных баз данныхОпределение 3.

Транзитивная функциональная зависимость.Функциональная зависимость R.A → R.C называется транзитивной,если в отношении R существует такой атрибут B, что имеютместо зависимости R.A → R.B и R.B → R.C.ABCОпределение 4. Неключевой атрибут.Неключевым (неосновным) называется атрибут, не входящий всостав первичного ключа.6Проектирование реляционных баз данныхПример 1.СЛУЖАЩИЙ (Номер Сл, Имя_Сл, Зарплата,Номер_Проекта, Дата_Окончания).Функциональные зависимости отношения СЛУЖАЩИЙ :Номер СлИмя_СлЗарплатаНомер_ПроектаДата_Окончания7Проектирование реляционных баз данныхПример 2.Рассмотрим отношение ДЕЯТЕЛЬНОСТЬ_ПРОГРАММИСТА,первичный ключ которого состоит из двух атрибутов.ДЕЯТЕЛЬНОСТЬ_ПРОГРАММИСТА(Номер Программиста, Номер Программы,Имя_Программиста, Имя_Программы,Количество_Рабочих_Часов).8Проектирование реляционных баз данныхФункциональные зависимости отношенияДЕЯТЕЛЬНОСТЬ_ПРОГРАММИСТА заданы в предположении,что среди программистов нет однофамильцев и что двепрограммы не могут иметь одинаковых имен.Номер ПрограммистаНомер ПрограммыИмя_ПрограммистаИмя_ПрограммыКоличество_Рабочих_Часов9Проектирование реляционных баз данныхКомментарий к примерам.1.

В примере 1 все неключевые атрибуты полностью зависят отключевых (элементов возможного ключа).2. В примере 2 неключевой атрибут Количество_Рабочих_Часовполностью зависит от нескольких пар атрибутов (от первичногоключа и других пар).3. В примере 1 атрибут Дата_Окончания транзитивно зависит отатрибута Номер_Сл.10Проектирование реляционных баз данных2. Вторая нормальная формаОпределение 5. Вторая нормальная форма.Отношение R находится во второй нормальной форме, если ононаходится в первой нормальной форме и каждый неключевойатрибут полностью зависит от первичного ключа.Если в отношении R ключ содержит один атрибут, то этоотношение уже задано в НФ-2.

(См. отношение СЛУЖАЩИЙ впримере 1.) Нарушение условий НФ-2 приводит к ряду неудобств.Пример 3.Рассмотрим отношениеСОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (Сотр Номер, Про Номер,Сотр_Зарп, Отд_Номер, Сотр_Задан)11Проектирование реляционных баз данныхФункциональные зависимости отношенияСОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫСотр НомерПро НомерСотр_ЗарпОтд_НомерСотр_Задан12Проектирование реляционных баз данныхВ отношении СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ неключевыеатрибуты Сотр_Зарп и Отд_Номер функционально зависят отчасти ключа, а именно от атрибута Сотр_Номер.В результате при выполнении операций возникают следующиесложности:1)нельзя вставить кортеж, описывающий сотрудника, еще невключенного ни в один проект, так как первичный ключ неможет содержать неопределенное значение;2) при удалении кортежа из отношения мы не только уничтожаемсвязь сотрудника с проектом, но и теряем информацию о егоотделе и зарплате;3) при переводе сотрудника в другой отдел потребуетсямодифицировать все кортежи, описывающие этого сотрудника.13Проектирование реляционных баз данныхЭти аномалии устраняются путем нормализации.

Можно,например, произвести следующую декомпозицию отношенияСОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ на два отношения:СОТРУДНИКИ-ОТДЕЛЫ (Сотр Номер, Сотр_Зарп, Отд_Номер)СОТРУДНИКИ-ПРОЕКТЫ (Сотр Номер, Про Номер, Сотр_Задан)Функциональные зависимости этих отношений:СОТРУДНИКИ-ОТДЕЛЫСОТРУДНИКИ-ПРОЕКТЫСотр НомерСотр НомерСотр_ЗарпПро НомерОтд_НомерСотр_Задан14Проектирование реляционных баз данных3. Третья нормальная формаОпределение 6.

Третья нормальная форма.Отношение R находится в третьей нормальной форме, если ононаходится во второй нормальной форме и каждый неключевойатрибут нетранзитивно зависит от первичного ключа.Если отношение содержит транзитивные зависимости, ихнеобходимо устранить. Так, в примере 1 в отношенииСЛУЖАЩИЙ (Номер Сл, Имя_Сл, Зарплата,Номер_Проекта, Дата_Окончания)атрибут Дата_Окончания зависит от атрибута Номер_Проекта,который в свою очередь зависит от атрибута Номер_Сл.

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

Тип файла
PDF-файл
Размер
4,04 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов лекций

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