Главная » Просмотр файлов » Вордовские лекции

Вордовские лекции (1121814), страница 10

Файл №1121814 Вордовские лекции (Вордовские лекции) 10 страницаВордовские лекции (1121814) страница 102019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

БД 24.10.06

4НФ

Многозначные зависимости ближе всего к функционалам.

Наличие многознач завис в БД обнаружил Рональд Фейджин. Многозначные зависимости обнаруживаются достаточно трудно.

5НФ настолько далека от интуитивного понимая, что лектор не знает примеров, где её хорошо использовать. Во многом она искусственна. Хотя мы увидим, что те ограничение, коотрые порождаются, довольно естественны.

Многознач завис:

Есть отношение СЛУЖ_ПРО_ЗАДАН {СЛУ_НОМ., ПРО_НОМ, СЛУ_ЗАДАН}

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

Что ещё делать менеджеру проекта, кроме как посуду мыть.

СЛУ_НОМ

ПРО_НОМ

СЛУ_ЗАРП

2934

1

A

2934

1

B

2934

2

A

2934

2

B

...

2941

1

A

2941

1

D

Как выглядит ограничение:

Для каждого кортежа ПРО_ЗАДАН должно выполняться ограничпение: IF (<сн, пн1, сз1>) принадлежит Bспз and <сн, пн2, сз2> принадлежит Bспз then (<сн, пн1, сз2>) принадлежит Bспз and <сн, пн2, сз1> принадлежит Bспз

Наличие такого рода зависимостей приводит к аномалиям изменений.

Если вдруг менеджер, Котолько только моет посуду, Вдруг научидлся программировать на Джаве, То придётся добавить количество кортежей по количеству проектов.

Понятно, что эти проблемы решаются декомпозицией отношения.

СЛУЖ_ПРО_НОМ:

СЛУ_НОМ

ПРО_НОМ

2934

1

2934

2

2941

1

Заметим, что было унарное отношение с единственным возмоджным ключом, а стало бинарное с нетривиальной ФЗ. Но это честная бинарная зависимость.

СЛУЖ_ЗАДАН

СЛУ_НОМ

СЛУ_ЗАДАН

2934

A

2934

B

...

2941

A

2941

D

То, что это декомпозиция правильная, ни из чего не следует.

Почему так, объяснил Фэйджин. Он заметил, что дано отношения с тремя атрибутами, причём мнодество значений третьего зависит от первого и не зависит от второго – ситуация многозначной зависимости. Множество значений второго атрибут зависит от первого, и множество третькего зависит от первого, а друг от друга они никак.

(Служ_ПРО_НОМ WHERE (СЛУ_НОМ=СН and СЛУ_ЗАДАН=СЗ)) PROJECT {ПРО_НОМ}

Определение, которое нравится лектору

MVD (Multi-Valued Dependency)

r{A, B, C} MVD B от A (A->-> B) т и тт когда множество значений B, соотв. Паре знач. A и C, зависит от А и не зависит от С.

Записывают A->->B|C

Лема Фейджина. B отн r{A, B, C} выполн MVD->->B <=> выполн MVD A->->C

Многие годы лектор не доказывал ни теорему лектора, Ни лемму, Но теперь понял, Что надо доказывать, что это просто. Будь бы лектор Фейджином, он бы назвал эту лемму теоремой.

Лектор любит задавать вопрос на экзамене: как будет звучать лемма, если есть ФЗ В от А.

Достаточность:

пусть выполняется MVD A->-> B

Br, знач A в некотором кортеже Br

{b} – множество значений отрибута B, соотв a

Пусть для a A->->C не выполняется, Тогда существует с атрибута с и такое b принадлежит {B}, что <a, b, c> не принадлжеит Br

Необходимость аналогично

Теорема Фейджина

Пусть имеется перем. Отн. r{A, B, C}

r декомпозируется без потерь на r{A, B} и r{A, C} т и тт, когда выполн MVD A->->B|C

Достаточность:

Br – тело r, a – значение А, {b} – множество значений B, соотв а; {c} – множество С, соотв а

r PROJECT {A, B} -> {a, b}, где bi принадлежит {b} и если /**/

Необходимость:

Пусть декомпозиция является декомпозицией без потерь для всякого значения Br

IF (<a, b1, c1> принадлежит Br AND <a, b2, c2> принадлежит Br>) THEN <a, b2, c1> принадлежит Br AND <a, b1, c2> принадлежит Br) Пусть <a, b2, c1> не принадлежит Br OR <a, b1, c2> не принадлежит Br но в r PROJECT {A, B} входит <a,b1> и <a, b2>

r PROJECT {A, C} входят <a, c1> и <a, c2>

Контрольная будет через неделю, 9 ноября. Очень хороший день, после октябрьской революции.

Будет запрос

Будет что-то из теоретических вещей

Нельзя пользоваться только соседями.

4НФ

r находится в 4НФ т и тт, когда находится в БКНФ и все MVD являются FD с детерминантами – возможными ключами

Гречушкин выпендривается, задавая умный вопрос. Благодаря этому лектор не сможе рассказать сегодня про 5НФ.

Отнош называется N-композируемым, если его можно разбить на N независимых проекций.

Тривиальная MVD:

r{A, B} MVD A->-> B триивальна, если либо А содержит или равно B? Либо A UNION B = Hr

БД 06.10.27

Гораздо сложнее вопрос с пользовательскими ТД.

Это есть в SQL, но этого никто не делает. На это решаются обычно только сами разработчики конкретной СУБД, иногда эти ТД определяют вне зависимости от БД. Тем больше тех возможностей появляется в СУБД, тем сложнее проектирование. Неизвестно, что по этому поводу думал Кодд, но всё, что неявно можно вывести из его статей, это что БД должны быть как можно проще в использовании.

Лектор возвращается к проекции соединений и 5НФ.

N-декомпозиция соотношения – отношение, которое может быть декомопзировано без потерь на N проекций. До этого мы всё время занимались этим при N=2. В действ бывают такие отношения, которые не явл 2-декомп. Декомп для них имеют смысл, но при N>2.

Пример:

r: СЛУЖ_ПРО_ЗАДАН

СЛУ_НОМ

ПРО_НОМ

СЛУ_ЗАДАН

2934

1

A

2934

1

B

2934

2

A

2941

1

A

Попробуем это отношение декомпозировать.

r1: СЛУЖ_ПРО_НОМ

СЛУ_НОМ

ПРО_НОМ

2934

1

2934

2

2941

1

r2: ПРО_НОМ_ЗАДАН

ПРО_НОМ

СЛУ_ЗАДАН

1

A

1

B

2

A

r3: СЛУ_ЗАДАН

СЛУ_НОМ

СЛУ_ЗАДАН

2934

A

2934

B

2941

A

С точки зрения предыдущих рассуждений эта декомпозиция бессмысленна.

Теперь начнём соединять. Сначала соединим вот это отношение с этим.

NAT JOIN

2934

1

A

2934

1

B

2934

2

A

2941

1

A

2941

1

B

Появился лишний кортеж. Но если теперь мы соединим это соотношение с этим:

2934

1

A

2934

1

B

2934

2

A

2941

1

A

Теперь в результате соед с третьим соотношением мы получили исходное. Соединение любой пары не будет соед без потерь, а соединение всех трёх является соединением без потерь.

Для 3-декомп без потерь нужно удовлетворять следующему ограничению:

IF (<СН, ПН> принадлежит Br1 AND <ПН, СЗ> принадлежит Br2 AND <СН, СЗ> принадлежит Br3 ) THEN <СН, ПН, ЗН> принадлежит Br

n-декомпозируемые отношения

n=2

IF (<СН1, ПН1, СЗ1> принадлежит Br AND <СН2, ПН1, СЗ1> принадлежит Br AND <СН1, ПН2, СЗ1> принадлежит Br ) THEN <СН1, ПН1, ЗН> принадлежит Br

Если есть отношение r, есть атрибуты A, B, ..., Z коотрые имеют ... *(A, B, ..., Z)

Отношение можно декомп без потерь на n отношений, когда его можно декомпозировать на n отншений.

Основная цель модификации БД – чтобы не надо было выполнять триггеры.

Условие: если Сидоров в проекте 1 моет посуду и Петров в проекте 1 подметает полы, и Сидоров в проекте 2 моет посуду, то Сидоров должен также мыть полы, потому что они ходят парочкой.

Если мы добавляем <2941, 1, A>, то мы должны добавить <2934, 1, A>. Аналогично с удалением.

Весь смысл проекции соединения в том, чтобы довести нормализацию до конца.

Все боятся 5НФ, и лектор тоже в первые разы рассказывал её сложно, пока не понял, что там всё просто.

PJD – Projection join independency.

PJD, Опред. Возм. Ключем

r ЗОВ*(A, B, ..., Z)

Вопрос на экзамене:

Есть r(A1,...An), А1 – возможный ключ. Есть ли здесь зависимость проекций соединений? Если да, то какая?

Ответ: есть, ({A1, A2}, {A1, A3}, {A1, An}) – доказывается по теореме Хитта, так как всё без потерь. Оно сколько угодно декомпозируемое, и его декомпозировтаь не надо, так как оно и так хорошее.

Тривиальная PJD

Зависимость проекций называется тривиальное, если зотя бы один атрибут совпадает с заголовком отношения. Такая зависимость существует всегда, и она бессмысленнва.

5НФ. Если любая нетривиальная зависимость соединения подразумевается возможными ключами.

Он находится в 5НФ, когда декомпозиция становится бессмысленной. Ибо уже после неё аномалий нет.

На саом деле есть дырочка межту 4 и 5НФ. Лектор думает, что при желании можно найти дополнительные условия, которые более сложные, чем многознач завис, но более прочты чем ..., но никто этим не занимался.

БКНФ – только для очень умных проектировщиков, дальше уже выпендрёж.

Проектирование БД на основе семантических моделей

Реляционная модель данных всем хорошо, но в ряде случаев при проектировании БД, когда ещё нет приложенийЮ которых с ней работают, очень многие знания к моменту проектирования исчезают. Простой пример: в представления реляционной БД остаётся костяк голый, теряется смысл данных. Просчтой пример: отношение с внешнимс ключом:

В отделах есть ID начальника, В служащих - ID отдела.

На самом деле, Всё-таки РБД по своей природе плоские. Если мы начинаем работать с проектированием БД в терминах проецур нормализации, то и в голову не придёт ... . В дейсьтвиетельности проектировщику БД это не хорош, не удобно, ему удобно считать, что есть большой квадрат – предприятие, есть малые квадроаты – подразделения, отделы, служащие, связи с клиентами... Такая картинка могла быть более удобной. Из-за этого в 80 годы были придуманы модели данных, которые следовали определению Кодда, но рассчитаны на то, что представление объектов внешнего мира в них было бы больше приболижено к жизни.

Лектор собиратеся сказать только два пример семант зависимостей – диаграмы. Были абсолютно линейные модели и языки. Но это было 20 лет назад, а лектор читает не курс по истории БД. И после педедыва лектор расскажет общий взгляд на то, как семант модели данных можно использоваиьт при проектировании и потом. Это не история, это представление лектора о том, что он видел в жизни. Некоторые вещи исользуюися и их разумно исопльзовать, некоторые не используются, но лектор не знвает, почему.

В советское время, вернее в то врем, конгда советская власть казалась вечной бесконечной, были суровые ГОСТы, и при приёмке программ кроме текстов программ должны были быть блоксхемы программ. Но они ни разу не рисовались до того, как программа не начинала работать, и это была самая идиотская работа, ибо никто не сверял блоксему с программой, главное, чтобы там были квадратики, стрелочки... Сейчас, даже с появлением UML то же самое.

При проектировании БД тоже нужно иметь нотацию. Для маленьких БД достаточно смотреть на определение на SQL, для больших (от 100) уже нет, и граница очень расплывчата. Пример: был хороший проект, в 93-94 годах, тогда продавался Oracle 7.3, проект был замечательный, космонавтов, тогда в постСССР, было довольно много ЦУПов, десяток-полтора, некоторые военныЕ, некоторые универсальные, но у всех похожая функциональность, делают они примерно одно и то же, а ПО у всех уникальное, что печально. Замечательный был центр Капустин Яр, народ туда шёл работать под угрозой смертной казни, и у этих ребят была нормальная идея сделать мобильный ЦУП. Они хотели делат это на нормльной тенолгии,чтобы всё работало на БД, и лектор помогал эту БД проектировать. Лектор слёзно умолял их задокументировать БД, там было 100-150 таблиц, но они отказались. Через два года комманда сменилась, и они не смогли разобраться.

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

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

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

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