2.10M
Category: databasedatabase

ШАБЛОН презентаций митап

1.

Ограничения целостности:
первичные ключи, внешние ключи, уникальность
Фоминова Татьяна, System Analyst

2.

Обо мне
Фоминова Татьяна
Intern System Analyst

3.

Целостность данных = Надёжность + Порядок
Гарантия корректности
• Данные соответствуют правилам
Гарантия
непротиворечивости
• Данные не конфликтуют между
собой
Гарантия достоверности
• Уверенность в качестве данных

4.

Первичный ключ (PRIMARY KEY
)
«Паспорт» для записи в
таблице
Уникальный
повторяются
NOT NULL
Значения не
Значение обязательно
Один на таблицу
идентификатор
Главный

5.

Пример
Таблица products
id (PK)
name
price
currency
101
Ноутбук
999.99
USD
102
Мышь
24.99
USD
103
Клавиатура
75.50
USD

6.

Внешний ключ (FOREIGN KEY)
Мост между таблицами
Столбец, который ссылается на PRIMARY KEY в
другой таблице
Механизм поддержания связей в нормализованной
БД
Гарантирует ссылочную целостность
Реализует связи "один-ко-многим“
Автоматическая валидация связей на уровне
СУБД

7.

Пример
Таблица categories
Таблица products
id (PK)
name
id (PK)
category_i
d (FK)
price
currency
1
Ноутбуки
101
1
999.99
USD
2
Мыши
102
2
24.99
USD
3
Клавиатуры
103
3
75.50
USD

8.

Уникальность (UNIQUE)
Защита от дублирования критичных
данных
Гарантия, что значения в столбце/группе столбцов не
повторяются
NULL значения разрешены (и считаются разными)
Можно применять к одному или нескольким столбцам
В одной таблице может быть несколько UNIQUE ограничений
Не является идентификатором записи

9.

Пример
Таблица products
id (PK)
category_i
d (FK)
article
(UNIQUE)
price
currency
101
1
NB-X12024
999.99
USD
102
2
MS-Pro2024
24.99
USD
103
3
KB-Ultra2024
75.50
USD
104
1
NB-X22024
1299.99
USD

10.

Другие ограничения целостности
NOT NULL — Обязательность данных
Гарантирует, что поле никогда не будет пустым
Базовое требование для первичных ключей и критичных
полей
Пример: product_name VARCHAR NOT NULL
CHECK — Валидация бизнес-правил
Проверяет значения по сложным условиям
Реализует доменные ограничения на уровне СУБД
Пример:price DECIMAL CHECK (price > 0)
DEFAULT — Значение по умолчанию
Автоматически подставляет значение при создании записи
Упрощает ввод данных и обеспечивает консистентность
Пример: created_at TIMESTAMP DEFAULT
CURRENT_TIMESTAMP

11.

Сегодня мы узнали:
Базовые ограничения:
• NOT NULL — гарантирует заполненность поля
• DEFAULT — обеспечивает значение по
умолчанию
• CHECK — проверяет данные по бизнесправилам
Ключевые ограничения:
• PRIMARY KEY — уникальный идентификатор
записи
• FOREIGN KEY — мост между таблицами
• UNIQUE — защита от дублирования бизнесданных

12.

Что это даёт на практике:
Надёжность
•Данные всегда корректны и
непротиворечивы
•Автоматическая проверка на уровне СУБД
•Защита от человеческих ошибок
Производительность
•Индексы для первичных и уникальных
ключей
•Быстрый поиск и эффективные соединения
Поддержка бизнес-логики
•Правила хранятся в одном месте
•Согласованность между разными

13.

Ограничения — это не препятствия,
а инструменты создания надёжной
системы

14.

15.

Ваши вопросы
English     Русский Rules