Что такое информатика 13 страница
Рис. 9. Алгоритм | Рис. 10. Алгоритм |
разветвляющейся | разветвляющейся структуры |
структуры (вариант «если-то») | (вариант «выбор») |
Ветвление «выбор» (рис. 10) позволяет выбрать одну из N имеющихся альтернатив - цепочек команд. Для каждой альтернативы сначала проверяется соответствующее ей условие, срабатывает та первая альтернатива, у которой оно выполнится. Если не выполнится ни одно из условий выбора - ни одна из N цепочек команд не сработает, а управление перейдет к следующей после ветвления команде.
На языке псевдокода вариант «выбор» запишется в виде: выбор
при условие 1: команды 1 при условие 2: команды 2
при условие N: команды N все
Ветвление «выбор-иначе» (рис. 11) предусматривает проверку условий только у первых N-1 альтернатив, а у последней N-й цепочки команд условие отсутствует. Если не сработает ни одна из первых N-1 альтернатив, то тогда автоматически выполнится N-я цепочка команд. Таким образом, в отличие от ветвления «выбор», здесь обязательно произойдет срабатывание одной из имеющихся N цепочек команд.
Рис. 11. Алгоритм разветвляющейся структуры (вариант «выбор-иначе») |
На языке псевдокода вариант «выбор-иначе» запишется в виде: выбор
при условие 1: команды 1 при условие 2: команды 2
при условие N-1: команды N-1 иначе команды N все
Алгоритм циклической структуры обеспечивает повторение операции или группы операций при выполнении некоторого условия, называемого условием цикла. Такое повторение может быть многократным,
но не должно быть бесконечным. Если повторение продолжается сколь угодно много раз, то говорят о зацикливании алгоритма. При реализации на компьютере зацикливание приводит к необходимости прервать цикл, не дожидаясь его формального завершения.
На рис. 12 представлены цикл с предусловием (а) и цикл с постусловием (б). Повторяющееся тело цикла составляют команды 1...N, команда N+1 в цикл не входит. В цикле с предусловием тело цикла не выполнится ни разу, если первая проверка условия цикла покажет его несоблюдение. В цикле с постусловием тело цикла обязательно выполнится хотя бы один раз.
(а) (б)
На языке псевдокода циклы с предусловием или с постусловием отображаются соответственно следующими вариантами команды пока:
(а)
нц пока Условие
команда 1; команда 2;. . .; команда N кц;
команда N+1;
(б)
нц команда 1; команда 2;. . .; команда N пока Условие кц;
команда N+1;
Рис. 13. Цикл с параметром |
В тех случаях, когда число повторов выполнения тела цикла заранее известно, для отображении цикла удобно использовать блок модификатор (табл. 4), в котором размещается заголовок цикла (рис. 13).
На языке псевдокода цикл с параметром отображается с помощью команды для:
нц
для К от k1 до k2 шаг k3
команда 1; команда 2; . . . ; команда N
кц;
команда N+1
На практике базовые структуры разрабатываемого сложного алгоритма сначала описываются словами на уровне идеи, затем, по мере приближения к программной реализации, алгоритм получает всё более формальные очертания и в итоге формулируется в виде блок-схем и фрагментов псевдокода.
7.6 Контрольные вопросы
1. Какой цели служит формализация понятия «алгоритм»?
2. В чем состоит свойство детерминированности вычислительного алгоритма?
3. Каковы формы представления вычислительного алгоритма?
4. В чем состоят преимущества и недостатки представления алгоритма в виде блок-схемы?
5. На какой стадии разработки алгоритма эффективно использование псевдокода?
6. Каковы базовые структуры вычислительных алгоритмов?
7. В каких случаях результатом ветвления становится пропуск команды или блока команд?
8. В каком из базовых типов цикла возможна ситуация, когда ни разу не выполнится тело цикла?
9. В каком из базовых типов цикла число повторов выполнения тела цикла точно задается заранее?
10. В чем выражается зацикливание алгоритма?
7.7 Тест по материалам лекции
1. Под вычислительным алгоритмом принято понимать:
• Любую конечную последовательность действий.
• Особый способ представления информации в компьютере.
• Полное, понятное, точное и результативное предписание совершить набор вычислительных действий, направленных на решение задачи.
• Отображение предметного мира в виде системы команд.
2. Обязательным свойством вычислительного алгоритма является:
• Присутствие в его описании кодов компьютерных команд.
• Высокая скорость его реализации на компьютере.
• Повторяемость результата работы алгоритма при повторных запусках с теми же самыми исходными данными.
• Невозможность пропуска какого-либо из его действий в процессе выполнения.
3. К обязательным свойствам алгоритма не относится:
• Массовость.
• Детерминированность.
• Цикличность.
• Конечность.
4. Свойство алгоритма, обеспечивающее гарантированное получение результата расчетов, - это:
• Возможность запуска алгоритма для любых допустимых исходных данных расчета.
• Отсутствие в алгоритме элементов случайного выбора.
• Свойство конечности алгоритма.
• Наличие в алгоритме операции вывода результата расчетов.
5. Свойство алгоритма «массовость» означает, что:
• Это - широко распространенный алгоритм.
• Алгоритм может быть реализован на массовых портативных вычислительных устройствах.
• Он применим к любым допустимым исходным данным задачи.
• Это - алгоритм решения часто встречающейся задачи.
6. Представление алгоритма в форме блок-схемы наиболее эффективно:
• На начальной стадии проектирования алгоритма.
• При очень большом числе шагов алгоритма.
• Для его перевода на язык машинных команд.
• Для зрительной интерпретации алгоритма.
7. Представление алгоритма в форме псевдокода обязательно предусматривает:
• Присутствие в его описании кодов машинных команд.
• Использование синтаксиса конкретного алгоритмического языка высокого уровня.
• Использование стандартных синтаксических конструкций.
• Использование математических формул.
8. Алгоритм линейной структуры обязательно предусматривает:
• Присутствие в нем операций линейной алгебры.
• Его интерпретацию в виде геометрических фигур.
• Исполнение каждого последующее шага строго и однозначно за предыдущим.
• Его запись на языке псевдокода в одну линию.
9. Любой алгоритм циклической структуры обязательно предусматривает:
• Обязательное выполнение тела цикла.
Отсутствие в нем проверок каких-либо условий.
• Проверку условий завершения цикла.
• Предварительную фиксацию числа повторов тела цикла.
10. При выполнении алгоритма следующего базового типа возможно зацикливание:
• Алгоритм разветвляющейся структуры.
• Цикл с параметром.
• Цикл с постусловием.
• Алгоритм линейной структуры.
Лекция 8. Системы управления базами данных
8.1 Общие сведения о СУБД
Подавляющее большинство деловых операций сегодня записывается, отслеживается и анализируется в виде данных, хранящихся в системах управления базами данных.
Система управления базами данных - СУБД (Database Management System - DBMS) - является универсальным программным инструментом создания и обслуживания баз данных и приложений пользователя в самых разных предметных областях. СУБД обеспечивает создание, многоаспектный доступ к данным и использование одних и тех же данных различными задачами и приложениями пользователей.
СУБД поддерживаются различные модели данных. Модель данных - это метод логической организации данных, используемый СУБД. Наиболее известными являются иерархическая, сетевая и реляционная модели.
В настоящее время существует несколько сотен различных СУБД, которые работают на персональных компьютерах, майнфреймах или в сети из многих компьютеров. Появившиеся в конце 70-х - начале 80-х годов реляционные СУБД устранили недостатки предыдущих моделей и получили наибольшее распространение.
В настоящее время СУБД поддерживается преимущественно реляционная модель, которую отличает простота и единообразие представления данных простейшими двумерными таблицами. Реляционная модель обеспечивает возможность использования в разных СУБД операций обработки данных, имеющих единую основу - алгебру отношений (реляционную алгебру), и универсального языка структурированных запросов - SQL (Structured Query Language). Наиболее популярной реляционной СУБД для персональных компьютеров (настольной СУБД) является Microsoft Access. Среди многопользовательских СУБД можно выделить Microsoft SQL Server, Oracle, Informix.
Рассматривая функциональные возможности СУБД, будем обращаться к Microsoft Access, которая включает все необходимые для их реализации инструментальные средства. Access обеспечивает создание локальной базы данных и приложения пользователя, работающего с этой базой. База данных Access может быть размещена в локальной сети с файловым сервером и доступна для приложений нескольких пользователей. Кроме того СУБД Access включает средства, обеспечивающие подключение к базам данных на сервере Microsoft SQL Server, создание серверных баз данных и их объектов, а также средства разработки пользовательского приложения для многопользовательской базы данных.
8.2 Реляционная база данных
1. Определения и понятия
База данных является организованной на машинном носителе совокупностью взаимосвязанных данных и содержит сведения о различных сущностях одной предметной области - реальных объектах, процессах, событиях или явлениях.
Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц - реляционных таблиц, называемых также отношениями, в каждой из которых содержатся сведения об одной сущности автоматизируемой предметной области - реальном объекте, процессе, событии или явлении.
В таблицах базы должны сохраняться все данные, необходимые для решения задач предметной области. Причем желательно, чтобы каждый элемент данных хранился в базе только один раз. Минимальное дублирование данных в реляционной базе обеспечивает высокую эффективность поддержания базы данных в актуальном и непротиворечивом состоянии, однократный ввод и корректировку данных. Для достижения этой цели в реляционной модели данных используется процесс, называемый нормализацией данных. Нормализация - это удаление из таблиц повторяющихся данных путем их переноса в новые таблицы, строки которых не содержат повторяющихся значений.
Структура реляционной таблицы определяется составом полей. Каждое поле отражает определенную характеристику сущности. Для поля указывается тип и размер элементарных данных, размещаемых в нем, и ряд других свойств. Содержимое поля отображается в столбце таблицы. Столбец таблицы содержит данные одного типа.
Содержание таблицы заключено в ее строках, однотипных по структуре. Каждая строка таблицы содержит данные о конкретном экземпляре сущности и называется записью.
Для однозначного определения (идентификации) каждой записи таблица должна иметь уникальный (первичный) ключ. По значению ключа таблицы отыскивается единственная запись в таблице. Ключ может состоять из одного или нескольких полей таблицы. Значение уникального ключа не может повторяться в нескольких записях.
Обеспечивая рациональное хранение недублированных данных, необходимо предусмотреть возможность объединения данных из разных таблиц. Для объединения данных в соответствии с требованиями решаемых задач между таблицами устанавливаются логические связи. Связь каждой пары таблиц обеспечивается одинаковыми полями в них - ключом связи.
В нормализованной реляционной базе данных связь двух таблиц характеризуется отношениями записей типа «один-к-одному» (1 — 1)
или «один-ко-многим» (1 — M). Отношение 1 — 1 предполагает, что каждой записи одной таблицы соответствует одна запись в другой. Отношение 1 М предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи второй таблицы соответствует только одна запись в первой.
Для двух таблиц, находящихся в отношении типа 1 — M, связь устанавливается по уникальному ключу таблицы, представляющей в отношении сторону «один», - главной таблицы в связи. Во второй таблице, представляющей в отношении сторону «многие» и называемой подчиненной, этот ключ связи может быть либо частью уникального ключа, либо не входить в состав ключа. В подчиненной таблице ключ связи называется еще внешним ключом.
На рис. 14 показаны две таблицы со списком покупателей и перечнем заключенных договоров. Эти таблицы находятся в отношении типа 1 — M и логически связаны с помощью общего поля (столбца) Код покупателя - ключа связи. Это поле является уникальным ключом в главной таблице - ПОКУПАТЕЛЬ и неключевым полем в подчиненной таблице - ДОГОВОР.
Рис. 14. Взаимосвязанные таблицы реляционной базы данных
Размещение сведений о каждой сущности в отдельной таблице и связывание таблиц позволяет избежать повторения описательных данных в разных таблицах. При этом обеспечивается однократный ввод данных при загрузке и корректировке базы данных. Если данные двух таблиц в приведенном примере разместить в одной таблице, то каждая запись должна соответствовать одному договору. Причем данные о покупателе (наименование, ИНН, адрес и др.) будут повторяться во всех записях о договорах одного покупателя, что усложнит ввод, корректировки и обеспечение актуального состояния базы данных. При хранении
данных в двух таблицах, сведения о покупателе хранятся в единственном экземпляре, а в таблице договоров повторяются только значения ключевого поля с кодом покупателя.
В СУБД Access реализовано средство просмотра и редактирования связанных записей нескольких таблиц. При этом данные отображаются в иерархическом виде. При раскрытии одного уровня иерархии рядом с записью главной таблицы отображаются связанные записи подчиненной. Для записи подчиненной таблицы также могут быть открыты связанные записи. Например, для таблиц ПОКУПАТЕЛЬ, ДОГОВОР (рис. 15), связанных отношением 1 — М, для каждой записи таблицы ПОКУПАТЕЛЬ могут быть отображены и отредактированы связанные записи в таблице ДОГОВОР.
ПОКУПАТЕЛЬ □ в а
|
Рис. 15. Отображение в записях главной таблицы связанных
записей подчиненной таблицы
2. Схема данных
В СУБД Access процесс создания реляционной базы данных включает создание схемы данных. Схема данных наглядно отображает логическую структуру базы данных: таблицы и связи между ними, а также обеспечивает использование установленных в ней связей при обработке данных.
Для нормализованной базы данных, основанной на одно-много- значных и одно-однозначных отношениях между таблицами, в схеме данных для связей таких таблиц по первичному ключу или уникальному индексу главной таблицы могут устанавливаться параметры обеспечения связной целостности.
При поддержании целостности взаимосвязанных данных не допускается наличия записи в подчиненной таблице, если в главной таблице отсутствует связанная с ней запись. Соответственно при первоначальной загрузке базы данных, а также корректировке, добавлении и удалении записей система допускает выполнение операции только в том случае, если она не приводит к нарушению целостности.
Связи, определенные в схеме данных, автоматически используются для объединения таблиц при разработке многотабличных форм, запросов, отчетов, существенно упрощая процесс их конструирования.
В схеме данных связи могут устанавливаться для любой пары таблиц, имеющих одинаковое поле, позволяющее объединять эти таблицы.
3. Объекты базы данных
Все возрастающая сложность приложений баз данных привела к реализации в СУБД объектно ориентированного подхода, предполагающего создание программного обеспечения на основе стандартных и повторно используемых компонентов.
Расширение реляционных СУБД функциями объектно-ориентированного подхода определило включение понятия «объект» и реализацию возможности сохранения методов (процедур), так же как и данных в базе.
В качестве объектов в объектно ориентированном программировании рассматриваются любые программируемые элементы. Каждый объект обладает набором свойств, при изменении которых можно управлять объектом. С каждым объектом связывается ряд методов - процедур, которые работают с объектом. Один и тот же метод может использоваться для обработки различных объектов.
Все многообразие объектов, их свойств и методов обработки сводится в иерархически упорядоченные совокупности, что облегчает программирование.
Основными объектами Access, как и многих других СУБД, являются:
• таблицы, запросы, схемы данных, имеющие непосредственное отношение к базе данных («Объекты Access»);
• формы, отчеты, макросы и модули, называемые объектами приложения.
Формы и отчеты предназначены для типовых процессов обработки данных - просмотра, обновления, поиска по заданным критериям, получения отчетов. Эти объекты приложений конструируются из графических элементов, называемых элементами управления. Основные элементы управления служат для отображения полей таблиц, являющихся источниками данных объекта.
Для автоматизации доступа к объектам и их взаимодействия используется программный код. Только с помощью программного кода получается полноценное приложение пользователя, функции которого доступны через меню, панели инструментов и формы. Для создания программного кода используются модули на языке VBA и макросы.
Каждый объект и элемент управления имеет свой сохраняемый набор свойств. Определяя свойства можно настраивать и управлять объектом. С каждым объектом и элементом управления связывается набор событий, которые могут обрабатываться макросами или процедурами обработки событий на VBA, входящими в состав модулей форм, отчетов.
Объекты представлены в области навигации окна базы данных Access. Все операции по работе с объектами собственно базы данных и приложений начинаются в этом окне.
Таблицы (Tables) создаются пользователем для хранения данных об одной сущности - одном информационном объекте модели данных предметной области. Таблица состоит из полей (столбцов) и записей (строк). Каждое поле содержит одну характеристику информационного объекта предметной области. В записи собраны сведения об одном экземпляре информационного объекта.
База данных Access может включать до 32 768 объектов (в том числе формы, отчеты и т.д.). Одновременно может открываться до 2048 таблиц.
Запросы (Queries). Запросы на выборку служат для выборки нужных данных из одной или нескольких связанных таблиц. Результатом выполнения запроса является виртуальная таблица. В запросе можно указать, какие поля исходных таблиц следует включить в запись таблицы запроса и как отобрать нужные записи. Таблица запроса может быть использована наряду с другими таблицами базы при обработке данных. Запрос может формироваться с помощью конструктора запросов или инструкции языка SQL. Запросы на изменение позволяют обновлять, удалять или добавлять данные в таблицы, а также создавать новые таблицы на основе существующих.
Схема данных (Relationships) определяет, с помощью каких полей таблицы связываются между собой, как будет выполняться объединение данных этих таблиц, нужно ли проверять связную целостность при добавлении и удалении записей, изменении ключей таблиц. Схемы данных в области навигации в окне базы данных отображаются только в проектах Access, работающих с базами данных сервера. Формы (Forms) являются основным средством создания диалогового интерфейса приложения пользователя. Форма может создаваться для работы с электронными документами, сохраняемыми в таблицах базы данных. Вид таких документов может соответствовать привычному для пользователя бумажному документу. Форма используется для разработки интерфейса по управлению приложением. Включаемые в форму процедуры обработки событий позволяют управлять процессом обработки данных в приложении. Такие процедуры хранятся в модуле формы. В формы могут вставляться рисунки, диаграммы, звуковые фрагменты, видео. Возможна разработка форм с набором вкладок, с каждой из которых связано выполнение той или иной функции приложения.
Отчеты (Reports) предназначены для формирования на основе данных базы выходных документов любых форматов, содержащих результаты решения задач пользователя, и вывода их на печать. Как и формы, отчеты могут включать процедуры обработки событий. Использование графических объектов позволяет дополнять данные отчета иллюстрациями. Отчеты обеспечивают возможность анализа данных при использовании фильтрации, агрегирования и представления данных источника в различных разрезах.
Макросы (Macros) являются программами, состоящими из последовательности макрокоманд, которая выполняется по вызову или при наступлении некоторого события в объекте приложения или его элементе управления. Макросы позволяют автоматизировать некоторые действия в приложении пользователя. Создание макросов осуществляется в диалоговом режиме путем выбора нужных макрокоманд и задания параметров, используемых ими при выполнении. Новые возможности конструктора макросов в Access 2010 упрощают создание, редактирование макросов, позволяют сокращать количество ошибок кода и более эффективно создавать надежные приложения. В Access 2010 появилась новая возможность - макросы данных, позволяющие изменять данные на основе событий в исходных таблицах. Макросы данных используются для добавления логики к данным и сосредоточения ее в исходных таблицах. В Web-приложениях Access, базирующихся на базах данных, опубликованных в SharePoint, для программирования необходимо использовать только макросы, так как код VBA не совместим со средствами Web- публикации.
Модули (Modules) содержат процедуры на языке Visual Basic for Applications. Могут создаваться процедуры-подпрограммы, процедуры- функции, которые разрабатываются пользователем для реализации нестандартных функций в приложении пользователя, и процедуры для обработки событий. Использование процедур позволяет создать законченное приложение, которое имеет собственный графический интерфейс пользователя, позволяющий запросить выполнение всех функций приложения, обработать все ошибки и нестандартные ситуации.
В Access для удобства пользователя объекты в области навигации базы данных могут быть объединены в пользовательские группы по функциональному или иному признаку. Группы содержат ссылки на объекты базы данных различных типов. Группы, в свою очередь, объединяются в категории. С помощью такой организации объектов базы данных может быть разработан интерфейс пользовательского приложения, обеспечивающий доступность только к категориям и группам, наглядно и понятно представляющим функциональность приложения.
Все объекты базы данных Access размещаются на диске в одном файле формата ACCDB («Файл базы данных»). Это упрощает технологию ведения базы данных и приложения пользователя. Обеспечивается высокая компактность размещения всех объектов базы данных на диске и эффективность обработки данных.
8.3 Оперативный анализ данных («Сводные диаграммы», «Сводные таблицы»)
В СУБД не остались без внимания и инструменты оперативного решения задач бизнес-аналитики, обеспечивающие анализ и представление информации, необходимой для принятия решений в удобном для понимания виде.
Эти инструменты реализованы с помощью отчетов сводных таблиц и диаграмм, которые используются для суммирования, статистического анализа, исследования большого количества исходных сводных данных, содержащих повторяющиеся значения, и представления их в удобном для пользователя виде. Строки и столбцы подобной интерактивной таблицы базируются на данных из нескольких столбцов исходной таблицы.
Следует отметить, что сводные таблицы диаграммы являются средством оперативной аналитической обработки данных кубов OLAP (On-Line Analytical processing), созданных с помощью Analysis Services Microsoft SQL Server.
Access позволяет открывать в режимах сводной таблицы и сводной диаграммы таблицы, запросы и формы.
Сводная таблица представляет собой интерактивную таблицу, с помощью которой можно анализировать данные, быстро объединяя большие объемы данных и рассчитывая итоги (рис. 16). С помощью сводных таблиц делается простым выполнение сложного анализа данных.
Рис. 16. Сводная таблица для анализа суммарного количества отгруженного по любому из товаров по различным покупателям и договорам по всем или некоторым месяцам, кварталам, годам |
Дата добавления: 2016-03-20; просмотров: 771;