Разработка баз данных

Содержание

Слайд 2

Online-edu.mirea.ru

ТЕМА СТРУКТУРА SQL

Online-edu.mirea.ru ТЕМА СТРУКТУРА SQL

Слайд 3

План лекции

Основные объекты структуры базы данных SQL-сервера.
Синтаксис оператора создания таблиц.
Синтаксис операторов обновления

План лекции Основные объекты структуры базы данных SQL-сервера. Синтаксис оператора создания таблиц.
и удаления таблиц.
Создание индекса.

Слайд 4

Структура SQL

Основные объекты структуры базы данных SQL-сервера

Структура SQL Основные объекты структуры базы данных SQL-сервера

Слайд 5

Структура SQL

Операторы определения данных
DDL (Data Definition Language )

Структура SQL Операторы определения данных DDL (Data Definition Language )

Слайд 6

Операторы определения данных

Создание базы данных в среде MS SQL Server

<определение_базы_данных> ::=

Операторы определения данных Создание базы данных в среде MS SQL Server ::=
CREATE DATABASE имя_базы_данных
[ON [PRIMARY]
[ <определение_файла> [,...n] ]
[,<определение_группы> [,...n] ] ]
[ LOG ON {<определение_файла>[,...n] } ]
[ FOR LOAD | FOR ATTACH ]

Слайд 7

Операторы определения данных

Создание таблиц
Базовый упрощенный синтаксис оператора создания таблицы CREATE TABLE

<определение_таблицы>

Операторы определения данных Создание таблиц Базовый упрощенный синтаксис оператора создания таблицы CREATE
::=
CREATE TABLE имя_таблицы
(имя_столбца тип_данных
[NULL | NOT NULL ] [,...n])
Пример оператора создания таблицы:
CREATE TABLE s1
(ФИО VARCHAR (20) NOT NULL,
Дисциплина VARCHAR (20) NOT NULL,
Оценка SMALLINT NOT NULL);

Слайд 8

Операторы определения данных

Создание таблиц
Базовое полное определение оператора CREATE TABLE

CREATE TABLE

Операторы определения данных Создание таблиц Базовое полное определение оператора CREATE TABLE CREATE
имя_таблицы
({ имя_столбца тип_даных [NOT NULL] [UNIQUE]
[DEFAULT значение по умолчанию]
[CHECK (условие проверки на допустимость) [,...]}
[PRIMARY KEY (список столбцов),]
{[UNIQUE (список столбцов),] [,...]}
{[FOREIGN KEY {список столбцов внешних ключей)
REFERENCES имя родительской таблицы [(список столбцов ключей-кандидатов)]}
[ON UPDATE правило ссылочной целостности]
[ON DELETE правило ссылочной целостности]] [,...]}
{[CHECK (условие проверки на допустимость)] [,...]})
Пример оператора создания таблицы:
CREATE TABLE s1 (ФИО VARCHAR (20) NOT NULL, Дисциплина VARCHAR (20) NOT NULL, Оценка SMALLINT NOT NULL);
PRIMARY KEY (ФИО, Дисциплина),
FOREIGN KEY ФИО REFERENCES S2
ON UPDATE CASCADE
ON DELETE CASCADE);

Слайд 9

Правила ссылочной целостности

Правило целостности внешних ключей:
для каждого значения внешнего ключа

Правила ссылочной целостности Правило целостности внешних ключей: для каждого значения внешнего ключа
должно существовать соответствующее значение первичного ключа в родительском отношении.
Ссылочная целостность может быть нарушена при выполнении операций:
1) обновление кортежа в родительском отношении;
2) удаление кортежа в родительском отношении;
3) вставка кортежа в дочернее отношение;
4) обновление кортежа в дочернем отношении.

Слайд 10

Cтратегии поддержания ссылочной целостности

Основные стратегии поддержания ссылочной целостности:
RESTRICT – не

Cтратегии поддержания ссылочной целостности Основные стратегии поддержания ссылочной целостности: RESTRICT – не
разрешать выполнение операции, приводящей к нарушению ссылочной целостности.
CASCADE – разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других кортежах отношений так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи.
Дополнительные стратегии поддержания ссылочной целостности:
NONE – никаких операций по поддержке ссылочной целостности не выполняется.
SET NULL – разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей заменять на неопределенные значения (null-значения).
SET DEFAULT – разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию.

Слайд 11

Операторы определения данных

Обновление таблиц
Обобщенный формат оператора ALTER TABLE

ALTER TABLE имя_таблицы
[ADD

Операторы определения данных Обновление таблиц Обобщенный формат оператора ALTER TABLE ALTER TABLE
[COLUMN] имя столбца тип данных [NOT NULL] [UNIQUE]
[DEFAULT значение по умолчанию] [CHECK (условие проверки на допустимость)]]
[DROP [COLUMN] ] имя_столбца [RISTRICT | CASCADE]]
[ADD [CONSTRAINT [(имя ограничения)] ограничение]
[DROP CONSTRAINT имя ограничения [RISTRICT I CASCADE]]
[ALTER [COLUMN] SET DEFAULT значение по умолчанию]
[ALTER (COLUMN] DROP DEFAULT]
Пример оператора обновления таблицы:
ALTER TABLE s1
ADD Группа varchar (7) NOT NULL;

Слайд 12

Операторы определения данных

Обновление таблиц

ALTER TABLE имя_таблицы
{[ADD [COLUMN] имя_столбца тип_данных [NULL

Операторы определения данных Обновление таблиц ALTER TABLE имя_таблицы {[ADD [COLUMN] имя_столбца тип_данных
| NOT NULL]]
| [DROP [COLUMN] имя_столбца]}

Модификация структуры таблицы

Модификация таблицы

ALTER TABLE имя_таблицы
{[ALTER COLUMN имя_столбца
{новый_тип_данных [(точность[,масштаб])] [ NULL | NOT NULL ]}]
| ADD { [имя_столбца тип_данных]
| имя_столбца AS выражение } [,...n]
| DROP {COLUMN имя_столбца}[,...n]
}

Слайд 13

Операторы определения данных

Удаление таблиц

DROP TABLE имя_таблицы [RISTRICT I CASCADE]
Пример оператора удаления таблицы:
DROP

Операторы определения данных Удаление таблиц DROP TABLE имя_таблицы [RISTRICT I CASCADE] Пример
TABLE s1;

Операторы создания и удаления индексов

Создать индекс:
CREATE [UNIQUE] INDEX имя_индекса
ON имя_таблицы (столбец [ASC| DESC] [,_.])
Удалить индекс:
DROP INDEX имя_индекса

Способы определения индекса

автоматическое создание индекса при создании первичного ключа;
автоматическое создание индекса при определении ограничения целостности UNIQUE ;
создание индекса с помощью команды CREATE INDEX.

Слайд 14

Индексы и методы доступа

Индексы – это механизмы быстрого доступа к данным в

Индексы и методы доступа Индексы – это механизмы быстрого доступа к данным
таблицах БД.

Логическая структура индексов

Физическая структура таблицы

Слайд 15

Индексы и методы доступа

Последовательный метод доступа к данным в таблицах БД:
просматриваются

Индексы и методы доступа Последовательный метод доступа к данным в таблицах БД:
все записи таблицы, от первой к последней.
Индексно-последовательный метод доступа к данным в таблицах БД:
поиск ведется по индексу, а не по самой таблице;
поиск в индексе начинается только с первой строки, удовлетворяющей, условию запроса или его части («прямой доступ»);
строки в индексе, начиная с такой записи, просматриваются последовательно.