Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по выполнению лабораторных работ по SQL.doc
Скачиваний:
167
Добавлен:
01.05.2014
Размер:
1.22 Mб
Скачать

Литература Оглавление

Введение 3

ЛАБОРАТОРНОЕ ЗАНЯТИЕ № 1 4

Описание учебного примера. 4

Таблица 1 5

Таблица 2 5

Таблица 3 7

Таблица 4 7

Таблица 5 7

Таблица 6 8

Таблица 7 8

Таблица 8 8

Таблица 9 8

Таблица 10 8

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

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

Пример 1 10

Пример 2 10

Пример 3 11

Имена ограничений 12

Ограничения NULL и NOT NULL 12

Пример 4 13

Ограничение PRIMARY KEY 13

Пример 5 13

Пример 6 14

Ограничение UNIQUE 14

Пример 7 14

Пример 8 15

Задание 1 16

Ограничение Foreign key 16

Пример 9 16

Пример 10 17

Ограничение CHECK 18

Пример 11 18

Задание 2 19

Рисунок 1 20

Вопросы для самоконтроля к лабораторной работе № 1 21

Лабораторная работа № 2 22

Команда вставки - INSERT 22

Пример 12 22

Пример 13 23

Пример 14 23

Задание 3 25

Пример 15 25

Команда обновления - UPDATE 25

Пример 16 25

Пример 17 26

Команда удаления - DELETE 26

Пример 18 26

!Пример 19 27

Задание 4 27

Вопросы для самоконтроля к лабораторной работе № 2 27

Лабораторная работа №3 28

Команда ALTER TABLE 28

Модификация ограничений 28

Пример 20 28

Пример 21 29

Пример 22 30

Пример 23 30

Добавление ограничений с ограниченной областью проверки 30

Пример 24 31

Пример 25 31

Задание 5 32

Задание 6 32

Задание 7 32

Отключение и подключение ограничений 32

Пример 26 32

Пример 27 33

Пример 28 33

Пример 29 33

Пример 30 33

Задание 8 34

Задание 9 34

Правила для изменения и модификации описания столбцов 34

Добавление столбца 34

Пример 31 34

Пример 32 35

Пример 33 35

Пример 34 36

Модификация столбца 36

Пример 35 36

Пример 36 37

Задание 10 37

Задание 11 37

Задание 12 38

Таблица 11 38

Удаление столбца 38

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

Пример 37 38

Переименование таблицы 39

Пример 38 39

Задание 13 39

Задание 14 40

Вопросы для самоконтроля к лабораторной работе № 3 40

Лабораторная работа № 4 41

Пример 39 41

Пример 40 42

Пример 41 42

Пример 42 43

Выборка данных из нескольких таблиц 44

Таблица 12 44

Пример 43 45

Пример 44 45

Пример 45 46

Пример 46 46

Пример 47 47

Пример 48 47

Определение условий выборки в предложении WHERE. 48

Таблица 13 48

Таблица 14 49

Пример 49 49

Пример 50 50

Пример 51 50

Пример 52 51

Пример 53 51

Пример 54 52

Пример 55 52

Пример 56 53

Пример 57 53

Пример 58 53

Задание 15 54

Задание 16 54

Таблица 15 54

Пример 59 54

Пример 60 55

Пример 61 55

Групповые функции и предложение GROUP BY 55

Пример 62 56

Пример 63 57

Пример 64 58

58

Наиболее часто встречающиеся ошибки при выполнении GROUP BY 58

Пример 65 58

Пример 66 59

Предложение ORDER BY 59

Пример 67 59

Пример 68 60

Задание 17 60

Задание 18 60

Задание 19 61

Задание 20 61

Задание 21 61

Вопросы для самоконтроля к лабораторной работе № 4 61

Лабораторная работа № 5 62

Подзапросы 62

Пример 69 63

63

Пример 70 63

64

Рисунок 2 64

Задание 22 65

Задание 23 65

Задание 24 65

Пример 71 65

Пример 72 66

Пример 73 67

Пример 74 67

68

Задание 25 68

Задание 26 68

Пример 75 69

Пример 76 69

Пример 77 70

Пример 78 71

Задание 27 71

Вопросы для самоконтроля к лабораторной работе № 5 72

Лабораторная работа №6 73

Представления 73

Пример 79 74

Пример 80 75

Пример 81 76

Пример 82 77

Пример 83 78

Пример 84 79

Задание 28 79

Задание 29 79

Задание 30 80

Вопросы для самоконтроля к лабораторной работе № 6 80

Лабораторная работа №7 81

Хранимые процедуры 81

Рисунок 3 82

Оператор USE 84

Оператор DECLARE 84

Операторы SET и SELECT 84

Пример 85 84

Весьма часто при создании хранимых процедур используются системные функции, их более 30, но в данной работе мы рассмотрим только 2 из них, наиболее применимые в последующих примерах. 85

Функция @@IDENTITY 86

Функция @@IDENTITY - возвращает автоматически сгенерированное последним оператором значение. Необходима в тех случаях, когда применяются столбцы с уникальным сгенерированным значением и существует ссылка на них в дочерних таблицах. Хранит только последнее вставленное значение, предыдущее значение не будет сохранено, если его предварительно не записали в переменную. Если при выполнении последней команды INSERT ни один вставленный столбец не будет иметь уникального значения, то @@IDENTITY будет иметь признак NULL. 86

Функция @@ERROR 86

Пример 86 86

Объявление параметров 87

Пример 87 87

Пример 88 88

Пример 89 88

Пример 90 90

Изменение хранимых процедур 90

Рисунок 4 91

Удаление хранимой процедуры 91

Пример 91 91

Лабораторная работа №8 92

Пример 92 94

Пример 93 95

Пример 94 95

Пример 95 96

Задание 31 97

Задание 32 97

Задание 33 97

Задание 34 97

Вопросы для самоконтроля к лабораторной работе № 8 97

Задания в тестовой форме 98

Задание 1. В процессе жизни базы данных наибольшим изменениям подвержены 98

Задание 2. Даны схемы отношений трех отношений 98

R1={№ книги, Имя автора} 98

R2={№ книги, Дата выдачи книги, № читательского билета} 98

R3={№ читательского билета, Имя читателя, № телефона} 98

Внешние ключи не содержат 98

Задание 3. Не относится к Data Manipulation Language команда 98

Задание 4. В запросе содержит ошибку предложение 98

Задание 5. Операции удаления не препятствует наличию в предcтавлении 98

Задание 6. Подзапрос в команде Select может иметь место в предложении 99

Задание 7. Только на уровне столбца действует ограничение 99

Задание 8. Агрегатные функции могут использоваться в предложении 99

Задание 9. При старте триггера FOR UPDATE создаются таблицы 99

Задание 10. При реализации вывода имен студентов и номеров их зачеток, не аттестованных по тем или иным предметам ошибка в синтаксисе команды допущена в строке 99

Задание 11. Некорректной является команда 100

Задание 12. Запрос SELECT Mark FROM Progress 100

WHERE Mark >ANY( SELECT AVG(Mark) FROM Progress 100

GROUP BY IDSubject) 100

к приведенной ниже таблице (см. Приложение 2. Пример заполнения таблица Progress) возвратит количество строк, равное 100

Задание 13. Основные свойства транзакций (ACID) 100

Задание 14. Агрегатные функции могут использоваться в предложении 100

Задание 1. В запросе, выводящем имена студентов, чьи оценки выше, чем средняя оценка в их группе 100

Задание 2. В команде, редактирующей столбец MarkAVG таблицы Student 101

Приложение 1. Типы данных используемые СУБД SQL Server 2000 104

Приложение 2. Пример заполнения таблиц 105

Приложение 3. Агрегатные функции 108

Приложение 4. Функции обработки дат 108

Приложение 5. Допустимые значения параметра частьДаты 109

Литература 110

Оглавление 111

1 При повторном создании таблицы следует удалить предыдущую версию таблицы, используя команду DROP TABLE Subject.

2Чтобы избежать корректировки таблиц, целесообразно предварительно продумать порядок создания таблиц: сначала создаются родительские (те, которые не содержат внешних ключей), затем дочерние таблицы (Progress и UPlan).

3После такой принудительной вставки целесообразно снова выполнить команду SET IDENTITY_INSERT , но уже с опцией OFF

4 Подробно о выполнении транзакции смотрите в пособии ТРАНЗАКЦИИ

5 Если такое ограничение уже существует, то вам для апробации этой команды придется его удалить.

6 Допускается до 255 уровней вложенности подзапросов.

7ФункцияSUBSTRUNGвыделяет подстроку заданного размера, начиная с указанного символа

72