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

учебное пособие. Часть1. Информатика

.pdf
Скачиваний:
42
Добавлен:
04.06.2015
Размер:
2.87 Mб
Скачать

данных. Чтобы обеспечить целостность данных, при установлении связи между двумя таблицами нужно активизировать переключатель..

Если пользователь включил механизм поддержки целостности, он должен одновременно указать тип связи: «Один-к-Одному» или «Один-ко- Многим».

Целостность данных означает:

1) в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы (например, в таблицу ЗАКАЗЫ нельзя ввести запись с кодом клиента, отсутствующим

втаблице КЛИЕНТЫ);

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

При попытке нарушить эти запреты, MS Access выдает сообщение об ошибке.

Каскадное обновление полей и каскадное удаление записей

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

Каскадное обновление означает, что изменение значения связанного поля в главной таблице (например, кода клиента) автоматически будет отражено в связанных записях подчиненной таблицы. Например, если вы замените в таблице КЛИЕНТЫ код клиента 3 на код 5, то код клиента 3 во всех записях таблицы ЗАКАЗЫ изменится на 5. Иными словами, если изменился код клиента в словаре клиентов, то он будет заменен и во всех заказах данного клиента.

Каскадное удаление означает, что при удалении записи из главной таблицы (например, записи с кодом клиента 2), из подчиненной таблицы будут удалены все записи, у которых значение связанного поля совпадает с удаляемым значением (например, клиенты с кодом 2). Иными словами, если из словаря клиентов удалить какого-то клиента, удаляются и все заказы этого клиента.

5.7.2. Техника создания связей между таблицами

Установление связей между таблицами рассмотрим на конкретном примере – нашей базе данных.

71

Рис. 5.8

Выберите в Главном окне Access кнопку Открыть. На экране появится диалоговое окно (рис. 5.8) со списком всех таблиц открытой базы данных.

Рис. 5.9

На экране появляется окно документа <Схема данных> (рис. 5.9).

Это окно содержит все таблицы базы данных, между которыми устанавливаются (или уже установлены) связи. Для установления связи между двумя таблицами можно методом «Drag-and-Drop» переместить имя поля с первичным ключом главной таблицы на одноименное поле

подчиненной таблицы.

Примечание. Для экономии места на рисунке мы показали уже завершенную схему (см. ниже).

Прежде всего установим связь между таблицами КЛИЕНТЫ и ЗАКАЗЫ. Переместите «Код клиента» из таблицы КЛИЕНТЫ на «Код клиента» в таблице ЗАКАЗЫ и отпустите левую кнопку мыши.

На экране появится диалоговое окно <Связи> В этом окне установите флажок «Обеспечение целостности данных».

Этим вы включаете механизм поддержки целостности данных в таблицах

КЛИЕНТЫ и ЗАКАЗЫ.

После активизации флажка «Обеспечение целостности данных» становятся доступными радиокнопки Отношение и два флажка каскадных операций.

72

В группе Отношение надо обязательно выбрать один из типов связи: «Один-к-Одному» или «Один-ко-Многим». Кроме этого, вы можете (если хотите) установить любой флажок (или оба) каскадной модификации – обновления или удаления.

Нажмите кнопку Создать. На экране вновь появится окно <Схема данных> с графическим изображением установленной связи (рис. 5.9).

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

Точно так же установите связь между таблицами ПРОДУКТЫ и

ЗАКАЗЫ.

Если вы хотите удалить связь, щелкните мышью на линии связи (выделите ее), а затем нажмите клавишу {Del}.

5.8.Запрос-выборка в MS Access

5.8.1.Что такое запрос?

Вспроектированных нами таблицах КЛИЕНТЫ, ПРОДУКТЫ и ЗАКАЗЫ содержится вся информация, необходимая для решения поставленной нами задачи. Но как этой информацией пользоваться? Как узнать, например, общую стоимость продукции, заказанной клубом «Орфей» за определенный период, или каким клиентам отправлялась фруктовая пастила 14 мая 1997 г.? Не сидеть же перед компьютером с калькулятором, ручкой и бумагой!

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

Вобщем случае запрос – это вопрос о данных. Существуют разные типы запросов (на добавление записей, изменение, объединение), но мы рассмотрим простейший тип: запрос-выборку.

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

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

2) описать вычисляемые поля, т. е. поля, значения которых являются функциями значений существующих полей (например, стоимость продукции

это произведение цены на количество);

3) описать групповые операции над записями исходных таблиц (например, нужно ли объединить группу записей с одним и тем же кодом клиента в одну и просуммировать стоимость заказанной им продукции);

73

4) указать условие отбора, т. е. сформулировать логическое выражение, которое позволит включить в выборку только записи, удовлетворяющие какому-то условию (например, с датой поставки от 20 до 25 мая 1997 г.).

5.8.2.Как создать запрос-выборку

Вобщем случае для создания произвольного запроса используется универсальный язык SQL. В предложении этого языка (SELECT – Выбрать) можно описать все четыре базовые операции: какие поля и откуда выбрать, какие вычислить, как сгруппировать записи (просуммировать, сосчитать, найти среднее и т. п.) и при каких условиях включить записи в выборку. Однако в реальности пользоваться этим языком могут только специалисты (или очень грамотные пользователи). А для обычных людей разработчики придумали упрощенный механизм создания запроса, называемый QBE (Query By Example – Запрос по образцу). Вам предлагают бланк QBE – некую модель, заготовку запроса, и на этом бланке, пользуясь определенными соглашениями, вы сообщаете системе о своих планах: помечаете поля, вводите выражения, значения и т. п. На основании заполненного вами бланка система сама создает соответствующее предложение SELECT и сама выполняет его.

Идею создания запроса рассмотрим на простейшем примере: составить общий список продуктов в БД db1 с указанием названия, общего количества

истоимости каждого продукта.

Сначала надо выполнить стандартные операции:

1)выбрать в окне базы данных вкладку Запрос;

2)нажать кнопку Создать;

3)выбрать исходные таблицы для запроса. Обратите внимание, что запрос – это единственный объект в MS Access, для которого можно указать несколько исходных таблиц и (или) запросов.

Для нашего примера мы выбрали все три исходные таблицы – ЗАКАЗЫ, КЛИЕНТЫ и ПРОДУКТЫ. На экране появляется окно документа <3апрос на выборку> в режиме конструктора (рис. 5.10)

. Рис. 5.10

74

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

Внижней части окна размещается бланк QBE, который представляет собой макет некоей таблицы. Столбцы этой таблицы соответствуют полям создаваемого запроса, а число строк переменно и зависит от состояния флажков «Имена таблиц» и «Групповые операции» (на панели инструментов или в пункте Вид).

Встроке Поле: указываются имена столбцов (полей) создаваемого запроса. Существующее имя можно выбрать из раскрывающегося списка (щелкнув мышью на поле) или просто перенести в ячейку Поле: методом «Drag-and-Drop» из таблицы в верхней части окна запроса. В столбцы мы перенесли НАЗВАНИЕ ПРОДУКТА И КОЛИЧЕСТВО. В ячейке Имя таблицы: (она появляется в бланке, если установлен флажок «Имена таблиц»), возникает имя таблицы, которая содержит выбранное поле.

Для вычисляемого поля в строке Поле: надо набрать формулу:

<Имя поля>:<Выражение>

Например:

Стоимость: [Количество]*[Цена]

Именно эту формулу мы набрали в третьем столбце.

Если вы собираетесь проводить в запросе групповые операции (т. е. объединять записи в группы), необходимо включить флажок «Групповые операции» – появляется строка Групповая операция. После щелчка на любом поле этой строки появится список типов групповых операций: Группировка, Sum, Avg, Count, Выражение и др.

Для названия продукта мы выбрали тип Группировка – это означает, что записи с одинаковым названием продукта (например, конфеты «Балтика») будут объединены в одну запись. Для поля КОЛИЧЕСТВО мы указали тип Sum – это означает, что значения поля КОЛИЧЕСТВО в данной группе записей будут просуммированы. Тот же тип мы указали для поля СТОИМОСТЬ, однако система перенесла префикс Sum в выражение, а в строку Групповая операция: поместила другой тип – Выражение (разумеется, то же самое вы могли бы сделать и сами).

Примечание. Вероятно, вы уже догадались, что если в качестве типа групповой операции в столбце КОЛИЧЕСТВО указать Avg (Average – Среднее) или, скажем, Count (Сосчитать), то вместо суммы в данной группе (т.е. в группе записей с одинаковым названием продукта) мы получим среднее значение количества или количество записей в этой группе.

Встроке Сортировка: можно указать порядок вывода на экран записей (по возрастанию, по убыванию).

Вполе Вывод на экран: находятся флажки, – установив или сбросив флажок, мы разрешим или запретим вывод данного столбца на экран.

Наконец, в строках Условие отбора: и или: можно указать условные или логические выражения, которые позволят нам отобрать для запроса только записи, удовлетворяющие заданному условию. Если вы хотите

75

увидеть предложение SQL, описывающее ваш запрос, выберите на Панели инструментов команду Вид/Режим SQL.

Сформировав запрос, мы сохранили его в БД db1. Затем мы открыли его (т. е. выдали его окно в режиме таблицы) и получили искомые результаты.

Обратите внимание на появление подписи Общ.колич. в столбце КОЛИЧЕСТВО. Откуда она взялась? Дело в том, что после формирования некоторых запросов приходится подправлять свойства того или иного столбца. В нашем примере, находясь в окне конструктора, мы последовательно выделили столбцы КОЛИЧЕСТВО и СТОИМОСТЬ и, выбрав команду Вид/Свойства... на панели инструментов, исправили:

1)для столбца КОЛИЧЕСТВО – подпись поля (Общ.колич.) и формат вывода числа: фиксированный, два знака после точки;

2)для столбца СТОИМОСТЬ – формат вывода числа.

Таким образом, в нашем примере мы рассмотрели все базовые операции формирования запроса, кроме четвертой – описания условий отбора.

Эту операцию вы можете испытать, например, на такой задаче: включить в наш запрос только клиентов с кодами 4 и 6. Для этого:

1)откройте окно Запроса в режиме конструктора;

2)справа от столбца СТОИМОСТЬ включите столбец КОД КЛИЕНТА;

3)в ячейке Групповая операция: (в этом столбце) укажите тип Условие;

4)снимите флажок «Вывод на экран» (и этот столбец не будет появляться на экране);

5)в ячейке Условие отбора: этого столбца наберите выражение: 40 Or

60;

6)сохраните запрос под каким-нибудь другим именем и проверьте его

работу.

Обратите внимание на следующие соглашения, предусмотренные в

Access.

1. Условные выражения, набранные в разных столбцах строки Условие отбора по умолчанию соединяются между собой знаком And. Например, если соседние столбцы имеют имена БАЛЛ и код и вы набрали в них =5 и >=18, то тем самым вы сформулировали логическое выражение:

[Балл]=5 And [Код]>=18

2. Условные выражения, набранные в соседних строках одного и того же столбца, соединяются между собой знаком Or. Например, если столбец имеет имя БАЛЛ и вы набрали в строке Условие отбора: =8, а в строке или: =12, то тем самым вы сформулировали логическое выражение:

[Балл]=8 Or [Балл]=12.

5.9. Отчеты

Отчет – это особая форма представления данных, предназначенная для вывода на печать. Как правило, для формирования отчета создают запрос, в

76

котором собирают данные из разных таблиц, с включением вычисляемых полей, группировкой, условиями отбора (любая операция необязательна). Далее, по общим правилам MS Access, на базе такого запроса проектируют отчет, который позволяет:

представить данные в удобной для чтения и анализа форме;

группировать записи (по нескольким уровням) с вычислением итоговых и средних значений;

включить в отчет и напечатать графические объекты (например, диаграммы).

Контрольные вопросы

1.Что такое СУБД MS Access?

2.Опишите основные элементы окна приложения MS Access и окна базы данных.

3.Как создавать макеты объектов в MS Access? Что такое Мастер (таблиц, форм и т.д.)?

4.Что такое свойства поля в MS Access?

5.Объясните смысл свойства «Обязательное поле».

6.Как используются таблицы и формы в информационных системах?

7.Что такое фильтр? Установите и примените несколько фильтров к таблице ЗАКАЗЫ (рис. 5.5). Можно ли использовать фильтр с формой?

8.Пользуясь экранными подсказками, изучите функции кнопок панели инструментов для таблицы в оперативном режиме.

9.Чем отличается форма от таблицы? В чем преимущества применения

формы?

10.Что такое целостность данных?

11.Укажите типы и опишите функции окон <Схема данных> и

<Связи>.

12.Исследуйте процесс установления связей между таблицами. Составьте перечень сообщений об ошибках и объясните их смысл.

13.Что такое запрос? Объясните смысл четырех базовых операций, которые надо выполнить при создании макета запроса.

14.Что такое бланк QBE?

15.Чем отличается QBE от SQL?

16.Укажите два способа указания имени поля в бланке QBE.

17.Что такое вычисляемое поле?

77

6. ХРАНЕНИЕ И ОБРАБОТКА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ

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

Черно-белые изображения успешно передаются 256 градациями серого, т. е. для кодирования яркости достаточно восьмиразрядного двоичного числа. При передаче цветных изображений используют принцип декомпозиции цвета, суть которого в том, что любой цвет является композицией трех цветов красного – R-red, зеленого – G-green, синего – B- blue, образующих систему RGB. Для полноцветного кодирования (True Color) требуется 24 разряда. В полиграфии используется система цветопередачи, основанная на использовании цветов, дополняющих основные до белого: голубой – С – Cyan, пурпурный – M –Magenta, желтый – Y – Yellow, а также черный цвет – Black , обозначенный буквой К, т.к. буква В занята синим цветом. Эта система названа CMYK. При полноцветном кодировании она требует 32 разряда. Если сократить число цветов и кодировать 16 разрядами , то получится режим, названный Higt Color.

Кодирование звуковой информации пока не стандартизовано и среди множества разработок выделяются две:

Метод FM (frequency modulation), основанный на том, что любой сигнал является суммой простейших гармонических сигналов – синусоид разных частот. Разложение сигналов в гармонический ряд и представление в виде цифровых сигналов осуществляет аналого-цифровой преобразователь (АЦП), дискретизирующий по Котельникову и квантующий аналоговый сигнал и кодирующий его отсчёты. При воспроизведении производится обратное преобразование ЦАП – цифро-аналоговое. При этом есть потери изза наличия шагов квантования аналоговых сигналов, так называемые шумы квантования.

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

6.1.Средства работы с растровой графикой

78

Наиболее популярен пакет программ Painter, но есть и другие программы. Аппаратные средства получения растровой графики это сканеры и цифровые фотокамеры. Цифровые видеокамеры и адаптеры захвата телекадров играют вспомогательную роль. Для создания изображения от руки используют графические планшеты, на которых рисуют электронным пером.

Сканеры делятся на две группы – устройства с фотоумножителями (ФЭУ) и устройства с зарядовой связью (ПЗС). Сканеры с фотоумножителями называют барабанными. На барабан с системой скоростной развертки крепится оригинал – просветный или отражающий. Отраженный или проходящий световой поток от сканирующей головки проходит ФЭУ и накопленный ФЭУ заряд затем преобразуется в цифровую форму. Так как считывание по сути аналоговое, то качество отличное (6000 точек на дюйм), но плата за это жуткая дороговизна барабанных сканеров. Их используют в минитипографиях (цены от 15000 долларов).

Прочие сканеры на ПЗС, то есть фотоприемниках, выполненных в линейку. Развертка передвижением линейки с помощью пошагового двигателя. Бытовые сканеры до 1200 точек на дюйм, профессиональные до 3000. Динамический диапазон хуже, чем у сканеров с ФЭУ, так как соотношение сигнал/шум у кремниевых зарядных элементов хуже чем у ФЭУ. Динамический диапазон для компьютерной графики важнееразрешения сканера(допустимо даже300 точек на дюйм).

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

Графические планшеты это координатная двумерная электронная сетка, каждый элемент которой воспринимает сигналы электронного пера. Сигналы различны – координаты точки, сила нажатия, угол наклона, время экспозиции и др. Затем, после программного преобразования полученные данные отображаются на экране в виде мазка или линии. Имея навыки работы с электронным планшетом можно рисовать, имитируя разную технику – письмо маслом, акварель, карандаш или рисунок углем и т.д.

Для обработки растровой графики активно используют пакет Photoshop компании Adobe, который по сути является стандартом в компьютерной графике. Главные элементы управления программой в строке меню и панели инструментов. Особая группа – диалоговые окна – инструментальные палитра. Оригинал первично получают через ФАЙЛ командой Открыть или командой Импорт от внешнего устройства – сканера, либо цифровой камеры.

Размер изображения устанавливают 1:1 или даже больше чем будет использовано в публикации. Разрешение в пикселях на дюйм (ppi) для

79

электронной публикации 72 ppi, для распечаток по формуле ppi=1,5lpi, где lpi – линеатура растра устройства вывода.

Панель инструментов богата выбором. Если задержать мышь на значке инструмента с изображением разворачивающей кнопки, то откроется окно с его альтернативными вариантами. Для работы с объектами группа значков

Область, Лассо, Перемещение, Волшебная палочка. Область и Лассо для выделения участков изображения, ограниченных геометрической фигурой. Волшебная палочка позволяет выбрать область по принципу цветового совпадения в рамках границ охвата, установленных пользователем. Перемещение передвигает выделенные области и копирует их.

Рисование и ретушь обеспечиваются группой инструментов Аэрограф,

Кисть, Карандаш, Ластик, Штамп, Палец, Осветитель, Затемнитель,

Губка, Размытие, Резкость. Первые 4 имитируют в соответствии с названием, Штамп позволяет выполнять набивку _ копирование выбранных областей по каждому щелчку мыши, Палец – сдвиг сырой краски (прием художников при письме маслом и гуашью).

Третья группа инструментов Перо, Текст, Линия, Заливка, Градиент,

Пипетка предназначена для создания новых объектов. Последняя группа – Рука перемещает изображение, Масштаб для увеличения рисунков.

В нижней части инструментальной панели элементы для работы с цветом, масками, формой отображения элементов управления программой. Инструментальные палитры это диалоговые окна для настройки параметров основных инструментов (10 палитр).

Палитра Кисти для настройки параметров инструментов редактирования. Щелчок при нажатой CTRL уничтожает кисть. Двойной щелчок на свободном поле открывает новую кисть.

Палитра Параметры для редактирования текущего инструмента Палитра Инфо для информационной поддержки средств изображения –

текущие координаты, цветовые параметры элемента и др.

Палитра Синтез для отображения цветов текущего плана и фона. Ползунками редактируют эти значения.

Палитра Каталог содержит набор доступных цветов. Его можно редактировать добавляя и убавляя цвета.

Палитра Слои для управления слоями изображения Палитра Каналы для выделения, создания, дублирования и удаления

каналов, определения их параметров, изменения порядка, преобразования в объекты и т.д.

Палитра Контуры содержит список всех созданных контуров. Палитра Операции позволяет создать макрокоманды – заданную

последовательность операций с изображением.

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

80