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

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

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

Я обратился к системе с запросом, меняющим идентификатор одного из продавцов:

UPDATE salespeople set snum = 12 where snum = 2;

Таблица продавцов обновилась:

snum

sname

city

comm

1

Иван Жадов

Нижний Новгород

0,12

3

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

Нижний Новгород

0,14

4

Алиса Тырь

Бор

0,1

12

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

Нижний Новгород

0,15

Вслед за ней обновилась таблица заказов:

onum

odate

amt

cnum

snum

1

02.11.2006

610

1

12

2

02.11.2006

8255,5

2

3

3

15.06.2007

5160

3

3

4

05.05.2008

310

4

4

5

15.11.2009

1200

5

4

6

17.11.2009

15

5

4

Изменения появились и в таблице покупателей:

cnum

cname

city

rating

snum

1

Василий Дубов

Нижний Новгород

60

12

2

Алексей Шмыга

Нижний Новгород

830

3

3

Лариса Тупакова

Нижний Новгород

520

3

4

Петр Быков

Бор

30

4

5

Антон Тотуттотам

Бор

120

4

Следующий запрос поменял идентификатор одного из покупателей:

UPDATE customers set cnum = 22 where cnum = 2;

Номер покупателя был изменен в таблице покупателей:

cnum

cname

city

rating

snum

1

Василий Дубов

Нижний Новгород

60

12

3

Лариса Тупакова

Нижний Новгород

520

3

4

Петр Быков

Бор

30

4

5

Антон Тотуттотам

Бор

120

4

22

Алексей Шмыга

Нижний Новгород

830

3

Вместе с тем поменялся номер в заказе, связанном с этим покупателем:

onum

odate

amt

cnum

snum

1

02.11.2006

610

1

12

2

02.11.2006

8255,5

22

3

3

15.06.2007

5160

3

3

4

05.05.2008

310

4

4

5

15.11.2009

1200

5

4

6

17.11.2009

15

5

4

Следующий запрос поменял номер одного из заказов:

UPDATE orders set onum = 32 where onum = 2;

Изменения произошли только в таблице заказов:

onum

odate

amt

cnum

snum

1

02.11.2006

610

1

12

3

15.06.2007

5160

3

3

4

05.05.2008

310

4

4

5

15.11.2009

1200

5

4

6

17.11.2009

15

5

4

32

02.11.2006

8255,5

22

3

Далее я удалил одну запись из таблицы продавцов:

DELETE FROM salespeople where sname = "Алиса Тырь";

Таблица продавцов стала выглядеть так:

snum

sname

city

comm

1

Иван Жадов

Нижний Новгород

0,12

3

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

Нижний Новгород

0,14

12

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

Нижний Новгород

0,15

В таблице покупателей исчезли сразу две записи, связанные с Алисой:

cnum

cname

city

rating

snum

1

Василий Дубов

Нижний Новгород

60

12

3

Лариса Тупакова

Нижний Новгород

520

3

22

Алексей Шмыга

Нижний Новгород

830

3

В таблице заказов исчезли три записи:

onum

odate

amt

cnum

snum

1

02.11.2006

610

1

12

3

15.06.2007

5160

3

3

32

02.11.2006

8255,5

22

3

Затем я удалил запись с Василием Дубовым из таблицы покупателей:

DELETE FROM customers where cname = "Василий Дубов";

Таблица покупателей стала еще меньше:

cnum

cname

city

rating

snum

3

Лариса Тупакова

Нижний Новгород

520

3

22

Алексей Шмыга

Нижний Новгород

830

3

Исчезла запись из таблицы заказов:

onum

odate

amt

cnum

snum

3

15.06.2007

5160

3

3

32

02.11.2006

8255,5

22

3

Наконец, я удалил запись из таблицы заказов.

DELETE FROM orders where onum = 3;

От этого изменилась только таблица записей, что согласуется с установленными нами правилами:

onum

odate

amt

cnum

snum

32

02.11.2006

8255,5

22

3

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