Курсовая работа: База даних лікарських препаратів
Відношення знаходиться в другій нормальній формі, якщо воно знаходиться в першій нормальній формі та всі його не ключові атрибути залежать від всього ключа. [3 c. 50]
У відповідності з цим визначенням, якщо відношення має в якості ключа одиночний атрибут, то воно автоматично знаходиться в другій формі. Оскільки ключ є одиночним атрибутом, то при замовчуванні кожний не ключовий атрибут залежить від всього ключа, та часткових залежностей бути не може. Таким чином, друга нормальна форма містить інтерес тільки для тих відношень, які мають композитні ключі. [5]
Щоб зрозуміти, що таке друга нормальна форма, розглянемо попереднє відношення Поставщик – Производитель. Проблема з цим відношенням в тому, що воно містить залежність, яка стосується тільки частини ключа. Ключем комбінації (НазваниеПоставщика, НазваниеПроизводителя), проте містить залежність НазваниеПоставщика – КодПоставщика. В цій залежності НазваниеПоставщика являє собою лише частину ключа. Тому можна сказати, що атрибут Код поставщика частково залежить від ключа таблиці. Аномалії модифікації не було б, якщо б КодПоставщика залежив від всього ключа.
Відношення Поставщик – Производитель може бути розбито на два відношення в другій нормальній формі, а саме НазваниеПроизводителя – НазваниеПоставщика та НазваниеПоставщика – КодПоставщика. Нові відношення знаходяться в другій нормальній формі, оскільки обидва мають в якості ключів одиничні атрибути.
Третя нормальна форма.
Відношення знаходиться в третій нормальній формі, якщо воно знаходиться в другій нормальній формі та не має транзитивних залежностей.
Транзитивні залежності породжують надлишкове дублювання інформації у відношеннях. [5]
Ключем тут є ЛекарственныйПрепарат, та існують функціональні залежності ЛекарственныйПрепарат – ЛекарственнаяФорма та ЛекарственнаяФорма – КодЛекарственнойФормы. Оскільки ЛекарственныйПрепарат визначає атрибут ЛекарственнаяФорма, а ЛекарственнаяФорма визначає атрибут КодЛекарственнойФормы, тоді непрямим образом ЛекарственныйПрепарат – КодЛекарственнойФормы. Така структура функціональних залежностей називається транзитивною залежністю, оскільки атрибут ЛекарственныйПрепарат визначає атрибут КодЛекарственнойФормы через атрибут ЛекарственнаяФорма.
Для того, щоб видалити аномалії з відношення в другій нормальній формі необхідно позбутися транзитивної залежності.
Відношення ЛекарственныйПрепарат можна розділити на два відношення в третій нормальній формі: ЛекарственныйПрепарат – ЛекарственнаяФорма та ЛекарственнаяФорма – КодЛекарственнойФормы.
На практиці побудова третьої нормальної форми схем відношень в більшості випадків являється достатнім та приведенням до них процесу проектування реляційної бази даних закінчується.
Нормальна форма Бойса – Кодда (НФБК).
Оригінальне визначення Коддом для 3НФ не зовсім підходить для відношення з умовами:
· Відношення має два (або більше) потенційних ключа
· Два потенційних ключа є складними
· Вони перетинаються (тобто, мають по крайній мірі, один спільний атрибут). [6]
Тому оригінальне визначення 3НФ було замінено більш строгим визначенням Бойса – Кодда, для якого було прийнято окреме визначення – нормальна форма Бойса – Кодда. Комбінації умов 1, 2 та 3 не часто зустрічаються на практиці, та для відношень без цих умов 3НФ та НФБК еквівалентні. [3]
Відношення знаходиться в НФБК, якщо кожен детермінант є ключем – кандидатом.
Відношення в НФБК не мають аномалій, які відносяться до функціональних залежностей, проте аномалії можуть бути обумовлені і іншими причинами, крім функціональних залежностей. [5]
3. Логічне проектування
Логічне проектування полягає в визначенні кількості та структури таблиць, форматуванні запитів до бази даних, створення форм для введення та редагування даних в базі та розв’язку інших задач.
Процес проектування бази даних включає етапи:
· Виділення сутностей і зв'язків між ними;
· Побудова ER – діаграми;
· Формування набору попередніх відношень з вкладанням первинного ключа для кожного відношення та використанні діаграми ER – типа;
· Додавання не ключових атрибутів у відношення;
· Приведення відношень до нормальної форми Бойса – Кодда;
Перегляд ER – діаграм у випадках:
· деякі відношення не приводяться до нормальної форми Бойса – Кодда;
· деяким атрибути не знаходяться логічного обґрунтованих місць у відношеннях.