Шаблон бази даних
Шаблони реляційних баз даних — це шаблони, які використовуються в проекті реляційних баз даних.
- Довідкова Таблиця
- Довідкова таблиця — це таблиця, яка залишається відносно постійною протягом часу і має відносно невелику кількість стовпців. Часто зустрічаються Ключ — Значення — Довідкова таблиця, тільки з двома стовпцями. Як ключі слід використовувати рядки, щоб уникнути об'єднання[1][2]
- Головна таблиця
- Головна таблиця — це таблиця, яка поміщає властивості об'єкта (особа, адреса і т. д.) в окремі стовпці. При цьому маленькі головні таблиці повинні містити унікальну рядок; для великих головних таблиць, вміст яких часто змінюється, ціле число повинно бути створено як ключ.
- Таблиця транзакцій
- Таблиця транзакцій — зберігає взаємодії або події між головними таблицями. Наприклад, список об'єктів, які клієнт поклав у кошик. Як ключ слід використовувати автоматично згенеровані цілі числа.
- Таблиця перехресних посилань
- Таблиця перехресних посилань — являє собою таблицю у відносини між майстром таблиць зберігаються. В таблиці перехресних посилань відношення n: n і відображаються в кількох рядках. Як ключ слід вибрати комбінацію з декількох стовпців.
- Обмежені транзакції
- Обмеженою транзакцією називається обмеження на таблиці, яке визначає, які транзакції дозволені і коли. Цей шаблон можна використовувати для зниження відповідних перевірок на сторінці додатка і для підвищення безпеки бази даних від неправильно реалізованих програм.[2]
- Перехідний первинний ключ
- Перехідний первинний ключ використовується, коли властивість об'єкта пропонується як первинний ключ (наприклад — номер клієнта), але може бути змінена. У цьому разі відповідну властивість можна використовувати як первинний ключ, але зміни повинні реєструватися в таблиці історії, щоб гарантувати подальше зіставлення.[3]
- Обмеження зовнішнього ключа
- Обмеження зовнішнього ключа — вказує, якщо видалення записів (рядків) з однієї таблиці не видаляє записи, пов'язані із записами в іншій таблиці. Таким чином, обмеження зовнішнього ключа є протилежністю зовнішнього ключа каскаду. У SQL робиться обмеження зовнішнього ключа за допомогою команди
DELETE RESTRICT
. Ця поведінка за замовчуванням для більшості реалізацій баз даних, якщо вказана тільки командаDELETE
- Зовнішній ключ
- Каскад іноземних ключів є протилежністю обмеження зовнішнього ключа. Видаляючи запис, пов'язані з ним записи також видаляються.
- У SQL виникає обмеження зовнішнього ключа за допомогою команди
DELETE CASCADE
. - Перевірка перехресних посилань
- Перевірка перехресних посилань використовується, коли стовпчики в головній таблиці повинні мати певний зв'язок. Це відношення зберігається в окремій таблиці перехресних посилань. Розділена таблиця перехресних посилань збільшує споживання ресурсів бази даних, але її необхідно використовувати для перевірки достовірності даних.
- Таблиця пошуку тільки для читання
- Таблиця пошуку тільки для читання — це таблиця, що визначає зв'язок між двома таблицями, вміст якої можна задати, але може бути змінено тільки певними ролями або групами. Прикладом є зв'язування деяких продуктів зі знижкою.
Шаблони денормалізації дозволяють денормалізувати базу даних з метою покращення її поведінки під час виконання.
- Вибірка
- При вибірці дані копіюються з однієї таблиці в іншу (тимчасову) таблицю (наприклад, таблицю транзакцій). Зверніть увагу, що зміна вихідної таблиці не буде автоматично застосовано до таблиці.
- Попередня агрегація
- За попередньою агрегації значення з різних джерел обчислюються заздалегідь в ході однієї (тривалої) пакетної обробки і зберігається в іншій таблиці. Значення не перераховуються при кожному запиті, а обчислюються тільки в ході наступної пакетної обробки. Перевага полягає в тому, що доступ до бази даних значно швидший, а ресурси можна заощадити. Негативно позначається на тому, що недавні зміни в розрахунках не враховуються.
- Розширення
- Розширення таблиці відбувається, коли стовпець у таблиці формується шляхом обчислення з інших стовпців. Це означає, що обчислення не потребуется повторно при кожному запиті, а тільки в тому випадку, якщо запис змінюється.
- Таблиця для ієрархії спадкування
- (англійською мовою: Single Table Inheritance) використовується одна таблиця для кожного класу, щоб клас дерево відобразити у базі даних.[4]
- Таблиця для підкласу
- (англійською мовою: Table Class Inheritance) використовує свою власну таблицю для кожного конкретного або абстрактного класу, щоб клас дерево відобразити в базі даних.[4]
- Таблиця для конкретного класу
- (англійською мовою: Concrete Table Inheritance) використовує свою власну таблицю для кожного конкретного класу, щоб клас дерево відобразити в базі даних.[4]
-
Tabelle pro Vererbungshierarchie
-
Tabelle pro Unterklasse
-
Tabelle pro konkrete Klasse
![]() | Цей розділ потребує доповнення. (липень 2018) |
- ↑ Database Skills: A Sane Approach To Choosing Primary Keys. The Database Programmer (англ.). 14 січня 2008. Архів оригіналу за 30 квітня 2018. Процитовано 6 березня 2013.
- ↑ а б Table Design Pattern: Limited Transaction. The Database Programmer (англ.). 27 лютого 2008. Архів оригіналу за 1 квітня 2018. Процитовано 6 березня 2013.
- ↑ The Primary Key That Wasn’t. The Database Programmer (англ.). 24 лютого 2008. Архів оригіналу за 1 квітня 2018. Процитовано 6 березня 2013.
- ↑ а б в Martin Fowler: Patterns of Enterprise Application Architecture. Addison-Wesley-Longman, Amsterdam, ISBN 0-321-12742-0.
На цю статтю не посилаються інші статті Вікіпедії. Будь ласка розставте посилання відповідно до прийнятих рекомендацій. |