Теория и практика построения баз данных (1088289), страница 44
Текст из файла (страница 44)
5.1, можно использовать при создании отношений, В некоторых случаях нормализация нежелательна. Всякий раз, когда исходная таблица разбинается иа две или более новых, возникают ограничения ссылочной целостности. Если расходы на дополнительную обработку двух таблцц и обеспечение ссылочной целостности превышают вы~оду от устранения аномалий модификации, нормализация не рекомендуется.
Вдобавок в некоторых случаях создание повторяющихся столбцов предпочтительнее обычных способов нормализации, а в других случаях для повышения произнодительности вводится преднамеренная избыточность. Вопросы ! группы 1. Какие ограничения должны быть наложены на таблицу, чтобы она могла считаться отношением? 2. Определите следующие термины: отношепие, картеле, итрибут, файл, запись, табшца, строка, столбец. 3, Дайте определение термина фупкционильния зависимость. Приведите пример двух атрибутов, имеющих функциональную зависимость, н двух атрибутов, не имеющих функциональной зависимости.
4. Если атрибут НоиерСтудента функционально определяет атрибут Секция, означает ли это, что в отношении может быть только одно значение атрибута НоиерСтудента? Обоснуйте свой ответ. 5. Дайте определение термина детерминант. 6. Приведите пример отношения с функциональной зависимостью, в которой детерминант состоит из двух или более атрибутов. 7. Дайте определение термина ключ, 8. Если атрибут НомерСтудента является ключом отношения, является ли он детерминантом? Может ли конкретное значение этого атрибута появиться в отношении более одного раза? 9. Что такое аномалия удаления? Приведите пример, отличный от того, который дан в тексте. 10.
Что такое аномалия вставки? Приведите пример, отличный от того, кото рый дан в тексте. 11. Объясните, как соотносятся между собой первая, вторая, третья нормаль ные формы, нормальная форма Бойса — Кодда, четвертая, пятая и доменноключевая нормальные формы. 12. Дайте определение термина атория нормальния форма.
Приведите пример отношения, которое находится в первой нормальной форме, но не находится во второй нормальной форме, Преобразуйте это отношение в отношения, находящиеся во второй нормальной форме. 13. Дайте определение термина третья нормальная форлга. Приведите при мер отношения, которое находится во второй нормалыюй форме, но не на ходится в третьей нормальной форме. Преобразуйте это отношение в отношения, находящиеся в третьей нормальной форме.
14. Дайте определение термина нормильния форми Бойса — Кодда, Приведите пример отношения, которое находится в ЗНФ, но не находится н НФБК. Преобразуйте это отношение в отношения, находящиеся в НФБК. 15. Дайте определение термина.многозни тая зиаисимость. Приведите пример.
16. Почему многозначные зависимости не янляются проблемой в отношениях имеющих только дна атрибута? 17. Дайте определение термина четаертия нормильная форма. Приведите пример отношения, которое находится в НФБК, но не находится в 4НФ. Преобразуйте это отношение в отношения, находящцеся в 4НФ. 18, Дайте определение термина доменно-ключевая нормальния форма, Почему эта форма важна? 19.
Преобразуйте следующее отношение к ДКНФ. Сделайте и сформулируйте соотвествующие предположения о функциональных зависимостях и доменах. ОБОРУДОВАНИЕ (Производитель, Модель, ДатаПриобретения, ИмяПокупатеяя, ТелефонПокупателя, МестоположениеЗавода, Город, Штат, Индекс) 20. Преобразуйте следующее отношение в ДКНФ. Сделайте и сформулируй- те соотвествующие предположения о функционалъных зависимостях и доменах. СЧЕТ (Номер, ИмяПокупателя, НомерПокупателя, АдресПокупателя, НомерТовара, ЦенаТовара, КоличествоТовара, НомерПродавца, ИияПродавца, ПромежуточныйИтог, Налог, ВсегоКОплате) Вопросы В группы 203 202 21. 22. 23.
Вопросы П группы 24. 12345 12345 12345 12345 67890 67890 67890 В-1 Р-1 В-1 Р-1 С-! С-1 С-1 12 12 12 12 26 26 26 Дон Дон Дан Дон Пэм Пзм Пзм 100А 100А 200 В 2008 100А 200А 2000 Таблица 5.2. О~ношение ПРОЕКТ ИмаСотрудника Номерпроекта ЗарплатаСотрудннка Джонс Смит 64 000 51 000 5! 000 64 000 64 000 28 000 51 000 28 000 100А 100А 100В 200А 200 В 200 С 200 С 200 С Смит Джонс Джонс Паркс Смит Паркс > вл Глава 5. Реляционная модель и нормализация Снова ответьте на вопрос 20, но теперь добавьте атрибут НалоговыйСтатус- Покупателя (О, если покупатель не освобожден от налога, и 1, если освобож- ден). Добавьте также ограничение, что налог не должен включаться в счет, если НалоговыйСтатусПокупателя равен 1.
Приведите пример (отличный от того, который дан в тексте) ситуации, в которой, как вы считаете, нормализацию производить не стоило бы, Изо- бразите отношения и обоснуйте свое решение. Укажите две ситуации, и которых проектировщики базы данных могут преднамеренно прибегнуть к дублированию данных. Каков риск, связан- ный с подобными решениями? Рассмотрим следу1ошее отношение (табл. 5.2): ПРОЕКТ (НазваниеПроекта, ИмяСотрудника, ЗарплатаСотрудника) Здесь НазваннеПроекта — это название рабочего проекта, ИмяСотрудника— имя сотрудника, работающего в рамках данного проекта, а ЗарплатаСотрудника — заработная плата данного сотрудника.
Если предположить, что представленные здесь данные выявляют все имеющиеся функциональные зависимости и ограничения, какое из следующих утверждений буде~ верным? НазваниеПроекта» ИмяСотрудника НазваниеПроекта» ЗарплатаСотрудника (НазваниеПроекта, ИмяСотрудника)»ЗарплагаСотрудника ИмяСогрудника» ЗарплатаСотрудника ЗарплатаСотрудника» НазваниеПроекга ЗарплатаСотрудника» (НазваниеПроекта, ИмяСотрудника) Ответьте на следующие вопросы: 1) Что является ключом отношения ПРОЕКТ? 2) Все ли неключевые атрибуты (если таковые есть) зависят от всего ключа целиком? 3) В какой нормальной форме находится отношение ПРОЕКТ? 4) Опишите две аномалии модификации, характерные ъчя отношения ПРОЕКТ. 5) Является ли атрибут НазваниеПроекта детерминантом? 6) Является ли атрибут ИмяСотрудника дстерминантом? 7) Является ли детерминантом сочетание(НазваниеПроекта, ИмяСотрудника)? 8) Является ли детермпнантом ЗарплатаСотрудника? 9) Содержит ли это отношение транзитивную зависимость? Если да, то какую? 10) Переделайте зто отношение так, чтобы устранить аномалии модифика!вш.
25. Рассмотрим следующее отношение (табл. 5.3): Таблица 5.3. Отношение ПРОЕКТ-ЧАСЫ ИмаСотрудннка НомерПроекта Номервадачн телефон Всегочасоа ПРОЕКТ-ЧАСЫ (ИмяСотрудника, НазваниеПроекта, НазваниеЗадачи, Телефон, ВсегоЧасов) Здесь НазваниеЗадачи — это название стандартной рабочей задачи, Телефон — номер телефона сотрудника, а ВсегоЧасов — количество часов, отработанных сотрудником в рамках данного проекта.
Если предположить, что представленные здесь данные выявляют все имеющиеся функциональные зависимости и ограничения, какое из следующих утверждений будет верным? ИмяСотрудника» НазваниеПроекта ИмяСогрудника»» НазваниеПроекта И мяСотрудника » НазваниеЗадачи ИмяСотрудника НазваниеЗадачи ИмяСотрудника » Телефон ИмяСотрудника » ВсегоЧасов (ИмяСотрудника, НазваниеПроекта) » ВсегоЧасов (ИмяСотрудника,Телефон) » НазваниеЗадачи НазваниеПроекта » НазваниеЗадачи НазпаниеЗадачи » НазааниеПроекта Ответьте на следующие вопросы: 1) Перечислите все детерминанты. 2) Содержит ли данное отношение транзитивную зависимость? Если да, то какую? 204 Глава 5. Реляционная модель и нормализация Вопросы к проекту Нтео0р 206 26.
27. 3) Содержит ли данное отношение многозначную зависимость? Если да, то какие атрибуты не связаны между собой? 4) Опишите аномалию удаления, которая имеется в этом отношении. 5) Сколько тем содержит данное отношение? 6) Переделайте отношение так, чтобы устранить аномалии модификации. Сколько отношений у вас получилось? Сколько тем содержит каждое из новых отношений? 7) Рассмотрим приведенные ниже определения отношений, доменов и ключей. Определения доменов: ИмяСотрудникаСНАЙ(20) НомерТелефонаОЕС(5) НаименованиеОборудованияСНАК(10) МестоположениеСНАР(?) СтоимостьСОККЕНСУ Да таУУМ М 0 О ВремяННММ, где 00 <= НН <= 23 00 <- ММ <- 59 Отношения, ключи и ограничения: СОТРУДНИК (ИмяСотрудника, НомерТелефона) Ключ:ИмяСотрудника Ограничения; И ми Сотрудника > НомерТеле фона ОБОРУДОВАНИЕ (НаименованиеОборудования, Местоположение, Стоимость) Ключ:НаименованиеОборудования Ограничения:НаименованиеОборудования > Местоположение НаименованиеОборудования > Стоимость СЕАНС (Дата, Время, НаименованиеОборудования, ИмяСотрудника) Ключ(Дата, Время, НаименованиеОборудования) Ограничения:(Дата, Время, НаименованиеОборудования) > ИмяСотрудника Модифицируйте определения так, чтобы добавить следующее ограничение; сотрудник не может записаться более чем на один сеанс работы с оборудованием.
Определим в качестве ночного времени часы между 21.00 и 05.00. Добавьте атрибут Ти пСотрудника, значение которого равно 1, если сотрудник работает в ночное время. Измените определения таким образом, чтобы ввести условие, что только сотрудники, работающие ночью, могут записываться на ночные сеансы. Вопросы к проекту НгебЦр Фирма Р1гес(Пр наняла команду проектировщиков, разработавших для базы данных фирмы приведенные ниже отношения (вообше-то эту команду следовало бы уволить!). База данных должна содержать информацию о проданных горелках, выполненном ремонте и клиентах, Чтобы ознакомиться с потребностями фирмы, обратитесь к проектам в конце глав 1 — 3. Для каждого из представленных ниже отношений укажите ключи-кандидаты, функциональные зависимости и многозначные зависимости (еслп таковые присутствуктг).
Если ответ не очевиден, приведите обоснование этого. В какой нормальной форме находится каждое нз отношений, если иметь в виду указанные вами ключи и другие элементы? Преобразуйте каждое из отношений в два нли более новых отношения, находяшнхся в домениа-ключевой нормальной форме. Укажите первичный ключ каждой таблицы, ключи-кандидаты и внешние ключи, а также сформулируйте ограничения ссылочной целостности, если они имеются.