Операции нарушающие целостность по ссылкам. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операции нарушающие целостность по ссылкам.



1) Вставка.

2) Обновление.

3) Удаление.

Для родительского отношения:

1) Вставка кортежа в родительское отношение. Целостность не нарушает.

2) Обновление кортежа в родительском отношении. Целостность нарушается.

3) Удаление кортежа в родительском отношении. Целостность нарушается

Для дочернего отношения:

1) Вставка. Целостность нарушается.

2) Обновление. Целостность нарушается.

3) Удаление. Целостность не нарушает.

Стратегии:

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

2) Cascade(каскадировать). Разрешить выполнение требуемой операции, но вносит при этом поправки в другие отношения так, чтобы не допустить нарушение целостности по ссылкам и сохранить имеющие связи.

3) Set null(установить в null). Разрешает выполнение требуемой операции, но все возникающие некорректные значения внешнего ключа меняет на null.

4) Set default(установить по умолчанию).

5) Ignore. Разрешает все операции, все до одной и не ебёт на целостность.

Применение стратегий в поддержании целостности по ссылкам:

1) Обновление кортежей в родительском отношении.(допустимые все кроме cascade)

2) Удаление кортежей в родительском отношении.

3) Вставка кортежа в дочернее отношение.(допустимые restrict, set null, set default,ignore).

Реляционный способ доступа к данным. Основные сведения о языке SQL.

Выборка данных:

1) Select {*|all|distinct поле1, поле2,…полеN}

*-выводит все поля которые мы укажем

Distinсt-выводит все значения без повторений

From-

2) From тфблица1{,таблица2,…, таблица N}

Задание условий при выборке данных:

1) SELECT {*|ALL|DISTINCT поле1, поле2,…,полеN}

2) From таблица1{таблица2,…,таблица N}

3) Where условие

Операторы сравнения(=,<>,<,>,<=,>=)

Например: выбрать все записи из таблицы Товары, категория которых равна 2. Отобразить все поля этой таблицы.

SELECT*

FROM товары

WHERE категория=2

Логические операторы

Оператор IS NULL

Вывести ФИО, телефон, город, адрес из таблицы Клиенты тех клиентов, которые не являются предприятиями.

SELECT Фамилия, Имя, Отчество, Телефон, Город, Адрес

From клиенты

Where предприятия IS Null

2) Оператор Between…and.

Например:

Выбрать все записи из таблицы Товары, Цена которых более 199, но меньше 2001. Отобразить все поля этой таблицы.

SELECT*

From товары

Where цена BETWEEN 200 and 2000

Оператор IN

Например: вывести клиентов из беларуси или украины(только ФИО и Страну)

SELECT Фамилия, Имя, отчество, страна

From клиенты

Where(страна IN(‘Беларусь’, ‘Украина’)

Оператор like

‘%’-заменяет последовательность символов

‘_’-заменяет единичный символ

Например: вывести клиентов фамилия которых начинается с буквы М(тока ФИО и телефон)

Select фамилия, имя, отчество, телефон

From клиенты

Where фамилия like ‘M%’

Оператор Exists

Из таблицы товары вывести Наименование и цену тех товаров, количество продаж которых превышает 10(количество продаж отображается в таблице Продажи, которая связана с табл.Товары по коду товара)

Select Товары

From товары

Where exist (select [код товара]

From продажи

Where (продажи продано>10) and (Товары.[код товара]=продажи.[код товара]))

 

6) Оператор all

7) Например: из таблицы Товары выбрать товары которые имеют цену большую чем цена всех товаров, проданных в количестве более 10.

SELECT*

FROM товары

WHERE Цена>all(select продажи.цена

From продажи

WHERE продажи.продано>10)

Операторы объединения

a. Оператор and

Например: выбрать все записи из таблицы товары, цена которых>50, но <1000. Отобразить все поля этой таблицы.

Select*

From товары

Where (цена>50) and (цена <1000)

b. Оператор or

Например: выбрать все записи из таблицы Товары, цена которых меньше 50 или больше 1000. Отбразить все поля этой таблицы.

Select*

From товары

Where (цена<50)or(цена>1000)

c. Оператор отрицания not

Например: вывести всех клиентов, кроме тех, которые из беларуси или украины(только ФИО и СТРАНУ).

Select фамилия, Имя, отчество, Страна

From клиенты

Where (страна not in (‘Беларусь’, ’Украина’))

Упорядочение данных.

a. Order by

Select {*|all|distruct поле1, поле2,…,полеN}

From таблица1{,таблица2,…,таблицаN}

Where условие

Order by поле{asc|desc}

b. Например: сортировать записи таблицы товары по алфавиту поля

Наименование(вывести только поля категория, цена, наименование)

Select наименование, категория, цена

From товары

Order by наименование или

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

Select наименование, категория, цена

From товары

Order by цена desc



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 230; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.32.116 (0.007 с.)