Учебник Информатика. Базовый курс. Симонович С.В.. С. В. Симоновичаинформатикабазовый курс2е издание
Скачать 17.96 Mb.
|
Упражнение Создание запроса на выборку 30 мин В этом упражнении мы создадим запрос на выборку жестких дисков, имеющих емкость свыше 60 Гбайт при цене менее 150 условных Результирующая таблица должна содержать также адрес поставщика и номер его телефона. 1. Запустите программу Microsoft (Пуск • Программы • Microsoft Access). 2. На панели Создание (в Области задач) на имени базы данных Комплектующие в разделе Открытие файла. 3 7 0 Глава Работа с базами данных 3. В окне Комплектующие: база данных откройте панель Запросы. Дважды щелк- ните на значке Создание запроса в режиме Конструктора откроется бланк запроса по образцу. Одновременно с ним откроется диалоговое окно Добавле- ние таблицы. 4. В окне Добавление таблицы выберите таблицу Поставщики и щелкните на кнопке Добавить. Закройте окно Добавление таблицы. 5. В списке полей таблицы Поставщики выберите поля, включаемые в результи- рующую таблицу: Компонент, Модель, Цена оптовая, Поставщик, Телефон. Выбор производите двойными щелчками на именах полей. 6. Задайте условие отбора для поля Компонент. В соответствующую строку вве- дите: Жесткий диск. Из таблицы будут выбираться не все изделия, а только жесткие диски. 7. Задайте условие отбора для поля Цена оптовая. В соответствующую строку введите: < Из таблицы будут выбираться только изделия, имеющие цену менее 150 условных единиц. 8. Нам еще надо задать условие отбора по основному потребительскому пара- метру — емкости жесткого диска. Однако в таблице Поставщики такого поля нет. С другой стороны, в ней есть поле Модель, которое однозначно определяет параметры изделия. Благодаря тому, что по полю Модель у нас установлена связь с таблицей Комплектующие, мы получаем возможность ввести в запрос поле Основной параметр, взяв его из другой таблицы. Добавьте список полей таблицы Комплектующие в верхнюю часть бланка запроса по образцу. Для этого щелкните правой кнопкой мыши в верхней области бланка и в открывшемся контекстном меню выберите пункт Добавить таблицу — откро- ется уже знакомое нам окно Добавление таблицы. Выберите в нем таблицу Ком- плектующие. 9. Двойным щелчком на поле Основной параметр в списке полей таблицы Комп- лектующие введите это поле в бланк запроса по образцу. 10. В строке Условие отбора столбца Основной введите условие >60 (емкость диска более шестидесяти гигабайт). Закройте бланк запроса по образцу. При закрытии запроса введите его имя — Выбор комплектующих. 12. В окне Комплектующие: база данных откройте только что созданный запрос и рассмотрите результирующую таблицу. Ее содержательность зависит от того, что было введено в таблицы Комплектующие и Поставщики при их наполнении в упражнении 13.1. Если ни одно изделие не соответствует условию отбора и получившаяся результирующая таблица не имеет данных, откройте базовые таблицы и наполните их модельными данными, позволяющими проверить работу запроса. 13. По окончании исследований закройте все открытые объекты и завершите работу с программой Microsoft Access. Практическое занятие 371 Пример создания бланка запроса по образцу Мы научились создавать запрос на выборку, основанный на связанных таблицах. Мы формировать структуру запроса путем выбора базовых таблиц и полей, а так- же формулировать условие отбора. Мы выяснили, какую роль играют связи между таблицами при создании запросов на выборку данных. Упражнение Создание запросов «с параметром» мин Выше мы рассмотрели, как действует условие отбора, но должны отметить его суще- ственный недостаток. Пользователь базы данных работает с запросами, которые ему подготовил разработчик. Если, например, разработчик предусмотрел запрос, отбирающий изделия, имеющие цену менее 150 условных единиц, то пользова- тель базы уже не в состоянии отобрать изделия, цена которых 140 условных единиц, поскольку у него нет соответствующего запроса. Специальный тип запросов, называемый запросами «с параметром», позволяет пользователю самому ввести критерий отбора данных на этапе запуска запроса. Этим приемом обеспечивается гибкость работы с базой. Создадим простой запрос, позволяющий отбирать процессоры, предельную цену которых пользователь может задать сам при запуске 1. Запустите программу Microsoft Access (Пуск • Программы • Microsoft Access). 2. На панели Создание файла (в Области задач) щелкните на имени базы данных Комплектующие в разделе Открытие файла. 3. В окне Комплектующие: база данных откройте Запросы. Дважды щелк- ните на значке Создание запроса в режиме Конструктора — откроется бланк запроса по образцу. 4. Согласно упражнению 13.3, создайте запрос на выборку, основанный на таб- лице Поставщики. В него должны войти следующие поля: • Компонент; • Модель; 372 Глава Работа с базами данных Цена оптовая • Цена оптовая; • Поставщик; • Телефон. 5. В строке Условие отбора поля Компонент введите: Процессор. 6. Строку Условие отбора для поля Цена оптовая надо заполнить таким образом, чтобы при запуске запроса пользователь получал предложение ввести нужное значение. Текст, обращенный к пользователю, должен быть заключен в квадратные скобки. Если бы мы хотели отобрать процессоры, цена которых больше 100 единиц, мы бы написали: Если бы нам были нужны процессоры дешевле 80 единиц, мы бы на- писали <80. Но если мы хотим дать пользователю воз- можность выбора, мы должны написать: < [Введите мак- симальную цену]. 7. Закройте запрос. При закрытии сохраните его под именем Выбор комплектую- щих. 8. В окне Комплектующие: база данных откройте панель Запросы и запустите запрос Выбор комплектующих. На экране появится диалоговое окно Введите значение параметра (рис. 13.19). Поставщики цену] Пользователь вводит значение параметра для условия отбора 9. Введите какое-либо число и щелкните на кнопке ОК. В зависимости от того, что реально содержится в таблице Поставщики, по результатам запроса будет сформирована результирующая таблица. 10. Закройте все объекты базы данных. Закройте программу Microsoft Access. Мы научились формировать запросы «с параметром» и узнали, что в основе этого вида запросов лежат запросы на выборку, у которых в поле Условие отбора записан заклю- ченный в квадратные скобки текст, обращенный к пользователю. Упражнение Создание итогового запроса 45 мин Если полностью заполнить данными таблицу Комплектующие, введя параметры всех компонентов, входящих в сборочную спецификацию персонального компью- тера, то можно узнать, во что обходится комплектующих узлов. Запросы, выполняющие вычисления по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может Практическое занятие 373 выбираться максимальное или минимальное значение данных в поле, может также исполняться иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу. Предположим, что малое предприятие собирает компьютеры трех классов: «Элитный», «Деловой» и «Экономичный». Несмотря на то что архитектура у всех компьютеров близка, их компоненты заметно отличаются по цене и техническим параметрам. Соот- ветственно, имеются значительные отличия в цене этих трех моделей, что важно для захвата разных секторов рынка. Наша задача — подготовить итоговый отчет, с помощью которого можно определять цену каждой из модели компьютеров и дина- мично ее отслеживать при изменении входящих компонентов или их поставщиков. 1. Запустите программу Microsoft (Пуск • Программы • Microsoft Access). 2. На панели Создание файла (в Области задач) щелкните на имени базы данных Комплектующие в разделе Открытие файла. 3. В окне Комплектующие: база данных откройте панель Таблицы. Выберите таб- лицу Комплектующие. 4. Щелчком на значке Конструктор откройте таблицу в режиме проектирования — нам это необходимо для создания дополнительного поля Класс, в котором будут храниться данные о том, для какого класса изделий предназначены компоненты. 5. В начало структуры таблицы вставьте новое поле. Для этого выделите первое поле (Компонент) и нажмите клавишу INSERT. 6. Введите имя нового поля — Класс и определите его тип — Текстовый. 7. Закройте окно Конструктора. При закрытии подтвердите необходимость изме- нить структуру таблицы. 8. Откройте таблицу Комплектующие и наполните ее содержанием, введя для каж- дого класса данные по следующим изделиям: • материнская плата; • процессор; • оперативная память; • жесткий диск; • корпус; • дисковод CD-ROM; • дисковод гибких дисков; • видеоадаптер; • звуковая карта; • клавиатура; • Цены на эти изделия для каждого класса проставьте произвольно. Прочие поля таблицы можно не заполнять — в итогового запроса они уча- ствовать не будут. 3 7 4 Глава Работа с базами данных 9. Закройте таблицу Комплектующие. 10. Откройте панель Запросы щелчком на одноименной кнопке окна Комплектую- щие: база данных. Выполните двойной щелчок на значке Создание запроса в режиме конструктора. В открывшемся диалоговом окне Добавление таблицы выберите таблицу Ком- плектующие, на основе которой будет разрабатываться итоговый запрос. Закройте окно Добавление таблицы. 12. В бланк запроса по образцу введите следующие поля таблицы Комплектующие: Класс, Компонент, Цена. 13. Для поля Класс включите сортировку по возрастанию. Включите также сорти- ровку по полю Цена, но на этот раз — по убыванию. На панели инструментов Microsoft Access щелкните на кнопке Групповые опера- ции или воспользуйтесь строкой меню (Вид • Групповые операции). Эта команда необходима для создания в нижней части бланка строки Групповые операции. Именно на ее базе и создаются итоговые вычисления. Все поля, отобранные для запроса, получают в этой строке значение Группировка. 15. Для поля, по которому производится группировка записей (в нашем случае — Класс), оставьте в строке Групповые операции значение Груп- пировка. Для остальных полей щелкните в этой строке — появится кнопка рас- крывающегося списка, из которого можно выбрать итоговую функцию для расчета значений в данном поле. Для поля Цена выберите итоговую функцию Sum для определения стоимости изделия как суммы стоимостей комплектующих. 17. Для поля Компонент выберите итоговую функцию Count, определяющую общее количество записей, вошедших в группу. В нашем случае это количество узлов, из которых собран компьютер. 18. Закройте бланк запроса по образцу и дайте ему имя: Расчет стоимости изделия. Запустите запрос и убедитесь, что он правильно работает. 19. Закройте все объекты базы данных. Завершите работу с программой Microsoft Access. Мы создавать так называемые итоговые запросы. Это запросы, производящие вычисления по всем значениям одного поля. Мы научились также использу- емую итоговую функцию. Как хранение, так и передача информации обходятся участникам информацион- ного процесса недешево. Зная стоимость носителя и его емкость (Мбайт, Гбайт), нетрудно подсчитать, во что обходится хранение единицы информации, а зная пропускную способность канала связи (Мбит/с) и стоимость его аренды, можно определить затраты на передачу единицы информации. Полученные результаты обычно составляют вполне значимые величины как для корпоративных, так и для индивидуальных пользователей. В связи с этим регулярно возникает необходи- мость сжимать данные перед тем, как размещать их в архивах или передавать по каналам связи. Соответственно, существует и обратная необходимость восстанов- ления данных из предварительно уплотненных архивов. Теоретические основы сжатия данных Характерной особенностью большинства «классических» типов данных, с которыми традиционно работают люди, является определенная избыточность. Степень избы- точности зависит от типа данных. Например, у видеоданных степень избыточности обычно в несколько раз больше, чем у графических данных, а степень избыточности графических данных в несколько раз больше, чем текстовых. Кроме того, степень избыточности данных зависит от принятой системы кодирования. Так, например, можно сказать, что кодирование текстовой информации средствами русского языка (с использованием русской азбуки) дает в среднем избыточность на 20-30% боль- ше, чем кодирование адекватной информации средствами английского языка. Для человека избыточность информации нередко связана с представлением о ее качестве, поскольку избыточность, как правило, улучшает восприятие, особенно в неблагоприятных условиях (просмотр телепередач при наличии помех, восстанов- ление поврежденного графического материала, чтение текстов в условиях недо- статочной освещенности и т. п.). При обработке информации избыточность также играет важную роль. Так, напри- мер, при преобразовании или селекции информации избыточность используют для повышения ее качества (репрезентативности, актуальности, адекватности и т. п.). Глава Приемы и методы работы со сжатыми данными Однако когда речь заходит не об обработке, а о хранении готовых документов или их передаче, избыточность можно уменьшить, что дает эффект сжатия данных. Если методы сжатия информации применяют к готовым документам, то нередко термин сжатие данных подменяют термином архивация данных, а программные средства, выполняющие эти операции, называют архиваторами. Объекты сжатия В зависимости от того, в каком объекте размещены данные, подвергаемые сжатию, различают: • уплотнение (архивацию) файлов; • уплотнение (архивацию) папок; • уплотнение дисков. Уплотнение файлов применяют для уменьшения их размеров при подготовке к передаче по каналам электронных сетей или к транспортировке на внешнем носи- теле малой емкости, например на гибком диске. Уплотнение папок используют как средство архивации данных перед длительным хранением, в частности при резервном копировании. Уплотнение дисков служит целям повышения эффективности использования их рабочего пространства и, как правило, применяется к дискам, имеющим недоста- точную емкость. Обратимость сжатия Несмотря на изобилие алгоритмов сжатия данных, теоретически есть только три способа уменьшения их избыточности. Это либо изменение содержания данных, либо изменение их структуры, либо и то и другое вместе. * Если при сжатии данных происходит изменение их содержания, метод сжатия необ- ратим и при восстановлении данных из сжатого файла не происходит полного вос- становления исходной последовательности. Такие методы называют также методами сжатия с регулируемой потерей информации. Они применимы только для тех типов данных, для которых формальная утрата части содержания не при- водит к значительному снижению потребительских свойств. В первую очередь это относится к мультимедийным данным: видеорядам, музыкальным записям, звуко- записям и рисункам. Методы сжатия с потерей информации обеспечивают гораздо более высокую степень сжатия, чем обратимые методы, но их нельзя при- менять к текстовым документам, базам данных и, тем более, к программному коду. Характерными форматами сжатия с потерей информации • для графических данных; • для видеоданных; • для звуковых данных. Если при сжатии данных только изменение их структуры, то метод сжатия обратим. Из результирующего кода можно восстановить исходный массив путем применения обратного метода. Обратимые методы применяют для сжатия 14.1. Теоретические основы сжатия данных 377 любых типов данных. Характерными форматами сжатия без потери информации являются: • и многие другие для графических данных; • .AVI для видеоданных; • и многие другие для любых типов данных. Алгоритмы обратимых методов При исследовании методов сжатия данных следует иметь в виду существование следующих доказанных теорем. Для любой последовательности данных существует теоретический предел сжа- тия, который не может быть превышен без потери части информации. 2. Для любого алгоритма сжатия можно указать такую последовательность дан- ных, для которой он обеспечит лучшую степень сжатия, чем другие методы. 3. Для любого алгоритма сжатия можно указать такую последовательность дан- ных, для которой данный алгоритм вообще не позволит получить Таким образом, обсуждая различные методы сжатия, следует иметь в виду, что наивысшую эффективность они демонстрируют для данных разных типов и раз- ных объемов. Существует достаточно много обратимых методов сжатия данных, однако в их основе лежит сравнительно небольшое количество теоретических алгоритмов, представ- ленных в таблице 14.1. Таблица 14.1. Свойства алгоритмов сжатия Алгоритм RLE В основу алгоритмов RLE положен принцип выявления повторяющихся последо- вательностей данных и замены их простой структурой, в которой указывается код данных и коэффициент повтора. Например, для последовательности: 0; 0; 0; 127; 127; 0; 255; 255; 255; 255 (всего 10 байтов) образуется следующий вектор: 0 127 0 255 Коэффициент повтора 3 2 1 4 3 7 8 Глава Приемы и методы работы со сжатыми данными При записи в строку он имеет вид: 0; 3; 127; 2; 0; 1; 255; 4 (всего 8 байтов). В данном примере коэффициент сжатия равен 8/10 (экономия объема составляет 20%). Программные реализации алгоритмов RLE отличаются простотой, высокой скоро- стью работы, но в среднем обеспечивают недостаточное сжатие. Наилучшими объектами для данного алгоритма являются графические файлы, в которых боль- шие одноцветные участки изображения кодируются длинными последовательно- стями одинаковых байтов. Этот метод также может давать заметный выигрыш на некоторых типах файлов баз данных, имеющих таблицы с фиксированной длиной полей. Для текстовых данных методы RLE, как правило, не эффективны. Алгоритм KWE В основу алгоритмов кодирования по ключевым словам (Keyword Encoding) поло- жено кодирование лексических единиц исходного документа группами байтов фиксированной длины. Примером лексической единицы может служить слово (последовательность символов, справа и слева ограниченная пробелами или симво- лами конца абзаца). Результат кодирования сводится в таблицу, которая прикла- дывается к результирующему коду и представляет собой словарь. Обычно для англоязычных текстов принято использовать двухбайтную кодировку слов. Обра- зующиеся при этом пары байтов называют Эффективность данного метода существенно зависит от длины документа, поскольку из-за необходимости прикладывать к архиву словарь длина кратких документов не только не уменьшается, но даже возрастает. Данный алгоритм наиболее эффективен для англоязычных текстовых документов и файлов баз данных. Для русскоязычных документов, отличающихся увеличен- ной длиной слов и большим количеством приставок, суффиксов и окончаний, не всегда удается ограничиться двухбайтными токенами, и эффективность метода заметно снижается. |