Похожие презентации:
Основы баз данных (для заочников)
1.
Министерство образования и науки РФФГБОУ ВПО «Восточно-Сибирский государственный университет
технологий и управления»
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
по выполнению индивидуальных заданий по дисциплине
«Основы баз данных»
для студентов заочной формы обучения в полные и сокращенные сроки
для всех направлений бакалавриата
Составил(а): Андреева Н.В.
ст.преп. каф. СИ
Улан-Удэ, 2013
2.
1. Основные понятия дисциплины «Основы БД»1.1 Определение БД и СУБД
База данных (БД) хранит информацию для решения некоторого множества задач в
определенной предметной области для целей управления этой областью.
Предметная область - это часть реального мира, подлежащая изучению для организации
управления. Примерами предметной области могут служить любое предприятие, фирма, банк, биржа,
вуз, учреждение и т. п. Для создания приложения используются средства систем управления базами
данных (СУБД).
База данных - это поименованная совокупность логически связанных между собой
структурированных данных, хранящаяся на внешнем машинном носителе и относящаяся к
определенной предметной области.
Системы управления базами данных - это комплекс программных и языковых средств для
создания базы данных, поддержки ее в актуальном состоянии и организации поиска в ней
необходимой информации.
Созданная база данных с элементами управления называется приложением пользователя.
Следовательно, приложение пользователя создается для автоматической обработки информации с
применением вычислительной техники в определенной предметной области с последующим
использованием полученных результатов для принятия решений в целях управления этой областью.
Предметная область состоит из объектов, подлежащих изучению.
Объект - это предмет, явление, процесс, о котором собирается информация для решения
поставленной задачи. Каждый объект характеризуется рядом основных свойств - атрибутов поименованной характеристики объекта. Атрибут показывает, какую информацию нужно собрать об
изучаемом объекте, т.е. каждый атрибут имеет конкретное значение, которое хранится в поле записи.
Например, предметная область - учебный процесс в вузе.
Объекты - перечень учебных групп, список студентов групп, перечень изучаемых предметов,
перечень кафедр, участвующих в процессе обучения, список преподавателей, ведомость
успеваемости и т.п. Атрибутами объекта «перечень групп» могут быть: номер группы, количество
студентов в группе, средний балл группы. Аналогично вводятся атрибуты остальных объектов.
1.2 Модели данных
Для создания БД данные должны быть структурированы, т.е. введено соглашение о способах
представления данных при организации хранения на машинном носителе (диске). В зависимости от
способа представления различают следующие основные модели организации хранения данных:
иерархическая, сетевая и реляционная.
Иерархическая модель организует хранение данных в виде древовидной структуры. К
основным понятиям относятся узел, уровень, связь. Дерево представляет собой иерархию элементов,
называемых узлами.
Узел - это совокупность атрибутов данных, описывающих некоторый объект. Уровень - это
совокупность узлов. Связь - это путь между узлами.
На самом верхнем уровне иерархии имеется один и только один узел - корень. Каждый узел,
кроме корня, связан с одним узлом на более высоком уровне, который называется исходным для
данного узла. Ни один узел не имеет более одного исходного. Каждый узел может быть связан с
одним или несколькими элементами на более низком уровне, которые называются порожденными. К
каждому элементу существует только один путь от корневого узла.
Сетевая модель организует хранение данных в виде сетевой структуры и оперирует с теми же
понятиями узла, уровня и связи. Структура называется сетевой, если в отношениях между
элементами (узлами) порожденный элемент имеет более одного исходного. Следовательно, каждый
узел может быть связан с любым другим элементом, находящимся выше уровнем.
2
3.
Реляционная модель является простейшей из всех структур. Она организует хранение данныхв виде двумерных таблиц. Основными понятиями такой модели являются:
• поле - значение одного атрибута (число, текст, дата и т.д.). Каждое поле имеет имя.
• столбец - содержит значения одного поля - данные одного типа. Имя столбца совпадает с
именем поля.
• строка (запись) - состоит из значений всех полей -данные разных типов, логически
связанные между собой;
таблица - совокупность всех записей. Одинаковые записи отсутствуют.
1.3 Этапы разработки реляционной базы данных
Разработку реляционной базы данных можно разделить на следующие основные этапы:
1. Проектирование БД.
2. Определение логической структуры БД.
Проектирование БД
Проектирование начинается с изучения предметной области, для которой создается
приложение. Анализ предметной области предполагает:
• выявление списка изучаемых объектов;
• выявление атрибутов каждого объекта;
• задание значений каждого атрибута.
В реляционной БД данные о каждом объекте хранятся в отдельных таблицах. Как уже
говорилось, каждый объект имеет атрибуты, значения которых образуют поля записи таблицы
(строки таблицы). Множество значений одного атрибута хранятся в одном столбце таблицы.
Например, в рассмотренной выше предметной области «Учебный процесс в вузе» атрибутами
объекта « перечень групп» были выбраны: номер группы, количество студентов в группе, средний
балл группы. Информация о каждой группе образует запись БД, а значения каждого атрибута этой
группы - поля записи. Совокупность записей - таблица с заданным именем. Множество значений
каждого поля - значения столбца с именем соответствующего поля.
Следовательно, в результате проектирования базы данных выявляются таблицы с заданными
именами, далее для каждой таблицы указываются поля с их именами и типами. Типы полей задают
формат представления данных в памяти и определяют вид выполняемых операций. Основные типы
полей - число, текст, дата, время.
Конечная цель проектирования БД - создание структур таблиц. Каждая таблица должна иметь
уникальное поле, которое однозначно определяет каждую запись таблицы и называется ключевым
полем. Значения такого поля не должны повторяться. При отсутствии такого поля ключ может
состоять из двух или более полей. Такой ключ называется составным.
При проектировании БД необходимо следовать 4-м правилам нормализации:
Правило 1. Каждое поле таблицы должно представлять уникальный тип информации. Это
правило означает, что необходимо избавиться от повторяющихся полей и разделить составные поля
на отдельные элементы данных.
Правило 2. Каждая таблица должна иметь уникальный идентификатор или первичный ключ,
который может состоять из одного или нескольких полей.
Правило 3. В таблице не должно быть данных, не относящихся к объекту, определяемому
первичным ключом.
Правило 4. Независимость полей. Это правило означает возможность изменять значения
любого поля (не входящего в первичный ключ) без воздействия на данные других полей.
Результатом 3 этапа должна явиться группа таблиц, удовлетворяющих правилам нормализации.
На этом же этапе необходимо установить связи между таблицами.
1.4 Связи между информационными объектами
После выявления структуры информационных объектов (таблиц) следующим шагом
проектирования базы данных является определение связей между ними, что определяет логическую
3
4.
структуру БД. Связь устанавливается всегда между двумя таблицами при наличии общего поля.Таблица, в которой общее поле является простым ключом, называется главной таблицей, а вторая подчиненной таблицей. В подчиненной таблице общее поле может входить в состав ключа, а может
и не входить.
Назначение связей
Связи между таблицами устанавливаются для следующих целей:
1. Обеспечение целостности данных - защита информации в базе от случайных изменений
или удалений.
2. Автоматизация задач обслуживания базы.
Существуют следующие виды связей:
1. Одно - однозначные (1:1).
2. Одно - многозначные (1:m).
3. Много - многозначные (n:m).
Связь (1:1) имеет место тогда, когда каждой записи главной таблицы соответствует только
одна запись подчиненной, и наоборот. Такие таблицы можно объединить.
Связь (1:m) имеет место тогда, когда каждой записи главной таблицы соответствует несколько
записей подчиненной таблицы, а каждой записи подчиненной - только одна запись главной таблицы.
Связь (n:m) имеет место тогда, когда каждой записи главной таблицы соответствует несколько
записей подчиненной, и наоборот. Связь такого типа непосредственно не реализуется в реляционных
базах данных. Для их установления необходимо создать дополнительную таблицу - связку, с которой
исходные таблицы связаны по типу (1:m). На практике чаще всего используются связи типа (1:m).
2 СУБД ACCESS
БД управления базами данных Access является одной из программ - приложений
интегрированного пакета Microsoft Office. Загрузочный файл программы с именем msaccess.exe
обычно располагается в папке Msoffice. Запустить Access можно одним из следующих способов:
1. Щелчком левой кнопки мыши по ярлыку Msaccess на рабочем столе Windows (если такой
имеется).
2. Щелкнуть по кнопке Пуск и в строке Программы отыскать соответствующий ярлык.
3. Открыть окно программы Мой компьютер или Проводник, отыскать на диске С: папку
Msoffice и щелкнуть по значку файла с именем msaccess.exe.
После запуска в окне диалога Файл новой базы данных необходимо задать имя создаваемого
файла и указать имя папки, где он будет храниться. Далее при работе все создаваемые объекты будут
автоматически сохраняться в этом файле.
2.1 Основные объекты Access
СУБД Access является реляционной базой данных. Созданная база хранится в файле с
расширением .accdb.
Файл БД может содержать следующие объекты.
1. Таблицы - для ввода, хранения и редактирования данных в виде стандартной таблицы.
2. Формы - для ввода, просмотра и редактирования данных в удобном для пользователя виде в
форме диалога. Создается пользователем с помощью специальных средств Мастер форм или
Конструктор форм.
3. Запросы - поиск информации согласно созданным критериям. Отобранные данные хранятся
в таблицах и могут быть использованы для обработки и повторного поиска.
4. Отчеты - вывод данных на печать в более удобной и наглядной форме, чем в таблицах,
формах или запросах. Кроме того, в отчетах можно сортировать и группировать данные, определять
итоговые значения и т.п.
4
5.
5. Макросы - программа, состоящая из последовательности макрокоманд. Макрокоманда это инструкция, ориентированная на выполнение определенного действия над объектами Access иих элементами.
Например, макрокомандой можно автоматически открыть форму, отчет, напечатать отчет,
запустить на выполнение запрос, применить фильтр и т.п.
6. Модуль - программа на языке Visual Basic для выполнения необходимых действий и
вычислений. Основой программы является процедура для выполнения вычислений и действий.
Модули хранятся в составе файла БД.
2.2 Создание таблиц
Таблица состоит из строк (записей) и столбцов (полей). Каждое поле имеет уникальное имя и
определяет имя столбца. Каждая запись состоит из логически связанных между собой значений полей
одного или разных типов. Значения полей одного столбца должны быть одного и того же типа.
Каждая таблица имеет уникальное имя и обычно содержит данные, относящиеся к одному
информационному объекту.
Способы создания таблиц:
1. с помощью конструктора
2. путем вода данных
3. с помощью мастера таблиц
2.3 Типы данных
Значения каждого поля имеют свой определенный тип. При выборе типа данных решаются
следующие вопросы:
1. Выбор типа значений данных, которые будут вводиться в поле.
2. Выбор типа операций, которые можно выполнять над этими данными.
3. Размер поля - количество символов, которое можно задать в этом поле.
В Access предусмотрены следующие типы данных.
1. Текстовый - текст или цифры, не участвующие в вычислениях. Число символов в поле не
должно превышать 255. По умолчанию - количество символов равно 50. Пользователь
может задать нужный размер поля в свойстве Размер поля.
2. Поле Мемо - текст, длиной до 64000 символов. Применяется для полей, данные которых
являются связанным текстом.
3. Числовой - целые и вещественные числа, участвующие в вычислениях. Конкретные типы
чисел и размеры полей задаются в свойстве Размер поля, используя информацию из
следующей таблицы:
Тип данного
Байт
Целый
Целые числа
Диапазон представления
От 0 до 255
Вещественные числа
Тип данного
Диапазон
представления
Single,
4 От - 3,4*1038 до
байта
+3,4*1038
Double,
8 От -1,797*1038 до
байт
1,797*1038
От -32768 до 32767
Длинное
От -2147483648
целое
до 2147483647
Примечание: Single - одинарное с плавающей точкой;
Double - двойное с плавающей точкой.
4. Денежный тип - денежные значения, а также числовые данные с точностью до 15 знаков в
целой части и 4 знаков в дробной части. Длина поля - 8 байт. При обработке числовых
значений вычисления с фиксированной точкой выполняются быстрее, чем вычисления с пла5
6.
вающей точкой. Поэтому рекомендуется для выполнения расчетов с указанной точностьюиспользовать денежный тип.
5. Дата/время - значения даты и времени, относящиеся к годам с 100 по 9999 включительно.
Длина поля - 8 байт. Форматы представления данных этого типа можно найти в свойствах
Формат поля.
6. Счетчик - это поле, в которое автоматически вводятся целые числа, начиная с 1 с шагом 1.
Значения этого поля нельзя изменить или удалить. Длина поля - 4 байта. Обычно является
уникальным ключом таблицы, созданным по умолчанию.
7. Логический - значения Да/Нет. Длина поля - 1 бит.
8. Поле объекта OLE - это объект, связанный или внедренный в таблицу ACCESS (например,
таблица Excel, документ Word, рисунок и т.п.). Длина поля ограничивается объемом памяти
ЭВМ.
Свойства полей
Свойства задаются для каждого поля в отдельности. Для этого необходимо в окне конструктора
таблиц выбрать мышью требуемое поле и в нижней части этого окна в списке свойств указать
нужное. Список свойств зависит от типа выбранного поля.
1. Размер поля - задает максимальный размер данных, сохраняемых в этом поле.
2. Формат поля - формат отображения заданного типа данных на экране или при выводе на
печать.
3. Число десятичных знаков - задает для числового и денежного типов данных количество
знаков после запятой. Можно задать число от 0 до 15.
4. Подпись поля - задает текст, который выводится в таблицах, формах и отчетах как имена
полей. При этом при создании структуры таблицы в окне конструктора имена полей можно
обозначить и иначе. Поэтому для удобства использования имен полей в расчетных формулах или в
выражениях для критериев в запросах рекомендуется при создании структуры указывать краткие
имена полей, а полные указывать в этом свойстве. Например, имеется поле с именем Поставщик полное имя, которое указываем в свойстве Подпись поля; Пост - краткое имя, указываем в столбце
Имя поля. Краткое имя используем при обработке базы данных (Рис.2.4.).
5. Условие на значение - позволяет осуществить контроль ввода данных с помощью задания
ограничений на вводимые значения. При нарушении условий ACCESS запрещает ввод и выводит
текст, заданный свойством Сообщение об ошибке.
Например, можно задать ограничения на диапазон вводимых чисел в данное поле следующим
образом: <200, т.е. значения этого поля не превышают 200.
6. Сообщение об ошибке - задает текст сообщения, выводимый на экран при нарушении
ограничений, заданных предыдущим свойством.
7. Значение по умолчанию - задает значение поля, которое будет автоматически вводиться в
это поле. Используется в том случае, если значения этого поля повторяются.
8. Обязательное поле. Если в данном поле не должно быть пустых значений, то в этом
свойстве нужно указать значение Да, что гарантирует правильность ввода, т.е. предупреждает
пропуск значения. ACCESS выводит предупреждение, если поле пропущено.
Задание № 1. Создание базы данных по учету успеваемости студентов вуза
Рассмотрим успеваемость студентов. На основе анализа предметной области можем выделить
следующие информационные объекты: студент, преподаватель, успеваемость студентов.
Информация об этих объектах будет храниться в соответствующих таблицах.
Выполняемые действия:
1. Создать таблицу Студент в режиме конструктора и заполнить ее данными. Для этого
необходимо:
• перейти на вкладку Создание и нажать кнопку Конструктор таблиц;
• создать структуру таблицы с указанными ниже именами и их типами;
6
7.
Структура таблицы «Студент»№ Имя поля
Полное имя поля
Ключевое
поле
Ключ
–
–
–
–
–
–
1
2
3
4
5
6
7
Ном_зач_кн
Фамилия
Имя
Отчество
Ном_гр
Пол
Дата_рожд
Номер зачетной книжки
Фамилия
Имя
Отчество
Номер группы
Пол
Дата рождения
8
9
10
Сем_полож
Адрес
Телефон
Семейное положение
Адрес
Телефон
–
–
–
11
Фото
Фотография
–
Тип поля
Размер поля
Числовой
Текстовый
Текстовый
Текстовый
Текстовый
Текстовый
Дата/время
Длинное целое
40
20
30
10
3
Краткий формат
даты
Текстовый
15
Текстовый
100
Числовой
Двойное
с
плавающей
точкой
Поле объекта –
OLE
Созданная структура таблицы показана на рисунке ниже. Краткое имя задается в столбце Имя
поля, а полное имя указывается в свойстве Подпись. Свойства поля задаются на вкладке Общие в
нижней части окна конструктора. Тип поля выбирается из списка в столбце Тип данных. Размер
поля задается в свойстве Размер поля.
• определить ключевое поле - Ном_зач_кн (уникальный ключ), т.к. значения этого поля
являются уникальными и однозначно идентифицируют каждого студента. Для этого
необходимо выделить это поле и нажать кнопку Ключевое поле на вкладке Конструктор;
7
8.
• для сохранения структуры таблицы и перехода в режим таблицы необходимо нажать кнопкуВид и выбрать команду Режим таблицы. Далее выйдет диалоговое окно, в текстовое поле
которого ввести имя Студент;
• в режиме таблицы ввести данные по своему усмотрению (в таблице должно быть не менее 10
записей).
2. Аналогично создать таблицу Преподаватель в режиме конструктора. Структура таблицы
приведена ниже.
№
1
2
3
4
5
6
7
8
9
10
Структура таблицы «Преподаватель»
Имя поля
Полное
имя
поля Ключевое
(свойство Подпись поля) поле
Таб_ном
Табельный номер
Ключ
Фамилия
Фамилия
–
Имя
Имя
–
Отчество
Отчество
–
Должн
Должность
–
Уч_ст
Ученая степень
–
Кафедра
Кафедра
–
Дата_найма
Дата найма
–
Зарплата
Раб_тел
Зарплата
Рабочий телефон
–
–
Тип поля
Размер поля
Числовой
Текстовый
Текстовый
Текстовый
Текстовый
Текстовый
Текстовый
Дата/время
Длинное целое
40
20
30
50
100
100
Краткий формат
даты
–
Двойное
с
плавающей
точкой
Денежный
Числовой
Заполнить таблицу данными.
3
.
Создать таблицу Успеваемость путем ввода данных. Для этого необходимо:
• выбрать вкладку Создание и нажать кнопку Таблица;
• заполнить таблицу данными (не менее 30 записей);
• имена полей Поле 1, Поле 2 и т.д., заданных по умолчанию, нужно переименовать согласно
структуре таблицы;
8
9.
• для корректировки структуры таблицы перейти в Режим конструктора. Для этого нажатькнопку Вид и выбрать команду Режим конструктора. Далее выйдет диалоговое окно, в
текстовое поле которого ввести имя таблицы Успеваемость;
• задать составной ключ (Ном_зач_кн, Таб_ном, Дисциплина, Дата_сдачи), т.к. отсутствует
поле, значения которого являются уникальными. Выделение нескольких полей осуществляется
при нажатой клавиши Ctrl, далее нажать кнопку Ключевое поле на вкладке Конструктор
таблиц.
Структура таблицы «Успеваемость»
№ Имя поля
Полное
имя
поля
(свойство Подпись поля)
1
Ном_зач_кн
Номер зачетной книжки
2
Таб_ном
Табельный номер
3
Дисциплина
Дисциплина
4
Баллы
Баллы
5
Дата_сдачи
Дата сдачи
9
Ключевое
поле
Ключ
Ключ
Ключ
–
Ключ
Тип поля
Размер поля
Числовой
Числовой
Текстовый
Числовой
Дата/время
Длинное целое
Длинное целое
100
Байт
Краткий формат
даты
10.
2.5 Создание связей средствами AccessСвязь в СУБД Access устанавливается командой Работа с базами данных/Схема данных. В
появившемся окне Схема данных необходимо указать таблицы, для которых устанавливается связь,
а затем с помощью мыши перенести поле - связку из главной таблицы на такое же поле подчиненной
таблицы. В результате между таблицами появляется линия связи.
На рисунке выведено окно Схема данных с установленными связями типа 1:m между
таблицами. Таблицы Студент и Успеваемость связаны по общему полю Ном_зач_кн. Таблица
Студент является главной, так как поле - связка Ном_зач_кн (общее поле) является для нее
ключевым, а таблица Успеваемость - подчиненной, так как поле Ном_зач_кн входит в составной
ключ.
Такой же тип связи будет между главной таблицей Преподаватель и подчиненной
Успеваемость, связанных по полю Таб_ном.
2.6. Обеспечение целостности данных
Целостность данных - это набор правил, которые защищают информацию в базе данных от
случайных изменений или удалений. Корректность информации поддерживается между связанными
таблицами.
Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц
следующих условий корректировки базы данных:
1. В подчиненную таблицу не может быть добавлена запись с несуществующим в главной
таблице значением ключа связи.
10
11.
2. В главной таблице нельзя удалить запись, если не удалены связанные с ней записи вподчиненной таблице.
3. Изменение значений ключа связи главной таблицы должно приводить к изменению
соответствующих значений в записях подчиненной таблицы.
Access выводит соответствующие сообщения и не допускает выполнения операции при
попытке пользователя нарушить эти условия в операциях обновления или удаления данных в
связанных таблицах.
Обеспечение целостности данных устанавливается в окне диалога Изменение связей с
помощью флажка Обеспечение целостности данных.
После установления этого параметра можно задать режим каскадного обновления и удаления
данных, что обеспечивает следующие действия:
1. В режиме каскадного обновления при изменении значения поля связи в главной таблице
Access автоматически изменит значение в соответствующем поле в подчиненной таблице.
2. В режиме каскадного удаления при удалении записи в главной таблице будут
автоматически удалены все связанные записи в подчиненных таблицах.
3 Конструирование запросов к базе данных
Запрос является одним из основных инструментов обработки данных в СУБД. В Access имеется
удобное графическое средство формирования запроса по образцу – QBE (Query By Example), с
помощью которого легко может быть построен любой запрос.
3.1 Назначение и виды запросов
Запрос позволяет выбрать необходимые данные по заданному критерию из одной или
нескольких взаимосвязанных таблиц, произвести вычисления и получить результат в виде
временной или постоянной таблицы. Временная таблица существует, пока не удален
соответствующий запрос, а постоянная таблица не зависит от запроса, т.е. не удаляется вместе с
запросом. При этом могут использоваться как таблицы БД, так и таблицы, сохраненные как результат
выполнения других запросов. Также запрос может строиться на основе другого запроса с
использованием временной таблицы с результатами этого запроса.
В зависимости от назначения запросы в Access делятся на следующие виды:
• запрос на выборку - основной вид запроса - выбирает данные по заданному условию из
одной или нескольких взаимосвязанных таблиц и других запросов. Результаты отбора хранятся во
временной таблице до удаления запроса;
• запрос на создание таблицы - основан на запросе на выборку, но результаты отбора
сохраняются в новой постоянной таблице;
• запросы на обновление, добавление, удаление - являются запросами на выполнение
действий, в результате выполнения которых изменяются данные в таблицах;
• запрос на создание вычисляемого поля - в результате в таблицу включается новое поле,
значения которого вычисляются с использованием имеющихся в таблице значений полей;
• запрос с параметром - в условие отбора можно включить произвольное выражение,
согласно которому с клавиатуры вводится критерий поиска;
• запрос на выполнение групповых функций - к выделенным группам записей с
одинаковыми значениями в указанных полях применяется соответствующая статистическая функция;
• перекрестный запрос - создается сводная таблица, заголовками строк и столбцов которой
являются значения выбранных полей, а в ячейках расположены сводные результаты, относящиеся к
указанным в заголовках строк и столбцов значениям.
11
12.
Общий алгоритм формирования запроса к БД1. Для создания запроса в режиме конструктора надо перейти на вкладку Создание и нажать
на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, в котором нужно выбрать таблицы и/или
запросы, на основе которых проводится выбор данных, и нажать на кнопку Добавить. После этого
закрыть окно нажатием на кнопку Закрыть.
3. Окно конструктора Запрос1 станет активным. Окно конструктора состоит из двух частей –
верхней и нижней. В верхней части окна размещается схема данных, которая содержит список
связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором
каждая строка выполняет определенную функцию.
Перечень строк:
а) Поле – указываются имена полей, которые участвуют в запросе.
12
13.
б) Имя таблицы – таблицы, из которых выбраны соответствующие поля.в) Сортировка – указывается тип сортировки: по возрастанию или по умолчанию.
г) Вывод на экран – поля, которые должны быть включены в результирующую таблицу после
выполнения запроса.
д) Условия отбора - задаются критерии отбора данных.
е) Или – задаются дополнительные критерии отбора, связанных с первыми с помощью
логической операции or.
В качестве условий отбора могут быть:
а) константы:
• числа;
• текст, заключенный в кавычки;
• дата, заключенная между двумя символами #;
б) выражения с применением операций сравнений: >, <, >=, <=, =, <> (не равно).
в) логические операторы: and, or, not
г) специальные операторы:
• оператор вхождения в интервал
Between <начальное значение> And <конечное значение>
• оператор включения
In(<значение 1>; <значение 2>; …)
• оператор подобия
Like("<шаблон>")
Если точное значение для поиска неизвестно, можно использовать в шаблоне подстановочные
символы в следующих случаях:
а) известна лишь часть значения;
б) требуется найти значение, начинающееся с конкретного символа или соответствующее
определенному шаблону.
В следующей таблице даны виды и назначение подстановочных символов.
Символ
Назначение
*
любая
последовательность
символов
любой один символ на данной
?
позиции
#
любая цифра на данной позиции
[]
соответствует любому одному
символу, из заключенных в
скобки
соответствует любому одному
символу, кроме заключенного в
скобки
соответствует любому одному
символу из диапазона, указанному по возрастанию
!
–
13
Пример
а* - текст, начинающийся на
букву а
м?р – текст, состоящий из трех
символов, где на 2-ой позиции
может стоять любой символ
19## - две любые цифры на 3-ей
и 4-ой позиции
м[о,и]р - текст, состоящий из
трех символов, где вторая буква
"о" или "и"
ф[!и]рма – текст, состоящий пяти
символов, где на второй позиции
любой символ, кроме буквы "и"
к[а-с]д - любой из символов "а, б,
…, р, с"
14.
4. После создания условий отбора необходимо выполнить запрос с помощью команды Запуск(красный восклицательный знак). Откроется таблица с результатами выполненного запроса.
5. При закрытии запроса появится окно диалога Сохранить, нажать на кнопку Да и ввести имя
запроса.
Задание №2. Конструирование запросов к БД по учету успеваемости студентов
Сформировать запросы на выборку с применением логических и специальных операторов.
Пример 1. Вывести список доцентов и профессоров.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу
Преподаватель и нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести имена полей Фамилия, Имя,
Отчество, Должность, Зарплата.
4. По полю Должность сформировать условие отбора: “Доцент” or ”Профессор”.
5. Запустить запрос, нажав на кнопку Выполнить (красный восклицательный знак) на вкладке
Конструктор, откроются результаты отбора.
14
15.
6. Сохранить запрос нажатием на кнопку Закрыть. Выйдет сообщение о сохранении запроса,нажать кнопку Да.
7. Далее выйдет диалоговое окно, ввести название Список доцентов и профессоров.
Пример 2. Вывести список студентов, родившихся весной 1994 года.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Студент и
нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести имена полей Фамилия, Имя,
Дата_рожд.
4. По полю Дата_рожд сформировать условие отбора: Between #01.03.1994# and #31.05.1994#.
5. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор, откроются
результаты отбора.
6. Сохранить запрос под названием Студенты родившиеся весной 1994.
Пример 3. Вывести список преподавателей, зарплата которых не входит в диапазон от 15000
до 20000 рублей.
15
16.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу
Преподаватель и нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести имена полей Фамилия, Имя,
Отчество, Зарплата.
4. По полю Зарплата сформировать условие отбора: Not Between 15000 and 20000.
5. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор, откроются
результаты отбора.
6. Сохранить запрос под названием Преподаватели з/п не входит в от 15 тыс до 20 тыс.
Пример 4. Вывести список студентов, проживающих на улице Жердева.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Студент и
нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести имена полей Фамилия, Имя, Адрес.
4. По полю Адрес сформировать условие отбора: Like(“*Жердева*”).
5. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор, откроются
результаты отбора.
6. Сохранить запрос под названием Студенты проживающие на Жердева.
Пример 5. Рассчитать возраст студентов.
16
17.
Сформировать запрос на создание вычисляемого поля Возраст.1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Студент и
нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести все поля таблицы Студент.*
4. В следующем пустом столбце в строке Поле вводим название поля, двоеточие и формулу,
по которой вычисляется данное поле: Возраст:year(Now())-year([Дата_рожд]).
5. В строке Вывод на экран установить галочку.
6. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор, откроются
результаты отбора.
7. Сохранить запрос под названием Возраст студентов.
Самостоятельно: рассчитать стаж преподавателей.
Пример 6. Рассчитать средний балл студентов.
Сформировать запрос с применением групповых операций.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Студент и
Успеваемость, нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести поля Фамилия, Имя, Балл.
4. На вкладке Конструктор нажать на кнопку Итоги
. Появится новая строка Групповая
операция, в которой по умолчанию установлена Группировка.
5. В строке Групповая операция по полю Балл из выпадающего списка выбрать функцию
Avg (среднее).
17
18.
6. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор, откроютсярезультаты отбора.
7. Сохранить запрос под названием Средний балл.
Пример 7. Рассчитать стипендию студентов: отличники получают 2000 руб., хорошисты – 1500
руб., остальные не получают стипендию.
Сформировать комбинированный запрос на создание вычисляемого поля Стипендия и на
создание таблицы Расчет стипендии.
Самостоятельно: рассчитать минимальный балл студентов аналогично предыдущему запросу
(добавить поле Семейное положение и использовать функцию Min).
Расчет стипендии производится на основе запроса Минимальный балл.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, перейти на вкладку Запросы, из списка
выбрать запрос Минимальный балл и нажать кнопку Добавить. Далее закрыть окно нажатием на
кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести все поля запроса.
4. В следующем пустом столбце в строке Поле вводим выражение: Стипендия:IIf([Minбалл]=5;2000;IIf([Min-балл]=4;1500;0)).
18
19.
5. Перед запуском запроса на вкладке Конструктор нажать на кнопку Создание таблицы.Выйдет диалоговое окно, в которое необходимо ввести название таблицы Расчет стипендии, нажать
на кнопку Ok.
6. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор. Выйдет
сообщение, что в новую таблицу Расчет стипендии будет добавлено 10 записей, нажать на кнопку
Да.
7. В списке таблиц появилась таблица Расчет стипендии.
8. Сохранить запрос под названием Стипендия.
Пример 8. Увеличить стипендию для семейных студентов на 10%.
Сформировать запрос на обновление данных в таблице Расчет стипендии.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Расчет
стипендии, нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести поля Сем_полож, Стипендия.
4. На вкладке Конструктор нажать на кнопку Обновление, появится строка Обновление.
19
20.
5. В строку Обновление по полю Стипендия вставить формулу [Стипендия]*1,1, в строкеУсловие отбора по полю Сем_полож сформировать условие: “женат” Or “замужем”.
6. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор. Выйдет
сообщение, что в таблице Расчет стипендии будет обновлено 4 записи, нажать на кнопку Да.
7. Сохранить запрос под названием Увеличение стипендии на 10%.
8. Открыть таблицу Расчет стипендии и убедиться, что стипендия для семейных студентов
увеличилась на 10%.
Пример 9. Удалить записи о студентах, не сдавших сессию.
Сформировать запрос на удаление данных из таблицы Успеваемость.
1. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.
2. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу
Успеваемость, нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
3. В окне конструктора запросов в строку Поле вывести поле Балл.
4. На вкладке Конструктор нажать на кнопку Удаление, появится строка Удаление.
5. В строке Удаление по полю Балл по умолчанию установлено Условие, в строке Условие
отбора по полю Балл сформировать условие: 2.
20
21.
6. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор. Выйдетсообщение, что из таблицы Успеваемость будет удалена 1 запись, нажать на кнопку Да.
7. Сохранить запрос под названием Удаление данных о двоечниках.
8. Открыть таблицу Успеваемость и убедиться, что запись удалена.
Пример 10. Добавить все записи из таблицы Студент в ее копию.
Сформировать запрос на добавление данных из таблицы Студент в таблицу Копия Студент.
1. Создать таблицу Копия Студент, скопировав таблицу Студент с помощью комбинации
клавиш Ctrl+С, затем Ctrl+V. Выйдет диалоговое окно Вставка таблицы, нажать на кнопку Ok.
2. Чтобы была возможность добавить записи в таблицу Копия Студент, нужно убрать
ключевое поле. Открыть таблицу Копия Студент в режиме конструктора, установить курсор на поле
Ном_зач_кн и отжать кнопку Ключевое поле на вкладке Конструктор.
3. Закрыть таблицу, сохранив изменения.
21
22.
4. Перейти на вкладку Создание, нажать на кнопку Конструктор запросов.5. Откроется диалоговое окно Добавление таблицы, из списка выбрать таблицу Студент,
нажать кнопку Добавить. Далее закрыть окно нажатием на кнопку Закрыть.
6. В окне конструктора запросов в строку Поле вывести все поля таблицы Студент.
7. На вкладке Конструктор нажать на кнопку Добавление, выйдет диалоговое окно
Добавление, из раскрывающегося списка выбрать таблицу Копия Студент, нажать на кнопку Ок.
8. Появится строка Добавление, в которой указаны все поля таблицы Копия Студент.
9. Запустить запрос, нажав на кнопку Выполнить на вкладке Конструктор. Выйдет
22
23.
сообщение, что в таблицу Копия Студент будет добавлено 10 записей, нажать на кнопку Да.10. Сохранить запрос под названием Добавление данных.
11. Открыть таблицу Копия Студент и убедиться, что записи добавлены.
Пример 11. Вывести список студентов с оценками по дисциплине, которую вводит
пользователь.
Сформировать запрос с параметром, в качестве которого будет выступать выбираемая
дисциплина.
1. Перейти