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

МЕТОДИЧКА

.pdf
Скачиваний:
15
Добавлен:
13.02.2016
Размер:
545.59 Кб
Скачать

Полесский государственный университет

Кафедра «Высшая математика и информационные технологии»

Ю. М. Вишняков

Компьютерные информационные технологии

Раздел 2. Технологии баз данных и знаний

Лабораторный практикум

для экономических специальностей

г. Пинск

2011

2

Работа № 1 Создание базы данных

Задание 1.1. Создать базу данных.

Запустить СУБД MS Access.

В окне Microsoft Access: Файл/Новая база данных задать папку для

размещения базы задать имя базы ГородФамилия (свою фамилию указать).

1.2. Создание таблицы

Таблица создается в 2 этапа:

1)создается структура таблицы;

2)вводятся данные в таблицу.

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

Создадим таблицу ЛЮДИ, содержащую сведения о жителях города. Данные для конструирования таблицы (поля и их свойства)

Таблица 1.1

Имя поля

Тип данных

Размер поля

КодЧел

счетчик

 

Фам

текстовый

20 байт

Имя

текстовый

20 байт

Отч

текстовый

20 байт

ДатаРожд

дата/время

 

Пол

текстовый

1 байт

Задание 1.2. Создать структуру таблицы ЛЮДИ с помощью конструктора.

В окне ГородФамилия: база данных на панели Объекты выбрать объект Таблицы Создание таблицы в режиме конструктора [Открыть].

Появится окно конструктора таблиц Таблица 1: таблица (рис. 1.1)

Рисунок. 1.1

3

Ввести имена полей и типы данных согласно таблице 1.1. При вводе типов данных и свойств полей можно щелкнуть в соответствующей клетке и при появлении кнопки со стрелкой (см. рис 1.1 в клетке Тип данных: счетчик) раскрыть список и выбрать нужное значение.

Для полей текстового типа задать размер в байтах: выделить поле на панели Свойства вкладка Общие строка Размер поля.

Закрыть окно Таблица1:таблица На запрос Сохранить изменения макета ответить [Да] На запрос о ключевых полях: [Нет] На запрос имени таблицы задать ЛЮДИ.

Задание 1.3. Задать ключевое поле КодЧел

Это можно было сделать и при выполнении предыдущего задания, но эту операцию мы выполним отдельно.

В качестве ключевого выберем поле КодЧел.

Открыть таблицу ЛЮДИ в режиме Конструктора.

Выделить строку с именем поля КодЧел (щелчком в левой серой клеточке) Меню Правка/Ключевое поле (или инструмент Ключевое поле). В серой клеточке слева от имени поля должен появиться ключик.

Структура таблицы создана.

Задание 1.4. Ввести данные в таблицу ЛЮДИ

Открыть таблицу ЛЮДИ (вкладка Таблицы и т.д.).

Ввести данные для 5-и записей. Закрыть окно.

Просмотреть таблицу (открыть ее). Довести количество записей до 10.

Скорректировать некоторые данные (для тренировки).

Работа № 2

Создание запроса в режиме Конструктора

В общем случае для создания запроса в режиме конструктора необходимо:

1)указать таблицы и запросы, из которых извлекается информация;

2)выбрать поля, которые должны войти в запрос;

3)задать условия выбора данных.

Задание 2.1. Вывести фамилии, имена и даты рождения всех жителей города.

Открыть Конструктор запросов: на панели объектов выбрать Запросы

Создание запроса в режиме конструктора Двойной щелчок мышью либо кнопка [Открыть].

4

Задать источники данных для запроса: в окне Добавление таблицы вкладка Таблицы Выбрать таблицу ЛЮДИ (других таблиц пока в базе нет)

[Добавить] [Закрыть].

С помощью мыши перетащить имена полей Фам, Имя, ДатаРожд из таблицы ЛЮДИ (верхняя панель) в первую, вторую и третью колонки строки Поле на нижней панели.

Установить флажки Вывод на экран для всех полей запроса.

Исполнить запрос (инструмент Запуск – восклицательный знак либо команда меню Запрос/запуск). На экране появится таблица – результат исполнения запроса.

Не закрывая окно с результатом запроса, вернуться в режим Конструктора запросов (с помощью инструмента Конструктор либо команды меню Вид/Конструктор).

Снять флажок Вывод на экран с поля Имя (или какого-нибудь другого). Исполнить запрос. Сравнить результаты двух запросов (осознать влияние этого флажка). Возвратиться в режим Конструктора и вновь установить флажок

Вывод на экран.

Сохранить запрос (выполнив команду меню Файл/сохранить либо закрыв окно Запрос на выборку). На вопрос о сохранении макета ответить [Да] В окне Сохранение дать запросу имя Зад 2-1 (по номеру задания).

Задание 2.2. Создать запрос на выборку фамилии, имени, отчества, в котором:

-

в заголовках столбцов написано: фамилия, имя, отчество;

-

записи упорядочены по алфавиту.

Имена полей в запросах выводятся в том виде, в каком они заданы в таблицах. Это не всегда удобно. Например, в заголовке столбца с фамилией слово «Фамилия» смотрится лучше, чем «Фам». Для задания нового имени поля (псевдонима) в запросе достаточно в строке Поле перед старым именем написать новое и поставить двоеточие.

Итак:

Открыть Конструктор запросов Добавить таблицу ЛЮДИ.

Перетащить имена полей Фам, Имя, Отч из таблицы ЛЮДИ в строку Поле панели параметров запроса.

В строке Поле перед именами полей ввести нужное наименование столбца и двоеточие.

Для упорядочения по алфавиту задать сортировку: щелкнуть в строке Сортировка в столбце Фам Раскрыть список вариантов сортировки выбрать по возрастанию (рис. 2.1).

5

Рисунок. 2.1

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

Возвратиться в режим Конструктора и задать дополнительно упорядочение (сортировку) по имени и отчеству. Исполнить запрос.

Сохранить запрос с именем Зад 2-2.

Задание 2.3. Создать запрос на выборку сведений обо всех людях, родившихся до 1 января 1980 г. (или какой-либо другой даты).

При конструировании запроса в строке Условие для поля ДатаРожд необходимо задать соответствующее условие отбора.

Открыть конструктор запросов и т.д.

Включить в запрос поля Фам, Имя, Отч, ДатаРожд, Пол в соответствующие столбцы панели параметров запроса в строке Условие для поля ДатаРожд задать условие отбора: <01.01.1980

Задание 2.4. Создать запрос на выборку сведений обо всех женщинах, родившихся после 1 июля 1975 г. Список упорядочить по фамилии, имени, отчеству.

Открыть конструктор запросов перетащить нужные поля в соответствующие столбцы панели параметров запроса.

В строке Условие отбора для поля Пол задать ж, а для поля

ДатаРожд > 01.07.1975.

В строке Сортировка для полей Фам, Имя, Отч задать по возрастанию.

Исполнить запрос. Если выводится мало данных, изменить значение даты рождения.

Упражнения

Указание. При сохранении запросов-упражнений давать им имена Упр 2-1, Упр

2-2 и т.д.

2.1. Вывести фамилию, имя и пол жителей города.

6

2.2.Вывести сведения о жителях города, упорядочив список по возрастанию (убыванию) даты рождения.

2.3.Вывести сведения о жителях города, у которых имя Иван (или

другое).

2.4.Вывести сведения о жителях города, у которых имя-отчество Иван Иванович (или какое-нибудь другое).

2.5.Вывести сведения о жителях города, родившихся до 1955 г. и имеющих фамилию Иванов (или другую).

Работа № 3

Связывание таблиц

Сначала создадим 3 новых таблицы: УЛИЦЫ, ДОМА, КВАРТИРЫ и установим между ними связь.

Таблица УЛИЦЫ будет содержать два поля:

-КодУл (код улицы) – счетчик;

-Улица (название улицы) – текстовый, 20 байт.

Втаблице ДОМА будет 6 полей:

-КодДома – счетчик;

-КодУл (код улицы) – числовой, длинное целое;

-Дом (номер дома) – числовой, длинное целое;

-ДатаПостр (дата постройки) – дата/время;

-КолЭт (количество этажей) – числовой, байт;

-Лифт (наличие лифта) – логический.

Таблица КВАРТИРЫ содержит поля:

-КодКв (код квартиры) – счетчик;

-КодДома – числовой, длинное целое;

-Кв (номер квартиры) – числовой, длинное целое;

-КолКомн (количество комнат) – числовой, байт;

-Площ (общая площадь квартиры) – числовой, одинарное с плавающей точкой.

Связь между таблицами УЛИЦЫ, ДОМА установим по полю КодУл, между таблицами ДОМА, КВАРТИРЫ – по полю КодДома.

Задание 3.1. Создать структуру таблицы УЛИЦЫ:

Открыть базу Объект Таблицы Создание таблицы в режиме Конструктора.

Задать поля таблицы и их свойства:

7

Поле КодУл Тип данных: Счетчик.

Поле Улица Тип данных: Текстовый Размер поля: 20

Индексированное поле: Да (совпадения не допускаются).

Задать ключевое поле (если оно не установлено):

Выделить строку с полем КодУл инструмент Ключевое поле либо Команда меню Правка/ключевое поле.

Закрыть окно Конструктора Сохранить макет таблицы Дать таблице имя УЛИЦЫ.

Задание 3.2. Создать структуру таблицы ДОМА

В базе выбрать объекты Таблицы Создание таблицы в режиме Конструктора.

Поле КодДома Тип данных: Счетчик.

Поле КодУл Тип данных: Числовой, Размер поля: длинное целое

Значение по умолчанию: пусто (очистить) Индексированное поле: Да

(Допускаются совпадения).

Поле Дом Тип данных: Числовой Размер поля: длинное целое Значение по умолчанию: пусто (очистить) Обязательное поле: Да.

Поле ДатаПостр Тип данных: дата/время.

Поле КолЭт Тип данных: числовой Размер поля: байт Значение по умолчанию: пусто (очистить) Условие на значение: >0.

Поле Лифт Тип данных: логический.

Задать ключевое поле: КодДома (если оно не задано).

Закрыть окно Конструктора Сохранить макет таблицы Дать таблице имя ДОМА.

Задание 3.3. Создать структуру таблицы КВАРТИРЫ

В базе выбрать объекты Таблицы Создание таблицы в режиме Конструктора.

Поле КодКв Тип данных: Счетчик.

Поле КодДома Тип данных: числовой Размер поля: длинное целое

Значение по умолчанию: пусто Обязательное поле: Да

Индексированное поле: Да (допускаются совпадения).

Поле Кв Тип данных: числовой Размер поля: длинное целое Значение по умолчанию: пусто.

Поле КолКомн Тип данных: числовой Размер поля: байт Значение по умолчанию: пусто.

8

Поле Площ Тип данных: числовой Размер поля: Одинарное с плавающей точкой Значение по умолчанию: пусто Условие на значение: >0 .

Задать ключевое поле: КодКв (если оно не задано).

Закрыть окно Конструктора сохранить макет таблицы дать таблице имя КВАРТИРЫ.

Задание 3.4. Установить связи между таблицами

Установим связь между таблицами УЛИЦЫ, ДОМА по полю КодУл.

Открыть базу инструмент Схема данных либо команда меню

Сервис/Схема данных Команда меню Связи/Добавить таблицу (или инструмент Отобразить таблицу).

В Окне Добавление таблицы вкладка Таблицы добавить таблицы УЛИЦЫ, ДОМА, КВАРТИРЫ [Закрыть].

В таблице УЛИЦЫ зацепить мышью поле КодУл, перетащить в таблицу ДОМА и опустить на поле КодУл.

В появившемся окне Изменение связей установить флажок

Обеспечение целостности данных Установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей

[Создать].

В окне Схема данных между таблицами появится линия,

характеризующая связь между ними: один ко многим (Рисунок. 3.1).

Рисунок 3.1.

Аналогичным образом установим связь между таблицами ДОМА, КВАРТИРЫ (по полю КодДома).

В таблице ДОМА зацепить мышью поле КодДома, перетащить в таблицу КВАРТИРЫ и опустить на поле КодДома.

В появившемся окне Изменение связей установить флажок

Обеспечение целостности данных Установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей нажать

[Создать].

9

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

Задание 3.5. Ввести данные в таблицу УЛИЦЫ.

Задать не менее 10-и улиц, в том числе первые 4 улицы с названиями Белая, Белова, Новая, Новикова.

Задание 3.6. Ввести данные в таблицу ДОМА.

На каждой из первых четырех улицах предусмотреть не менее 3-х домов.

Можно поступить точно так, как это делали раньше, а именно: открыть таблицу ДОМА и непосредственно в нее ввести данные. Однако используем другую возможность, основанную на особенности связей таблиц УЛИЦЫ – ДОМА – КВАРТИРЫ. Итак:

Открыть таблицу УЛИЦЫ Щелкнуть значок «+» слева от поля

КодУл.

Раскроется таблица ДОМА, в которую можно вводить данные. По окончании ввода можно свернуть таблицу, нажав кнопку со знаком « ».

Закрыть таблицу УЛИЦЫ.

Просмотреть содержимое таблицы ДОМА.

Задание 3.7. Ввести данные в таблицу КВАРТИРЫ. Для каждого дома предусмотреть не менее 3-х квартир.

Выполнить по методике предыдущего задания: открыть таблицу ДОМА и для каждого дома ввести данные на квартиры.

Работа № 4

Формирование условий в запросах

Задание 4.1. Создать запрос, выводящий данные обо всех домах: название улицы, номер дома, дата постройки, количество этажей, наличие лифта.

Добавить в запрос таблицы УЛИЦЫ, ДОМА (т.е. в качестве источника данных для запроса выбрать таблицы УЛИЦЫ, ДОМА).

Перенести в строку Поле в нижней панели конструктора запросов поля

Улица, Дом, ДатаПостр, КолЭт, Лифт.

10

Задание 4.2. Создать запрос, выводящий те же данные, что и запрос задания 4.1, но с такими названиями столбцов: улица, дом №, построен, этажность, наличие лифта.

Выполняется аналогично заданию 4.1. Для задания имен столбцов использовать псевдонимы: новые имена поместить перед прежними именами поля и разделить двоеточием (рисунок 4.1).

Рисунок 4.1

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

Добавить в запрос таблицы УЛИЦЫ, ДОМА.

Перенести в строку Поле нижней панели окна Конструктора нужные поля из таблиц УЛИЦЫ, ДОМА.

В строке Условие отбора для поля КолЭт задать > 5.

Задание 4.4. Вывести адреса всех домов, построенных в 1998 году.

Добавить в запрос таблицы УЛИЦЫ, ДОМА.

Перенести в строку Поле нижней панели окна Конструктора нужные

поля: Улица, Дом, ДатаПостр из таблиц УЛИЦЫ, ДОМА.

Для поля ДатаПостр задать условие отбора: >=01.01.1998 AND <= 31.12.1998.

Для ввода сложных (и не очень сложных) выражений удобно использовать построитель выражений. Для этого нужно установить курсор ввода в

нужную ячейку и на панели инструментов нажать кнопку Построить. Откроется окно Построитель выражений. Под полем ввода имеется ряд кнопок с математическими операторами. Если имеющихся операторов недостаточно, можно раскрыть папку Операторы. Уж там-то есть почти все!

Для поля ДатаПостр сбросить флажок вывод на экран (По условию задачи год постройки известен, а точная дата не нужна).

Задание 4.5. Выполнить задание 4.4, но условие отбора задать в виде

BETWEEN 01.01.1998 AND 31.12.1998.