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

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

  1. С каким объектом базы данных связан триггер и как запускается триггер?

  2. Какие существуют типы триггеров в SQL Server 2000 (по типу операции, по поведению)?

  3. Сколько триггеров каждого типа можно создать для одной таблицы?

  4. Какие операции не могут выполняться в триггере?

  5. С помощью какой команды изменяются параметры триггера?

  6. С помощью какой команды удаляется триггер, кто обладает правом удаления триггера?

  7. Какие таблицы автоматически создаются при вызове триггера? От чего зависит содержимое этих таблиц?

  8. В чём сходство и отличие триггера и хранимой процедуры?

  9. В чём преимущества хранимых процедур? Для чего обычно используются хранимые процедуры?

  10. Могут ли хранимые процедуры возвращать значения?

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

I. Вашему вниманию предлагаются задания, в которых могут быть 1, 2, 3 и более правильных ответов. Обвести кружком номера всех правильных ответов.

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

  1. Внешний ключ

  2. Первичный ключ

  3. Мощность отношения

  4. Степень отношения

  5. Схема отношения

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

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

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

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

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

  1. 1 и 2 отношения

  2. 1 и 3 отношения

  3. 2 и 3 отношения

  4. только 1 отношение

  5. только 2 отношение

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

  1. INSERT

  2. UPDATE

  3. DROP

  4. DELETE

  5. SELECT

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

  1. DELETE FROM Student

  2. WHERE IDGroup IN

  3. (SELECT IDGroup

  4. FROM Progress Pr, Student St

  5. WHERE NRecordBook= NRecordBook

  6. GROUP BY IDGroup

  7. HAVING Count(IDGroup)< 5)

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

  1. столбцов с агрегатными функциями.

  2. Столбцов с выражениями.

  3. Столбцов с признаком not null.

  4. Столбцов входящих в ограничение primary key.

  5. Условий соединения.

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

  1. FROM

  2. WHERE

  3. GROUP BY

  4. HAVING

  5. ORDER BY

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

  1. CHECK

  2. UNIQUE

  3. NOT NULL

  4. PRIMARY KEY

  5. FOREIGN KEY

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

  1. SELECT

  2. WHERE

  3. GROUP BY

  4. HAVING

  5. ORDER BY

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

  1. INSERTED

  2. UPDATED

  3. DELETED

  4. INSERTED и DELETED

  5. UPDATED и DELETED

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

  1. SELECT Student.NRecordBook, Stname ФИО

  2. FROM Student, Progress

  3. WHERE Student. NRecordBook= Progress. NRecordBook

  4. AND MARK NULL;

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

  1. SELECT * from Progress Where mark = ANY(Select mark from Progress Where CodeSubject=1)

  2. SELECT * from Progress Where mark ANY(Select mark from Progress Where CodeSubject=1)

  3. SELECT * from Progress Where mark IN (Select mark from Progress Where CodeSubject=1)

  4. SELECT mark from Progress Where mark>all(Select mark from Progress Where CodeSubject=1)

  5. SELECT * from Progress Where mark>all(Select mark from Progress Where CodeSubject=1)

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

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

GROUP BY IDSubject)

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

  1. 0

  2. 1

  3. 2

  4. 3

  5. 6

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

    1. элементарность

    2. инкапсуляция

    3. целостность

    4. изолированность

    5. надёжность

    6. наследование

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

  1. where

  2. having

  3. select

  4. order by

  5. group by

II. Установить правильную последовательность:

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

  1. FROM Student St,Progress Pr

  2. FROM Progress P1,Student S1

  3. WHERE St.NRecordBook=Pr.NRecordBook

  4. AND mark>

  5. WHERE S1.IDGroup=St.IDGroup

  6. SELECT AVG(mark)

  7. AND S1.NRecordBook=P1.NRecordBook

  8. SELECT StName,Mark

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

  1. SELECT AVG(Mark)

  2. HAVING Student. NRecordBook= Progress. NRecordBook

  3. UPDATE Student SET MarkAVG=

  4. GROUP BY NRecordBook

  5. FROM Progress

Задание 3. Действия при назначении внешнего ключа

  1. задать тип ограничения

  2. задать имя ограничения

  3. указать ссылочную таблицу

  4. перечислить столбцы, входящие во внешний ключ

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

Задание 4. Синтаксис оператора SELECT

    1. select

    2. order by

    3. having

    4. group by

    5. список столбцов

    6. where

    7. from

III. Установить соответствие:

1.

Название процедуры

Назначение процедуры

  1. SP_HELP

  2. sp_helptext

  3. sp_depends

  4. sp_rename

    1. переименования представления

    2. возврата сведений о созданном представлении

    3. для получения исходного текста представления

    4. нахождения списка таблиц, от которого зависит представление

ОТВЕТЫ: 1 _, 2 _, 3 _, 4 _.

2.

Тип данных

Описание

1) binary

  1. денежная величина

2) varchar

  1. данные времени и даты

3) int

  1. точные числовые данные

4) float

  1. числа с плавающей запятой

5) numeric

  1. целые значения

6) datetime

  1. строковые данные

7) money

  1. битовая информация

ОТВЕТЫ: 1 _, 2 _, 3 _, 4 _, 5 _, 6 _, 7 _.

3.

Ограничение целостности

Описание

  1. Check

  2. Null

  3. Unique

  4. Primary Key

  5. Foreign Key

  6. Cascade

  7. Default

    1. условие на значение

    2. на определённость значения

    3. значение по умолчанию

    4. уникальность значений

    5. ссылочная целостность данных

    6. обновление знач.в завис. таблицах

ОТВЕТЫ: 1 _, 2 _, 3 _, 4 _, 5 _, 6 _, 7 _.

4.

Агрегатная функция

Результат действия

  1. SUM

  2. AVG

  3. MIN

  4. MAX

  5. COUNT

  6. COUNT(*)

    1. сумма значений столбца

    2. среднее всех значений столбца

    3. наименьшее среди всех значений столбца

    4. наибольшее среди всех значений столбца

    5. количество значений, содержащихся в столбце

    6. количество строк в таблице результатов запроса

ОТВЕТЫ: 1 _, 2 _, 3 _, 4 _, 5 _, 6 _.

5.

Ключевое слово

Смысл ключевого слова

  1. PRIMARY KEY

  2. FOREIGN KEY

  3. UNIQUE

  4. CHECK

  5. REFERENCES

    1. столбец или столбцы, которые образуют первичный ключ таблицы

    2. столбец или столбцы, которые образуют внешний ключ таблицы

    3. таблица, связь с которой создаёт внешний ключ

    4. условие уникальности значений столбцов

условие на проверку значения столбца

ОТВЕТЫ: 1 _, 2 _, 3 _, 4 _, 5 _.

IV. Дополнить:

1.

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

2.

Принадлежность значения столбца к определённому диапазону значений проверяется с помощью ключевого слова ____________.

3.

С помощью ключевого слова _____ указываются строки значения которых совпадают с одним из значений в заданном списке.

4.

Избежать вывода дублирующих строк позволяет ключевое слово _________________.

5.

Сортируются строки в наборе, возвращаемом запросом с помощью директивы _______________.

6.

Условие включения группы в итоговый набор содержит директива _________________.

7.

Объединение результатов двух или более запросов в один результирующий набор достигается с помощью оператора__________.

8.

Обновляет значение поля в строке оператор ___________

9.

Процесс, в котором все операторы выполняются успешно, или не выполняется ни один оператор называется _________________.

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

Тип данных

Описание

1

2

3

VARCHAR (n)

Символьная строка переменной длины, n задает максимальную длину строки в байтах. Максимально допустимый размер строки 2000 символов. Минимальный – 1 символ, n не является обязательным параметром и по умолчанию равно 1.

CHAR(n)

Символьная строка фиксированной длины, n задает максимальную длину строки в байтах. Максимально допустимый размер строки 2000 символов. Минимальный –1 символ.

NUMERIC(p, s)

DECIMAL(p,s)

Число, содержащее точные числовые данные: всего p символов из них s после запятой.

REAL

(FLOAT)

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

DATETIME

Дата и время в миллисекундах с 01.01.1753 по 31.12.9999.Сохраняет значение в 8 байтах

SMALLDATETIME

Календарная дата с точностью до минуты. Сохраняет значение в 4 байтах. Диапазон с 01.01.1900 по 06.06.2079

MONEY

(SMALLMONEY)

Денежный тип данных размером 8 (4) байт. Имеют четыре разряда после запятой.

BINARY(n)

VARBINARY(n)

Последовательность 1 и 0 , представленных в 16-ричной системе счисления и организованных в пары

INT

BIGINT

TINYINT

SMALLINT

Целочисленные значения (скалярные величины). Разница между этими типами данных заключается в длине сохраняемых значений

BIT

Булевы значения 0 или 1

TEXT

IMAGE

Битовая и текстовая информация до 2 Гбайт

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

Отношение Student (Студент)

NrecordBook

StName

IDGroup

SPasport

NPasport

DataPasport

NameDeptPasport

INN

050001

Иванов И.И.

3

8701

192355

01.06.2002

ГОВД г.Ухты

1111111111

050002

Петров П.П

3

8702

191256

20.11.2002

ГОВД г.Сосногорск

1111111112

050003

Сидоров С.С.

2

8703

192457

26.11.2002

ГОВД г.Сосногорск

1111111113

050004

Митькин М.М.

2

8701

192417

26.11.2002

ГОВД г.Ухты

1111111114


Отношение Work (Вид занятий)

IDWork

(Код вида занятия)

NameWork

(название вида занятия)

1

Лекция

2

Практическое занятие

3

Лабораторное занятие

Отношение Subject (Предмет)

IDSubject

(Код предмета)

NameSubject

(Название предмета)

1

Базы данных

2

МИП

3

СУБД

4

ООП

Отношение Report (Отчетность)

IDReport

(Код вида отчетности)

NameReport

(Название вида отчетности)

1

Экзамен

2

Зачет

3

Курсовой проект

Отношение Teacher (Преподаватель)

PIN

(идентиф. номер преподав.)

TeachName

(имя преподав.)

DeptName

(название кафедры)

TeachPost

(должность)

DateHire

(дата приёма на работу)

1

Николаева Н.А.

ИСТ

доцент

09.01.1999

2

Семериков А.В.

ИСТ

доцент

09.01.1999

3

Маракасов Ф.В.

ИСТ

ст. преподаватель

09.01.2000

4

Калинина Т.Ю.

ИСТ

ассистент

05.17.2001

5

Фирсова Ю.М.

АИС

доцент

09.01.1995

Отношение SGroup (Группа)

IDGroup

(Код группы)

NameGroup

(Название группы)

1

ИСТ-03

2

АИС-03

3

Отношение Progress (Успеваемость)

IDReport

(код вида отчётн.)

IDSubject

(код предмета)

NRecordBook

(№ зачётки)

NTerm

(№ семестра)

PIN

(идент. номер преп.)

Mark

(оценка)

1

1

050001

5

1

4

1

1

050002

5

1

4

1

2

050001

5

2

5

2

4

050004

5

5

5

3

4

050003

5

5

2

1

3

050001

6

1

3

2

3

050001

6

4

4

3

4

050002

6

3

5

3

1

050002

5

4

3

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

Синтаксис функции

Назначение функции

1

AVG([ALL|DISTINCT] имя_столбца)

Среднее значение в группе для [всех | неодинаковых] строк

2

COUNT([ALL|DISTINCT] имя_столбца)

Количество [всех | неодинаковых] значений в группе

3

COUNT(*)

Количество полученных строк в группе

4

MAX(имя_столбца)

Максимальное значение в группе

5

MIN(имя_столбца)

Минимальное значение в группе

6

STDDEV(имя_столбца)

Среднеквадратичное отклонение всех значений

7

SUM([ALL|DISTINCT] имя_столбца)

Сумма значений для [всех | неодинаковых] строк

8

VAR(имя_столбца)

Дисперсия всех значений

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

Синтаксис функции

Назначение функции

dateadd (частьДаты, n, Date)

Date – переменная типа Datetime. Функция добавляет к Date величину частьДаты, умноженную на n раз

dateDIFF (частьДаты, Date1, Date2)

Функция возвращает количество величин частьДаты между двумя датами

dateName (частьДаты, Date)

Функция возвращает название элемента частьДаты для заданного Date

dateName (частьДаты, Date)

Функция возвращает целое числовое значение элемента частьДаты для заданного Date

DAY (Date)

Функция возвращает целое число дней в Date

GETDATE ()

Функция возвращает текущие системные дату и время

MONTH (Date)

Функция возвращает целое число месяцев в Date

YEAR (Date)

Функция возвращает целое число лет в Date

Параметр частьДаты указывает функции, с какой частью переменной типа Datetime следует выполнить требуемые операции.

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

Значение параметра

Диапазон значений

dd (day)

1-31

dy (day of year)

1-366

hh (hour)

0-23

ms (millisecond)

0-999

mi (minute)

0-59

mm (month)

1-12

qq (quarter)

1-4

ss (second)

0-59

wk (week)

0-53

dw (weekday)

1-7 (Sun – Sut)

yy (year)

1753-9999