1.41M
Category: databasedatabase

Нормальные формы

1.

Нормальные формы

2.

Нормальная форма
Нормальная форма — совокупность требований, которым
должны удовлетворять отношения (таблицы).
Нормализация — процесс преобразования отношений
(изменения структуры таблиц) к виду, отвечающему
нормальным формам

3.

Цель нормализации
исключить избыточное дублирование данных, которое
является причиной аномалий, возникших при
добавлении, редактировании и удалении кортежей
(строк таблицы).

4.

Аномалии
Аномалией называется такая ситуация в таблице БД, которая
приводит к противоречию в БД либо существенно усложняет
обработку БД.
Причиной является излишнее дублирование данных в
таблице, которое вызывается наличием функциональных
зависимостей от не ключевых атрибутов.

5.

Аномалии
• Аномалии-модификации
• Аномалии-удаления
• Аномалии-добавления

6.

Виды нормальных форм
• Первая нормальная форма
• Вторая нормальная форма
• Третья нормальная форма
• Нормальная форма Бойса-Кодда
• Четвёртая нормальная форма
• Пятая нормальная форма
• Доменно-ключевая нормальная форма
• Шестая нормальная форма

7.

Принцип нормализации
Нормальные формы применяются последовательно:
• Сначала применяется первая нормальная форма, после чего таблицы
базы данных ещё могут нарушать вторую и третью нормальные формы.
• Далее применяется вторая нормальная форма, после чего таблицы базы
данных ещё могут нарушать третью нормальную форму.
• Далее применяется третья нормальная форма.

8.

Первая нормальная форма
Говорят, что отношение (таблица) находится в первой нормальной
форме тогда и только тогда, когда в любом допустимом
значении отношения каждый его кортеж (строка) содержит
только одно значение для каждого атрибута (ячейка
соответствующего столбца).

9.

Первая нормальная форма
(пример отношения до нормализации)

10.

Первая нормальная форма
(пример отношения после нормализации)

11.

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

12.

Вторая нормальная форма
(пример отношения до нормализации)

13.

Вторая нормальная форма
(пример отношения после нормализации)

14.

Третья нормальная форма
Говорят, что отношение (таблица) находится в третьей
нормальной форме тогда и только тогда, когда оно находится во
второй нормальной форме, и отсутствуют транзитивные
функциональные зависимости неключевых атрибутов
(столбцов) от ключевых.

15.

Транзитивная функциональная зависимость
Определение: Если для атрибутов X, Y и Z отношения R
существуют функциональные зависимости X→ Y, Y→ Z,
говорят, что атрибут Z связан транзитивной зависимостью с
атрибутом X через атрибут Y (при этом атрибут X не должен
функционально зависеть ни от атрибута Y, ни от атрибута Z).

16.

Транзитивная функциональная зависимость

17.

Третья нормальная форма

18.

Третья нормальная форма

19.

Язык SQL

20.

Язык SQL
SQL (сокращение от англ. Structured Query Language) — это язык
запросов, который применяют, чтобы работать с базами данных,
структурированных особым образом.
Главные задачи SQL — составлять запросы так, чтобы находить среди
большого объёма информации ту, что нужна для конкретных целей,
сортировать её, структурировать и представлять в наиболее простом и
понятном виде.

21.

Язык SQL
SQL может использоваться как интерактивный (для
выполнения запросов) и как встроенный (для построения
прикладных программ).
Базовый вариант SQL содержит порядка 40 команд (часто еще
называемых запросами или операторами) для выполнения
различных действий внутри СУБД.

22.

Язык SQL

23.

Язык SQL
Язык SQL имеет две составляющие:
• язык обращения с данными Data Manipulation
Language (DML)
• язык определения данных Data Definition Language (DDL).

24.

Обозначения
• звездочка (*) - для обозначения "все";
• квадратные скобки ([ ]) – конструкции, заключенные в эти скобки, являются
необязательными (т.е. могут быть опущены);
• фигурные скобки ({}) –конструкции, заключенные в эти скобки, должны
рассматриваться как целые синтаксические единицы;
• многоточие (...) – указывает на то, что непосредственно предшествующая ему
синтаксическая единица факультативно может повторяться один или более раз;
• прямая черта (|) – означает наличие выбора из двух или более возможностей.

25.

Обозначения
• точка с запятой (;) – завершающий элемент предложений SQL;
• запятая (,) – используется для разделения элементов списков;
• пробелы ( ) – могут вводиться для повышения наглядности между любыми
синтаксическими конструкциями предложений SQL;
• прописные жирные латинские буквы и символы – используются для написания
конструкций языка SQL;
• строчные буквы – используются для написания конструкций, которые должны
заменяться конкретными значениями, выбранными пользователем;

26.

Язык SQL
Основные операторы DDL:
• CREATE
• ALTER
• DROP

27.

Команда создания базы данных
• CREATE DATABASE <имя БД> [параметры]

28.

Создание таблиц
CREATE TABLE <имя_таблицы>
(<определение_столбца>|[ограничение_таблицы][, …])

29.

Ограничения на объекты
реляционной базы данных

30.

Ограничения целостности
• Контроль возможности использовать NULL-значения
• Ограничения для доменов атрибутов
• Категорная целостность
• Ссылочная целостность
• Ограничения предметной области

31.

Создание таблиц
CREATE TABLE Departments
(
DeptNum int NOT NULL PRIMARY KEY,
Name varchar(80) NOT NULL
)

32.

ALTER TABLE
Команда ALTER TABLE позволяет добавлять новые колонки и
ограничения целостности, удалять их, менять типы колонок,
переименовывать колонки.
ALTER TABLE Departments ADD COLUMN City int

33.

DROP TABLE
Удаление ранее созданной таблицы производится командой DROP
TABLE:
• DROP TABLE <Название таблицы>

34.

DDL
• CREATE DATABASE - создать базу данных
• DROP DATABASE - удалить базы данных
• CREATE TABLE - создать таблицу
• ALTER TABLE - изменить таблицу
• DROP TABLE - удалить таблицу
• CREATE DOMAIN - создать домен
• ALTER DOMAIN - изменить домен
• DROP DOMAIN - удалить домен
• CREATE VIEW - создать представление
• DROP VIEW - удалить представление
English     Русский Rules