Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Соболь Информатика.docx
Скачиваний:
294
Добавлен:
28.03.2015
Размер:
585.72 Кб
Скачать

4.3.3. Работа с формулами, диаграммами,

списками

Формулы

Ввод формул. Возможность работы с формулами и встроенными

функциями является важнейшей особенностью электронных таблиц.

Логика использования табличного процессора требует применять

формулы везде, где значения одних ячеек зависят от значений

других, так как если значения ячеек с исходными данными

изменяются, то автоматически изменяются значения всех зависимых ячеек.

Как известно, ввод формулы начинается со знака равенства,

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

набора в строке формул, завершается нажатием клавиши Enter, после чего

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

процессора по умолчанию), а саму же формулу теперь можно увидеть в

строке формул, если активизировать ячейку.

Формула может содержать числовые константы, ссылки (адреса

ячеек, содержимое которых участвует в вычислениях), функции.

Указанные элементы между собой могут соединяться знаками

арифметических операций, скобки могут изменять принятый в арифметике

порядок действий.

218

Например, пусть в ячейке А1 содержится число 10, в ячейке В1

число 20, в ячейку С1 введем формулу =А1+В1+2. После

завершения ввода (нажатие Enter) в ячейке С1 появится результат сложения

чисел, содержащихся в ячейках А1 и В1, увеличенный на 2, т.е. 32.

Если изменить число, хранящееся в ячейке А1, например заменить

на 20, то наличие формулы в ячейке С1 автоматически изменит ее

значение на 42.

Ссылки А1 и В1 в формуле можно делать, непосредственно

вводя с клавиатуры текст формулы или после знака равенства сделать

щелчок по ячейке А1 (в формуле появится ссылка А1), набрать знак

+ , сделать щелчок по В1, снова + , набрать 2.

Автозаполнение ячеек формулами. Активизируем ячейку С1 из

предыдущего примера и протянем ее за маркер заполнения вниз по

столбцу. В ячейку С2 автоматически введется формула =А2+В2+2, в

СЗ =АЗ+ВЗ+2 и т.д. При протягивании по столбцу номер столбца

увеличивается. Вернемся в ячейку С1 и протянем ее по строке,

получим: в ячейке D1 =В1+С1 , в El =C1+D1 и т.д., при

протягивании по строке номер строки увеличивается. Таким образом, при

протягивании формулы ссылки А1 и В1 модифицируются, такие ссылки

называются относительными. Чтобы ссылки не модифицировались

при протягивании по строке, ее следует записать как С$1; запретить

модификацию по столбцу можно, применив ссылку $С1. Ссылка

будет неизменна при любом протягивании в виде $С$1. Такие ссылки

называются абсолютными.

В длинных математических расчетах по формулам, как правило,

исходные данные содержатся в ячейках, которые в дальнейшем

используются как абсолютные ссылки. Весьма неудобно было бы

постоянно помнить, в каких ссылках какие параметры находятся

(например, в $С$1 находится параметр Ь, в $D$147 — к и т.п.). Для этого

в Excel есть возможность переименования абсолютных ссылок. Меню

ВСТАВКА > ИМЯ > ПРИСВОИТЬ вызывает диалоговое окно, в

котором можно абсолютную ссылку переименовать. В том же меню при

необходимости можно удалить уже существующее имя.

Ссылки на другие листы и книги. Для обращения к значению

ячейки, расположенной на другом рабочем листе, нужно указать имя

этого листа вместе с адресом соответствующей ячейки. Например,

находясь на листе 1, можно ввести в ячейку А1 формулу =ЛИСТ4!ВЗ+1 для

обращения к ячейке ВЗ на рабочем листе ЛИСТ4. Если в названии

219

листа есть пробелы, то оно (название) заключается в кавычки.

Связывание двух ячеек можно упростить, для чего на листе 1 в ячейке А1

набрать знак = , затем через корешок обратиться к листу 4 и щелкнуть

по ячейке ВЗ.

Копирование ячеек, содержащих формулы. Техника копирования,

перемещения, удаления ячеек, содержащих формулы, такая же, как

и ячеек, содержащих данные (см. 4.2.2.) Но если в формуле

содержатся относительные ссылки, то при копировании и перемещении

они модифицируются. Рассмотрим на примере. Пусть в ячейке СЗ

содержится формула = A1+$B1+C$1+$D$1. Перенесем или

скопируем ее в ячейку Е6, т.е. на два столбца правей и на три строки ниже.

Тогда все относительные адреса формулы в ячейке Е6 увеличатся на

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

формулу =C4+$B4+E$1+$D$1.

Работа с функциями. Excel позволяет использовать в формулах

ряд встроенных математических, логических, статистических

функций. Функции объединяют несколько вычислительных операций для

решения определенной задачи, имеют один или несколько

аргументов. В качестве аргументов функций выступают числовые значения

и/или адреса ячеек.

Вызывается функция, как правило, с помощью МАСТЕРА

ФУНКЦИЙ меню ВСТАВКА или кнопки .

Диалоговое окно «Мастера функций» имеет два шага. На

первом шаге выбирается тип функции в поле «Категория», затем сама

функция в списке «Функция». Следующий шаг уточняет аргументы.

Диагроммы

Диаграмма — это представление данных таблицы в графическом

виде, которое используется для анализа и сравнения данных. На

диаграмме числовые данные ячеек изображаются в виде точек, линий,

полос, столбиков, секторов и в другой форме. Группы элементов

данных, отражающих содержимое ячеек одной строки или столбца на

рабочем листе, составляют ряд данных. Строятся диаграммы с

помощью Мастера диаграмм. Вызывается через меню ВСТАВКА >

ДИАГРАММА или нажатием кнопки на панели инструментов

«Стандартная». Мастер имеет четыре шага, где выясняются вопросы

220

о виде диаграммы, особенностях оформления и размещения, затем

строится диаграмма.

Списки

Списки позволяют эффективно работать с большими

упорядоченными наборами данных, имеющих одинаковую структуру

Например, списком является телефонный справочник, в котором в

большом количестве строк приведены фамилии абонентов и номера их

телефонов. Каждый элемент списка занимает одну строку, в которой

данные распределяются по нескольким полям (столбцам). В

табличном процессоре имеются операции для их обработки (сортировка,

фильтрация).

В первой строке рабочего листа обычно помещаются названия

отдельных полей списка. Эта строка используется в качестве строки

заголовков списка. Начиная со следующей строки, вводятся данные.

Для быстрого заполнения таблицы можно обратиться к меню

ДАННЫЕ > ФОРМА, которое откроет диалоговое окно для ввода

данных, в котором каждому полю списка соответствует поле ввода.

Как только все поля ввода будут заполнены данными, щелкнем по

командной кнопке ДОБАВИТЬ. Затем можно начать ввод

следующего элемента данных и т.д., пока не будут введены все элементы

списка. В заключение закроем окно щелчком по командной кнопке

ЗАКРЫТЬ. Каждый новый список следует создавать на отдельном

рабочем листе.

Фильтрация данных. Выделим заголовки списка. Откроем в меню

ДАННЫЕ > ФИЛЬТР > АВТОФИЛЬТР В таблице рядом с

названиями полей появятся маленькие пиктограммы со стрелками Как

известно, это раскрывающиеся списки (рис. 4.11).

Рис. 4.11. Раскрывающиеся списки

Щелкнув по одной из этих стрелок, получим меню с перечнем

значений данного поля (рис. 4.12).

221

Рис. 4.12. Перечень значений поля

Щелчком выберем какой-либо пункт из этого перечня. В

списке отобразятся только те элементы, у которых значение данного поля

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

данных. При этом пиктограмма со стрелкой будет изображена другим

цветом. Слева в столбце с номерами строк будут видны прежние

номера элементов, которые они имели в исходном списке.

Если необходимо вернуться к полному списку, то нужно выбрать

опцию ВСЕ в перечне значений поля, по которому выполнялась

фильтрация. Здесь же есть опция УСЛОВИЕ, позволяющая задать

условие фильтрации. Например, выбрать все записи, значение поля

у которых больше 10 и т.п.

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

«Фамилия». Выберем меню ДАННЫЕ > СОРТИРОВКА. Откроется

диалоговое окно этой директивы, в котором указываются поля

сортировки и рядом с каждым полем расположены две селекторные

кнопки ПО ВОЗРАСТАНИЮ и ПО УБЫВАНИЮ, указывающие

направление сортировки.

Печать. Перед распечаткой таблиц необходимо установить

параметры страницы с помощью команды меню ФАЙЛ > ПАРАМЕТРЫ

СТРАНИЦЫ. Эта процедура во многом сходна с Word. Отличие

лишь в том, что таблица здесь может быть распечатана в масштабе.

Для этого включим переключатель УСТАНОВИТЬ и укажем

масштаб распечатки. Если включить переключатель РАЗМЕСТИТЬ НЕ

БОЛЕЕ ЧЕМ НА, то таблица или выделенная область будет

уменьшена настолько, чтобы разместиться на количестве страниц,

указанном в полях СТР. В ШИРИНУ и СТР. В ВЫСОТУ.

222

Для просмотра таблицы перед печатью используется команда

ФАЙЛ > ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР или кнопка .

Выйти из режима предварительного просмотра можно с

помощью кнопки ЗАКРЫТЬ или клавиши Esc. Для распечатки таблицы

необходимо обратиться в меню ФАЙЛ > ПЕЧАТЬ, которое имеет

такие же настройки, как соответствующая опция в Word. Чтобы

напечатать одну копию активных листов, достаточно щелкнуть кнопку

4.4. Основы информоиионных систем.

Базы данных

4.4.1. Основные понятия

Как уже говорилось в главе 1, в истории развития

вычислительной техники наблюдалось два основных направления ее применения.

Первое связано с выполнением больших численных расчетов,

которые трудно или невозможно произвести вручную. Развитие этой

области способствовало ускорению развития методов

математического моделирования, численных методов, языков программирования

высокого уровня, рассчитанных на удобное представление

вычислительных алгоритмов.

Второе направление связано с использованием вычислительной

техники для создания, хранения и обработки больших массивов

данных. Такие задачи решают информационные системы (в

дальнейшем — ИС). К ним относятся поисковые, справочные, банковские

системы, автоматизированные системы управления предприятием.

Для задач первого типа характерны большие объемы

вычислительной работы при относительно небольших потребностях в

памяти. Задачи второго типа, наоборот, требуют больших объемов

внешней памяти при относительно небольших расчетах. Вторая область

применения возникла несколько позже первой. Это связано с тем,

что на первых этапах внешняя память вычислительных систем была

223

несовершенной, т.е. надежное хранение больших объемов данных не

представлялось возможным.

Предметом настоящего рассмотрения являются программные

продукты второй области применения — информационные системы.

Информационная система представляет собой

аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:

• ввод данных об объектах некоторой предметной области;

• надежное хранение и защита данных во внешней памяти

вычислительной системы;

• дополнение, удаление, изменение данных;

• сортировка, выборка данных по запросам пользователей;

• выполнение специфических для данной предметной области

преобразований информации;

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

• обобщение данных и составление отчетов.

Объем данных в ИС может исчисляться миллиардами байт.

Отсюда необходимость устройств, хранящих большие объемы данных

во внешней памяти. Число пользователей ИС может достигать

десятков тысяч, что создает немало проблем в реализации эффективных

алгоритмов функционирования ИС. Успешно решаются эти задачи,

если данные в информационной системе структурированы.

Структурирование данных рассмотрим на примере студенческой

группы. Каждый член группы во многом индивидуален, и

характеризовать его можно с разных сторон. Но деканат, скорее всего,

заинтересуют следующие данные (предметная область): фамилия

студента, имя, отчество, курс, наименование группы, массив оценок по

изучаемым дисциплинам. Таким образом, из всего многообразия

данных выбираются только некоторые, т.е. создается информационная

модель объекта. Данные упорядочиваются по порядку следования, по

применяемым типам (форматам) данных, после чего они могут быть

обработаны автоматом, каковым является компьютер.

Совокупность взаимосвязанных данных называется структурой

данных. Совокупность структурированных данных, относящихся к

одной предметной области, называется базой данных (БД).

Совокупность программ, реализующих в БД функции ИС в удобной для

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

(СУБД). Программы, производящие специфическую обработку

данных в БД, составляют пакет прикладных программ (ППП). Итак,

224

можно заключить, что ИС — это организационное объединение

аппаратного обеспечения (АО), одной или нескольких баз данных (БД),

системы управления базами данных (СУБД) и пакетов прикладных

программ (ППП).

4.4.2. Классификация БД

По технологии обработки данных БД подразделяются на

централизованные и распределенные.

Централизованная БД хранится целиком в памяти одной

вычислительной системы. Если система входит в состав сети, то возможен

доступ к этой БД других систем.

Распределенная БД состоит из нескольких, возможно

пересекающихся или дублирующих друг друга БД, хранимых в памяти разных

вычислительных систем, объединенных в сеть.

По способу доступа к данным БД распределяются на локальный и

удаленный (сетевой) доступ.

Локальный доступ предполагает, что СУБД обрабатывает БД,

которая хранится на том же компьютере.

Удаленный доступ — это обращение к БД, которая которая

хранится на одном из компьютеров, входящих в компьютерную сеть.

Удаленный доступ может быть выполнен по принципу файл-сервер

или клиент-сервер.

Архитектура файл-сервер предполагает выделение одного из

компьютеров сети (сервер) для хранения централизованной БД. Все

остальные компьютеры сети (клиенты) исполняют роль рабочих

станций, которые копируют требуемую часть централизованной БД в

свою память, где и происходит обработка. Однако при большой

интенсивности запросов к централизованной БД увеличивается

нагрузка на каналы сети, что приводит к снижению производительности

ИС в целом.

Архитектура клиент-сервер предполагает, что сервер, выделенный

для хранения централизованной БД, дополнительно производит

обработку клиентских запросов. Клиенты получают по сети уже

обработанные данные. Учитывая широкое распространение БД в самых

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

применяется и на одиночных вычислительных системах. В этом

случае клиент — программа, которой понадобились данные из БД, по-

8. Информатика

225

сылает запрос серверу — программе, управляющей ведением БД, на

специальном универсальном языке запросов. Сервер пересылает

программе данные, являющиеся результатом поиска в БД по ее запросу.

Этот способ удобен тем, что программа — клиент не обязана

содержать все функции поддержания и ведения БД, этим занимается

сервер. В результате упрощается написание программ — клиентов.

Кроме того, к серверу может обращаться любое количество клиентов.

4.4.3. Модели данных

Для реализации основных функций в ИС используются

различные принципы описания данных. Ядром любой БД является модель

представления данных. Подробному описанию различных моделей

посвящена следующая глава. Пока же рассмотрим реляционную

модель данных, ориентированную на организацию данных в виде

двумерных таблиц. Реляционная модель данных является наиболее

универсальной, к ней могут быть сведены другие модели.

Важнейшим понятием реляционных моделей данных является

сущность. Сущность — это объект любой природы, данные о

котором хранятся в БД. Данные о сущности хранятся в двумерных

таблицах, которые называют реляционными.

Каждая реляционная таблица должна обладать следующими

свойствами:

• один элемент таблицы — один элемент данных;

• все столбцы таблицы содержат однородные по типу данные

(целочисленный, числовой, текстовый, и т.д.);

• каждый столбец имеет уникальное имя;

• число столбцов задается при создании таблицы;

• порядок записей в отношении может быть произвольным;

• записи не должны повторяться;

• количество записей в отношении не ограничено.

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

таблиц. Формальное построение таблиц связано с фундаментальным

понятием отношение (термин реляционная исходит от английского

слова relation — отношение).

Для заданных произвольных конечных множеств М,, М2, ..., MN

множество всевозможных наборов вида (ц,, |12,..., |xN), где ц^М,,

|12еМ2, ..., |ingMn называют их декартовым произведением

226

M,x M2x ... х MN. Отношением R, определенным на множествах

М,, М2,..., MN, называется подмножество декартова произведения

М,х М2х ...> х MN. При этом множества М,, М2, ..., MN называются

доменами отношения, а элементы декартова произведения —

кортежами отношения. Число N определяет степень отношения,

количество кортежей — его мощность.

В реляционной таблице каждый столбец есть домен (его

альтернативное название поле), а совокупность элементов каждой строки

— кортеж (или запись).

Строка заголовков называется схемой отношения. Например,

схема отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ,

КУРС, ГРУППА), здесь СТУДЕНТ - отношение, а ФАМИЛИЯ,

ИМЯ и т.д. — атрибуты.

В отношении каждый конкретный экземпляр сущности

представляется строкой, которая называется кортежем (или записью).

Следующая таблица представляет отношение СТУДЕНТ

(рис. 4.13).

Отношение СТУДЕНТ

(вся) таблица

Схема отношения

(строка заголовков)

Атрибуты (поля)

(отдельные заголовки)

Строка

(запись, кортеж)

ФАМИЛИЯ

Андреев

Борисов

Яковлев

ИМЯ

Иван

Петр

Иван

ОТЧЕСТВО

Иванович

Иванович

Петрович

ФАКУЛЬТЕТ

Конструкторский

Конструкторски й

Технологичес кий

КУРС

1

2

1

Рис. 4.13. Отношение СТУДЕНТ

Первичным ключом отношения называется поле или группа

полей, однозначно определяющие запись. В отношении СТУДЕНТ

первичным ключом может быть поле ФАМИЛИЯ, если во всем списке

нет однофамильцев — это будет простой ключ. Если есть

однофамильцы, то совокупность полей — фамилия, имя, отчество —

создадут составной первичный ключ. На практике обычно в качестве

ключевого выбирают поле, в котором совпадения заведомо исключены.

227

Для рассматриваемого примера таким полем может служить номер

зачетной книжки студента.

Свойства первичного ключа:

• уникальность — в таблице может быть назначен только один

первичный ключ, у составного ключа поля могут повторяться, но

не все;

• неизбыточность — не должно быть полей, которые, будучи

удаленными из первичного ключа, не нарушат его уникальность;

• в состав первичного ключа не должны входить поля типа,

комментарий и графическое.

Чтобы избежать повторяющихся записей, приходят к

связыванию таблиц. Например, если в отношении СТУДЕНТ надо описать

вуз, в котором он обучается, то, на первый взгляд, можно было бы

включить в отношение следующие поля СТУДЕНТ (ФАМИЛИЯ,

ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, НАЗВАНИЕ

вуза, АДРЕС). Но при заполнении такой таблицы для каждого

студента придется указывать довольно длинное наименование вуза и его

адрес, что неудобно. Более того, любая незначительная ошибка во

вводе этих полей приведет к нарушению непротиворечивости базы

данных. Например, ошибка в адресе вуза приведет к тому, что в БД

появятся два вуза с одинаковым наименованием и разными

адресами. Поступают в таком случае так: в отношение СТУДЕНТ вводят

поле «код вуза» (целое число) и добавляют еще одно отношение ВУЗ

(код вуза, название, адрес). СТУДЕНТ и ВУЗ при этом будут

связаны по полю «код вуза».

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, КОД вуза)

ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС, ТЕЛЕФОН)

При работе с такими таблицами повторяться могут только

данные в поле «КОД вуза», а все необходимые сведения о вузе можно

взять из отношения ВУЗ. Заметим при этом, что ввод в поле «КОД

вуза» целого числа, вместо длинного названия, принесет гораздо

меньше ошибок. В отношении ВУЗ поле «КОД вуза» будет

первичным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет

внешним ключом.

Для связи реляционных таблиц необходимо ввести в обе

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

228

записями обеих таблиц. Связи бывают нескольких типов «один к

одному», «один ко многим», «многие ко многим». В вышеприведенном

примере была установлена связь «один ко многим», т.е. одной записи

в таблице ВУЗ соответствуют многие записи в таблице СТУДЕНТ.

4.4.4. Проектирование баз данных

Проектирование базы данных является одним из этапов

жизненного цикла ИС. Ввиду сложности этот этап выполняется, как

правило, коллективом разработчиков и включает следующие работы:

• анализ предметной области;

• проектирование и непосредственно кодирование (создание

запросов и приложений);

• тестирование и сопровождение.

Анализ преЭметной области

Проектирование баз данных начинается с анализа предметной

области, в которой будет работать ИС. Как правило, этот этап

выполняется разработчиками ИС совместно с заказчиком. Обычным

языком описываются информационные объекты, их свойства, их

взаимосвязи, описываются пожелания будущих пользователей.

Результатом такой работы является техническое задание на разработку ИС.

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

исходных данных, список запросов к ИС, список выходных данных,

оговаривается интерфейс, определяющий переход от представления

данных в БД к представлению, принятому среди пользователей, и

обратно. В общем случае пользователи представляют данные в виде

документов различных видов, от произвольных текстов до справок и

таблиц фиксированного формата. Затем собственно и начинается

проектирование базы данных.

Проектирование баз данных осуществляется на двух уровнях —

физическом и логическом. На физическом уровне решаются вопросы

размещения данных на внешних носителях. Во многом эта работа

выполняется СУБД автоматически без участия разработчика.

На логическом уровне составляется общий список полей,

который может насчитывать от единиц до тысяч. Описывают каждое поле

по типу данных. Общий список полей разбивается на основные таб-

229

лицы. Дальнейшее рассмотрение информационной структуры

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

мелкие с целью избежания многократно повторяющихся данных в

записях, что уменьшает объем памяти, занимаемый базой данных на

диске, и обеспечивает непротиворечивость данных в БД.

Процесс нормализации имеет итерационный (пошаговый)

характер, осуществляется методом нормальных форм. Суть метода состоит

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

в другую, причем каждая последующая устраняет определенный вид

функциональной зависимости между полями таблицы. Всего в

теории описаны шесть нормальных форм, на практике чаще всего

применяются первые три.

Первая нормальная форма. Отношение называется приведенным

к первой нормальной форме, если все его атрибуты неделимы.

Например, отношение, содержащее поле ФИО, не приведено к первой

нормальной форме, если в запросах БД требуется выделить

отдельно фамилию или имя. Разработчики БД изначально строят так

исходное отношение, чтобы оно было в первой нормальной форме.

Вторая нормальная форма. Для приведения отношений ко второй

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

Функциональная зависимость полей — это зависимость, при

которой в строке определенному значению ключевого поля

соответствует только одно значение не ключевого поля. Функционально не

ключевое поле зависит от составного ключа, но не зависит от любого

поля, входящего в составной ключ.

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ИМЯ,

ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА) первичным ключом

является совокупность полей ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО. Поля

ФАКУЛЬТЕТ, КУРС, ГРУППА функционально полно зависят от

составного ключа.

Отношение находится во второй нормальной форме, если оно

находится в первой нормальной форме, и каждое не ключевое поле

функционально полно зависит от составного ключа. Например, в

отношении УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ, ФАМИЛИЯ,

ДИСЦИПЛИНА, ОЦЕНКА) составным ключом является

совокупность НОМЕР ЗАЧЕТКИ + ДИСЦИПЛИНА. Это отношение

находится в первой нормальной форме, но оно не находится во второй

нормальной форме, так как поле ФАМИЛИЯ не имеет полной фун-

230

кциональной зависимости от составного ключа. Для перевода этого

отношения во вторую нормальную форму необходимо исключить из

него поле ФАМИЛИЯ, так как оно функционально зависит от

НОМЕРА ЗАЧЕТКИ. Т.е. исходное отношение необходимо разбить на

два связанных отношения УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ,

ДИСЦИПЛИНА, ОЦЕНКА) и СПИСОК (НОМЕР ЗАЧЕТКИ,

ФАМИЛИЯ). Связь здесь осуществляется по полю НОМЕР ЗАЧЕТКИ.

Третья нормальная форма. Третья нормальная форма позволяет

устранить транзитивную зависимость. Транзитивная зависимость

существует в отношении, если существуют два описательных поля, в

которых первое зависит от ключа, а второе зависит от первого.

Отношение находится в третьей нормальной форме, если оно

находится во второй нормальной форме, и каждое не ключевое поле не тран-

зитивно зависит от ключа.

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ,

НАЗВАНИЕ вуза, АДРЕС) поле АДРЕС транзитивно (через поле

НАЗВАНИЕ вуза) зависит от ключа ФАМИЛИЯ. При заполнении

экземплярами такого отношения поле Адрес будет многократно

повторяться. Для устранения транзитивной зависимости в классе

используется расщепление отношения на несколько. Например,

отношение СТУДЕНТ расщепляется на два:

СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ, НАЗВАНИЕ вуза),

ВУЗ (НАЗВАНИЕ вуза, АДРЕС) связь по полю НАЗВАНИЕ вуза.

Процесс нормализации заканчивается созданием схемы данных,

в которой указываются все нормализованные таблицы с их полями

и взаимосвязями между ними. Указываются типы взаимосвязей.

Проектирование

Дальнейшая работа над проектом связана с конкретной СУБД,

поэтому, предварительно учитывая требования заказчика и

намеченную архитектуру ИС, выбирают СУБД. Мы рассмотрим эту часть на

примере СУБД MS Access (разработка Microsoft).

СУБД Access является системой управления базами данных

реляционного типа. Всю базу данных по умолчанию Access хранит на

диске в виде одного файла с расширением *.mdb, а вообще Access

поддерживает ряд стандартов БД (dbase, Paradox и др). Данные

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

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

231

(ключи), задающие нужные пользователю порядки на множестве

строк. Таблицы могут иметь однотипные поля (столбцы), и это

позволяет устанавливать между ними связи, выполнять операции

реляционной алгебры.

Типичными операциями над базами данных являются:

• работа с таблицами (создание, модификация, удаление таблиц,

создание и модификация схем взаимосвязи существующих

таблиц);

• ввод данных в таблицы непосредственно или с помощью

формы, проверку вводимых данных;

• поиск данных в таблицах по определенным критериям

(выполнение запросов);

• создание отчетов о содержимом базы данных.

Таблицы. Работа в Access начинается с определения реляционных

таблиц и их полей, которые будут содержать данные, т.е. создания

макета таблицы. Вид рабочего окна Access представлен на рис. 4.14.

Рис. 4.14. Вид рабочего окна MSAccess

232

Открытие окна сопровождается записью на диске файла базы

данных. Затем в рабочем окне Access появляется окно вновь созданной

базы данных. Изучая окно базы данных, заметим, что все основные

объекты Access (таблицы, запросы, отчеты, формы) могут

создаваться в режиме конструктора и в режиме мастера.

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

4.15). Здесь задаются имена полей и свойства, ниже находится редак-

Рис. 4.15. Создание таблиц в режиме конструктора

тор свойств полей, где указываются свойства (если поле текстовое —

его длина, числовое — тип целый или вещественный). Редактор

свойств полей имеет скрытые элементы управления. Например,

щелчок по полю ввода «размер поля» приведет к появлению элемента

списка , в результате нажатия на который появляется

раскрывающийся список выбора свойств. В завершении создания таблицы при

233

записи задается имя таблицы. Схема отношения может быть

отредактирована путем повторного открытия ее в режиме конструктора.

Далее определяются реляционные связи между таблицами, для

чего открывается окно «Схема данных» нажатием кнопки в окне

Access. В окне «Добавление таблицы» выбираем таблицы, которые

следует связать. Затем методом перетаскивания указываем

связываемые поля, после чего появляется окно «Изменение связей» (рис.

4.16.), в котором указываем тип обеспечения целостности.

Завершается этот этап нажатием кнопки «Создать».

Рис. 4.16. Окно «Изменение связей»

Формы — одно из основных средств работы с базами данных в

Access, используются для ввода новых записей, просмотра и

редактирования уже имеющихся данных, задания параметров запросов и

вывода ответов на них и др. Формы представляют собой окна с

размещенными в них элементами управления. Существует возможность

динамического создания форм при исполнении программы, однако

234

естественным режимом их создания является режим визуального

конструирования. Выбор команды «Форма» в меню «Вставка» выводит

на экран окно «Новая форма», позволяющее задать таблицу или

запрос, для которых создается новая форма, и указать режим ее

создания. Создание формы можно автоматизировать, используя «Мастер

форм».

Для создания формы с помощью Мастера форм предполагается

следующая последовательность действий: меню Формы / Создать. На

экране появится окно диалога «Новая форма», в котором

необходимо выбрать метод построения формы и исходный объект для

построения формы. В качестве такого объекта могут быть выбраны

таблица или запрос.

На следующих шагах Мастер форм предлагает выбрать форму

представления отчета (в столбец, ленточную, табличную или

выровненную) и стиль оформления. Стили представляют собой набор

различных фоновых рисунков с соответствующим подбором шрифтов и

форм полей. На последнем шаге можно изменить предлагаемое

название формы на свое собственное и завершить процесс создания

формы, нажав кнопку «Готово».

В режиме конструктора можно создать специальные формы с

листами данных, диаграммами и сводными таблицами в формате

Excel. На форме можно расположить элементы управления в виде

графических примитивов, надписей, рисунков и др. Элементы

управления могут использоваться для ввода и отображения дат, а также для

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

управления являются кнопки команд, которые активизируют исполнение

различных операций; объекты типа «подчиненные формы» (бланк

таблицы, дочерней по отношению к форме); объекты, облегчающие

восприятие данных, такие как календарь или счетчик, а также

элементы пользователя.

Запросы. При разумном подходе к проектированию баз данных

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

делают это посредством запросов. Запрос может предоставлять

пользователю выборку из полей одной таблицы или из полей

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

конструктора. Создадим запрос в режиме конструктора, для чего в

окне базы данных следует щелкнуть на кнопках «Запрос» и

«Конструктор». Прежде всего, откроется окно «Добавление таблицы», в ко-

235

тором выберем таблицы, на основе которых строится запрос

(допустим, ВУЗ и СТУДЕНТ). В результате откроется окно (рис. 4.17),

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

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

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

будут поля из таблицы СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ) и из

таблицы ВУЗ (НАЗВАНИЕ вуза). Указанные поля появятся в

нижней части бланка запроса по образцу. Таким образом, нами был

создан простейший запрос, который называется запрос на выборку на

языке запросов по образцу (QBE — Query By Example). При его

активации кнопкой f будет построена таблица с указанием

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

запроса сопровождается присвоением ему имени. Заметим, что запрос

на выборку создает не физическую таблицу на диске, а виртуальную

Рис. 4.17. Бланк запроса

236

в оперативной памяти, которая существует, пока мы пользуемся

запросом.

Запрос на выборку может создавать большие таблицы, работать

с которыми неудобно, поэтому более целесообразно результаты

запроса сортировать. Сортировки возможны по возрастанию и по

убыванию. Направление это указывается в строке «Сортировка бланка

запроса по образцу». Если сортировка указана по нескольким полям,

то сначала будет произведена сортировка по первому полю; при

обнаружении повторяющихся записей, сортировка будет по второму

полю и т.д.

Бланк запроса по образцу допускает отбор данных по условию.

Для этого в строке «Условие отбора» можно поставить, например, в

поле «Фамилия» = Иванов, и будут отобраны все студенты с

фамилией Иванов.

Возможности языка QBE весьма широки, но все же

ограничены. Если требуется нечто большее, то меню окна ЗАПРОС >ВИД >

РЕЖИМ SQL позволяет построить запрос на языке SQL, более

универсальном, но требующем специальных знаний.

Отчеты. Отчет похож на запрос, но служит для

форматированного вывода данных на бумагу. Для создания отчетов рационально

воспользоваться Мастером отчетов (база данных СОЗДАТЬ >

НОВЫЙ ОТЧЕТ), который похож на Мастера форм. Выполняется

отчет за ряд шагов, в процессе которых:

• выясняются таблицы и запросы, на основе которых строится

отчет;

• поля, по которым производится сортировка, фильтрация;

• стиль оформления печатного документа.

Редактировать отчет, созданный Мастером, можно с помощью

конструктора.

4.4.5. CASE-системы для разработки

информационных систем

Проектирование информационных систем представляет собой

сложную, трудоемкую и длительную работу, требующую высокой

квалификации участвующих в ней специалистов. Однако в недалеком

прошлом проектирование нередко выполнялось на интуитивном

уровне неформализованными методами, включающими в себя эле-

237

менты искусства, практический опыт, экспертные оценки и

дорогостоящие экспериментальные проверки качества функционирования.

Кроме того, в процессе создания и функционирования

информационные потребности пользователей ИС постоянно изменяются или

уточняются, что еще более усложняет разработку и сопровождение

таких систем.

В начале 70-х гг. в США был отмечен кризис программирования

{software crisis). Это выражалось в том, что большие проекты стали

выполняться с отставанием от графика или с превышением сметы

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

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

качество получаемого программного обеспечения не устраивало

потребителей.

Аналитические исследования и обзоры, выполняемые в течение

ряда лет ведущими зарубежными аналитиками, показывали, что

только немногим более 16 % проектов завершались в срок, не

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

и возможности, остальные превысили бюджет или запоздали в

сроках, а свыше 30 % проектов были аннулированы до завершения.

Потребность контролировать процесс разработки ПО,

прогнозировать и гарантировать стоимость разработки, сроки и качество

результатов привела в конце 70-х гг. к необходимости перехода от

кустарных к индустриальным способам создания ПО и появлению

совокупности инженерных методов и средств создания ПО,

объединенных общим названием «программная инженерия» (software

engineering). Впервые этот термин был использован как тема

конференции, проводившейся под эгидой NATO в 1968 г. В основе

программной инженерии лежит одна фундаментальная идея:

проектирование ПО является формальным процессом, который можно изучать

и совершенствовать. Освоение и правильное применение методов и

средств создания ПО позволяет повысить качество ИС, обеспечить

управляемость процесса проектирования ИС и увеличить срок ее

жизни.

Тенденции развития современных информационных технологий

определяют постоянное возрастание сложности ПО ИС, что

вызвало потребность в программно-технологических средствах

специального класса — CASE-средствах, реализующих CASE-технологию

создания и сопровождения ИС. Термин CASE (Computer Aided Software

238

Engineering) имеет весьма широкое толкование. Первоначально

значение термина CASE ограничивалось вопросами автоматизации

разработки только лишь программного обеспечения, а в настоящее

время оно приобрело новый смысл и охватывает процесс разработки

сложных ИС в целом.

Таким образом, к концу 80-х гг. назрела необходимость в CASE-

технологиях и CASE-средствах и возникли предпосылки для их

появления: было проведено много исследований в области

программирования (разработка и внедрение языков высокого уровня, методов

структурного и модульного программирования, языков

проектирования й средств их поддержки, формальных и неформальных языков

описания системных требований и спецификаций и т. д.).

CASE-технология представляет собой совокупность методов

проектирования ИС, а также набор инструментальных средств,

позволяющих в наглядной форме моделировать предметную область,

анализировать эту модель на всех стадиях разработки и сопровождения

ИС и разрабатывать приложения в соответствии с

информационными потребностями пользователей. Большинство существующих

CASE-средств основано на методах структурного или

объектно-ориентированного анализа и проектирования, использующих

спецификации в виде диаграмм или текстов для описания внешних

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

и архитектуры программных средств.

Были созданы CASE-системы:

• ориентированные на этапы жизненного цикла ПО, Design/IDEF

(Meta Sotfware), BPWin (LopicWorks)};

• функционально полные, т.е. используемые на всех этапах

жизненного цикла Designer (Oracle) Developer/2000 (Oracle);

• независимые от СУБД ODBC Sdesigner (SPD), ERWin (Logic-

Works), Silverrun (Silverrun Technologies).

4.5. Системы компьютерной графики

Системы компьютерной графики — это отдельные программы и

аппаратно-программные комплексы, создающие и обрабатывающие

различные изображения на экране монитора. Как уже было

сказано, все изображения, создаваемые с помощью компьютеров, можно

разделить на два класса — растровые и векторные.

239

В растровой графике изображение какого-либо графического

объекта описывается конкретным расположением и цветом точек

(пикселей), привязанных к сетке (растру, см. главу 1), т.е. оно

создается, как в мозаике. Чем больше точек и чем они мельче, тем

визуально качественнее изображение (и больше размер файла). Одна и

та же картинка может быть представлена с лучшим или худшим

качеством в соответствии с разрешением, т.е. количеством точек на

единицу длины. Разрешение обычно измеряется в точках на дюйм —

dpi или в пикселях на дюйм — ppi.

При редактировании растровых графических объектов

изменяется цвет пикселей, а не форма линий. Вывод растровой графики на

устройства с более низким разрешением, чем разрешение самого

изображения, понизит его качество.

Кроме того, качество характеризуется еще и количеством цветов

и оттенков, которые может принимать каждая точка изображения.

Чем большим количеством оттенков характеризуется изображение,

тем большее количество двоичных разрядов потребуется для

описания каждого пикселя.

Растровое представление обычно используют для изображений

фотографического типа с большим количеством деталей или

оттенков. К сожалению, масштабирование таких картинок в любую

сторону обычно ухудшает качество. При уменьшении количества точек

теряются мелкие детали и деформируются надписи (правда, это

может быть не так заметно при уменьшении визуальных размеров

самой картинки — т.е. сохранении разрешения). Добавление пикселей

приводит к ухудшению резкости и яркости изображения, так как

новым точкам приходится давать оттенки, средние между двумя и

более граничащими цветами.

В настоящее время распространены следующие форматы

растровой графики .bmp, .pcx, .gif, .tif, jpg, .png и др.

В векторной графике изображения описываются с помощью

кривых линий, называемых векторами (каждая кривая аппроксимируется

многочленом третьего порядка, т.е. массивом коэффициентов —

многомерным вектором), а также параметров, описывающих их цвета и

расположение. Например, изображение какой-либо фигуры на

экране описывается точками, через которые проходит линия контура

фигуры. Цвет фигуры задается цветом контура и цветом области

внутри этого контура.

240

При редактировании элементов векторной графики можно

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

объектов, можно переносить их, менять размер, форму (это делается

математическими преобразованиями), цвет, но это не отразится на

качестве их визуального представления. Векторная графика не

зависит от разрешения, т.е. может быть показана в разнообразных

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

Очевидно, описание простых векторных графических объектов

занимает значительно меньше места, чем растровых. Еще одно

преимущество — качественное масштабирование в любую сторону.

Увеличение или уменьшение объектов производится увеличением или

уменьшением соответствующих коэффициентов в математических

формулах. Но векторный формат становится невыгодным при

передаче изображений с большим количеством оттенков или мелких

деталей (например, фотографий). Ведь каждый мельчайший блик в

этом случае будет представляться не совокупностью одноцветных

точек, а уравнением линии (математической формулой) или

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

формулой. Это приводит к увеличению файлов.

Таким образом, выбор растрового или векторного формата

зависит от целей и задач работы с изображением. Если нужна

фотографическая точность цветопередачи, то предпочтительнее растр.

Логотипы, схемы, элементы оформления удобнее представлять в

векторном формате. Понятно, что и в растровом и в векторном

представлении графика (как и текст) выводятся на экран монитора или

печатное устройство в виде совокупности точек. В Интернете графика

представляется в одном из растровых форматов, понимаемых

браузерами без установки дополнительных модулей — GIF, JPG, PNG.

Из-за описанных выше особенностей представления

изображения, для каждого типа приходится использовать отдельный

графический редактор — растровый или векторный. Разумеется, у них есть

общие черты — возможность открывать и сохранять файлы в

различных форматах, использование инструментов с одинаковыми

названиями (карандаш, перо и т.д.) или функциями (выделение,

перемещение, масштабирование и т.д.), выбирать нужный цвет или оттенок.

Однако принципы реализации процессов рисования и

редактирования различны и обусловлены природой соответствующего формата.

Так, если в растровых редакторах говорят о выделении объекта, то

241

имеют в виду совокупность точек в виде области сложной формы.

Процесс выделения очень часто является трудоемкой и кропотливой

работой. При перемещении такого выделения появляется «дырка».

В векторном же редакторе объект представляет совокупность

графических примитивов, и для его выделения достаточно выбрать

мышкой каждый из них. А если эти примитивы были сгруппированы

соответствующей командой, то достаточно «щелкнуть» один раз в

любой из точек сгруппированного объекта. Перемещение

выделенного объекта обнажает нижележащие элементы.

С некоторыми особенностями работы с простым векторным

редактором Microsoft Draw мы познакомились в разделе 4.2.3

«Создание рисунка». Этот редактор встроен в офисный интегрированный

пакет программ MS Office.

Существует тенденция к сближению редакторов векторной и

растровой графики. Большинство современных векторных

редакторов способны использовать растровые картинки в качестве фона, а

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

встроенными средствами (трассировка). Причем обычно имеются средства

редактирования загруженного фонового изображения. Кроме того,

может осуществляться непосредственный перевод сформированного

векторного изображения в растровый формат и дальнейшее

использование как нередактируемого растрового элемента. Причем, все это

помимо обычно имеющихся конвертеров из векторного формата в

растровый с получением соответствующего файла.

Некоторые растровые редакторы способны грузить один из

векторных форматов (обычно .wmf) в качестве фона или сразу

переводить их в растр с возможностью непосредственного редактирования.

4.5.1. Растровый редактор Paint

Paint — простейший графический редактор (разработчик

Microsoft), предназначенный для создания и редактирования растровых

графических изображений в основном формате Windows (BMP) и

форматах Интернета (GIF и JPEG). Он приемлем для создания

простейших графических иллюстраций, в основном схем, диаграмм и

графиков, которые можно встраивать в текстовые документы. В Paint

можно создавать рекламу, буклеты, объявления, приглашения,

поздравления и др.

242

Основные возможности Paint:

• Проведение прямых и кривых линий различной толщины и

цвета.

• Использование кистей различной формы, ширины и цвета.

• Построение различных фигур — прямоугольников,

многоугольников, овалов, эллипсов — закрашенных и незакрашенных.

• Помещение текста на рисунок.

• Использование преобразований — поворотов, отражений,

растяжений и наклона.

Начало работы с Paint. Графический редактор Paint встроен в

операционную систему Windows. Для запуска его применяется

следующий способ: кнопка ПУСК > ПРОГРАММЫ > СТАНДАРТНЫЕ

> PAINT Для окончания работы с Paint можно использовать

пункты меню ФАЙЛ, и далее ВЫХОД.

Окно графического редактора Paint имеет стандартный вид (рис.