КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вторая нормальная форма (2НФ)
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме и каждое ее неключевое поле полностью зависит от ключа. Пример: AudioCD (№_CD, название, год, исполнитель). Имеется следующая связь между полями: №_CD <<--->> исполнитель ==> поле «исполнитель» не полностью зависит от ключа «№_CD», ==> имеется еще 1 объект (сущность), который мы упустили: Исполнитель. AudioCD<<--->> Исполнитель {М:М}. Связь М:М обычно устраняется введением искусственной сущности-связки: AudioCD<--->> AudioCD-исполнитель <<---> Исполнитель AudioCD (№_CD, название, год), Исполнитель (№_исп, имя,…), AudioCD-исполнитель (№_CD, №_исп) или AudioCD-исполнитель (№, №_CD, №_исп). В данном примере такой связкой может являться Песня: Песня (№_песни, название_песни, жанр,… №_CD, №_исп). AudioCD<--->> Песня <<---> Исполнитель.
{Пусть имеется отношение Поставка, содержащее данные о поставщиках (идентифицируемых номером), поставляемых ими товарах и их ценах. Поставка (номер_поставщика, товар, цена) Предположим, что поставщик может поставлять различные товары, а один и тот же товар могут поставлять разные поставщики. Таким образом, ключ отношения (выделенный жирным шрифтом) будет состоять из атрибутов номер_поставщика и товар. Известно, что цена любого товара зафиксирована (т. е. все поставщики поставляют товар по одной и той же цене). В отношении присутствуют следующие зависимости. номер_поставщика, товар® цена товар® цена Можно отметить неполную функциональную зависимость атрибута цена от ключа. Это приводит к следующим аномалиям: Аномалия включения. Если у поставщика появляется новый товар, информация о товаре и его цене не сможет храниться в базе данных до тех пор, пока поставщик не начнет поставлять его Аномалия удаления. Если поставки некоторого товара прекращаются, из базы данных придется удалить сведения о товаре и его цене, даже если он имеется в наличии у поставщиков. Аномалия обновления. При изменении цены товара необходим полный просмотр отношения с целью найти все поставки товара, чтобы изменение цены было отражено для всех поставщиков. Таким образом, изменение значения атрибута одного объекта влечет необходимость изменений в нескольких кортежах отношения: в противном случае база данных окажется несогласованной. Причиной этих аномалий является неполная функциональная зависимость атрибута цена от ключа. Разложение отношения Поставка на два отношения устранит неполную функциональную зависимость. Поставка (номер_поставщика, товар) Цена_товара (товар, цена) Цену товара конкретной поставки можно определить путем соединения двух отношений по атрибуту товар. Изменение цены товара вызовет модификацию лишь одного кортежа второго отношения.}
Дата добавления: 2015-05-09; Просмотров: 403; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |