Что такое информатика 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 — М, для каждой записи таблицы ПОКУПАТЕЛЬ могут быть отображены и отредактированы связанные записи в таблице ДОГОВОР.

ПОКУПАТЕЛЬ □ в а

  Код покупателя »■ ИНН » Наименование т Адрес » Телефон » Hoi Ж
  - П001 77895765111 Компьютер маркет Москва (812)345-23-45 763  
        Номер договора * Дата заключения » Сумма по доп *■ Код исполнителя -  
      + Д111 11.01.2010 6 047 100,00р.  
      + Д222 05.02.2010 152 280,00р.  
      + Д777 14.06.2010 1579 920,00р. =
    *       0,00р.    
  - П002 78988979879! Перспектива Москва (995)345-67-89 293  
        Номер договора » Дата заключения * Сумма по доп - Код исполнителя  
      + дззз 01.01.2010 74 920,00р.  
      + Д555 12.11.2010 9 352,00р.  
      + ДЗЗЗ 23.05.2010 30 000,00р.  
      + Д999 12.09.2010 450 000,00р.  
    *       0,00р.    
  + П004 45657567567 Монитор Санкт-Петерб^ ( )12345-67 585  
  + П005 77124356782! Компьютер пэнд Саратов ( >123-56-23 597
  EUDO06 58787987912: Компьютерная технш- Ярославль ( 112345-67 763ж
Запись: И < 3 из 7 ► М ► £ Нет фильтра Поиск 4 III
                   

 

 

Рис. 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;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.03 сек.