Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы баз денных.doc
Скачиваний:
106
Добавлен:
10.12.2013
Размер:
789.5 Кб
Скачать

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

  1. Атрибуты, описывающие характеристики столбца:

Primary key - данное поле является первичным ключом;

References имя_таблицы (имя_поля) – данный столбец является внешним ключом, он взят из таблицы и поля, указанного в атрибуте;

Not null – в этом столбце не должно быть пустых значений;

Default значение – указывает значение, которое принимается по умолчанию.

Unique - все значения в этом поле должны быть уникальными, по умолчанию поле Primary key должно быть Not null и Unique;

Check (Условие) – задает условие, которое должно быть истинным при заполнении информации в этом поле.

  1. Атрибуты на уровне таблицы.

Check (Условие) – это значение должно быть истинным, чтобы компьютер признал все изменения правильными;

Unique (список полей) – все значения в комбинации полей должны быть уникальными;

Primary key (список полей) – указывается на уровне таблицы, если первичный ключ состоит из нескольких полей;

References имя_поля1 from имя_таблицы1 (поле1) – в нашей таблице имя_поля1 берется из таблицы1, поля1.

Обработка ссылочной целостности.

Restrict - указывает каким образом поддерживается

On delete cascade процедура удаления в связующей таблице.

null

restrict - указывае каким образом поддерживается

On update cascade процедура изменения в связующей таблице.

null

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

Cascade обозначает, что удаление (изменение) сначала происходит в связующей таблице, а затем изменяется сам объект.

Null указывает, что ключи связей получают значение null.

Рассмотрим на примере оn update:

Пусть у нас есть 2 таблицы, в первой находится описание объекта, а вторая таблица является связующей.

№поставщика

Фамилия

1

Петров

1

Петров

№поставщика

Название_детали

вес

количество

1

Болт

13

244

1

Гайка

12

200

Если в оn update стоит restrict, то при изменении №поставщика, например, на 10, будет выдано сообщение о том, что данный номер используется в связующей таблице, и изменение будет запрещено.

Если в оn update стоит cascade, то сначала произойдет изменение в №поставщика в связующей таблице, и только потом изменится №поставщика в первой таблице.

Если в оn update стоит null, то в первой таблице №поставщика изменится с 1 на 10, а в связующей таблице вместо №поставщика будет записано null.

Операторы манипулирования данными.

  1. Добавление информации в таблицу.

Insert into имя_таблицы (список полей) values (список выражений)

  • добавление одной записи,

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

Insert into имя_таблицы [(список добавляемых полей)]

или использовать полузапрос

select список полей

from список таблиц

where условие

  • из таблиц будут выбраны поля, удовлетворяющие некоторому условию, и добавлены в новую таблицу.

  1. Оператор обновления.

Update имя_таблицы set поле=значение [where условие] (все что записано в квадратных скобках это не обязательно, может быть, а может и не быть).

  1. Удаление записи из таблицы.

Delete from имя_таблицы [where условие]

Если where условие опущено, то удаляются все записи.

  1. Оператор поиска данных в таблицах

distinct

Select all список_полей from список_таблиц

[where условие] [group by список_полей] [having условие]

[order by поля[asc,desc]] [union [all] подзапрос]

distinct – режим, исключающий повторяющиеся записи в ответе.

All – режим, при котором в ответ включаются все записи. По умолчанию принято all, его можно не указывать.

Если одновременно присутствует where и having, то сначала будет выполняться where.

Если присутствует where, having, group by, то сначала выполнится where, потом group by, а потом having.

  • Select список_полей - указывает имена полей, которые должны содержаться в ответе;

  • from список_таблиц – указывает имена таблиц, которые участвуют в запросе;

  • where условие – задает условие отбора записей в ответ;

  • group by список_полей – задает условие группировки записей, группировка – это операция разбиения на группы, каждая из которых содержит одинаковые значения в отмеченных столбцах;

  • having условие задает условие отбора групп, если нет group by, то это условие применяется ко всей таблице;

  • order by поля[asc,desc] – задает тип сортировки записей в ответе, asc – это сортировка по возрастанию, desc – по убыванию, по умолчанию ставится asc;

  • union [all] подзапрос позволяет объединить главный Select с результатом подзапроса, подзапросом называется вложенный оператор Select.

Соседние файлы в предмете Базы данных