Разделы презентаций


Создание базы данных

Содержание

Формы Бэкуса-Наура (BNF)Язык, в терминах которого дается описание языка SQL, называется метаязыком. При построении синтаксической диаграммы (дерева) главным образом использу­ются условные обозначения, известные как стандартные формы Бэкуса-Наура (BNF), но, кроме того,

Слайды и текст этой презентации

Слайд 1Создание базы данных

Создание базы данных

Слайд 2Формы Бэкуса-Наура (BNF)
Язык, в терминах которого дается описание языка SQL,

называется метаязыком. При построении синтаксической диаграммы (дерева) главным образом использу­ются

условные обозначения, известные как стандартные формы Бэкуса-Наура (BNF), но, кроме того, введены некие дополнения, способствующие более глубокому пониманию смысла операций. Ниже приведен полный список обозначений.

Формы Бэкуса-Наура (BNF)Язык, в терминах которого дается описание языка SQL, называется метаязыком. При построении синтаксической диаграммы (дерева)

Слайд 3Формы Бэкуса-Наура (BNF)
Символ ::= означает равенство по определению. Используется для

пояснения элементов синтаксической диаграммы оператора.

Ключевые слова записываются прописными буквами. Они

зарезервированы для обозначения и составляют часть оператора.

Формы Бэкуса-Наура (BNF)Символ ::= означает равенство по определению. Используется для пояснения элементов синтаксической диаграммы оператора.Ключевые слова записываются

Слайд 4Формы Бэкуса-Наура (BNF)
Необязательные элементы оператора заключены в квадратные скобки "[

]".
[А]

– повторение символа А 0 или 1 раз
Вертикальная черта "|" указывает на то, что все предшествующие ей элементы являются необязательными и любой из них может быть заменен на другой, принадлежащий списку после этой черты.
Формы Бэкуса-Наура (BNF)Необязательные элементы оператора заключены в квадратные скобки

Слайд 5Формы Бэкуса-Наура (BNF)
Фигурные скобки "{ }" указывают, что все находящееся

внутри них является единым целым при использовании других специальных символов

(например, вертикальной черты или круглых скобок).
{А} – повторение символа А произвольное число раз (включая 0 раз)

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

Формы Бэкуса-Наура (BNF)Фигурные скобки

Слайд 6Формы Бэкуса-Наура (BNF)
Многоточие, внутри которого есть запятая ".,.." (точнее, точка,

запятая, две точки) указывает, что предшествующая часть оператора, состоящая из

нескольких элементов, разделенных запятыми, может иметь произвольное число повторений. Запятую нельзя ставить после последнего элемента.

Формы Бэкуса-Наура (BNF)Многоточие, внутри которого есть запятая

Слайд 7СОЗДАНИЕ БД

СОЗДАНИЕ БД

Слайд 8Этапы создания БД
1. создание БД (файл с расширением *.mdf ).

В файле БД записываются сведения об основных объектах (таблицах, индексах,

просмотрах и т.д.),
2. создание журнала транзакций, принадлежащего БД (файл с расширением *.ldf). Здесь записываются сведения о процессе работы с транзакциями (контроль целостности данных, состояния БД до и после выполнения транзакций).

Этапы создания БД 1. создание БД (файл с расширением *.mdf ). В файле БД записываются сведения об

Слайд 9В стандарте ANSI нет команды CREATE DATABASE. Но почти все

платформы СУБД поддерживают какой-либо вариант этой команды.
При создании новой

базы данных как образец используется база данных MODEL.
Процедура создания базы данных обычно закрепляется только за администратором базы данных.

В стандарте ANSI нет команды CREATE DATABASE. Но почти все платформы СУБД поддерживают какой-либо вариант этой команды.

Слайд 10Определение базы данных
::=
CREATE DATABASE имя_БД

[ON [PRIMARY]
[ [,...n] ]


[,<определение_группы> [,...n] ] ]
[ LOG ON {<определение_файла>[,...n] } ]
Определение базы данных ::= CREATE DATABASE имя_БД  [ON [PRIMARY]     [  [,...n]

Слайд 11Имя БД
Имя БД – стандартный идентификатор, допустимый в SQL.

Если имя БД содержит пробелы или любые другие недопустимые символы,

оно заключается в ограничители (квадратные скобки). Имя БД должно быть уникальным в пределах сервера и не может превышать 128 символов.

Имя БД Имя БД – стандартный идентификатор, допустимый в SQL. Если имя БД содержит пробелы или любые

Слайд 12ON
ON – определяет список файлов на диске для размещения

информации, хранящейся в БД.
Если в процессе использования БД планируется ее

размещение на нескольких дисках, то можно создать так называемые вторичные файлы БД с расширением *.ndf. В этом случае основная информация о БД располагается в первичном (PRIMARY) файле, а при нехватке для него свободного места добавляемая информация будет размещаться во вторичном файле. Если первичный файл опущен, то основным является первый файл в списке. Основной файл содержит логическое начало базы данных. Подход, используемый в SQL-сервере, позволяет распределять содержимое БД по нескольким дисковым томам.

ON ON – определяет список файлов на диске для размещения информации, хранящейся в БД.Если в процессе использования

Слайд 13LOG ON
LOG ON – определяет список файлов на диске

для размещения журнала транзакций (ЖТ). Имя файла для ЖТ генерируется

на основе имени БД, а в конце к нему добавляются символы log.
Model.mdf –> Modellog.mdf

LOG ON LOG ON – определяет список файлов на диске для размещения журнала транзакций (ЖТ). Имя файла

Слайд 14Определение файла
При создании БД можно определить набор файлов, из которых

она будет состоять.

::=
([ NAME=логическое_имя_файла,] FILENAME='физическое_имя_файла' [,SIZE=размер_файла ] [,MAXSIZE={max_размер_файла

|UNLIMITED } ] [, FILEGROWTH=величина_прироста ] )[,...n]
Определение файлаПри создании БД можно определить набор файлов, из которых она будет состоять. ::= ([ NAME=логическое_имя_файла,] FILENAME='физическое_имя_файла'

Слайд 15NAME=логическое_имя_файла
NAME=логическое_имя_файла – это имя файла, под которым он будет

распознаваться при выполнении различных SQL-команд.
FILENAME='физическое_имя_файла' – это имя файла,

который будет создан на жестком диске. Это имя останется за файлом на уровне операционной системы.
NAME=логическое_имя_файла NAME=логическое_имя_файла – это имя файла, под которым он будет распознаваться при выполнении различных SQL-команд. FILENAME='физическое_имя_файла' –

Слайд 16SIZE=размер_файла
SIZE=размер_файла определяет первоначальный размер файла; минимальный размер параметра – 512

Кб; если он не указан, то по умолчанию принимается 1

Мб.
MAXSIZE={max_размер_файла} определяет максимальный размер файла базы данных. При задании параметра UNLIMITED максимальный размер базы данных ограничивается свободным местом на диске.

SIZE=размер_файлаSIZE=размер_файла определяет первоначальный размер файла; минимальный размер параметра – 512 Кб; если он не указан, то по

Слайд 17FILEGROWTH=величина_прироста
FILEGROWTH=величина_прироста – величина автоматического прироста размера базы данных. Приращение –

это либо абсолютная величина в мегабайтах либо процентное соотношение.
Если

FILEGROWTH не задан, то файл за одно увеличение будет увеличиваться на 10 % (но не менее, чем на 64 Кб.)

FILEGROWTH=величина_приростаFILEGROWTH=величина_прироста – величина автоматического прироста размера базы данных. Приращение – это либо абсолютная величина в мегабайтах либо

Слайд 18::=
Дополнительные файлы могут быть включены в группу:
 
::=
FILEGROUP имя_группы_файлов [,...]

::= Дополнительные файлы могут быть включены в группу: ::=FILEGROUP имя_группы_файлов [,...]

Слайд 19Пример 1. Создать БД, при этом для данных определить 3

файла на дисках D, E, F, для журнала транзакций –

2 файла на дисках H и M.

CREATE DATABASE Archiv
ON PRIMARY ( NAME=Arch1, FILENAME=’d:\user\data\archdat1.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch2, FILENAME=’е:\user\data\archdat2.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Arch3, FILENAME=’f:\user\data\archdat3.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
LOG ON (NAME=Archlog1, FILENAME=’h:\user\data\archlog1.ldf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=Archlog2, FILENAME=’m:\user\data\archlog2.ldf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20);

Пример 1. Создать БД, при этом для данных определить 3 файла на дисках D, E, F, для

Слайд 20Краткая форма оператора создания базы данных
CREATE DATABASE имя_базы_данных;
В этом

случае все значения параметров задаются по умолчанию.
Пример 2. Создать

базу данных Magasin с параметрами по умолчанию:

CREATE DATABASE Magasin;
Краткая форма оператора создания базы данных CREATE DATABASE имя_базы_данных;В этом случае все значения параметров задаются по умолчанию.

Слайд 21Изменение БД
::=
ALTER DATABASE имя_базы_данных
{

ADD FILE [,...n]
[TO FILEGROUP имя_группы_файлов ]


| ADD LOG FILE <определение_файла>[,...n]
| REMOVE FILE логическое_имя_файла
| ADD FILEGROUP имя_группы_файлов
| REMOVE FILEGROUP имя_группы_файлов
| MODIFY NAME = new_database_name
| MODIFY FILEGROUP имя_группы_файлов
<свойства_группы_файлов>};
Изменение БД ::= ALTER DATABASE имя_базы_данных  { ADD FILE [,...n]    [TO FILEGROUP имя_группы_файлов

Слайд 22Удаление БД
Удаление БД осуществляется командой:

DROP DATABASE имя_базы_данных [,...n]

Удаляются

все содержащиеся в БД объекты, освобождает распределенное под нее место

на диске и уничтожает все ссылки на нее из БД master. Для исполнения операции удаления БД пользователь должен обладать соответствующими правами.

Удаление БД  Удаление БД осуществляется командой:DROP DATABASE имя_базы_данных [,...n] Удаляются все содержащиеся в БД объекты, освобождает

Слайд 23Создание таблицы

Создание таблицы

Слайд 24Приступая к созданию таблицы, необходимо ответить на ряд вопросов:
Как будет

называться таблица?
Как будут называться столбцы (поля) таблицы?
Какие типы

данных будут закреплены за каждым столбцом?
Какой размер памяти должен быть выделен для хранения каждого столбца?
Какие столбцы таблицы требуют обязательного ввода?
Из каких столбцов будет состоять РК?

Приступая к созданию таблицы, необходимо ответить на ряд вопросов: Как будет называться таблица? Как будут называться столбцы

Слайд 25Упрощённый синтаксис этой команды
CREATE TABLE
( {

данных> [()]
[…]} .,..
[, .,..] );

Упрощённый синтаксис этой команды CREATE TABLE ( { [()][…]} .,..[, .,..] );

Слайд 26Базовый синтаксис команды создания таблицы
::=
CREATE TABLE имя_таблицы
({имя_столбца тип_данных

[ NOT NULL ]
[ [PRIMARY KEY | UNIQUE] [IDENTITY

[n,m]]
[DEFAULT <значение>]
[IDENTITY [(стартовое_значение, инкремент)]] [FOREIGN KEY REFERENCES имя_род_таблицы [ (имя_столбца_род_таблицы ) ]
[ CHECK (<условие_выбора> ) ] [,...n]
[ON UPDATE {CASCADE | NO ACTION } ]
[ON DELETE {CASCADE | NO ACTION } ]});
Базовый синтаксис команды создания таблицы ::=CREATE TABLE имя_таблицы({имя_столбца тип_данных [ NOT NULL ] [ [PRIMARY KEY |

Слайд 27имя_столбца тип_данных
имя_столбца – идентификатор столбца
тип_данных - тип данных столбца.
Обязательно

должен быть указан размер для типов CHAR или VARCHAR .


имя_столбца тип_данныхимя_столбца – идентификатор столбцатип_данных - тип данных столбца. Обязательно должен быть указан размер для типов CHAR

Слайд 28NOT NULL
[NOT] NULL – NULL используется для указания того,

что в данном столбце могут содержаться значения NULL, т. е.

данные недоступны, опущены или недопустимы.
Если указано ключевое слово NOT NULL, то будут отклонены любые попытки поместить значение NULL в данный столбец.

NOT NULL  [NOT] NULL – NULL используется для указания того, что в данном столбце могут содержаться

Слайд 29UNIQUE
UNIQUE – уникальное значение поля в пределах столбца таблицы.

UNIQUE UNIQUE – уникальное значение поля в пределах столбца таблицы.

Слайд 30 PRIMARY KEY
Создает первичный ключ таблицы. Каждая таблица может

иметь только один первичный ключ.
Обеспечивает отсутствие повторяющихся столбцов.
Не допускает неопределенных

значений ни в одной компоненте первичного ключа.

Таким образом, PRIMARY KEY является комбинацией NOT NULL и UNIQUE


PRIMARY KEY Создает первичный ключ таблицы. Каждая таблица может иметь только один первичный ключ.Обеспечивает отсутствие повторяющихся

Слайд 31IDENTITY [n, m]
Для колонки с таким свойством сервером автоматически генерируется

возрастающая последовательность, начиная с n и приращением m. Если какой-либо

параметр опущен, то по умолчанию принимается единица.

Внимание: Сервер не гарантирует непрерывность значений - в реальных данных таблицы могут появляться разрывы.
IDENTITY [n, m] Для колонки с таким свойством сервером автоматически генерируется возрастающая последовательность, начиная с n и

Слайд 32DEFAULT
[DEFAULT ] - значение по умолчанию.
Так, при добавлении

новой записи столбец с таким ограничением автоматически получит указанное значение.

DEFAULT [DEFAULT ] - значение по умолчанию. Так, при добавлении новой записи столбец с таким ограничением автоматически

Слайд 33 FOREIGN KEY
[FOREIGN KEY REFERENCES имя_род_таблицы [ (имя_столбца_род_таблицы )

]

1. Задает столбец или набор столбцов в качестве внешнего ключа

таблицы.
2. Внешний ключ (FK) используется для поддержания ссылочной целостности. Он устанавливает связь с первичным или уникальным ключом в той же самой таблице или между таблицами.
3. Данные в столбце, определенном как FK, могут принимать только такие же значения, какие находятся в связанных с ним столбцах первичного ключа родительской таблицы.
4. Значение внешнего ключа должно совпадать с существующим значением в родительской таблице или быть неопределенным (NULL).






FOREIGN KEY [FOREIGN KEY REFERENCES имя_род_таблицы  [ (имя_столбца_род_таблицы ) ]1. Задает столбец или набор столбцов

Слайд 34FOREIGN KEY
Требование – соответствие столбцов РК и FК по типу

и размеру данных
если FK  ссылается на РК другого отношения, имена

полей РК можно не указывать;
если FK  составной, список полей, входящих в ключ, указывается после перечисления всех полей таблицы с ключевым словом FOREIGN KEY.

FOREIGN KEYТребование – соответствие столбцов РК и FК по типу и размеру данныхесли FK  ссылается на РК

Слайд 35CHECK
[ CHECK ( ) ] [,...n]
используется для проверки допустимости

данных, вводимых в конкретный столбец таблицы. Это еще один уровень

защиты данных.
CHECK задает диапазон возможных значений для столбца или столбцов. Допускается применение нескольких ограничений CHECK к одному и тому же столбцу. Они будут применимы в той последовательности, в которой происходило их создание. Возможно применение одного и того же ограничения к разным столбцам и использование в логических выражениях значений других столбцов.

CHECK [ CHECK ( ) ] [,...n]используется для проверки допустимости данных, вводимых в конкретный столбец таблицы. Это

Слайд 36Основные типы условий выбора:
Сравнение
Диапазон
Принадлежность множеству
Соответствие шаблону
Отсутствие значений (Значение NULL)

Основные типы условий выбора: СравнениеДиапазонПринадлежность множествуСоответствие шаблонуОтсутствие значений (Значение NULL)

Слайд 371. Сравнение
Сравниваются результаты вычисления одного выражения с результатами вычисления другого.


Условие поиска при сравнении имеет вид 
выр1 θ выр2,
где θ одна из операций сравнения.
В

языке SQL можно использовать следующие операторы сравнения:
= – равенство;
< – меньше;
> – больше;
<= – меньше или равно;
>= – больше или равно;
<> (!=) – не равно.
Пример 3. Цена INT NOT NULL CHECK (Цена > 100 AND Цена < 200)


1. Сравнение Сравниваются результаты вычисления одного выражения с результатами вычисления другого. Условие поиска при сравнении имеет вид выр1 θ выр2,

Слайд 382. Диапазон
Проверяется, попадает ли результат вычисления выражения в заданный диапазон

значений.
Диапазон значений задается с помощью конструкции
выражение BETWEEN нижняя граница AND верхняя граница
Диапазон определяется

своими минимальным и максимальным значениями. При этом указанные значения включаются в условие поиска. При использовании отрицания NOT BETWEEN требуется, чтобы проверяемое значение лежало вне границ заданного диапазона.
Пример 4. Цена INT NOT NULL CHECK (Цена BETWEEN 100 AND 200)


2. Диапазон Проверяется, попадает ли результат вычисления выражения в заданный диапазон значений. Диапазон значений задается с помощью

Слайд 393. Принадлежность множеству
проверяется, принадлежит ли результат вычислений выражения заданному множеству

значений.
Вхождение во множество задается с помощью конструкции
[NOT] IN (значение

[, значение…])
Оператор IN используется для сравнения некоторого значения со списком заданных значений, при этом проверяется, соответствует ли результат вычисления выражения одному из значений в предоставленном списке. При помощи оператора IN может быть достигнут тот же результат, что и в случае применения оператора OR, однако оператор IN выполняется быстрее.

3. Принадлежность множеству проверяется, принадлежит ли результат вычислений выражения заданному множеству значений. Вхождение во множество задается с

Слайд 403. Принадлежность множеству
NOT IN используется для отбора любых значений, кроме

тех, которые указаны в представленном списке.

Пример 5.
Сорт VARCHAR(6)

NOT NULL
CHECK (Сорт IN (‘Первый',‘Второй',‘Третий'))
3. Принадлежность множеству NOT IN используется для отбора любых значений, кроме тех, которые указаны в представленном списке.Пример

Слайд 414. Соответствие шаблону
проверяется, отвечает ли некоторое строковое значение заданному шаблону.
С

помощью оператора LIKE можно выполнять сравнение выражения с заданным шаблоном.
Символы-заменители,

используемые в шаблоне:
% – вместо этого символа может быть подставлено любое количество произвольных символов.
_ заменяет один символ строки.
[] – вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях.
[^] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях.


4. Соответствие шаблону проверяется, отвечает ли некоторое строковое значение заданному шаблону.С помощью оператора LIKE можно выполнять сравнение

Слайд 424. Соответствие шаблону
Пример 6.
Телефон CHAR(10) NOT NULL


CHECK(Телефон LIKE '[1-9][0-9]-[0-9][0-9]-[0-9][0-9]')

Пример 7.
Город CHAR(15) NOT NULL

CHECK (Город LIKE 'M%‘)
первый символ "M", далее любое количество любых символов, например, Москва, Минск.


4. Соответствие шаблону Пример 6.Телефон  CHAR(10)  NOT NULL  CHECK(Телефон LIKE  '[1-9][0-9]-[0-9][0-9]-[0-9][0-9]')Пример 7.Город CHAR(15)

Слайд 435. Отсутствие значений (Значение NULL)
Допускается наличие неопределенных значений в

столбце.
Задается на уровне столбца.



5. Отсутствие значений (Значение NULL)  Допускается наличие неопределенных значений в столбце. Задается на уровне столбца.

Слайд 44База данных Magasin

База данных Magasin

Слайд 45Пример 7. Создание таблицы Сделка

 
CREATE TABLE Сделка
( КодСделки INT IDENTITY

(1,1) PRIMARY KEY,
КодТовара INT NOT NULL FOREIGN KEY

REFERENCES Товар,
КодКлиента INT NOT NULL FOREIGN KEY REFERENCES Клиент,
Количество INT NOT NULL DEFAULT 0 CHECK (Количество<200),
Дата DATETIME NOT NULL DEFAULT GETDATE(),
КодПроизводителя INT NOT NULL,
ОтметкаОбОплате CHAR (3) CHECK (ОтметкаОбОплате IN ('да', 'нет')),
CONSTRAINT fk_Производитель FOREIGN KEY (КодПроизводителя) REFERENCES Производитель)

Пример 7. Создание таблицы Сделка CREATE TABLE Сделка( КодСделки INT IDENTITY (1,1) PRIMARY KEY, КодТовара INT  NOT

Слайд 46Пример 8. Создание таблицы Клиент
CREATE TABLE Клиент
(КодКлиента INT IDENTITY(1,1)

PRIMARY KEY,
Фирма VARCHAR(50) NOT NULL,
Фамилия

VARCHAR(50) NOT NULL,
Адрес VARCHAR(50) NOT NULL,
Телефон CHAR(8) NOT NULL CHECK(Телефон LIKE '[1-9][0-9]-[0-9][0-9]-[0-9][0-9]'))
Пример 8. Создание таблицы Клиент  CREATE TABLE Клиент(КодКлиента INT IDENTITY(1,1) PRIMARY KEY, Фирма  VARCHAR(50)

Слайд 47ИЗМЕНЕНИЕ ТАБЛИЦЫ

ИЗМЕНЕНИЕ ТАБЛИЦЫ

Слайд 48Изменение таблицы
Структура существующей таблицы может быть модифицирована с помощью

команды ALTER TABLE, упрощенный синтаксис которой представлен ниже:

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

COLUMN имя_столбца {новый_тип_данных [ NULL | NOT NULL ]}]
| ADD { [имя_столбца тип_данных] | имя_столбца AS выражение } [,...n]|
DROP COLUMN {имя_столбца}[,...n] }
Изменение таблицы Структура существующей таблицы может быть модифицирована с помощью команды ALTER TABLE, упрощенный синтаксис которой представлен

Слайд 49Изменение таблицы
Некоторые реализации могут ограничить разработчика в использовании некоторых

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

из существующей таблицы. Чтобы добиться этого, сначала потребуется удалить саму таблицу и только потом заново ее построить с нужными столбцами. Причем уже внесенные в таблицу данные будут потеряны.

Изменение таблицы Некоторые реализации могут ограничить разработчика в использовании некоторых опций команды ALTER TABLE. Например, может оказаться

Слайд 50Изменение таблицы
Возможны трудности, связанные с удалением из таблицы столбца,

который зависит от некоторого столбца другой таблицы. В таком случае

сначала придется удалить ограничение столбца, а затем сам столбец.

Изменение таблицы Возможны трудности, связанные с удалением из таблицы столбца, который зависит от некоторого столбца другой таблицы.

Слайд 51Пример 9
Добавить в таблицу Клиент столбец ПаспДанные

ALTER TABLE Клиент

ADD ПаспДанные varchar (10)

2. Изменить тип столбца ПаспДанные
ALTER TABLE

Клиент ALTER COLUMN ПаспДанные int

3. Удалить из таблицы Клиент столбец ПаспДанные
ALTER TABLE Клиент DROP COLUMN ПаспДанные


Пример 9Добавить в таблицу Клиент столбец ПаспДанные ALTER TABLE Клиент ADD ПаспДанные varchar (10)2. Изменить тип столбца

Слайд 52УДАЛЕНИЕ ТАБЛИЦЫ

УДАЛЕНИЕ ТАБЛИЦЫ

Слайд 53DROP TABLE
С течением времени структура БД меняется: создаются новые

таблицы, а прежние становятся ненужными и удаляются из БД с

помощью оператора:

DROP TABLE имя_таблицы [RESTRICT | CASCADE]
DROP TABLE С течением времени структура БД меняется: создаются новые таблицы, а прежние становятся ненужными и удаляются

Слайд 54RESTRICT
Если указано ключевое слово RESTRICT, то при наличии в БД

хотя бы одного объекта, существование которого зависит от удаляемой таблицы,

выполнение оператора DROP TABLE будет отменено.

RESTRICTЕсли указано ключевое слово RESTRICT, то при наличии в БД хотя бы одного объекта, существование которого зависит

Слайд 55CASCADE
Если указано ключевое слово CASCADE, автоматически удаляются и все прочие

объекты БД, чье существование зависит от удаляемой таблицы, а также

другие объекты, зависящие от удаляемых объектов.
Общий эффект от выполнения оператора DROP TABLE с ключевым словом CASCADE может оказаться весьма ощутимым, поэтому подобные операторы следует использовать с максимальной осторожностью.

CASCADEЕсли указано ключевое слово CASCADE, автоматически удаляются и все прочие объекты БД, чье существование зависит от удаляемой

Слайд 56DROP TABLE
Чаще всего оператор DROP TABLE используется для исправления

ошибок, допущенных при создании таблицы.
Если таблица была создана с

некорректной структурой, можно воспользоваться оператором DROP TABLE для ее удаления, после чего создать таблицу заново.

DROP TABLE Чаще всего оператор DROP TABLE используется для исправления ошибок, допущенных при создании таблицы. Если таблица

Слайд 57TRUNCATE TABLE
Команда DROP TABLE удалит не только указанную таблицу,

но и все входящие в нее строки данных.

Если требуется

удалить из таблицы лишь данные, сохранив структуру таблицы, следует воспользоваться командой
 TRUNCATE TABLE имя_таблицы

Эта команда делает то же самое, что и DELETE FROM, но быстрее

TRUNCATE TABLE Команда DROP TABLE удалит не только указанную таблицу, но и все входящие в нее строки

Слайд 58Операторы модификации данных

Операторы модификации данных

Слайд 59ОПЕРАТОР ДОБАВЛЕНИЯ

ОПЕРАТОР ДОБАВЛЕНИЯ

Слайд 60Оператор добавления INSERT INTO
Формат оператора:
INSERT INTO [ (имя_столбца

[,...n] ) ] VALUES (значение[,...n])

Эта форма оператора INSERT

с параметром VALUES предназначена для вставки единственной строки в указанную таблицу.

Оператор добавления INSERT INTOФормат оператора: INSERT INTO  [ (имя_столбца [,...n] ) ]   VALUES (значение[,...n])Эта

Слайд 61INSERT INTO
Список столбцов указывает столбцы, которым будут присвоены значения в

добавляемых записях.
Список может быть опущен. Тогда подразумеваются все столбцы

таблицы (кроме объявленных как счетчик), причем в порядке, установленном при создании таблицы.
Если в операторе INSERT указывается конкретный список имен полей, то любые пропущенные в нем столбцы должны быть объявлены при создании таблицы как допускающие значение NULL, за исключением тех случаев, когда при описании столбца использовался параметр DEFAULT.
INSERT INTOСписок столбцов указывает столбцы, которым будут присвоены значения в добавляемых записях. Список может быть опущен. Тогда

Слайд 62Список значений должен соответствовать списку столбцов следующим образом:
количество элементов в

обоих списках должно быть одинаковым;
должно существовать прямое соответствие между

позицией одного и то же элемента в обоих списках. Поэтому I элемент списка значений должен относиться к I столбцу в списке столбцов, II – ко II столбцу и т.д.
типы данных элементов в списке значений должны быть совместимы с типами данных соответствующих столбцов таблицы.

Список значений должен соответствовать списку столбцов следующим образом: количество элементов в обоих списках должно быть одинаковым; должно

Слайд 63Пример 10. Добавить в таблицу ТОВАР новую запись.
INSERT INTO Товар

(Название, Цена, Сорт, КодПроизводителя) VALUES(‘ Славянский’”, 12, высший,

1234)

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

INSERT INTO Товар VALUES (‘Славянский ‘, 12, высший, 1234)
Пример 10. Добавить в таблицу ТОВАР новую запись. INSERT INTO Товар (Название, Цена, Сорт, КодПроизводителя)

Слайд 64ОПЕРАТОР УДАЛЕНИЯ

ОПЕРАТОР УДАЛЕНИЯ

Слайд 65Оператор удаления
Формат оператора:

DELETE FROM [WHERE ]

Оператор удаленияФормат оператора:DELETE  FROM [WHERE ]

Слайд 66Оператор удаления
Если предложение WHERE присутствует, удаляются записи из таблицы, удовлетворяющие

условию отбора.
Если опустить предложение WHERE, из таблицы будут удалены

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

Слайд 67Оператор удаления
При удалении строк с помощью DELETE эти строки сохраняются

в системных сегментах отката на случай восстановления. Это может потребовать

значительного времени. Поэтому лучше использовать TRUNCATE для удаления всех данных.

Оператор удаленияПри удалении строк с помощью DELETE эти строки сохраняются в системных сегментах отката на случай восстановления.

Слайд 68Пример 11. Удалить все прошлогодние сделки
DELETE FROM Сделка
WHERE Year(Сделка.Дата)=Year(GETDATE())-1

Пример 11. Удалить все прошлогодние сделки DELETE FROM Сделка WHERE Year(Сделка.Дата)=Year(GETDATE())-1

Слайд 69ОПЕРАТОР ОБНОВЛЕНИЯ

ОПЕРАТОР ОБНОВЛЕНИЯ

Слайд 70Оператор обновления
Формат оператора:

UPDATE имя_таблицы
SET имя_столбца = [,...n]

[WHERE ]

Оператор обновленияФормат оператора: UPDATE имя_таблицы SET имя_столбца = [,...n]  [WHERE ]

Слайд 71Оператор обновления
В предложении SET указываются имена одного и более столбцов,

данные в которых необходимо изменить.
Выражение представляет собой новое значение

соответствующего столбца и должно быть совместимо с ним по типу данных.

Оператор обновленияВ предложении SET указываются имена одного и более столбцов, данные в которых необходимо изменить. Выражение представляет

Слайд 72Пример 12. Увеличить цену товаров первого сорта на 25%.
UPDATE Товар

SET Цена= Цена*1.25
WHERE Сорт= ‘Первый’

Пример 12. Увеличить цену товаров первого сорта на 25%. UPDATE Товар SET Цена= Цена*1.25 WHERE Сорт= ‘Первый’

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика