Инфологическая модель бази даних

Основою бази даних є модель даних. Інформаційно-логічна (інфологіческая) модель предметної області відбиває предметну область у вигляді сукупності інформаційних об'єктів і їх структурних зв'язків.

Інформаційний об'єкт - це опис деякої сутності (явища, реального об'єкта, процесу) у вигляді сукупності логічно пов'язаних реквізитів. Наприклад, інформаційний об'єкт Студент описує деяку сутність - студент. Реквізитний складу цього інформаційного об'єкта, тобто його структура, наступний: № групи. ПІБ, № залікової книжки, Дата народження. Інформаційний об'єкт має безліч реалізацій - примірників.

Приклад інфологічної моделі:

Ріс.133 Приклад зв'язку "Багато-до-багатьох"

Розрізняють моделі даних трьох типів:

Ієрархічна (деревоподібна) модель даних являє собою ієрархію елементів, званих вузлами. Вузол - це сукупність атрибутів даних, що описують інформаційний об'єкт. На самому верхньому рівні є тільки один вузол - корінь. Кожен вузол крім кореня пов'язаний тільки з одним вузлом на більш високому рівні, званим вихідним вузлом для даного вузла. Кожен вузол може бути пов'язаний з одним або декількома вузлами нижчого рівня, званими породженими (підлеглими). Вузли, які не мають породжених, називаються листям. Кількість дерев в базі даних визначається числом кореневих записів. До кожного запису бази даних існує тільки один шлях.

Мережева модель також ґрунтується на поняттях вузол, рівень, зв'язок. Мережева модель даних - це модель, в якій породжений вузол може мати більше одного вихідного вузла. В мережевій структурі будь-який елемент будь-якого рівня може бути пов'язаний з будь-яким іншим елементом.

Реляційна модель даних - це безліч взаємопов'язаних двовимірних таблиць. Кожна таблиця містить відомості про однорідні об'єкти бази даних і має такі властивості:

- кожен елемент таблиці являє собою один елемент даних;

- елементи одного стовпця однорідні;

- кожен стовпець має унікальне ім'я;

- таблиця не містить двох і більше однакових рядків;

- порядок проходження рядків і стовпців довільний.

Такі таблиці називаються реляційними. Дані можуть вилучатись одночасно з декількох таблиць. Це виявляється можливим, якщо встановити між таблицями зв'язку. Таблиці зв'язуються між собою для того, щоб, в кінцевому рахунку, зменшити обсяг БД. Зв'язок кожної пари таблиць забезпечується при наявності в них однакових стовпців.

Реляційні моделі даних.

Рядок реляційної таблиці - називається записом, а стовпці називаються полями. Запис являє собою один екземпляр інформаційного об'єкту. Поле відображає якусь властивість цього об'єкта. Кожне поле характеризується:

Для однозначного визначення кожного запису може використовуватися ключ. Ключ може складатися з одного або декількох полів записи. Якщо ключ складається з кількох полів, він називається складеним. Ключ повинен бути унікальним і однозначно визначати запис. За значенням ключа можна відшукати єдиний запис. Ключі служать також для впорядкування інформації в БД.

Таблиці реляційної БД повинні відповідати вимогам нормалізації відносин. Нормалізація відносин - це формальний апарат обмежень на формування таблиць, який дозволяє усунути дублювання, забезпечує несуперечність збережених в базі даних, зменшує трудовитрати на ведення бази даних.

Нехай створена таблиця Студент. містить наступні поля: № групи, ПІБ, № заліковки, Дата народження, Назва спеціальності, Назва факультету. Така організація зберігання інформації матиме ряд недоліків:

- дублювання інформації (найменування спеціальності і факультету повторюються для кожного студента), отже, збільшиться обсяг БД;

- процедура поновлення інформації в таблиці ускладнюється через необхідність редагування кожного запису таблиці.

Нормалізація таблиць призначена для усунення цих недоліків.

Є три нормальні форми відносин.

Перша нормальна форма. Реляційна таблиця приведена до першої нормальної формі, якщо всі її поля прості (тобто далі неподільні). Так, якщо з таблиці Студент потрібно отримувати відомості по імені студента, то поле ПІБ слід розбити на частини Прізвище, Ім'я, По батькові.

Друга нормальна форма. Реляційна таблиця задана в другій нормальній формі, якщо вона приведена до першої нормальної формі, і кожен неключових поле повністю залежить від будь-якого можливого ключа. Щоб привести таблицю до другої нормальної форми, необхідно визначити функціональну залежність полів. Функціональна залежність полів - це залежність, при якій в екземплярі інформаційного об'єкта певному значенню ключового реквізиту відповідає тільки одне значення описового реквізиту.

Третя нормальна форма. Таблиця знаходиться в третій нормальній формі, якщо вона знаходиться в другій нормальній формі, і відсутня транзитивній залежність полів. Транзитивная залежність спостерігається в тому випадку, коли одне з двох описових полів залежить від ключа, а інше описовий поле залежить від першого описового поля. Наприклад, в таблиці Студент (№ групи, ПІБ, № залікової книжки, Дата народження, Староста) три поля: № залікової книжки, № групи, Староста знаходяться в транзитивної залежності. № групи залежить від № залікової книжки. а Староста залежить від № групи. Для усунення транзитивної залежності необхідно частину полів таблиці Студент перенести в іншу таблицю Група. Таблиці приймуть такий вигляд: Студент (№ групи, ПІБ, № залікової книжки, Дата народження), Група (№ групи, Староста).

Над реляційними таблицями можливі наступні операції:

- Об'єднання таблиць з однаковою структурою. Результат - загальна таблиця: спочатку перша, потім друга (конкатенація).

- Перетин таблиць з однаковою структурою. Результат - вибираються ті записи, які знаходяться в обох таблицях.

- Віднімання таблиць з однаковою структурою. Результат - вибираються ті записи, які не мають в віднімається.

- Вибірка (горизонтальне підмножина). Результат - вибираються записи, що відповідають певним умовам.

- Проекція (вертикальне підмножина). Результат - відношення, що містить частину полів з вихідних таблиць.

- Декартово твір двох таблиць. Записи результуючої таблиці виходять шляхом об'єднання кожного запису першої таблиці з кожним записом іншої таблиці.

Схожі статті