Тема_5 (1122344), страница 5
Текст из файла (страница 5)
Кузнецов. Базы данных.62 Проектирование РБДНетранзитивные FD и 3NF (6)Третья нормальная форма (1)Аномалии обновления переменной отношения СЛУЖ былисвязаны с наличием в этой переменной транзитивной FDСЛУ_НОМ → СЛУ_ЗАРПНаличие этой FD на самом деле означало, что атрибутСЛУ_ЗАРП характеризовал не сущность служащий, а сущностьразрядОпределение 5.12. Третья нормальная формаПеременная отношения находится в третьей нормальнойформе (3NF) в том и только в том случае, когда она находитсяво второй нормальной форме, и каждый неключевой атрибутнетранзитивно функционально зависит от первичного ключа Функциональная зависимость называется нетранзитивнойтогда и только тогда, когда она не является транзитивной22.10.2009С.Д. Кузнецов. Базы данных.63 Проектирование РБДНетранзитивные FD и 3NF (7)Третья нормальная форма (2)Отношения СЛУЖ1 и УРОВ оба находятся в 3NF все неключевые атрибуты нетранзитивно зависят отпервичных ключей СЛУ_НОМ и СЛУ_УРОВОтношение СЛУЖ не находится в 3NF FD СЛУ_НОМ → СЛУ_ЗАРП является транзитивнойЛюбое отношение, находящееся в 2NF, но не находящееся в3NF, может быть приведено к набору отношений,находящихся в 3NFПри этом получается набор проекций исходного отношения,естественное соединение которых воспроизводит исходноеотношение т.
е. это декомпозиция без потерьДля отношений СЛУЖ1 и УРОВ исходное отношение СЛУЖвоспроизводится их естественным соединением по общемуатрибуту СЛУ_УРОВ22.10.2009С.Д. Кузнецов. Базы данных.64 Проектирование РБДНетранзитивные FD и 3NF (8)Третья нормальная форма (3)Заметим, что допустимые значения отношенияУРОВ могут содержать кортежи,информационное наполнение которых выходитза пределы тела отношения СЛУЖНапример, в теле отношения УРОВ можетнаходиться кортеж с данными о разряде 4,который еще не присвоен ни одному служащемуНаличие такого кортежа не влияет на результатестественного соединения, который все равнобудет являться допустимым значениемотношения СЛУЖ22.10.2009С.Д. Кузнецов.
Базы данных.65 Проектирование РБДНетранзитивные FD и 3NF (9)Независимые проекции отношений. Теорема Риссанена (1)Заметим, что для переменной отношения СЛУЖ с заголовком {СЛУ_НОМ,СЛУ_УРОВ, СЛУ_ЗАРП}, кроме декомпозиции на переменные отношенийСЛУЖ1 с заголовком {СЛУ_НОМ, СЛУ_УРОВ} иУРОВ с заголовком {СЛУ_УРОВ, СЛУ_ЗАРП}, возможна и декомпозиция наотношенияСЛУЖ1 с заголовком {СЛУ_НОМ, СЛУ_УРОВ} иСЛУЖ_ЗАРП с заголовком {СЛУ_НОМ, СЛУ_ЗАРП}теоретически возможная третья декомпозиция отношения СЛУЖ на отношенияСЛУЖ2 с заголовком {СЛУ_НОМ, СЛУ_ЗАРП} и УРОВ с заголовком {СЛУ_УРОВ,СЛУ_ЗАРП} не является декомпозицией без потерьОбе переменные отношения, полученные путем второй декомпозиции,находятся в 3NF, и эта декомпозиция также является декомпозицией безпотерьТем не менее, вторая декомпозиция, в отличие от первой, не устраняетпроблемы, связанные с обновлением отношения СЛУЖНапример, по-прежнему невозможно сохранить данные о разряде, которымне обладает ни один служащийПосмотрим, с чем это связано22.10.2009С.Д.
Кузнецов. Базы данных.66 Проектирование РБДНетранзитивные FD и 3NF (10)Независимые проекции отношений. Теорема Риссанена (2)Переменные отношений СЛУЖ1 и УРОВ могут обновлятьсянезависимо (являются независимыми проекциями), и при этомрезультат их естественного соединения всегда будет таким, какесли бы обновлялось исходная переменная отношения СЛУЖЭто происходит потому, что функциональные зависимостиотношения СЛУЖ трансформировались в индивидуальныеограничения первичного ключа отношений СЛУЖ1 и УРОВПри второй декомпозиции FD СЛУ_УРОВ → СЛУ_ЗАРПтрансформируется в ограничение целостности сразу для двухотношенийтакого рода ограничения целостности называются ограничениями базыданных, и их поддержка гораздо более накладна с технической точкизренияПонятно, что в процессе нормализации декомпозиция отношенияна независимые проекции является предпочтительнойНеобходимые и достаточные условия независимости проекцийотношения обеспечивает теорема Риссанена22.10.2009С.Д.
Кузнецов. Базы данных.67 Проектирование РБДНетранзитивные FD и 3NF (10)Независимые проекции отношений. Теорема Риссанена (2)Теорема РиссаненаПроекции r1 и r2 переменной отношения r являютсянезависимыми тогда и только тогда, когда: каждая FD в отношении r логически следует (т.е. выводитсяна основе аксиом Армстронга) из FD в r1 и r2; общие атрибуты r1 и r2 образуют возможный ключ хотя быдля одного из этих отношенийМы не будем приводить доказательство этой теоремы, нопродемонстрируем ее верность на примере двух упомянутыхранее декомпозиций отношения СЛУЖ22.10.2009С.Д. Кузнецов.
Базы данных.68 Проектирование РБДНетранзитивные FD и 3NF (11)Независимые проекции отношений. Теорема Риссанена (3)В первой декомпозиции (на проекции СЛУЖ1 {СЛУ_НОМ,СЛУ_УРОВ} и УРОВ {СЛУ_УРОВ, СЛУ_ЗАРП})общий атрибут СЛУ_УРОВ является возможным (и первичным) ключомотношения УРОВ, аединственная дополнительная FD отношения СЛУЖ (СЛУ_НОМ →СЛУ_ЗАРП) логически следует из FDСЛУ_НОМ → СЛУ_УРОВ иСЛУ_УРОВ → СЛУ_ЗАРП,выполняемых для отношений СЛУЖ1 и УРОВ соответственноВторая декомпозиция (СЛУЖ1 {СЛУ_НОМ, СЛУ_УРОВ} иСЛУЖ_ЗАРП {СЛУ_НОМ, СЛУ_ЗАРП}) удовлетворяет второмуусловию теоремы РиссаненаСЛУ_НОМ является первичным ключом в каждом из отношений СЛУЖ1и СЛУ_ЗАРП,но FD СЛУ_УРОВ → СЛУ_ЗАРП не выводится из FDСЛУ_НОМ → СЛУ_УРОВ иСЛУ_НОМ → СЛУ_ЗАРП22.10.2009С.Д.
Кузнецов. Базы данных.69 Проектирование РБДНетранзитивные FD и 3NF (12)Независимые проекции отношений. Теорема Риссанена (4)Атомарной переменной отношения называется такаяпеременная, которую невозможно декомпозировать нанезависимые проекцииДалеко не всегда для неатомарных (не являющихсяатомарными) переменных отношений требуется декомпозицияна атомарные проекцииНапример, переменная отношения СЛУЖ2 с заголовком{СЛУ_НОМ, СЛУ_ЗАРП, ПРО_НОМ} и множеством FD{СЛУ_НОМ → СЛУ_ЗАРП, СЛУ_НОМ → ПРО_НОМ} неявляется атомарнойвозможна декомпозиция на независимые проекции СЛУЖ3 с заголовком{СЛУ_НОМ, СЛУ_ЗАРП} и СЛУЖ4 с заголовком {СЛУ_НОМ, ПРО_НОМ}Но эта декомпозиция не улучшает свойства переменнойотношения СЛУЖ2 и поэтому не является осмысленнойДругими словами, при выборе способа декомпозиции нужностремиться к получению независимых, но не обязательноатомарных проекций22.10.2009С.Д.
Кузнецов. Базы данных.70 Проектирование РБДПерекрывающиеся возможные ключи и BCNF (1)До сих пор в определениях нормальных форммы предполагали, что у декомпозируемогоотношения имеется только один возможныйключНа практике чаще всего бывает именно такНо имеется один частный случай, который почтиудовлетворяет требованиям 2NF и 3NF, но, темне менее, порождает аномалии обновленияЭто тот случай, когда у отношения имеетсянесколько возможных ключей, и некоторые изэтих возможных ключей «перекрываются», т.
е.содержат общие атрибуты22.10.2009С.Д. Кузнецов. Базы данных.71 Проектирование РБДПерекрывающиеся возможные ключи и BCNF (2)Аномалии обновлений из-за наличия перекрывающихся возможных ключей (1) В отношении СЛУЖ_ПРО_ЗАДАН1служащие уникальноидентифицируются как по номерамудостоверений, так и по именам Следовательно, существуют FDСЛУ_НОМ → СЛУ_ИМЯ и СЛУ_ИМЯ→ СЛУ_НОМ Но один служащий можетучаствовать в нескольких проектах,поэтому возможными ключамиявляются {СЛУ_НОМ, ПРО_НОМ} и{СЛУ_ИМЯ, ПРО_НОМ} Все FD неключевых атрибутов отвозможных ключей являютсяминимальными, и транзитивные FDотсутствуют, но, тем не менее, этомуотношению свойственны аномалииобновления22.10.2009С.Д.
Кузнецов. Базы данных.72 Проектирование РБДПерекрывающиеся возможные ключи и BCNF (3)Аномалии обновлений из-за наличия перекрывающихся возможныхключей (2)Например, в случае изменения имени служащеготребуется обновить атрибут СЛУ_ИМЯ во всехкортежах отношения СЛУЖ_ПРО_ЗАДАН1,соответствующих данному служащемуИначе будет нарушенаFD СЛУ_НОМ → СЛУ_ИМЯ,и база данных окажется в несогласованномсостоянииПричиной аномалий является то, что втребованиях 2NF и 3NF не требоваласьминимальная функциональная зависимость отпервичного ключа атрибутов, являющихсякомпонентами других возможных ключей22.10.2009С.Д.
Кузнецов. Базы данных.73 Проектирование РБДПерекрывающиеся возможные ключи и BCNF (3)Нормальная форма Бойса-Кодда (1)Проблему решает нормальная форма, которую исторически принятоназывать нормальной формой Бойса-Кодда, и которая являетсяуточнением 3NF в случае наличия нескольких перекрывающихсявозможных ключейОпределение 7.3. Нормальная форма Бойса-КоддаПеременная отношения находится в нормальной форме Бойса-Кодда(BCNF) в том и только в том случае, когда детерминантом любойвыполняемой для этой переменной нетривиальной и минимальной FDявляется некоторый возможный ключ данного отношенияЗаметим, что, если в переменной отношения имеется только одинвозможный ключ, то любое отношение, находящееся в нормальной формеБойса-Кодда, одновременно находится во второй и третьей нормальныхформахЭто утверждение легко доказывается методом «от противного» на основеопределений 2NF и 3NF22.10.2009С.Д.
Кузнецов. Базы данных.74 Проектирование РБДПерекрывающиеся возможные ключи и BCNF (4)Нормальная форма Бойса-Кодда (2) Переменная отношенияСЛУЖ_ПРО_ЗАДАН1 может бытьприведена к BCNF путем одной издвух декомпозиций: СЛУЖ_НОМ_ИМЯ (показана нарисунке) и СЛУЖ_НОМ_ИМЯ{СЛУ_НОМ, СЛУ_ИМЯ} иСЛУЖ_ИМЯ_ПРО_ЗАДАН{СЛУ_ИМЯ, ПРО_НОМ, СЛУ_ЗАДАН}(FD и значения отношений выглядятаналогично) Очевидно, что каждая издекомпозиций устраняет трудности,связанные с обновлением отношенияСЛУЖ_ПРО_ЗАДАН122.10.2009С.Д.