Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив / Lab_BD_old

.pdf
Скачиваний:
36
Добавлен:
14.05.2015
Размер:
705.15 Кб
Скачать

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

используется только когда запрос открывается в режиме Таблица и определяет какие операции можно выполнять над данными, полученными в запросе. Он может принимать одно из трех значений: Добавление, Изменение, Только чтение. Веберите для этого аргумента значение Изменение. Закройте окно Конструктора запросов и дайте имя макросу SmartStudent.

Для выполнения макроса в окне базы данных нажмите кнопку Запуск. Макросы можно использовать в формах и запускать их при нажатии на кнопку.

Иногда требуется изменить порядок выполнения макрокоманд. Для этого в макросе вводятся условия выполнения или пропуска макрокоманд. Условия вводятся в столбце Условие в верхней части окна Конструктора макросов. Чтобы увидеть этот столбец, необходимо выбрать пункт меню Вид, Условия. Если условие истинно, то выполняется макрокоманда, находящаяся в строке с условием, если ложно, то эта макрокоманда пропускается. Если требуется выполнить несколько макрокоманд при истинности одного условия, то они записываются в следующих строках после строки с условием и столбце Условие ставится многоточие.

Приложения

Структуры таблиц для примеров

Таблица Student

Имя поля

Тип поля

Значения свойств

Описание

NStudent

Счетчик

Подпись = Номер

Номер зачетной книжки

Ключевое

 

 

студента.

поле

 

 

 

CName

Текстовый

Размер поля = 25

Фамилия И.О. студента

 

 

Подпись = ФИО

 

 

 

Обязательное поле = Да

 

NDepartment

Числовой

Размер поля = Длинное целое

Код факультета, на котором

 

 

Подпись = Факультет

учится студент

NIQ

Числовой

Размер поля = Длинное целое

Показатель интеллекта

 

 

Подпись = Интеллект

студента, вычисленный по

 

 

 

специальной методике.

NTeacher

Числовой

Размер поля = Длинное целое

Код преподавателя,

 

 

Подпись = Руководитель

руководящего научной

 

 

 

работой студента.

OPhoto

Поле объекта

Подпись = Фотография

Графический файл с

 

OLE

 

фотографией студента

© Кафедра прикладной математики и кибернетики, 2008

21

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

Таблица Department

Имя поля

Тип поля

Значения свойств

Описание

NDepartment

Числовой

Размер поля = Длинное целое

Уникальный код факультета.

Ключевое

 

Подпись = Код

 

поле

 

 

 

CName

Текстовый

Размер поля = 25

Наименование факультета

 

 

Подпись = Название

 

 

 

Таблица Post

 

 

 

 

 

Имя поля

Тип поля

Значения свойств

Описание

NPost

Числовой

Размер поля = Длинное целое

Уникальный код должности.

Ключевое

 

Подпись = Код

 

поле

 

 

 

CName

Текстовый

Размер поля = 25

Наименование должности

 

 

Подпись = Наименование

 

 

 

Таблица Teacher

 

 

 

 

 

Имя поля

Тип поля

Значения свойств

Описание

NTeacher

Числовой

Размер поля = Длинное целое

Уникальный код

Ключевое

 

Подпись = Код

преподавателя.

поле

 

 

 

CName

Текстовый

Размер поля = 25

ФИО преподавателя.

 

 

Подпись = ФИО

 

NDepartment

Числовой

Размер поля = Длинное целое

Код факультета, на котором

 

 

Подпись = Факультет

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

NPost

Числовой

Размер поля = Длинное целое

Код должности, занимаемой

 

 

Подпись = Должность

преподавателем.

 

 

Таблица Subject

 

 

 

 

 

Имя поля

Тип поля

Значения свойств

Описание

NSubject

Числовой

Размер поля = Длинное целое

Уникальный код предмета.

Ключевое

 

Подпись = Код

 

поле

 

 

 

CName

Текстовый

Размер поля = 25

Наименование предмета.

 

 

Подпись = Наименование

 

NHour

Числовой

Размер поля = Целое

Объем занятий по предмету

 

 

Подпись = Объем

(часов).

NTeacher

Числовой

Размер поля = Длинное целое

Код преподавателя, ведущего

 

 

Подпись = Преподаватель

занятия.

 

 

Таблица Marks

 

 

 

 

 

Имя поля

Тип поля

Значения свойств

Описание

id

Счетчик

 

Уникальный идентификатор

Ключевое

 

 

 

поле

 

 

 

NStudent

Числовой

Размер поля = Длинное целое

Код студента

 

 

Подпись = Преподаватель

 

NSubject

Числовой

Размер поля = Длинное целое

Код предмета

 

 

Подпись = Код

 

NMark

Числовой

Размер поля = Длинное целое

Оценка

 

 

Подпись = Оценка

 

© Кафедра прикладной математики и кибернетики, 2008

22

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

Содержимое таблиц для примеров

 

 

Содержимое таблицы Department

 

 

 

 

 

 

 

 

 

 

 

 

NDepartment

 

CName

 

 

 

100

 

 

 

Математический

 

 

 

200

 

 

 

Физический

 

 

 

300

 

 

 

Экономический

 

 

 

 

Содержимое таблицы Post

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NPost

 

 

 

CName

 

 

 

 

 

10

 

Преподаватель

 

 

 

 

20

 

Ст.

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

 

 

 

 

30

 

Доцент

 

 

 

 

40

 

Профессор

 

 

 

 

50

 

Зав. кафедрой

 

 

 

 

 

Содержимое таблицы Teacher

 

 

 

 

 

 

 

NTeacher

CName

 

 

NDepartment

NPost

210

Поляков В.В.

 

 

100

 

30

220

Кузнецов В.А.

 

 

100

 

30

230

Бердино Н.Ю.

 

 

100

 

20

310

Стефанович Г.Б.

200

 

30

410

Дмитриева Л.Н.

300

 

50

420

Литвинас А.П.

 

 

300

 

40

320

Порывайло К.М.

200

 

10

Содержимое таблицы Subject

NSubject

CName

NHour

NTeacher

103

Информационные системы

90

210

42

Исследование операций

60

220

111

Практикум на ЭВМ

30

230

201

Физика

30

310

305

Экономическая география

90

420

302

Бухгалтерский учет

50

410

317

Экономическая информатика

80

210

193

Электротехника

60

310

218

Банковские операции

30

410

Содержимое таблицы Student

NStudent

CName

NDepartment

NIQ

NTeacher

3467589

Отличников К.Л.

100

99

210

4678455

Двоечников Н.Е.

300

30

410

5934508

Середняков А.Д.

200

64

310

7459876

Дубинин У.У.

100

41

410

2227778

Мозгов О.Г.

100

100

220

4678466

Хвостов П.П.

300

64

410

5934512

Папуасов М.Ю.

200

58

310

Вполе OPhoto вставьте произвольные графические файлы.

Вполе Remark введите произвольный текст.

© Кафедра прикладной математики и кибернетики, 2008

23

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

Запросы для подготовки к тесту по SQL

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

1.Создайте запрос, который позволит получить наименования предметов и объемы занятий по ним только для предметов с объемом занятий не менее 50 часов.

2.Создайте запрос, который позволит получить коды всех преподавателей, ведущих занятия. Дублирование кодов должно быть исключено.

3.Не используя операции отношения, создайте запрос, который позволит получить все сведения о предметах с объемом занятий от 40 до 70 часов.

4.Не используя операции отношения, создайте запрос, который позволит получить

расположенные в алфавитном порядке названия предметов, занятия по которым ведут преподаватели с кодами от 200 до 400.

5.Создайте запрос, который позволит получить ФИО преподавателя и суммарный объем занятий для каждого преподавателя. Сведения упорядочить по убыванию объема занятий.

6.Создайте запрос, который позволит получить код и ФИО преподавателя и суммарный объем занятий для преподавателей с суммарным объемом занятий более 50 часов. Сведения упорядочить по возрастанию объема занятий, а при равном объеме – по кодам преподавателей в порядке убывания.

7. Создайте запрос, который позволит получить все сведения о предметах, в названиях которых имеется фрагмент «информ» или «эконом».

8.Определите средний, минимальный и максимальный объемы занятий по предметам, для которых объем занятий лежит в диапазоне от 35 до 85 часов.

9.Создайте запрос, который позволит получить таблицу, содержащую две колонки – наименования предметов и фамилии преподавателей, ведущих занятия. Сведения должны располагаться в алфавитном порядке по наименованиям предметов.

10.Создайте запрос, который позволит получить ФИО преподавателей (без дублирования), которые ведут занятия более чем по одному предмету.

11.Создайте запрос, который позволит проверить уникальность кодов преподавателей

втаблице Subject. Результирующая таблица должна содержать два столбца с названиями предметов, имеющих одинаковые коды преподавателей.

12.Создайте запрос, который позволит получить сведения о предметах, занятия по которым ведут преподаватели математического и физического факультетов (считать известными коды факультетов). В результирующей таблице должны указываться наименования предметов, объем часов, фамилия преподавателя, его должность, наименование факультета.

13.Создайте запрос, который позволит получить список преподавателей математического и экономического факультета (считать известными коды факультетов), общий объем занятий у которых не более 60 часов. В результирующей таблице должны указываться фамилии преподавателей, объемы занятий, наименования факультетов.

14.Сформулировать запрос, который позволит выявить все предметы, занятия по которым ведут преподаватели в должности «доцент». При работе с таблицей Post использовать подзапрос. В результирующей таблице должны быть названия предметов.

15.Создайте запрос, который выявит все предметы, объем занятий по которым выше среднего по всем предметам. В результирующей таблице должны быть названия предметов.

16.Создайте запрос, который выявит все предметы, объем занятий по которым выше среднего по тем предметам, занятия по которым ведут преподаватели математического факультета (известен код факультета). В результирующей таблице должны быть названия предметов.

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

вназваниях которых есть фрагменты «эконом» или «бух». При работе с таблицей Subject использовать подзапрос. В результирующей таблице должны быть ФИО студентов.

18.Сформулировать запрос, позволяющий выбрать студентов с наибольшим показателем интеллекта. В результирующей таблице должны быть названия ФИО студентов.

© Кафедра прикладной математики и кибернетики, 2008

24

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

19.Сформулировать запрос, позволяющий среди студентов, научными руководителями которых являются преподаватели экономического факультета (задан кодом), выбрать тех, чей показатель интеллекта выше хотя бы одного показателя интеллекта для студентов с научными руководителями с других факультетов. В результирующей таблице должны быть ФИО студентов.

20.Создайте запрос, который позволит получить в виде одной таблицы список преподавателей и студентов математического факультета (с пояснениями «Студент» возле фамилий студентов и наименований занимаемых должностей возле фамилий преподавателей). В результирующей таблице первыми в списке должны идти все студенты, а за ними все преподаватели. Фамилии студентов должны быть упорядочены по алфавиту. Преподаватели должны располагаться в порядке убывания кода должности, а при наличии нескольких преподавателей с одной должностью они должны быть также упорядочены по алфавиту.

21.Создайте запрос, который позволит получить в виде одной таблицы список студентов, у которых руководителями являются преподавателями факультета, в названии которого есть фрагмент «матема» и список предметов, занятия по которым ведут преподаватели того же факультета (определяется так же). Используйте подзапросы. В результирующей таблице должны быть ФИО студентов.

© Кафедра прикладной математики и кибернетики, 2008

25

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

Часть II Работа в СУБД MySQL

Создание базы данных

© Кафедра прикладной математики и кибернетики, 2008

26

Комплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»

Часть III Работа в СУБД MS SQL Server

Создание базы данных

© Кафедра прикладной математики и кибернетики, 2008

27