ref-16893 (Excel и Access), страница 4

2016-07-31СтудИзба

Описание файла

Документ из архива "Excel и Access", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "ref-16893"

Текст 4 страницы из документа "ref-16893"

Примерно на таком же уровне определяется фильтр и во “взрослой” литературе.

В справочнике [2] на стр. 191 говорится: “Фильтр – это набор условий, которые можно применить к данным. Применение другого фильтра к результату предыдущего дополнительно урезает результирующий набор данных.” В том же справочнике на стр. 395 фильтр определяется так. “Режим, позволяющий отображать только некоторые записи таблицы. В программе Access с помощью фильтра можно также отсортировать информацию. В отличии от запросов, фильтры не являются объектами, и не появляются в окне базы данных.

Так что же такое фильтр: режим или набор условий? Ни то, ни другое. Оказывается это – нечто!

Фильтр – нечто, отсеивающее определенные элементы, - одно или несколько условий, которым должна удовлетворять запись, чтобы попасть на экран.” ([8], стр. 72)

На самом деле фильтр – это просто логическое выражение. Фильтрация таблицы – это отбор тех кортежей, для которых соответствующее выражение истинно.

Здесь мы согласны с Ю.Шафриным, определяющим фильтр как логическое выражение. Нужно только пояснить, как оно строится из пресловутых “условий”. Но прежде нам придется вспомнить, что такое арифметическое выражение.

Арифметические и логические выражения

Help определяет выражение так. “Любая комбинация операторов, констант, значений текстовых констант, функций, имен полей, элементов управления или свойств, результатом которой является конкретное значение.”

Нас такое определение не устраивает. Оно не конструктивно. Мы хотели бы, чтобы по виду текста можно было бы узнать, является ли оно выражением. А как узнать, является ли результатом данной комбинации “конкретное значение”?

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

Как арифметические, так и логические выражения строятся из неких “кирпичей” с помощью определенного набора операций. В случае арифметических выражений “кирпичами” служат числа и атрибуты (других “кирпичей” мы для простоты не рассматриваем), а соединяют их обычные арифметические операции. Формально арифметические выражения определяются так.

  1. Всякое число или атрибут есть арифметическое выражение.

  2. Если А и В - арифметические выражения, то выражения (А+В), (А-В), (А*В), (А/В) и (А**В) тоже являются арифметическими.

Символы +, -, *, / и ** интерпретируются, соответственно, как операции сложения, вычитания, умножения, деления и возведения в степень.

Вот примеры арифметических выражений: 7, х, 2+2, 2*(х+3).

Имея формальное определение, мы можем доказать, что, скажем, выражение 2*(х+3) является арифметическим. Действительно, согласно правилу 1, выражения х и 3 являются арифметическими. Отсюда, по правилу 2, следует, что выражение (х+3) тоже является арифметическим. По правилу 1, выражение 2 – арифметическое. Значит, по правилу 2, и выражение 2*(х+3) - арифметическое. В этом смысле приведенное определение конструктивно.

Переходим к определению логических выражений. Мы будем считать, что “кирпичи” логических выражений имеют вид х Т, где х – атрибут, Т – арифметическое выражение, а  - один из символов сравнения: = (равно), <> (не равно), (больше). Соединяются они при помощи логических операций AND, OR и NOT.

Как и для арифметических выражений, мы хотим дать формальное определение. Сначала определим простейшие логические выражения, или атомы.

Определение 1. Пусть х – атрибут, Т – арифметическое выражение. Тогда выражения х=Т, х<>Т, хТ являются атомами.

Теперь можно формально определить логические выражения. Мы будем обозначать их большими латинскими буквами.

Определение 2.

  1. Всякий атом есть логическое выражение.

  2. Если Х и У - логические выражения, то выражения (Х AND У), (Х OR У) и (NOT Х) тоже являются логическими.

Вот примеры арифметических выражений: (NOT х = 7), (х = 2+2, AND у > 2*(х+3)).

Замечание 1. На практике при записи формул можно во многих случаях опускать скобки, что мы и будем делать без особых оговорок.

Теперь переходим к значениям выражений. Значениями арифметических выражений являются числа, а значениями логических выражений – Истина и Ложь.

Если мы знаем значения всех атрибутов, входящих в выражение, то мы можем вычислить и значение самого выражения. Скажем, если значение х и у есть, соответственно, 7 и 8, то значением выражения (х+2*у) есть 23. Значением атома х=(х+2*у) будет Ложь, потому что на самом деле 7 не равно 23.

Ну, а как вычислять значений логических выражений, не являющихся атомами?

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

Х

У

Х AND У

Истина

Истина

Истина

Истина

Ложь

Ложь

Ложь

Истина

Ложь

Ложь

Ложь

Ложь

Она показывает, как, зная значения выражений Х и У, вычислить значение выражения (Х AND У).

А вот таблицы истинности для OR и NOT:

Х

У

Х OR У

Истина

Истина

Истина

Истина

Ложь

Истина

Ложь

Истина

Истина

Ложь

Ложь

Ложь

Х

NOT Х

Истина

Ложь

Ложь

Истина

Зная значения атомов, вы можете с помощью этих таблиц вычислить значение любого выражения, построив для него свою таблицу истинности. В качестве примера построим такую таблицу для выражения NOT (Х OR У)

Х

У

Х OR У

NOT(Х OR У)

Истина

Истина

Истина

Ложь

Истина

Ложь

Истина

Ложь

Ложь

Истина

Истина

Ложь

Ложь

Ложь

Ложь

Истина

Замечание 2. С подобными конструкциями мы встречаемся в естественных языках, например в русском. Там аналогами логических выражений являются повествовательные предложения, аналогами атомов – простые повествовательные предложения, а аналогами логических операций – слова И, ИЛИ, НЕТ и др. Конечно, аналогия здесь далеко не полная, но все же она позволяет понять основные идеи алгебры логики.

В самом деле, когда истинно предложение “На улице потемнело ИЛИ у меня устали глаза”? Когда истинно хотя бы одно из предложений “На улице потемнело” или “у меня устали глаза”. Таким образом, в данном случае ИЛИ действует аналогично операции OR (правда, в других фразах ИЛИ может употребляться в другом смысле). Точно так же союз И можно считать аналогом операции AND. Например, фраза “Вдруг заиграла музыка И в зал вошла она” истинна если и только истинны обе ее составные части: “вдруг заиграла музыка” и “в зал вошла она”. НЕ или НЕТ часто выступает аналогом операции NOT. Скажем предложение “я НЕ знаю этого человека” истинно в точности в тех случаях, когда ложна фраза “я знаю этого человека”. Вообще, язык алгебры логики можно рассматривать как попытку формализовать естественный язык.

Замечание 3. Выше мы говорили о классической, двузначной логике, когда имеется всего два значения истинности ДА и НЕТ (употребляются еще и другие обозначения, скажем ИСТИНА и ЛОЖЬ или TRUE и FALSE). Кроме двузначной логики в принципе можно рассматривать и другие логики, например трехзначную, в которой кроме ДА и НЕТ есть еще и третье значение – НЕИЗВЕСТНО (в Access оно обозначается как Null). На самом деле в Access реализована некая мешанина из двузначной и трехзначной логики. Оговоримся сразу, что мы не рекомендуем учителю выходить за рамки классической логики. Тем не менее, для полного понимания работы Access нам придется коснуться и трехзначной логики.

Наличие в Access трехзначной логики связано с тем, что в таблицах Access допускаются пустые клетки (так называемые Null-значения). Например, таблица ЗНАКОМЫЕ может выглядеть так:

Фамилия

Имя

Отчество

Иванов

Петр

 

(Отчество Иванова мы не знаем.)

Спрашивается, как должна такая БД отвечать на запрос “Верно ли, что у Петра Иванова отчество – Сергеевич?” Ясно, что ни ДА, ни НЕТ тут не подходит. Необходимо ввести третье значение.

Надо сказать, что попытки ввести в БД Null-значения и трехзначную логику многим авторам представляются неуместными. Вот что говорит по этому поводу известный специалист в области БД К.Дейт в своей последней монографии. “Автор данной книги разделяет мнение многих других авторов о том, что null-значения и трехзначная логика являются ошибочными понятиями и им нет места в число формальных системах, подобных реляционной модели.” ([4], стр. 544).

На наш взгляд, забивать школьнику голову трехзначной логикой и Null-значениями при изучении Access не стоит. Дай Бог ему разобраться с обычной, двузначной логикой.

Мы рекомендуем ограничиться случаем, когда таблицы не имеют пустых клеток. Можно даже установить значение ДА параметра Свойства поля/Обязательное поле. В этом случае Access будет сам следить, чтобы все клетки были заполнены. Тогда пользователь гарантирован ото всех неприятностей, связанных с Null-значениями.

 

Замечание 4. Обычно логику определяют как науку о правильных рассуждениях ([1, 3, 5, 9]). На наш взгляд, это не совсем верно. В вычислительной науке и, в особенности, в теории баз данных на первый план выходит другой аспект. Здесь логика используется как формальная модель естественного языка. На это, конечно, можно возразить, что язык и мышление тесно связаны. Но ведь мышление отнюдь не сводится к дедуктивным (т.е. основанным на доказательствах) методам.

Пусть логическое выражение Х не содержит атрибутов, кроме х1, х2, … , хк. Придав этим атрибутам некоторые значения, мы, тем самым, придаем числовые значения всем арифметическим выражениям, входящим в Х. Выполнив соответствующие сравнения, мы узнаем значения всех атомов, входящих в Х. Далее, с помощью таблиц истинности, мы можем вычислить и значение выражения Х.

Теперь пусть у нас есть кортеж К с атрибутами х1, х2, … , хк. Он сопоставляет каждому из этих атрибутов некоторое число. Следовательно, он обращает выражение Х либо в ИСТИНУ, либо в ЛОЖЬ.

Итак, мы доказали следующее утверждение.

Теорема 1. Пусть Х логическое выражение, не содержащее атрибутов, кроме х1, х2, …, хк, а К - кортеж с атрибутами х1, х2, … , хк. Тогда выражение Х либо истинно, либо ложно.

В первом случае мы говорим, что выражение Х ИСТИННО на кортеже К, а во втором – что оно ЛОЖНО.

Таким образом, логическое выражение можно трактовать как функцию, перерабатывающую кортеж в одно из двух значений ИСТИНА или ЛОЖЬ.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее