Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD / Slides / Russian / Лекция 12R-Целостность данных.ppt
Скачиваний:
24
Добавлен:
20.02.2016
Размер:
109.06 Кб
Скачать

Резниченко Валерий Анатольевич Организация баз данных и знаний

Лекция 12. Целостность данных

Национальный авиационный университет Факультет компьютерных наук

Кафедра инженерии программного обеспечения

воскресенье 7 Июль, 2019

1

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

СОДЕРЖАНИЕ

Понятие про ограничения целостности и их классификация

Декларативные ограничения целостности

Динамические ограничения целостности

Семантические ограничения целостности

Транзакции как механизм поддержания целостности

Триггеры как механизм поддержания целостности

ФКН НАУ

2

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Понятие про ограничения целостности

Целостность данных – это полнота, достоверность и точность данных, сохраняемых в БД.

Ограничения целостности - это правила, которые ограничивают множество возможных состояний базы данных и множество возмож- ных переходов из одного состояния в другое теми состояниями (переходами), которые рассматриваются как "допустимые".

БД находится в целостном состоянии, если он соответствует определенным для нее ограничениям целостности.

ФКН НАУ

3

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Классификация ограничений целостности

По происхождению (структурные, семантические)

По способу поддержания (декларативные, процедурные)

По времени проверки (проверяются немедленно, отложенные)

По области действия (атрибут, отношение, связь, и.т.д.)

Возможность поддержания переходов из одного состояния в другое (статичные, динамичные).

ФКН НАУ

4

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Декларативные ограничения целостности

Декларативное ограничение целостности – это ограничения, которые фиксируют условия, которым должна удовлетворять БД.

В реляционной БД ограничения целостности задаются для таких объектов:

таблица,

столбцы,

связи между таблицами,

связи между столбцами.

ФКН НАУ

5

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Целостность таблицы

В реляционных СУБД целостность таблицы задается первичным ключом, который предполагает поддержание следующих ограничений целостности:

Столбцы первичного ключа не могут содержать значений NULL.

Значение первичного ключа (как одного столбца так и совокупности столбцов) не могут дублироваться в таблице, то есть они должны быть уникальными (UNIQUE).

Синтаксис:

CONSTRAINT constraint_name PRIMARY KEY (column_list)

Пример:

CONSTRAINT DepPrk PRIMARY KEY (DepName, FacNO)

ФКН НАУ

6

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Целостность столбцов

Вреляционной СУБД целостность столбцов представляется:

Заданием типов данных и их размеров (обязательное свойство).

Определением, является ли обязательными значения столбца (NULL/NOT NULL).

Определением может ли значение столбца дублироваться (UNIQUE).

Определением значения по умолчанию.

Определением условия, которому должны удовлетворять значения столбца

Для производных (выводимых, вычисляемых) столбцов задается процедура их вычисления

ФКН НАУ

7

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Целостность столбцов. Типы данных

Распространенными типами данных SQL являются:

Строка фиксированной длины (CHR(n)).

Строка переменной длины (VARCHAR(n)).

Целые числа (INTEGER, INT, BIGINT, SMALLINT)/.

Числа с фиксированной запятой (NUMERIC (p,s)).

Числа с плавающей запятой (REAL, FLOAT)

Дата (DATE) и время (TIME).

Пример:

CREATE TABLE TEACHER (

TchNO INTEGER,

Name VARCHAR(50),

HireDate DATE,

Salary NUMERIC (5,2));

ФКН НАУ

8

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Целостность столбцов. Обязательность значений атрибута

NULL - указывает, что в столбце значения могут отсутствовать (значения по умолчанию).

NOT NULL – указывает, что значения в столбце являются обязательными.

Пример:

 

 

 

 

 

 

 

CREATE TABLE TEACHER (

 

 

TchNO

INTEGER NOT NULL,

 

 

Name

VARCHAR(50) NOT NULL,

 

 

Post

VARCHAR(30) NOT NULL

 

 

HireDate

DATE NULL,

 

 

Salary

NUMERIC (5,2));

 

 

 

 

 

 

 

 

 

ФКН НАУ

9

Лекция 12. Целостность данных

воскресенье 7 Июль, 2019

Целостность столбцов. Уникальность значений столбца

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

Если уникальность определена на совокупности столбцов, то каждый из таких столбцов не должен быть уникальным.

Отсутствие этого ограничения допускает повторение значений столбца (столбцов)

Синтаксис:

[CONSTRAINT constraint_name] UNIQUE (column_list)

Пример:

CONSTRAINT TchUnq UNIQUE (Name, Post, HireDate)

ФКН НАУ

10