Перейти до вмісту

Проєктування бази даних

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

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

Основні завдання проєктування баз даних

[ред. | ред. код]

Основні завдання:

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

Основні підходи до проєктування баз даних

[ред. | ред. код]

Існує два підходи до проектування БД: низхідне проектування і висхідне проектування [1]

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

Цей підхід рекомендується застосовувати у тих випадках, коли кількість, різноманітність та складність сутностей, зв'язків і транзакцій значна за розмірами. Найбільш поширеними моделями для цього проектування є моделі "сутність − зв'язок".

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

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

Основні етапи проєктування баз даних

[ред. | ред. код]

Концептуальне (інфологічне) проєктування — побудова семантичної моделі предметної області, тобто інформаційної моделі найбільш високого рівня абстракції. Така модель створюється без орієнтації на якусь конкретну СУБД і модель даних. Терміни «семантична модель», «концептуальна модель» і «інфологічна модель» є синонімами. На цьому етапі визначаються об'єкти, зв'язки між об'єктами, атрибути, ключові атрибути[1].

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

Найчастіше концептуальна модель бази даних включає в себе:

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

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

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

На етапі логічного проєктування враховується специфіка конкретної моделі даних, але може не враховуватися специфіка конкретної СУБД.

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

Модель «сутність — зв'язок»

[ред. | ред. код]

Модель «сутність-зв'язок» (ER-модель) (англ. Entity-relationship model або англ. entity-relationship diagram) — модель даних запропонована П. Ченом[2], яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків. ER-модель — це мета-модель даних, тобто засіб опису моделей даних. Існує ряд моделей для представлення знань, але одним з найзручніших інструментів уніфікованого представлення даних, незалежного від програмного забезпечення, що його реалізує, є модель «сутність-зв'язок». Важливим є той факт, що з моделі «сутність-зв'язок» можуть бути породжені всі наявні моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найзагальнішою [3].

Основні переваги ER-моделей:

  • наочність;
  • моделі дозволяють проєктувати бази даних з великою кількістю об'єктів і атрибутів;
  • ER-моделі реалізовані в багатьох системах автоматизованого проєктування баз даних;

Основні елементи ER-моделей:

  • об'єкти (сутності);
  • атрибути об'єктів;
  • зв'язки між об'єктами;

Див. також

[ред. | ред. код]

Джерела

[ред. | ред. код]
  1. а б Гайна, Г.А. (2005). Основи проектування баз даних: Навчальний посібник. Київ: Київський національний університет будівництва і архітектури. с. 204. ISBN 966-627-117-6.
  2. Chen, Peter Pin-Shan (1 березня 1976). The entity-relationship model—toward a unified view of data. ACM Transactions on Database Systems. Т. 1, № 1. с. 9—36. doi:10.1145/320434.320440. ISSN 0362-5915. Процитовано 31 січня 2023.
  3. Кузнецов, С. Д. (2007). Основы баз данных (Російська) (вид. друге). Москва: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний. с. 484. ISBN ISBN 978-5-94774-736-2. {{cite book}}: Перевірте значення |isbn=: недійсний символ (довідка)