Тема_6 (1122348), страница 3
Текст из файла (страница 3)
Базы данных.34 Проектирование РБДЗависимости проекции/соединения и 5NF (8)Аномалии, вызываемые наличием PJD (2) Добавление кортежей. Если кпеременной со значением Rспс1добавляется кортеж{<СЛУ_НОМ, 2941>,<ПРО_НОМ, 1>, <СЛУ_ЗАДАН,A>}, то в новом значениипеременной должен бытьдобавлен и кортеж {<СЛУ_НОМ,2934>, <ПРО_НОМ, 1>,<СЛУ_ЗАДАН, A>} После вставки в значении переменной отношения появятся кортежи{<СЛУ_НОМ, 2934>, <ПРО_НОМ, 1>, <СЛУ_ЗАДАН, B>}, {<СЛУ_НОМ, 2941>,<ПРО_НОМ, 1>, <СЛУ_ЗАДАН, A>} и {<СЛУ_НОМ, 2934>, <ПРО_НОМ, 2>,<СЛУ_ЗАДАН, A>} Ограничение целостности требует включения и кортежа {<СЛУ_НОМ, 2934>,<ПРО_НОМ, 1>, <СЛУ_ЗАДАН, A>} Добавление кортежа {<СЛУ_НОМ, 2934>, <ПРО_НОМ, 1>, <СЛУ_ЗАДАН, A>} ненарушает ограничение целостности и, тем самым, не требует добавления кортежа{<СЛУ_НОМ, 2941>, < ПРО_НОМ, 1>, <СЛУ_ЗАДАН, A>}29.10.2009С.Д.
Кузнецов. Базы данных.35 Проектирование РБДЗависимости проекции/соединения и 5NF (9)Аномалии, вызываемые наличием PJD (3) Удаление кортежей. Если изпеременной со значением Rспс2удаляется кортеж {<СЛУ_НОМ,2934>, <ПРО_НОМ, 1>,<СЛУ_ЗАДАН, A>}, то долженбыть удален и кортеж{<СЛУ_НОМ, 2941>, <ПРО_НОМ, 1>, <СЛУ_ЗАДАН,A>}, поскольку в соответствии сограничением целостностиналичие второго кортежаозначает наличие первого Интересно, что удаление кортежа {<СЛУ_НОМ, 2941>, < ПРО_НОМ, 1>,<СЛУ_ЗАДАН, A>} не нарушает ограничения целостности и не требуетдополнительных удалений29.10.2009С.Д.
Кузнецов. Базы данных.36 Проектирование РБДЗависимости проекции/соединения и 5NF(10)Устранениеаномалийобновления Декомпозируемпеременнуюотношенияв 3-декомпозиции (1)СЛУЖ_ПРО_ЗАДАН на три переменныхотношения: СЛУЖ_ПРО_НОМ {СЛУ_НОМ, ПРО_НОМ}, СЛУЖ_ЗАДАНИЕ {СЛУ_НОМ, СЛУ_ЗАДАН} и ПРО_НОМ_ЗАДАН {ПРО_НОМ, СЛУ_ЗАДАН}29.10.2009С.Д. Кузнецов. Базы данных.37 Проектирование РБДЗависимости проекции/соединения и 5NF(11)Устранениеаномалийобновленияв 3-декомпозиции(2) Если мы хотимдобавить данныео сотрудникесномером 2941, выполняющем задание A в проекте 1,то, естественно, вставим кортеж {<СЛУ_НОМ, 2941>,<ПРО_НОМ, 1>} в отношение СЛУЖ_ПРО_НОМ,кортеж {<СЛУ_НОМ, 2941>, <СЛУ_ЗАДАН, A>} вотношение СЛУЖ_ЗАДАНИЕ и кортеж {<СЛУ_НОМ,1>, <СЛУ_ЗАДАН, A>} в отношениеПРО_НОМ_ЗАДАН Но если выполнить естественное соединениезначений декомпозированных переменных с телами,полученными после добавления данных осотруднике с номером 2941, выполняющем заданиеA в проекте 1, то будет получено значениеотношение с заголовком отношенияСЛУЖ_ПРО_ЗАДАН и телом Rспс2 Проведенная декомпозиция позволила избежатьсложностей при выполнении добавления кортежей сполучением корректных результатов29.10.2009С.Д.
Кузнецов. Базы данных.38 Проектирование РБДЗависимости проекции/соединения и 5NF(11)Пятая нормальная форма (1)Определение 6.5. Зависимость проекции/соединения,подразумеваемая возможными ключамиВ переменной отношения r PJD *(A, B, …, Z) называетсяподразумеваемой возможными ключами в том и только в томслучае, когда каждый составной атрибут A, B, …, Z являетсясуперключом r, т. е.
включает хотя бы один возможный ключrОпределение 6.6. Тривиальная зависимостьпроекции/соединенияВ переменной отношения r PJD *(A, B, …, Z) называетсятривиальной, если хотя бы один из составных атрибутов A,B, …, Z совпадает с заголовком r29.10.2009С.Д. Кузнецов. Базы данных.39 Проектирование РБДЗависимости проекции/соединения и 5NF(12)Пятая нормальная форма (2)Легко убедиться, что нетривиальные PJD, подразумеваемыевозможными ключами, существуют во всех отношениях сарностью, большей двух, первичный ключ которых несовпадает с заголовком отношенияНапример, если в переменной отношенияСЛУЖ_ПРО_ЗАДАН атрибут СЛУ_НОМ является первичнымключом, то, очевидно, имеется PJD *({СЛУ_НОМ,ПРО_НОМ}, {СЛУ_НОМ, СЛУ_ЗАДАН}) (это следует изтеоремы Хита)Но такие зависимости проекции/соединения неинтересны сточки зрения проектирования базы данных, поскольку непорождают аномалий обновленияПоэтому общепринятое определение пятой нормальнойформы выглядит следующим образом29.10.2009С.Д.
Кузнецов. Базы данных.40 Проектирование РБДЗависимости проекции/соединения и 5NF(13)Пятая нормальная форма (3)Определение 6.7. Пятая нормальная формаПеременная отношения r находится в пятой нормальной форме,или в нормальной форме проекции/соединения (5NF, или PJ/NF –Project-Join Normal Form) в том и только в том случае, когда каждаянетривиальная PJD в r подразумевается возможными ключами rТаким образом, чтобы распознать, что данная переменнаяотношения r находится в 5NF, необходимо знать все возможныеключи r и все PJD этой переменной отношенияОбнаружение всех зависимостей соединения являетсянетривиальной задачей, и для ее решения нет общих методовПоэтому на практике проектирование реляционных баз методомнормализации обычно завершается после достижения 4NF, иотношения, находящиеся в 4NF, как правило, находятся и в 5NFЗачем же тогда была введена эта туманная и труднодостижимаяпятая нормальная форма?29.10.2009С.Д.
Кузнецов. Базы данных.41 Проектирование РБДЗависимости проекции/соединения и 5NF(14)Пятая нормальная форма (4)Ответ на этот естественный вопрос состоит втом, что 5NF является «окончательной»нормальной формой, которой можно достичь впроцессе нормализации на основе проекций«Окончательность» понимается в том смысле,что у отношения, находящегося в 5NF,отсутствуют аномалии обновлений, которыеможно было бы устранить путем егодекомпозицииДругими словами, такие отношения далеенормализовать бессмысленно29.10.2009С.Д.
Кузнецов. Базы данных.42 Проектирование РБДЗаключение (1)Процесс проектирования реляционной базы наоснове метода нормализации преследует двеосновных цели:избежать избыточности хранения данных;устранить аномалии обновления отношенийРассмотрим, насколько эти цели актуальны всовременных условиях, когда объемы доступныхносителей внешней памяти непрерывновозрастают, стоимость их падает, асовременные серверы реляционных (точнее,SQL-ориентированных) баз данных способныавтоматически поддерживать целостность базданных29.10.2009С.Д.
Кузнецов. Базы данных.43 Проектирование РБДЗаключение (2)Начнем с того, что теория реляционных базданных и методы их проектирования на основенормализации разрабатывались в расчете нареляционную модель данныхПодавляющее большинство существующих внастоящее время баз данных и средствуправления ими опирается на модель данныхSQLПоэтому, прежде всего, следует обсудить,насколько применимы методы нормализации припроектировании баз данных, основанных намодели данных SQL29.10.2009С.Д.
Кузнецов. Базы данных.44 Проектирование РБДЗаключение (3)Основным отличием модели данных SQL отреляционной модели данных является то, чтотаблица модели SQL может содержатьмультимножества строк, и поэтому для таблицы,вообще говоря, может быть не определенникакой возможный ключЕсли потребовать от проектируемой SQL-базыданных наличия хотя бы одного возможногоключа для каждой таблицы целевой базыданных, то практически все методынормализации остаются пригодными29.10.2009С.Д. Кузнецов.
Базы данных.45 Проектирование РБДЗаключение (4)Здесь требуется сделать два уточнения: Для применимости методов нормализации требуется, чтобыв составе значений любого возможного ключа недопускалось присутствие неопределенных значений (вмодели данных SQL это не является обязательным) Для любого определяемого пользователями типа данныхнеобходимо наличие операции сравнения значений этоготипа по равенствуДругими словами, SQL-ориентированную базу данных можнопроектировать как реляционную базу данных, если должнымобразом ограничить используемые средства модели данныхSQLДалее здесь и в следующей теме под «реляционными»базами данных будут пониматься SQL-ориентированныебазы данных, не противоречащие требованиям реляционноймодели данных29.10.2009С.Д.
Кузнецов. Базы данных.46 Проектирование РБДЗаключение (5)С учетом этого замечания следует отметить два важныхобстоятельстваВо-первых, теория реляционных баз данных и методы ихпроектирования активно развивались уже более 20 лет тому назадСитуация в области технологии аппаратуры и программногообеспечения тогда была совсем иной, чем сегодня, и хорошонормализованные реляционные базы данных в значительнойстепени способствовали росту эффективности приложений.Во-вторых, в то время реляционные базы преимущественноиспользовались в информационных системах оперативнойобработки транзакций (On-Line Transaction Processing – OLTP)Характерные примеры таких систем – банковские системы,системы резервирования билетов и мест в гостиницахСистемам категории OLTP свойственны частые обновления базыданных, поэтому аномалии обновлений, даже если ихкорректировка производится СУБД автоматически, могут заметноснижать эффективность приложения29.10.2009С.Д. Кузнецов.
Базы данных.47 Проектирование РБДЗаключение (6)Сегодня на переднем крае приложений баз данныхнаходятся системы категории оперативной аналитическойобработки (On-Line Analytical Processing – OLAP)В подобных системах, в частности, системах поддержкипринятия решений, базы данных в основном используютсядля выборки данных, поэтому аномалиями обновленийможно пренебречь, а объем этих баз настолько огромен, чтоможно пренебречь и избыточностью хранения.Значит ли это, что подход к проектированию реляционныхбаз данных методом нормализации утратил свою роль?Нет!29.10.2009С.Д. Кузнецов.
Базы данных.48 Проектирование РБДЗаключение (7)Мир приложений баз данных в настоящее время огроменСегодня любое мало-мальски приличное предприятиеиспользует хотя бы одно приложение баз данных –бухгалтерские, складские, кадровые системыЭто системы категории OLTP с частым обновлением данныхи умеренными запросами к базе данных, не вызывающимисоединений многих отношенийДля небольших компаний равно важны как эффективностьинформационных систем, так и стоимость используемыхаппаратно-программных средствПравильно спроектированные, хорошо нормализованныереляционные базы данных помогают решениюкорпоративных проблем29.10.2009С.Д.
Кузнецов. Базы данных.49 Проектирование РБДЗаключение (8)Да, любое правильно развивающееся предприятие рано илипоздно приходит к использованию систем категории OLAP,например, некоторой разновидности систем поддержкипринятия решений (Decision Support System – DSS)В базах данных таких систем обновления очень редки, азапросы могут иметь произвольную сложность, включаясоединения многих отношенийНо, во-первых, технологически правильно для системыOLAP поддерживать отдельную базу данных (обычноподобные базы данных называют хранилищами данных –DataWarehouse), а во-вторых, основными источникамиданных для построения таких хранилищ данных являютсябазы данных систем OLTPТак что актуальность правильно спроектированных базданных OLTP-систем не уменьшается, а постоянновозрастает29.10.2009С.Д.