Архив / Lab_BD_old
.pdfКомплекс лабораторных работ по дисциплинам «Управление данными» и «Базы данных»
используется только когда запрос открывается в режиме Таблица и определяет какие операции можно выполнять над данными, полученными в запросе. Он может принимать одно из трех значений: Добавление, Изменение, Только чтение. Веберите для этого аргумента значение Изменение. Закройте окно Конструктора запросов и дайте имя макросу 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 |