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

labs_db

.pdf
Скачиваний:
11
Добавлен:
10.05.2015
Размер:
356.51 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ “МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ”

БАЗЫ ДАННЫХ

Методические указания по выполнению лабораторных работ

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

МОСКВА 2012

Составитель Л.П. Андреева Редактор В.В. Чердынцев

Методические указания содержат задания по лабораторным работам, справочный материал по языку SQL, а также примеры процедур обработки событий для приложений баз данных. Методические указания предназначены для студентов, обучающихся по направлению «Прикладная математика» (бакалавры) изучающих курс «Базы данных».

Печатается по решению редакционно-издательского совета Московского государственного технического университета радиотехники, электроники и автоматики.

Рецензенты: А.В. Сетуха, А.Я. Скляр

Издается в электронном виде по решению редакционноиздательского совета Московского государственного технического университета радиотехники, электроники и автоматики.

Копирование и тиражирование данного учебного пособия без согласия автора и МГТУ МИРЭА запрещено.

ISBN

© Л.П. Андреева, 2012

 

© МИРЭА, 2012

3

ЛАБОРАТОРНАЯ РАБОТА № 1 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ

Создать концептуальную модель базы данных предметной области и представить ее в виде ER-диаграммы. На основе концептуальной модели создать реляционную модель базы данных предметной области в СУБД ACCESS. Варианты предметной области приведены в Приложении 1.

Методические указания

1.Определить сущности предметной области.

2.Для каждой сущности определить атрибуты и их характеристики. Характеристики атрибутов сущности приведены в табл. 1.

 

 

 

 

 

 

Таблица 1

 

Характеристики атрибутов сущности имя сущности

Имя ат-

 

Тип

Размер

Обязательность

Допустимые

Значение по

рибута

 

 

 

 

значения

умолчанию

 

 

 

 

 

 

 

3.Установить связи между сущностями.

4.Представить концептуальную модель в виде ER-диаграммы.

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

6.Нормализовать базу данных.

7.Запустить Microsoft Access и создать файл базы данных.

8.Создать структуру таблиц реляционной модели. Для создания структуры таблицы выполнить следующие действия:

выбрать в окне базы данных в списке Объекты тип создаваемого объекта– Таблицы;

выбрать способ создания таблицы– Конструктор, дважды щелкнув по ярлыку Создание таблицы в режиме конструктора или щелкнув по кнопке Создать;

заполнить бланк таблицы, указав для каждого поля имя, тип, свойства;

задать первичный ключ таблицы, выделив ключевые поля и выпол-

нив команду ПравкаКлючевое поле.

9.Установить связи между таблицами, выполнив команду СервисСхема

данных.

10.Ввести 3-4 записи в каждую таблицу. Заполнить вначале главные таблицы, а затем подчиненные.

4

ЛАБОРАТОРНАЯ РАБОТА № 2 ТАБЛИЧНЫЙ ЯЗЫК ЗАПРОСОВ

Создать запросы к базе данных на языке QBE ACCESS. Варианты заданий приведены в табл. 2-5.

 

Таблица 2

 

Однотабличные запросы

Запросы

1

Найти фамилии, имена, отчества и адреса работников, родившихся

 

после 1980 года. Найти фамилии, имена, отчества и адреса работни-

 

ков, родившихся после 1980 года и проживающих на заданной в за-

 

просе улице. Найти фамилии, имена, отчества и адреса работников,

 

у которых нет телефона.

2

Вывести список работников, которые работают в отделе номер 1.

 

Вывести список работников, которые работают в 1 или 2 отделах.

 

Найти список товаров, в названии которых содержится заданное в

 

запросе слово.

3

Вывести список дисциплин, которые изучаются в 1 семестре. Вы-

 

вести список дисциплин, которые изучаются в 1 семестре и по кото-

 

рым в 1 семестре есть экзамен. Найти номера дисциплин, в наиме-

 

новании которых содержится слово «программирование».

4

Найти полную информацию о книгах, изданных в 2011 году. Найти

 

полную информацию о книгах, изданных с 2010 года по 2012 год.

 

Найти все книги, в наименовании которых содержится слово «про-

 

граммирование».

5

Найти наименования товаров, цена которых меньше 1000 рублей.

 

Найти коды товаров, текущее количество которых равно 0 для за-

 

данного в запросе филиала. Найти наименования и телефоны филиа-

 

лов, которые находятся на заданной в запросе улице.

6

Найти фамилии, имена, отчества и адреса выпускников, у которых

 

средний балл равен 5. Найти фамилии, имена, отчества и адреса вы-

 

пускников, у которых нет телефона. Найти наименования и адреса

 

вузов, которые находятся на заданной в запросе улице.

7

Найти расписание экзаменов для группы ИТП111. Найти список

 

групп, которые сдают экзамен 12.01.2012 в аудитории А1. Найти

 

расписание экзаменов для всех групп ИТП первого курса.

8

Найти список преподавателей кафедры с кодом 2. Найти табельный

 

номер и код кафедры преподавателя по его фамилии, имени и отче-

 

ству. Найти все кафедры, в наименованиях которых содержится сло-

 

во «система».

5

9Найти адрес и телефон поставщика с наименованием «Восход». Найти товары, которые поставил поставщик «Восход» с 1.2.2012 по 31.3.2012. Найти наименования и адреса поставщиков из г. Москвы.

10Найти фамилию, имя, отчество и адрес студента по его шифру. Найти список преподавателей, которые поставили студентам 2 семестра в период сессии с 1.06.2011 по 24.06.2011 оценку 2. Найти дисциплины, в наименование которых входит слово «сети».

11Найти все даты поставок детали с кодом 2. Найти коды деталей, которые были поставлены в период с 1.06.2011 по 24.06.2011. Найти наименования и адреса поставщиков, наименования которых начинаются с «ООО» или «ЗАО».

12Найти дисциплины, которые изучаются в группе ИТП111 с указанием семестров, в которых они изучаются. Найти дисциплины, которые изучаются в группе ИТП111 в 1 и 2 семестрах. Найти дисциплины, которые изучаются в 3 семестре и наименования групп которых начинаются на «ИТП».

13Найти информацию об оплате обучения студентом по его шифру. Найти список студентов (шифр, дата оплаты, сумма) заданной группы, которые оплатили обучение в 3 семестре. Найти список студентов, которые поступили в институт в 2012 году (наименование групп которых заканчивается на «12»).

14Найти информацию о заказе с номером 2. Найти информацию о заказах, которые были зарегистрированы в период с 1.06.2011 по 24.06.2011. Найти фамилии с инициалами и адреса заказчиков из г. Москвы.

15Найти информацию о фильмах, выпущенных в 2011 году. Найти информацию о клиентах, которые взяли кассеты, но не вернули их в срок. Найти информацию обо всех фильмах, в названия которых входит слово «любовь».

Таблица 3

 

Многотабличные запросы

Запрос

1Найти все предприятия (наименование, адрес, телефон), для которых требуются программисты без опыта работы.

2Найти список товаров заданного в запросе изготовителя, которые продаются в отделе с заданным названием.

3Найти наименования дисциплин, которые изучаются в 3 семестре по специальности «Прикладная математика».

4Найти список читателей, которым выдавали книгу с заданным в запросе шифром.

6

5Найти наименование товаров, которые продаются в заданном в запросе филиале и количество которых не равно 0.

6Найти все фирмы (наименование, адрес, телефон), для которых требуются работники с заданной в запросе специальностью.

7Найти расписание экзаменов студента с шифром, заданным в запросе.

8Вывести список дисциплин, для которых есть преподаватели на кафедре «Прикладная математика».

9Найти информацию о поставщиках (наименование, адрес и телефон), которые поставляли детали в период с 1.06.2011 по

30.09.2011.

10Вывести список студентов, которые получили оценку 2 по дисциплине «Базы данных».

11Найти список поставщиков, которые поставляли детали, заданного в запросе вида, после 20.09.2011.

12Найти учебные планы по специальности «Прикладная математика» для студентов 1 курса.

13Найти список студентов (шифр, ФИО, группа), оплативших обучение в 3 семестре.

14Найти ФИО заказчиков и номера, сделанных ими заказов, которые еще не оплачены.

15Найти информацию о клиентах, которые брали кассеты с фильмами заданного в запросе режиссера.

 

Таблица 4

 

Параметрические запросы

Запрос

1

Найти все вакансии для работника, используя в качестве параметров

 

запроса имя и фамилию работника.

2

Найти список работников, продающих заданный товар, используя в

 

качестве параметра запроса наименование товара.

3

Найти наименования и номера дисциплин, которые изучаются в за-

 

данном семестре по заданной специальности, используя в качестве

 

параметров запроса номер семестра и наименование специальности.

4

Найти список книг, прочитанных читателем с заданным номером

 

читательского билета, используя номер билета в качестве параметра

 

запроса.

5

Найти наименования и телефоны филиалов, которые находятся на

7

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

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

7Найти расписание экзаменов преподавателя, используя в качестве параметра запроса ФИО преподавателя.

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

9Найти товары, которые поставляет поставщик, используя в качестве параметра запроса наименование поставщика.

10Найти информацию о сдачи сессии студентом в период сессии с 1.06.2011 по 24.06.2011, используя в качестве параметров запроса фамилию, имя и отчество студента.

11Найти информацию о поставщиках (наименование, адрес и телефон), которые поставляли детали в заданный период, используя в качестве параметров запроса даты начала и конца периода.

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

13Найти список студентов группы (шифр, ФИО, дата оплаты, сумма), оплативших обучение в 3 семестре, используя в качестве параметра запроса наименование группы.

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

15Найти информацию о кассетах (название фильма, режиссер), которые выдавались клиенту, используя в качестве параметра запроса ФИО клиента.

 

Таблица 5

 

Итоговые запросы с группировкой

Запрос

1

Найти количество вакансий службы занятости по каждой профес-

 

сии.

2

Найти максимальную цену товаров для каждого отдела.

 

 

3

Найти количество дисциплин, предлагаемых студентам специально-

 

сти «Прикладная математика» для каждого семестра.

4

Найти количество прочитанных книг для каждого читателя.

 

8

 

 

5

Найти общее количество товаров торговой фирмы для каждого вида

 

товара.

6

Найти средний балл выпускников для каждого вуза.

7

Найти преподавателя, у которого в расписании наибольшее количе-

 

ство экзаменов.

8

Найти количество кафедр для каждого факультета.

9

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

10

Найти средний балл каждого студента группы ИТП111 за период

 

сессии (с 1.06.2011 по 24.06.2011).

11

Найти общее количество поставленных на завод деталей по каждому

 

виду деталей.

 

 

12

Найти общее количество часов, отводимых на изучение дисциплин в

 

каждом семестре (в каждом семестре 18 недель) для группы

 

ИТП111.

13

Найти общую сумму оплаты студентами обучения по каждому году.

 

 

14

Найти сумму, полученную фирмой за выкупленные заказы для каж-

 

дого месяца 2011 года.

15

Найти количество операций по выдаче кассет для каждого месяца

 

2011 года.

 

 

Методические указания

1.Выберите в окне базы данных на панели Объекты тип объектов– Запросы. Нажмите кнопку Создать.

2.Выберите способ создания запроса– Конструктор.

3.Добавьте в бланк запроса таблицы, из которых должны отбираться данные.

4.Разместите в строке Поле поля таблиц, которые должны участвовать в запросе. Для размещения поля в бланке запроса существует три способа:

перетащить поле из таблицы в верхней части бланка в свободную ячейку строки Поле;

два раза щелкнуть на соответствующем поле в таблице;

выбрать поле из списка полей, расположенном в ячейке строки Поле.

5.Для использования в запросе выражения его надо ввести в ячейку Поле пустого столбца. Выражение может содержать знаки операций, константы, имена других полей, функции, например, Date()– для получения текущей даты, Year(дата) – для получения года, Month(дата) – для получения месяца.

9

6.Для вывода значения поля в результирующую таблицу, установите в ячейке поля флажок Вывод на экран.

7.В полях строки Условие отбора введите выражения для отбора данных.

Для задания в условии отбора логической операции ИЛИ укажите условия отбора друг под другом.

Для задания в условии отбора логической операции И введите условия отбора для нескольких полей в одной строке.

Для задания неточного условия поиска используйте операцию Like. Она задает шаблон для поиска: Likeшаблон”. В шаблоне используются обычные символы и подстановочные знаки. Подстановочный знак * означает, что в этом месте поля может находиться любая последовательность символов, в том числе и пустая, знак ? – любой символ или отсутствие символа. Например, условию Like”А*в?”, заданному для поля Фамилия, удовлетворяют фамилии, которые начинаются на А и в которых буква в является последней или предпоследней.

Для создания запросов с параметрами используйте в условии текст параметра, заключенный в квадратные скобки, например, [Введите номер]. Этот текст будет выводиться в диалоговом окне ввода параметра при выполнении запроса.

Для отбора записей, удовлетворяющих диапазону значений, используйте в условии отбора операцию Between, например, Between [Дата начала] and [Дата окончания].

Для отбора записей с пустым значением поля введите для поля условие: Is Null. Не пустое значение задается: Is Not Null.

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

ВидГрупповые операции. Задайте в строке Групповая операция для поля (полей), по которому выполняется группировка, значение Группировка, для поля, по которому вычисляется итог, задайте итоговую функцию, выбрав ее из списка, для полей, в которых используется условие отбора установите значение Условие. Переименуйте поле, в котором используется итоговая функция. Для этого перед именем поля введите новое имя поля и отделите новое имя от старого символом двоеточия.

9.Выполните запрос, нажав кнопку Запуск в окне конструктора или дважды щелкнув по значку запроса в окне базы данных.

Примечание. Для проверки запроса введите в таблицы недостающие данные.

10

ЛАБОРАТОРНАЯ РАБОТА № 3

ЯЗЫК ЗАПРОСОВ SQL MS JET ACCESS

Создать запросы к базе данных на языке SQL MS JET ACCESS. Варианты заданий приведены в табл. 2-6. Синтаксис основных операторов SQL приведен в Приложении 2.

 

Таблица 6

 

Запросы с подчиненным запросом

Запрос

1

Найти вакансии, для которых зарплата больше максимальной зар-

 

платы программиста.

2

Найти список товаров, которые продает работник Иванова Инна

 

Владимировна, но не продает работник Петров Петр Петрович.

3

Найти наименования дисциплин, которые выбрали для изучения в 3

 

семестре одновременно два студента с заданными шифрами.

4

Найти список книг, которые брал читатель с заданным в запросе но-

 

мером читательского билета и не брал никто другой.

5

Найти наименование и цены товаров, которые продаются только в

 

Филиале 1 (и не продаются в других филиалах).

6

Найти специальности, по которым есть вакансии, но нет выпускни-

 

ков.

7

Найти список свободных аудиторий (в которых не проводятся экза-

 

мены) для заданной в запросе даты.

8

Найти список дисциплин преподавателя Ивановой Инны Владими-

 

ровны, которые могут преподавать и другие преподаватели.

9

Найти список товаров, которые поставляет только поставщик «Вос-

 

ход» и никто другой.

10

Вывести список студентов, которые получали оценку 2 по дисцип-

 

лине «Базы данных» в 3 семестре, но пересдали эту дисциплину на

 

положительную оценку.

11

Найти список тех деталей, поставляемых поставщиком «Восход»,

 

которые поставляются также и другими поставщиками.

12

Найти дисциплины с продолжительностью изучения 2 семестра, ко-

 

торые изучаются в 1 и 2 семестрах для специальности «Прикладная

 

математика».

13

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

 

другие семестры плату не вносили.

14

Найти информацию о заказчиках, которые заказывали товары в 2011

 

и 2012 годах.

15

Найти информацию о кассетах, которые не выдавались клиентам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]