Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ud / lab4.docx
Скачиваний:
10
Добавлен:
09.04.2015
Размер:
50.53 Кб
Скачать

Проверка целостности

Я провел несколько проверочных запросов для того, чтобы удостовериться, что некоторые изменения базы данных не приводят её таблицы в состояние рассогласованности.

UPDATE salespeople set sid = 12 WHERE sid = 2;

Далее приведены прямо затронутая таблица продавцов а также затронутая через систему внешних ключей таблица заказов.

sid

sname

comm

1

Иван Жадов

0,12

3

Максим Хитров

0,14

4

Алиса Тырь

0,12

12

Федор Захапов

0,15

oid

odate

amt

pid

sid

1

01.09.2009

650,5

1

1

2

10.09.2009

790

2

12

3

01.10.2009

2200

3

3

4

15.11.2009

9000

4

1

5

04.12.2009

650,5

1

12

UPDATE products set pid = 22 WHERE pid = 2;

После выполнения запроса изменились таблица продуктов и зависящая от значений её полей pidтаблица заказов:

pid

pbrand

pcategory_id

pname

pquantity

pcost

1

Samsung

1

Выхлоп

3

650,5

3

Black mesa

2

Black mesa-1

7

2200

4

Black mesa

3

Излучатель-3

9

9000

22

Samsung

1

Фонтан

5

790

oid

odate

amt

pid

sid

1

01.09.2009

650,5

1

1

2

10.09.2009

790

22

12

3

01.10.2009

2200

3

3

4

15.11.2009

9000

4

1

5

04.12.2009

650,5

1

12

UPDATE orders set oid = 32 WHERE oid = 2;

После выполнения запроса изменилась только таблица заказов:

oid

odate

amt

pid

sid

1

01.09.2009

650,5

1

1

3

01.10.2009

2200

3

3

4

15.11.2009

9000

4

1

5

04.12.2009

650,5

1

12

32

10.09.2009

790

22

12

UPDATE categories set pcategory_id = 42 WHERE pcategory_id = 2;

Изменилась таблица категорий и зависящая от её значений номеров категорий таблица продуктов:

pcategory_id

pcname

1

Чайники

3

Телевизоры

42

Микроволновки

pid

pbrand

pcategory_id

pname

pquantity

pcost

1

Samsung

1

Выхлоп

3

650,5

3

Black mesa

42

Black mesa-1

7

2200

4

Black mesa

3

Излучатель-3

9

9000

22

Samsung

1

Фонтан

5

790

DELETE FROM salespeople WHERE sid = 1;

После выполнения запроса из строки продавцов исчезла запись Ивана Жадова, а из таблицы заказов — две связанные с ним строки:

sid

sname

comm

3

Максим Хитров

0,14

4

Алиса Тырь

0,12

12

Федор Захапов

0,15

oid

odate

amt

pid

sid

3

01.10.2009

2200

3

3

5

04.12.2009

650,5

1

12

32

10.09.2009

790

22

12

DELETE FROM products WHERE pid = 1;

Из таблицы продуктов исчезла запись с «Выхлопом» Samsung, а из таблицы заказов — связанная с ним запись:

pid

pbrand

pcategory_id

pname

pquantity

pcost

3

Black mesa

42

Black mesa-1

7

2200

4

Black mesa

3

Излучатель-3

9

9000

22

Samsung

1

Фонтан

5

790

oid

odate

amt

pid

sid

3

01.10.2009

2200

3

3

32

10.09.2009

790

22

12

DELETE FROM orders WHERE oid = 3;

Из таблицы заказов исчезла еще одна запись. Остальные таблицы остались без изменений.

oid

odate

amt

pid

sid

32

10.09.2009

790

22

12

Соседние файлы в папке ud