- Тема: Условия выбора и сложные логические выражения
Предмет: Информатика и ИКТ
Класс: 8
Цели урока: Научить учащихся выполнять запросы к базам данных с использованием сложных логических выражений; освоить способы построения сложных запросов с использованием сложных логических выражений; научиться осуществлять выбор оптимальных параметров условий отбора для неформализованных задач.
Задачи:
- обучающие
закрепить понятие «простое логическое выражение» и знаки отношений;
cформировать у учащихся понятие «сложное логическое выражение»;
cформировать представление об основных логических операциях и их результатах;
научить учащихся создавать сложные запросы.
- развивающие
- воспитательные
Тип урока: комбинированный
Формы работы учащихся: групповая, индивидуальная.
Необходимое техническое оборудование: компьютерный класс, персональные компьютеры на каждого ученика, мультимедийный проектор.
Этапы урока
Организационный этап.
Актуализация опорных знаний.
Изучение нового материала.
Закрепление нового материала.
Домашнее задание
Итоги урока.
Ход урока
Организационный этап
Актуализация опорных знаний
Мы продолжаем работу с базами данных. На прошлых уроках мы работали с БД «Домашняя библиотека», «Погода», «Успеваемость», создавали запросы с помощью операций отношений , =, .
Вопросы на повторение. Учитель задает вопросы по изученному на предыдущих уроках материалу. Проверяет знание основных понятий базы данных, элементов базы данных, функций базы данных, понятий запись и поле в базе данных, типов полей. Учащиеся отвечают на вопросы учителя.
вопрос | ответ |
Что такое СУБД? | Система управления базами данных (СУБД) - программное обеспечение для создания баз данных, хранения и поиска в них необходимой информации. |
Приведите пример известных Вам СУБД | Open Office Base, Microsoft Access и другие |
С какой системой управления данных вы работаете на уроках? | Microsoft Access |
С чего начинается работа с базой данных? (основные этапы работы с БД) | создание новой БД регистрация БД - указать пути и имени файла описание структуры таблицы – необходимо указать имена и типы полей ввод данных - ввод в таблицу или ввод в форму |
Какие основные объекты СУБД Вам известны? | таблица форма запрос отчёт |
Что такое таблица? | Таблица - главный тип объектов. В таблице хранятся данные. |
Что такое форма? | Форма - это вспомогательный объект. Объект для удобной работы с данными в таблицах |
Что такое запрос? | Запрос - это команды обращения пользователя к СУБД |
Что такое РБД? | Реляционная база данных (РБД) - это реляционная модель данных, основанная на представлении данных в виде таблиц. |
Что такое запись? | Запись содержит всю информацию об одном объекте, описываемом в базе данных. Запись - это строка таблицы. |
Что такое поле? | Поле - это одна из характеристик объекта. Поле - это столбец таблицы. |
Основные характеристики поля? | Поле базы данных имеет имя, тип и длину. |
Перечислите основные типы полей. | Числовой Текстовый Логический Дата |
Изучение нового материала (10 – 15 мин.)
Определение. Выражение, содержащее логические операции, называется сложным логическим выражением.
Существуют три основные логические операции:
логическое умножение – конъюнкция (и), логическое сложение – дизъюнкция (или), отрицание (не).
Логическая величина может принимать только 2 значения – истина (1) или ложь (0).
При создании запроса необходимо определить критерии, относительно которых будет осуществляться отбор нужных записей. Для ввода условий в Конструкторе запросов выделены строки Условие отбора и ИЛИ. Параметры условия должны задаваться в кавычках. Если критерии заданы правильно, то программа сама автоматически заключает условия в кавычки.
В качестве простых запросов выделялись лишь поля без использования каких - либо условий. Использование сложных запросов позволяет отбирать записи по определенным условиям. Для создания запроса с несколькими критериями используются различные операторы с использованием логических операций: И, ИЛИ, НЕ.
В логическом выражении можно использовать круглые скобки. Так же как и в математических формулах, скобки влияют на последовательность выполнения операций. Если нет скобок, то операции выполняются в порядке их старшинства.
Приоритеты: отрицание, умножение, сложение
Рассмотрим группу высказываний и их логические значения
Высказывание | Значение |
БД «Факультативы.» |
1 . Русанов занимается геологией. | Истина |
2. Шляпина посещает факультативы. | Истина |
БД «Успеваемость» |
3. У Аликина по физике то ли 4, то ли 5. | Истина |
4. У Галкиной по алгебре не двойка. | Истина |
БД «Погода» |
5. 15 марта 2004 года были осадки. | Истина |
6. 17 марта 2004 года влажность была меньше 100%. | Ложь |
БД «Домашняя библиотека» |
7. В библиотеке есть книги Беляева А. Р., изданные не ранее 1990 года. | Истина |
8. В библиотеке есть книги Толстого Л.Н. или Тургенева И.С. | Истина |
Использование логических операций в условиях выборки
Вот как записываются соответствующие логические выражения:
1. ФАМИЛИЯ="Русанов" и ГЕОЛОГИЯ
2. ФАМИЛИЯ="Шляпина" и (ЦВЕТОВОДСТВО или ГЕОЛОГИЯ или ТАНЦЫ)
3. УЧЕНИК="Аликин Петр" и (ФИЗИКА=4 или ФИЗИКА=5)
4. не АЛГЕБРА=2 и УЧЕНИК=" Галкина Нина"
5. ДЕНЬ=15/03/2007 и (ОСАДКИ="дождь" или ОСАДКИ= "снег")
6. ДЕНЬ= 17/03/200 7 и ВЛАЖНОСТЬ
7. АВТОР="Беляев А.Р." и ГОД=1990
8. АВТОР="Толстой Л.Н." или АВТОР="Тургенев И.С."
Здесь кроме знакомых нам отношений и имен логических полей используются смысловые связки и, или, не. Это служебные слова, которые выполняют роль знаков логических операций.
Логическая операция ИЛИ позволяет выбрать записи, удовлетворяющих одному из двух и более условий. Задается двумя способами: Можно ввести все условия в одну ячейку строки Условие отбора, соединив их логическим оператором или (or). В этом случае будут выбраны данные, удовлетворяющие хотя бы одному из условий. Ввести второе условие в отдельную ячейку строки или. И если используется несколько строк или, то чтобы запись была выбрана, достаточно выполнения условий хотя бы в одной из строк или.
Логическая операция И отбирает лишь те записи, которые удовлетворяют одновременно всем заданным условиям.
Логическая операция НЕ позволяет исключить группу данных из состава анализируемых запросом записей. Для записи условия используется op OR либо знак «не равно» -
Логическое умножение (AND)
В результате логического умножения получается истина только в том случае, если обе логические величины истинны.
Логическое сложение (OR)
В результате логического сложения получается истина, если значение хотя бы одной логической величины истинно.
Отрицание (NOT)
Иизменяет значение логической величины на противоположное.
Пример 1.
Пусть требуется получить справку о книгах Беляева А.Р., изданных не раньше 1990 года, с указанием названия книги, года издания и полки, на которой стоит книга. Соответствующая команда имеет вид:
.выбрать НАЗВАНИЕ, ГОД, ПОЛКА где АВТОР= "Беляев А.Р." и ГОД=1990
Формирование справки происходит в такой последовательности: сначала вырезаются и склеиваются в одну таблицу все строки, удовлетворяющие первому отношению:
АВТОР="Беляев А.Р.". Получается следующее:
НОМЕР | АВТОР | НАЗВАНИЕ | ГОД | ПОЛКА |
0001 | Беляев А.Р. | Человек-амфибия | 1987 | 5 |
0005 | Беляев А.Р. | Звезда КЭЦ | 1990 | 5 |
0008 | Беляев А.Р. | Избранное | 1994 | 7 |
Затем из этой таблицы вырезаются строки, удовлетворяющие второму отношению: ГОД=1990.
Получаем:
НОМЕР | АВТОР | НАЗВАНИЕ | год | ПОЛКА |
0005 | Беляев А.Р. | Звезда КЭЦ | 1990 | 5 |
0008 | Беляев А.Р. | Избранное | 1994 | 7 |
И, наконец, вырезаются столбцы, указанные в списке полей команды. На экран выведется справка:
НАЗВАНИЕ | ГОД | ПОЛКА |
Звезда КЭЦ | 1990 | 5 |
Избранное | 1994 | 7 |
Значит, выполнение конъюнкции происходит путем последовательного вырезания строк из таблицы.
Закрепление нового материала.
Практическая работа. Выполнить запросы в СУБД Access
Создать запросы к БД «Учащиеся» с соответствующими условиями отбора по полю (прил1)
Учащиеся |
Код | Фамилия | Имя | Дата | Пол(м) | Улица | Дом | Квартира | Класс | Группа | Хобби | Глаза |
1 | Суханов | Сергей | 16.02.1991 | Да | Чердынская | 23 | 74 | 10 | основная | тяжёлая атлетика | зелёные |
2 | Пирогов | Юрий | 05.12.1993 | Да | Куйбышева | 6 | 31 | 8 | основная | футбол | голубые |
3 | Лебедева | Света | 16.06.1995 | Нет | Пушкина | 37 | 65 | 6 | специальная | вязание | карие |
4 | Голдобин | Сергей | 23.05.1998 | Да | Леонова | 12 | 10 | 3 | основная | лыжи | голубые |
5 | Ельшина | Наташа | 24.05.1992 | Нет | Чердынская | 37 | 48 | 9 | специальная | чтение | серые |
6 | Суханова | Наташа | 20.12.1996 | Нет | Ленина | 12 | 22 | 5 | подготовительная | шитьё | зелёные |
7 | Петрова | Света | 18.04.1992 | Нет | Пушкина | 37 | 3 | 9 | основная | лыжи | серые |
8 | Горина | Оля | 20.12.1994 | Нет | Свиязева | 66 | 99 | 7 | подготовительная | аэробика | карие |
9 | Попов | Михаил | 07.07.1997 | Да | Леонова | 72 | 6 | 4 | подготовительная | | голубые |
10 | Сергеев | Саша | 30.11.1999 | Да | Куйбышева | 3 | 31 | 2 | основная | каратэ | зелёные |
11 | Павлова | Елена | 13.12.1995 | Нет | Пушкина | 5 | 6 | 6 | основная | аэробика | карие |
12 | Емельянова | Наташа | 25.05.1991 | Нет | Попова | 40 | 47 | 10 | основная | шитьё | зелёные |
13 | Евдокимов | Михаил | 18.08.1994 | Да | Чердынская | 3 | 40 | 7 | основная | футбол | зелёные |
14 | Евсеева | Елена | 14.10.1995 | Нет | Ленина | 14 | 82 | 9 | основная | лыжи | серые |
15 | Суханова | Света | 29.07.1990 | Нет | Куйбышева | 37 | 32 | 11 | основная | аэробика | карие |
Показать учащимся практически как создается запрос по сложному условию «Кто из девочек основной группы с карими или серыми глазами».
Этапы создания запроса:
Запустить конструктор запроса;
Добавить таблицу учащиеся;
Выбрать поля код, фамилия, имя, пол, группа, глаза;
Ввести условия отбора: поле «пол» - нет, поле «группа» - основная, поле «глаза» - (карие) OR (серые);
Сохранить запрос под именем «глаза»;
Открыть запрос «глаза»;
Сравнить записи в запросе с записями в таблице «Учащиеся»;
При необходимости отредактировать запрос, открыв его в режиме «Конструктор».
Выполнение самостоятельной практической работы по вариантам.
Вопросы для создания запросов к БД «Учащиеся» (прил 2).
Кто учится в 8?
Кто родился в 1994 году?
Кто живет на улице Пушкина?
У кого номер дома меньше 50?
У кого мужские имена?
Кто не занимается тяжелой атлетикой?
У кого номер квартиры меньше 12?
Кто не определил свое хобби?
Кто родился до 1.01.95?
Кто живет на улице Пушкина, Леонова или Свиязева?
Кто является однофамильцами с Сухановым Сергеем?
Кто увлекается аэробикой и лыжами?
Кто из мальчиков живет на улице Чердынской?
У кого карие глаза и этот человек не умеет вязать?
У кого из специальной группы женское имя?
Кто не живет на улице Ленина и не занимается в подготовительной группе?
Кто из мальчиков с голубыми глазами занимается каратэ?
Кто с серыми глазами учится в 10 классе?
Кто из основной группы не живет на улице Пушкина или Ленина?
Вариант I
№11,13,15,17,19
Вариант II
№ 10,12,14,16,18
Результаты запросов:
10 | Код | Фамилия | Имя | Улица | 3 | Лебедева | Света | Пушкина | 4 | Голдобин | Сергей | Леонова | 7 | Петрова | Света | Пушкина | 8 | Горина | Оля | Свиязева | 9 | Попов | Михаил | Леонова | 11 | Павлова | Елена | Пушкина | 11 | Код | Фамилия | Имя | 1 | Суханов | Сергей | 6 | Суханова | Наташа | 15 | Суханова | Света | 12 |
Код | Фамилия | Имя | Хобби |
4 | Голдобин | Сергей | лыжи |
7 | Петрова | Света | лыжи |
8 | Горина | Оля | аэробика |
11 | Павлова | Елена | аэробика |
14 | Евсеева | Елена | лыжи |
15 | Суханова | Света | аэробика |
13 | Код | Фамилия | Имя | Пол(м) | Улица | 1 | Суханов | Сергей | Да | Чердынская | 13 | Евдокимов | Михаил | Да | Чердынская | 14 |
Код | Фамилия | Имя | Хобби | Глаза |
8 | Горина | Оля | аэробика | карие |
11 | Павлова | Елена | аэробика | карие |
15 | Суханова | Света | аэробика | карие |
15 | Код | Фамилия | Имя | Пол(м) | Группа | 3 | Лебедева | Света | Нет | специальная | 5 | Ельшина | Наташа | Нет | специальная | | | | | | 16 | Код | Фамилия | Имя | Улица | Группа | 1 | Суханов | Сергей | Чердынская | основная | 2 | Пирогов | Юрий | Куйбышева | основная | 3 | Лебедева | Света | Пушкина | специальная | 4 | Голдобин | Сергей | Леонова | основная | 5 | Ельшина | Наташа | Чердынская | специальная | 7 | Петрова | Света | Пушкина | основная | 10 | Сергеев | Саша | Куйбышева | основная | 11 | Павлова | Елена | Пушкина | основная | 12 | Емельянова | Наташа | Попова | основная | 13 | Евдокимов | Михаил | Чердынская | основная | 15 | Суханова | Света | Куйбышева | основная | 17 | Код | Фамилия | Имя | Пол(м) | Глаза | Хобби | | | | | | | 18 |
Код | Фамилия | Имя | Глаза | Класс |
| | | | |
| | | | |
19 |
Код | Фамилия | Имя | Группа | Улица |
1 | Суханов | Сергей | основная | Чердынская |
2 | Пирогов | Юрий | основная | Куйбышева |
4 | Голдобин | Сергей | основная | Леонова |
7 | Петрова | Света | основная | Пушкина |
10 | Сергеев | Саша | основная | Куйбышева |
11 | Павлова | Елена | основная | Пушкина |
12 | Емельянова | Наташа | основная | Попова |
13 | Евдокимов | Михаил | основная | Чердынская |
14 | Евсеева | Елена | основная | Ленина |
15 | Суханова | Света | основная | Куйбышева |
Домашнее задание § 15, №3
Подведение итогов урока