СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Операторы языка SQL для определения данных.

Категория: Информатика

Нажмите, чтобы узнать подробности

Данный методический материал содержит презентацию  " Операторы языка SQL для определения данных" по дисциплине "Системы управления базами данных". Полезен при изучении  дисциплины МДК.03.02 " Системы управления базами данных"  специальности 09.02.01 СПО углубленной подготовки.

Просмотр содержимого документа
«Операторы языка SQL для определения данных.»

Операторы языка SQL для определения данных.  DDL – data definition language - язык определения(описания) данных

Операторы языка SQL для определения данных.

DDLdata definition language - язык определения(описания) данных

 Операторы определения данных включают: операторы создания ( CREATE ), удаления ( DROP ) и изменения структуры ( ALTER ) объектов, таких, как таблицы ( TABLE ), представления ( VIEW ), триггеры ( TRIGGER ), пользователи ( USER ) и т.п. Создание таблиц : Создание таблицы осуществляется посредством оператора CREATE TABLE: CREATE TABLE Имя_таблицы ( Имя_столбца Тип_данных [NULL | NOT NULL ] [,...]};  Оператор такого вида приведет к созданию таблицы с именем Имя_таблицы , которая будет содержать столько столбцов, сколько их задано в операторе.

Операторы определения данных включают: операторы создания ( CREATE ), удаления ( DROP ) и изменения структуры ( ALTER ) объектов, таких, как таблицы ( TABLE ), представления ( VIEW ), триггеры ( TRIGGER ), пользователи ( USER ) и т.п.

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

Создание таблицы осуществляется посредством

оператора CREATE TABLE:

CREATE TABLE Имя_таблицы

( Имя_столбца Тип_данных [NULL | NOT NULL ] [,...]};

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

 При определении столбца необходимо задать его имя,  тип данных, к которому будут относиться значения этого столбца, а также определить, можно ли в качестве значения рассматриваемого столбца использовать ключевое слово NULL. Ключевым словом NULL помечается такой столбец, который может содержать неопределенные значения. Пример: создать таблицу s1 БД СЕССИЯ. CREATE TABLE s1 ( ФИО VARCHAR (20) NOT NULL, Дисциплина VARCHAR (20) NOT NULL, Оценка SMALLINT NOT NULL);

При определении столбца необходимо задать его имя,

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

Пример: создать таблицу s1 БД СЕССИЯ.

CREATE TABLE s1 ( ФИО VARCHAR (20) NOT NULL,

Дисциплина VARCHAR (20) NOT NULL,

Оценка SMALLINT NOT NULL);

 Полное описание оператора CREATE TABLE должно включать средства поддержки целостности данных. Такие средства представляют собой спецификаторы, позволяющие задать ограничения для предотвращения попыток нарушить согласованность данных. Политики ссылочной целостности Политика IGNORE  означает, что никаких проверок и ограничений не предусматривается. Политика RESTRICT действует, когда применяются ограничения внешних ключей. При использовании политики CASCADE необходимо предусмотреть собственную программную обработку, т.е. при изменении родительских таблиц вносить изменения в дочерние таблицы программным образом.

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

Политики ссылочной целостности

  • Политика IGNORE означает, что никаких проверок и ограничений не предусматривается.
  • Политика RESTRICT действует, когда применяются ограничения внешних ключей.
  • При использовании политики CASCADE необходимо предусмотреть собственную программную обработку, т.е. при изменении родительских таблиц вносить изменения в дочерние таблицы программным образом.
Политика SET DEFAULT  состоит в том, что при изменении данных в родительских таблицах дочерним таблицам назначаются значения по умолчанию. Например, при удалении отдела можно записать его сотрудников в некоторый другой отдел, который считается отделом по умолчанию. Политика SET NULL  похожа на предыдущую политику, только вместо значений по умолчанию назначаются NULL-значения.
  • Политика SET DEFAULT состоит в том, что при изменении данных в родительских таблицах дочерним таблицам назначаются значения по умолчанию. Например, при удалении отдела можно записать его сотрудников в некоторый другой отдел, который считается отделом по умолчанию.
  • Политика SET NULL похожа на предыдущую политику, только вместо значений по умолчанию назначаются NULL-значения.
Declarative Referential Integrity ( декларативная ссылочная целостность)    На уровне определения таблиц осуществляется декларативная политика ссылочной целостности с помощью внешних ключей. Она требует, чтобы в поле внешнего ключа можно было вводить только такие значения первичного ключа , которые присутствуют в родительской таблице.

Declarative Referential Integrity ( декларативная ссылочная целостность)

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

 Базовое определение оператора CREATE TABLE имеет следующий формат: CREATE TABLE имя_таблицы ({ имя_столбца тип_даных [NOT NULL] [UNIQUE] [DEFAULT значение по умолчанию] [CHECK (условие проверки на допустимость) [,...] } [PRIMARY KEY (список столбцов),] {[UNIQUE (список столбцов),] [,...]} {[FORING KEY {список столбцов внешних ключей) REFERENCES имя родительской таблицы [(список столбцов ключей-кандидатов)], [MATCH {PARTIAL | FULL} [ON UPDATE правило ссылочной целостности] [ON DELETE правило ссылочной целостности]] [,...]} {[CHECK (условие проверки на допустимость)] [,...]});

Базовое определение оператора CREATE TABLE имеет следующий формат:

CREATE TABLE имя_таблицы

({ имя_столбца тип_даных [NOT NULL] [UNIQUE]

[DEFAULT значение по умолчанию]

[CHECK (условие проверки на допустимость) [,...] }

[PRIMARY KEY (список столбцов),]

{[UNIQUE (список столбцов),] [,...]}

{[FORING KEY {список столбцов внешних ключей)

REFERENCES имя родительской таблицы [(список столбцов

ключей-кандидатов)],

[MATCH {PARTIAL | FULL}

[ON UPDATE правило ссылочной целостности]

[ON DELETE правило ссылочной целостности]] [,...]}

{[CHECK (условие проверки на допустимость)] [,...]});

 Пример: Перепишем оператор создания таблицы s1 БД Сессия следующим образом: CREATE TABLE s1 ( ФИО VARCHA R (20) NOT NULL, Дисциплина VA R CHAR (20) NOT NULL, Оценка SMALLINT NOT NULL) ,  PRIMARY KEY (ФИО, Дисциплина), FORING KEY ФИО REFERENCES S2 ,  ON UPDATE CASCADE ,  ON DELETE CASCADE);  Операторы языка SQL транслируются в режиме интерпретации, создавать таблицы необходимо в определенном порядке: вначале родительские, а затем дочерние.

Пример: Перепишем оператор создания таблицы s1 БД Сессия следующим образом:

CREATE TABLE s1 ( ФИО VARCHA R (20) NOT NULL,

Дисциплина VA R CHAR (20) NOT NULL,

Оценка SMALLINT NOT NULL) ,

PRIMARY KEY (ФИО, Дисциплина),

FORING KEY ФИО REFERENCES S2 ,

ON UPDATE CASCADE ,

ON DELETE CASCADE);

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

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

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

 Обновление таблиц   В созданную таблицу изменения можно внести с помощью оператора ALTER TABLE , который имеет следующий обобщенный формат: ALTER TABLE имя_таблицы [ADD [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 , который имеет следующий обобщенный формат:

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

[ADD [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];

 В данном формате предусмотрены возможности для выполнения ряда действий: • добавить новый столбец в существующую таблицу — ADD COLUMN; • удалить столбец из существующей таблицы — DROP COLUMN; • добавить в определение таблицы новое ограничение — ADD CONSTRAINT; • удалить из определения таблицы существующее ограничение — DROP CONSTRAINT; • задать для существующего столбца значение по умолчанию — ALTER [COLUMN] SET DEFAULT; • отменить установленное для столбца значение по умолчанию ALTER [COLUMN] DROP DEFAULT. Пример: Добавить в таблицу s1 столбец Группа, содержащий символьный тип данных, можно с помощью оператора: ALTER TABLE s1 ADD Группа varchar (7) NOT NULL;

В данном формате предусмотрены возможности для выполнения ряда действий:

• добавить новый столбец в существующую таблицу — ADD COLUMN;

• удалить столбец из существующей таблицы — DROP COLUMN;

• добавить в определение таблицы новое ограничение — ADD CONSTRAINT;

• удалить из определения таблицы существующее ограничение — DROP CONSTRAINT;

• задать для существующего столбца значение по умолчанию — ALTER [COLUMN] SET DEFAULT;

• отменить установленное для столбца значение по умолчанию ALTER [COLUMN] DROP DEFAULT.

Пример: Добавить в таблицу s1 столбец Группа, содержащий символьный тип данных, можно с помощью оператора:

ALTER TABLE s1 ADD Группа varchar (7) NOT NULL;

Удаление таблиц Таблица может быть удалена из базы данных оператором: DROP TABLE имя таблицы [RISTRICT | CASCADE]; Ключевые слова RISTRICT и CASCADE используются для определения условий удаления таблицы в том случае, если в базе данных присутствуют ее дочерние таблицы. Ключевое слово RISTRICT при наличии в базе данных зависимых от удаляемой таблицы объектов вызовет отмену удаления. Ключевое слово CASCADE в этой ситуации вызовет автоматическое удаление всех объектов базы данных, существование которых зависит от данной таблицы. Пример: Удалим таблицу s1: DROP TABLE s1 ;

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

Таблица может быть удалена из базы данных

оператором:

DROP TABLE имя таблицы [RISTRICT | CASCADE];

Ключевые слова RISTRICT и CASCADE используются

для определения условий удаления таблицы в том

случае, если в базе данных присутствуют ее дочерние

таблицы.

Ключевое слово RISTRICT при наличии в базе данных

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

отмену удаления.

Ключевое слово CASCADE в этой ситуации вызовет

автоматическое удаление всех объектов базы данных,

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

Пример: Удалим таблицу s1:

DROP TABLE s1 ;

Операторы создания и удаления индексов  Для увеличения скорости выборки в БД обычно используют специальную структуру, которая называется индексом. Операторы создания и удаления индекса имеют следующий формат: Создать индекс:  CREATE [UNIQUE] INDEX имя_индекса OK имя_таблицы (столбец [ASC| DESC] [,_.]) ; Удалить индекс: DROP INDEX имя_индекса;  Если в операторе CREATE INDEX используется квалификатор UNIQUE, то уникальность значений индекса автоматически поддерживается системой.

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

Для увеличения скорости выборки в БД обычно

используют специальную структуру, которая называется

индексом.

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

следующий формат:

Создать индекс:

CREATE [UNIQUE] INDEX имя_индекса

OK имя_таблицы (столбец [ASC| DESC] [,_.]) ;

Удалить индекс:

DROP INDEX имя_индекса;

Если в операторе CREATE INDEX используется

квалификатор UNIQUE, то уникальность значений

индекса автоматически поддерживается

системой.

Для каждого из ключевых столбцов можно указать порядок следования значений: по возрастанию ASC (используется по умолчанию) и по убыванию - DESC.

Для каждого из ключевых столбцов можно

указать порядок следования значений: по возрастанию

ASC (используется по умолчанию) и по убыванию - DESC.