Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Тема 5. Процесс проектирования и производства ПО. Проектирование баз данных

Цели и задачи темы:

1. Познакомиться с нормализацией диаграммы «сущность-связь» - первой, второй и третьей нормальными формами.

2. Понять механизм устранения связей типа «многие ко многим».

3. Изучить правила генерации базы данных на основе диаграммы «сущность-связь».

4. Рассмотреть основы языка SQL.

Нормализация данных – это процесс приведения модели к виду, позволяющему получить в дальнейшем структуру базы данных, в которой устранена избыточность хранения и сведены к минимуму аномалии при добавлении, удалении, изменении данных. В процессе нормализации модель должна быть последовательно приведена к первой, второй, третьей нормальным формам (1НФ, 2НФ, 3НФ).

Приведение к 1НФ состоит в исключении множественных или повторяющихся атрибутов.

Атрибут (группа атрибутов) является множественным, если для одного экземпляра сущности может быть несколько различных значений атрибута. В примере на рис. 1 таким атрибутом является «Оценка», так как студент имеет много оценок по различным предметам.

 

Рис.1. Пример множественного (повторяющегося) атрибута

Приведение к 1НФ осуществляется по следующим правилам (рис. 2):

· множественный атрибут или группа таких атрибутов выделяются в самостоятельную сущность;

· между исходной и новой сущностями устанавливается связь.

 

Рис.2. Правило приведения к 1НФ

Результат приведения к 1НФ для сущности «СТУДЕНТ» (см. рис. 1) показан на рис. 3.

 

Рис.3. Приведение к 1НФ сущности Студент

Первая нормальная форма, таким образом, является механизмом выявления упущенных сущностей и связей.

Приведение ко 2НФ предполагает вынесение атрибутов, которые не удовлетворяют требованиям функционально полной зависимости от уникального идентификатора сущности, являющегося составным ключом.

Атрибут А функционально зависит от атрибута В (ФЗ: В —› А), если каждому значению А соответствует не более одного значения В. Функциональная зависимость может иметь место не только от одного атрибута, но и от группы атрибутов – ФЗ: B, C, D —› А.

Функциональная зависимость является полной, если атрибут зависит от составного ключа и не зависит ни от какого подмножества данного ключа, т. е. имеет место зависимость ФЗ: K1, K2,..., Kn —› А и не справедлива ни одна из следующих зависимостей: ФЗ: K1 —› А; ФЗ: K2 —› А;... ФЗ: K1, K2 —› А и т. д.

Пример функционально неполной зависимости приведен на рис. 4. Здесь атрибуты «Факультет», «Курс» зависят от ключевого атрибута «Номер группы» и не зависят от других ключевых атрибутов: «Фамилия», «Имя», «Отчество».

 

Рис.4. Пример функционально неполной зависимости

Приведение к 2НФ осуществляется по следующим правилам (рис. 5):

· атрибуты, зависящие от части составного ключа, и сама эта часть выносятся в отдельную (новую) сущность и исключаются из исходной;

· ключом новой сущности становится часть ключа исходной, от которой имеет место функционально неполная зависимость;

· между исходной и новой сущностями устанавливается связь типа М: 1, ключевая со стороны «многие».

 

Рис.5. Правило приведения ко 2НФ

Результат приведения ко 2НФ сущности “СТУДЕНТ” (см. рис. 4) показан на рис. 6.

Приведение к 2НФ, так же как и приведение к 1НФ, позволяет выявить в модели упущенные сущности и связи и, кроме того, устранить избыточность данных в исходной модели.

 

Рис.6. Приведение ко 2НФ

В примере, рассматриваемом на рис. 4, значение атрибутов «Факультет» и «Курс» повторялось бы для каждого экземпляра сущности «СТУДЕНТ», а, следовательно, неоправданно увеличивался бы объем памяти, занимаемой базой данных. Этот недостаток устранен в модели на рис. 6. Кроме того, изменение, например, номера курса (см. рис. 4), приводило бы к необходимости изменить значение атрибута для каждого экземпляра сущности «СТУДЕНТ», вместо того чтобы сделать это один раз для экземпляра сущности «ГРУППА» (аномалия изменения).

Приведение к 3НФ состоит в исключении транзитивных зависимостей атрибутов от атрибутов, не являющихся частью ключа.

Атрибут А транзитивно зависит от С, если А зависит от В, а В зависит от С (ФЗ: С —›* А, если ФЗ: В —› А и ФЗ: С —› В).

Пример транзитивной зависимости приведен на рис. 7. Здесь значение атрибута «Должностной оклад» определяется неключевым атрибутом «Должность».

 

Рис.7. Пример транзитивной зависимости

Приведение к 3НФ осуществляется по следующим правилам (рис. 8):

· атрибуты, зависящие от неключевых атрибутов, и сами эти атрибуты выносятся в отдельную (новую) сущность и исключаются из исходной сущности;

· ключом новой сущности становятся те атрибуты исходной, от которых была обнаружена транзитивная зависимость;

· между исходной и новой сущностями устанавливается связь типа М: 1.

Результат приведения к 3НФ сущности «СОТРУДНИК» (см. рис. 7) показан на рис. 9.

 

Рис.8. Правила приведение к 3НФ

Приведение к 3НФ, так же как и приведение к 1НФ, 2НФ, позволяет выявить в модели упущенные сущности и связи и, кроме того, устранить избыточность данных и аномалии изменения.

 

Рис.9. Приведение к 3НФ

Помимо рассмотренных выше преобразований для получения структуры, представимой в реляционных базах данных, в модели «сущность-связь» должны быть устранены связи вида «многие ко многим». Устранение таких связей выполняется по следующим правилам (рис. 10):

· создается новая (так называемая «межсекционная») сущность;

· между новой и исходными сущностями устанавливаются связи М: 1;

· из модели удаляется связь М: М.

Имя межсекционной сущности часто образуется как сочетание имен сущностей, между которыми была задана связь М: М. В общем случае межсекционные сущности могут не иметь собственных атрибутов; если это так, то определенные для них связи становятся ключевыми.

 

Рис.10. Правило устранения связей «многие-ко-многим»

<== предыдущая лекция | следующая лекция ==>
Элементы и правила построения диаграмм потоков данных | Проектирование структуры базы данных
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 288; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.