Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 120

Файл №542480 Введение в системы БД (Введение в системы БД) 120 страницаВведение в системы БД (542480) страница 1202015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

приведение к НФБК и сохранение зависимостей, в некоторых случаях приводит к конфликтной ситуации. ° Процедура нормализации позволяет избавиться от избыточности за счет разбиения на проекции, однако не всякую избыточность можно устранить таким образом ("проблема переменной-отношения СТХР*', см. аннотацию к [!2.131). Следует также отметить, что хорошие методики нисходящего проектирования позволяют тем или иным конкретным способом генерировать полностью нормализованный проект базы данных. 12.5. Денормализация До сих пор в этой (и предыдущей) главе принималось на веру утверждение, что полную нормализацию желательно выполнять вплоть до 5НФ.

На практике, однако, часто можно слышать утверждения, что для достижения высокой производительности системы требуется выполнить денормализацию. При этом используются аргументы, подобные перечисленным ниже. 1. Полная нормализация означает наличие большого количества логически независимых переменных-отношений (предполагается, что рассматриваемые переменные- отношения являются базовыми). Глава 12. Дальнейшая нормализация: более выаояие нормальные формы 483 2. Большое количество логически независимых переменных-отношений означает наличие большого количества физически отдельно хранимых файлов. 3. Большое количество физически отдельно хранимых файлов означает большое количество операций ввода-вывода.

Строго говоря, эти аргументы, конечно же, неверны, потому что (как многократно отмечалось в данной книге) нигде в определении реляционной модели не утверждается, что базовые переменные-отношения должны находиться во взаимно однозначном соответствии с хранимыми файлами. Поэтому денормаеизацию в случае необходимоппи следует выполнять на уровне хранимых файлов, но пе на уровне базовых переменных-озиношений. Однако в некотором отношении эти аргументы все же верны для современных ЗЯ).-продуктов, поскольку именно в них эти уровни не разделены в требуемой степени.

В данном разделе понятие "денормализация" будет рассмотрено более подробно. Замечание. Материал этого раздела в значительной степени основан на работе 112.б1. Что такое денормализация Кратко говоря, нормализация переменной-отношения К означает ее замену таким множеством проекций К1, ..., Кп для всех возможных значений г переменной- отношения К, что результатом обратного соединения значений г1, ..., гл проекций К1, ..., Кп обязательно будет значение г. Конечной целью нормализации является сокращение уровня избыточности данных за счет приведения проекций К1, ..., Кп к максимально высокому уровню нормализации (т.е.

к 5НФ). Теперь можно перейти к определению понятия денормализации. Пусть К1, Кп является множеством переменных-отношений. Тогда денормализацией этих переменных-отношений называется такая замена переменных-отношений их соединением К, что для всех возможных значений г1, ..., гл переменных-отношений К1, Кл операция проекции значения г переменной-отношения К по атрибутам К1 обязательно снова приводит к созданию значений г1 (где 1 = 1, ..., л). Конечной целью денормализации является увеличение уровня избыточности данных за счет приведения переменной-отношения К к более низкому уровню нормализации, чем исходные переменные-отношения К1, ..., Кл.

Точнее, преследуется цель сократить количество соединений, которые потребуется выполнять во время работы приложений, за счет предварительного создания этих соединений на одном из этапов проектирования базы данных. В качестве примера рассмотрим денормализацию переменных-отношений деталей и поставок для получения переменной-отношения РЯ(), представленной на рис. 12.64.

Следует отметить, что переменная-отношение РБО находится в 1НФ, а не в 2НФ. При использовании нашего традиционного примера с переменнылзи-отношениями постввшиков и поставок в случае деиормализации может возникнуть проблел~а, связанная с тем, что в результате соединения будет утрачена информация о поставщике с номером зб5'.

По этой причине можно предпаюжить, что в процессе деиормализации следует использовать операции "внешних" соединений. Однако, как показано в главе 18, само по себе использование виешииз соединений также сопровождается возникновением определенных проблем. 484 Часть 111. Проектирование базы данных Рис. 12.6. Денормализоеанные данные о товарах и поставках Другие проблемы Использование концепции денормализации связано с некоторыми вполне очевидными проблемами. Одна из них заключается в том, что, начиная денормализацию, трудно сказать, когда ее следует прекратить. В случае выполнения нормализации существуют ясные логические причины ее продолжения до тех пор, пока не будет достигнута самая высокая из возможных нормальных форм.

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

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

ЯОИИАН1ЕЕ Р РЕН Р ( СОЬОН ) АРР АЧО ( ИЕ1ЯНТ ) АЯ АЧЕМУ Однако при использовании переменной-отношения РЯО, показанной на рис. 12.6, формулировка будет выглядеть несколько сложнее (не говоря уже о том, что в такой ситуации предполагается наличие по крайней мере одной поставки для каждой детали, что в общем случае неверно). ЯОИИАН1ЕЕ РЯ() ( Р(), СОЬОН, ИЕХЯНТ ) РЕН РЯО ( СОЬОН ) АОО АЧЯ ( ИЕ1ОНТ ) АЯ АЧ(ЕР (Обратите внимание на то, что во второй формулировке запрос, вероятно, будет выполнить сложнее.) Иначе говоря, общепринятое мнение о том, что денормализация "хороша для извлечения, но плоха для обновления", вообще говоря, неверно как по соображениям практичности, так и по соображениям производительности.

Третья, и самая главная, проблема формулируется следующим образом.(Это высказывание относится к "истинной" денормализации, т.е, к денормализации, которая выполняется только на физическом уровне, а также к тому типу денормализации, которую иногда приходится осуществлять в современных БО):продуктах.) Когда мы говорим, что Глава 32. Дальнейшая нормализация: более высокие нормальные формы 485 денормализация "способствует достижению высокой производительности", фактически подразумевается, что она способствует достижению высокой производительности некоторых конкретных приложений. Любая выбранная физическая структура, которая прекрасно подходит для одних приложений с точки зрения их производительности, может оказаться совершенно непригодной для других.

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

° Допустим, что соединение отношений поставщиков, поставок и деталей представлено в виде одной переменной-отношения, а значит, в виде одного хранимого файла. Тогда запрос "Получить сведения обо всех поставщиках красных деталей" благодаря выбранной физической структуре будет, по-видимому, выполняться достаточно эффективно.

° Однако запрос "Получить сведения о поставщиках из Лондона" при такой физической структуре будет выполняться менее эффективно по сравнению со структурой, состоящей из трех отдельных переменных-отношений, каждая из которых отображена на физически отдельный хранимый файл. Дело в том, что в первом случае данные будут распределены на большем участке устройства хранения и лля их извлечения потребуется существенно больше операций ввода-вывода. Аналогичные замечания можно высказать по отношению ко всем запросам, в которых доступ осуществляется только к данным о поставщиках, деталях или поставках по отдельности (без выполнения операции соединения).

12.6. Ортогональное проектирование (небольшое отступление от темы) В этом разделе мы кратко рассмотрим другой принцип проектирования баз данных, который напрямую не связан с дальнейшей нормализацией, но очень похож на нее тем. что также является научным. Он называется принципом ортогонального проектирования (рбпс1р!е оГ огг!зойопа! дез!Яп). Обратимся к рис.

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

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

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

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