Методические указания ффсо пгу 18. 2/05




НазваниеМетодические указания ффсо пгу 18. 2/05
страница1/5
Дата26.11.2012
Размер0.82 Mb.
ТипМетодические указания
  1   2   3   4   5


Методические указания





ФФСО ПГУ 7.18.2/05

Министерство образования и науки Республики Казахстан

Павлодарский государственный университет им. С. Торайгырова



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


Методические указания

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



По дисциплине «Проектирование информационных систем»


для специальности 050602 Информатика





Павлодар


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





Форма

Ф СО ПГУ 7.18.1/05
УТВЕРЖДАЮ

Декан ФФМиИТ

_________ С.К. Тлеукенов

"___" __________200__г.




Составители: к.п.н., старший преподаватель, начальник отдела информатизации процесса обучения Асаинова А.Ж.



Кафедра «Информатика и информационные системы»

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


По дисциплине «Проектирование информационных систем»


для специальности 050602 Информатика


Рекомендована на заседании кафедры от “____”___200___г.

Протокол № ___

Заведующая кафедрой ___________ Ж.К.Нурбекова



Одобрена учебно - методическим советом факультета Физики, математики и информационных технологий “___”______200_г. Протокол №___

Председатель УМС__________________________ А.Т. Кишубаева



ПРАКТИЧЕСКАЯ РАБОТА №1

«Проектирование реляционных баз данных»

Цель – привить навыки на основе анализа информационной системы, выявленных требований и ограничений и построенной модели проектировать приложения баз данных средствами ИСР Delphi.


Краткие теоретические сведения

Наиболее важным этапом при проектировании информационных систем является анализ информационных потоков и построение модели. От того, насколько тщательно проведен анализ и насколько грамотно спроектирована БД, в существенной мере зависит эффективность будущей ИС. Проектирование реляционной базы данных заключается в определении состава полей таблиц БД и связей между ними.

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

После того как определена структура записей базы данных, можно приступать непосредственно к созданию таблицы. В ИСР Delphi таблицы создаются при помощи утилиты Database Desktop. Для каждого поля необходимо задать имя — идентификатор поля (длина не более 25 символов), тип данных. Тип задается вводом в колонку Type символьной константы (список доступных вам типов открывается в контекстном меню).

Ключевые поля должны быть отмечены символом * в последней колонке.

В правой части окна Create Table можно задать свойства таблицы в выпадающем списке Table Properties:

  • Validity Checks — проверка правильности значения.

Если данные, для хранения которых предназначено поле, должны обязательно присутствовать в записи, то следует установить флажок Required Field.

Свойства Minimum (минимальное значение) и Maximum (максимальное значение) полезно задавать для числовых полей. Свойство Default (значение по умолчанию) следует задавать для логических полей. В свойстве Picture можно задать шаблон для ввода данных.

  • Table Lookup — таблица просмотра.

Этот раздел позволяет связать с полем данной таблицы какое-то поле другой, просматриваемой таблицы, из которого будут браться допустимые значения. При нажатии на кнопку Define открывается диалоговое окно, в котором для данного поля можно указать таблицу просмотра. А затем кнопкой со стрелкой занести поле просматриваемой таблицы, из которого будут браться допустимые значения.

  • Secondary Indexes — вторичные индексы.

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

После того как индекс сформирован, необходимо задать ему имя в окне Save Index As.

  • Referential Integrity — целостность на уровне ссылок.

Здесь речь идет о способах, позволяющих обеспечить постоянные связи между данными отдельных таблиц. Если устанавливается целостность на уровне ссылок между двумя таблицами, одна из которых — головная, а другая — вспомогательная, то во вспомогательной таблице указывается поле (или группа полей), которые могут брать свои значения только из ключевого поля (или полей) головной таблицы. В диалоговом окне Referential Integrity на правой панели указывается имя головной таблицы, а на левой панели выбираются поля, связываемые с ключевыми полями головной таблицы, и кнопкой со стрелкой переносятся в список Parents key и Child Fields соответственно. После проведения всех описанных действий по установлению целостности на уровне ссылок, щелкните на кнопке OK и в открывшемся окне введите имя созданной ссылки.

  • Password Security — пароли доступа.

Paradox позволяет задать для таблицы пароли, и для каждого из них определить разрешенные операции как для таблицы в целом, так и для её отдельных полей. С помощью кнопки Auxiliary Password вызывается дополнительное окно, в котором можно уточнить, какие поля и как защищаются.

После того как все необходимые данные о структуре таблицы введены, щелкните на кнопке Save as.

Изменить структуру и заполнить таблицу можно в этой же утилите Database Desktop. Откройте её командой File — Open.

Поскольку конкретные свойства баз данных очень разнообразны, пользователю было бы весьма затруднительно работать, если бы он должен был указывать в своем приложении все эти каталоги, файлы и т.п. Да и приложение часто пришлось бы переделывать при смене структуры каталогов. Чтобы решить эту проблему, используют псевдонимы баз данных. Псевдоним содержит всю информацию для обеспечения доступа к базе данных. Программа BDE Administrator позволяет просматривать, редактировать и создавать новые драйверы BDE баз данных различных типов. Окно программы имеет две страницы: Databases — базы данных, Configuration — конфигурация. Для создания нового псевдонима надо из контекстного меню выбрать раздел New. В появившемся окне необходимо выбрать драйвер для создаваемого псевдонима. После задания параметров щелкните правой кнопкой мыши и выберите раздел меню Apply.

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

Компоненты, используемые для работы с базами данных, расположены в библиотеке компонентов на страницах Data Access (доступ к данным), Data Control (управление данными).

  • Компоненты — наборы данных.

Если в качестве набора данных используется компонент Table, то необходимо установить два его основных свойства: DatabaseName и TableName. Прежде всего, надо установить свойство DatabaseName — из выпадающего списка необходимо выбрать псевдоним базы данных. В выпадающем списке свойства TableName перечислены таблицы, доступные в данной базе данных. Установив свойство Active в true можно соединиться с базой данных прямо в процессе проектирования.

  • Компонент — источник данных.

Основное свойство компонента DataSource является свойство DataSet — набор данных.

  • Компоненты визуализации и управления данными.

В качестве компонента визуализации данных можно использовать компонент DBGrid.

DBText — аналог обычной метки Label, но связанный с данными. Он позволяет отображать данные некоторого поля, но не дает возможности его редактировать. Тип отображаемого поля может быть различным. Компонент автоматически переводит соответствующие типы в отображаемые символы.

DBEdit — связанный с данными аналог обычного окна редактирования Edit. Если задать в свойстве ReadOnly значение true, то он будет служить элементом отображения.

DBMemo — связанный с данными аналог многострочного окна редактирования Memo. Например, в этом компоненте можно отображать и редактировать характеристику сотрудника.

DBRichEdit — связанный с данными аналог обычного многострочного окна редактирования текста в формате Rtf.

DBImage — связанный с данными аналог компонента Image. Компонент позволяет отображать графические поля.

DBCheckBox— связанный с данными аналог обычного индикатора CheckBox. Он позволяет отображать и редактировать данные поля булевского типа. Если при выводе данных поле имеет значение true, то индикатор включается, и наоборот.

DBRadioGroup — связанный с данными аналог группы радиокнопок RadioGroup. Компонент позволяет отображать и редактировать поля с ограниченным множеством возможных значений. Свойство Items, как и в обычной группе радиокнопок, определяет число кнопок и надписи около них. Есть ещё свойство Values, которое определяет значения полей, соответствующие кнопкам. Этот компонент предоставляет ещё одну возможность ввода пользователем данных путем выбора, а не написанием полного значения поля. Все перечисленные компоненты имеют два основных свойства: DataSource — источник данных и DataField— поле, с которым связан компонент.

Для управления работы с таблицей можно использовать компонент DBNavigator, расположенный на странице Data Control библиотеки компонентов.

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

Модули данных.

При разработке сложных приложений, работающих с базами данных, принято разделять логику работы и пользовательский интерфейс. В Delphi это помогают сделать модули данных — компоненты контейнеры типа TDataModule.

Для создания модуля выберите команду FileNewData Module.

В процессе проектирования приложения модуль данных выглядит как форма, на которой разработчик помещает компоненты-наборы данных, источники данных и другие невизуальные компоненты, обеспечивающие связь с данными. Для связи модуля данных с формами, содержащими интерфейс пользователя, надо не забыть включить в последних оператор uses, ссылающийся на модуль данных. Это можно сделать непосредственно, или с помощью команды главного меню FileUse Unit.

В левой панели диалогового окна можно увидеть дерево помещенных в модуль компонентов наборов и источников данных, их полей, ограничений и т.п. правая панель содержит две страницы: Componentsкомпоненты, и Data Diagram — диаграмма данных. Перенос в модуль новых компонентов осуществляется щелчком на соответствующей пиктограмме палитры библиотеки компонентов и последующим щелчком в левой панели Проектировщика Модулей Данных или на его странице Components. В дереве или на этой странице можно получить доступ к любому компоненту или его полю, наблюдая при этом свойства выделенного объекта в окне Инспектора объектов. На странице Data Diagram можно наглядно изобразить или спроектировать взаимоотношения между наборами данных, полями и т.д.

ЗАДАНИЕ

  1. Сгенерируйте код в ИСР Delphi. Проверьте правильность создания таблиц и их полей.

  2. При необходимости добавьте таблицы или поля.

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

  1. Какие вы знаете модели данных?

  2. Дайте определение реляционной базе данных?

  3. Как связаны этап построения модели и этап проектирования реляционной базы данных?

  4. Что является основным элементарным типом модели реляционной базы данных?

  5. Что такое ссылочная целостность?

  6. Для чего используются первичные и вторичные ключи?


ПРАКТИЧЕСКАЯ РАБОТА №2

«Разработка пользовательского интерфейса»

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

Краткие теоретические сведения

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

Компоновка форм.

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

Последовательность фокусировки элементов.

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

Разработка меню и панелей инструментов.

Практически любое приложение должно иметь меню, поскольку именно он дает наиболее удобный доступ к функциям программы. Основное требование к меню — их стандартизация (место размещения заголовков меню и их разделов, клавиши быстрого доступа, организация каскадных меню). Группы функционально связанных разделов необходимо отделять в выпадающих меню разделителями. Названия разделов должны быть привычны пользователю. Названия разделов меню, связанных с вызовом диалоговых окон, должны заканчиваться многоточием, показывающим пользователю, что при выборе этого раздела ему предстоит установить в диалоге еще какие-то параметры. В каждом названии раздела должен быть выделен подчеркиванием символ, соответствующий клавише быстрого доступа. Необходимо учесть, что не все разделы меню имеют смысл в любой момент работы пользователя с приложением. Например, если в текстовом редакторе не открыт ни один документ, то бессмысленно выполнять команды редактирования в меню Правка. Такие пункты меню или отдельные разделы должны делаться временно недоступными или невидимыми. Основное требование при проектировании панелей инструментов — это стандартизация. Необходимо продумать панели инструментов таким образом, чтобы пользователь не задумывался о том, где какая пиктограмма и для чего она служит, а был сосредоточен на сущности вашего приложения информационной системы.

Цветовое решение при проектировании пользовательского интерфейса ИС.

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

Проектирование справочной системы

Приложение должно предельно облегчать работу пользователя, снабжая его системой подсказок, помогающих сориентироваться в приложении. Эта система должна включать в себя:

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

  • Более развернутые подсказки в панели состояния, которые появляются при перемещении курсора мыши в ту или иную область приложения;

  • Встроенную справочную систему.

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

ЗАДАНИЕ

  1. Разработайте схему графического интерфейса клиентского приложения информационной системы Вашего варианта.

  2. Создайте диаграмму навигации по окнам.

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

  1. Перечислите и дайте краткое определение руководящих принципов разработки графического интерфейса пользователя.

  2. В чем отличие главного окна от вторичного?

  3. Почему полезно использовать панель инструментов при разработке пользовательского интерфейса?

  4. Допускает ли MDI-интерфейс использование нескольких главных окон? Объясните свой ответ.


ПРАКТИЧЕСКАЯ РАБОТА №3

«Программирование работы локальных баз данных»

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


Краткие теоретические сведения

В предыдущей практической работе практически не требовалось программирование. Но чаще всего для написания полезного приложения все-таки требуется программировать.

Начнем рассмотрение вопросов программирования с основного свойства компонента типа TTableState, определяющего состояние набора данных.

Метод Close закрывает соединение с базой данных, устанавливая свойство Active набора данных в false. При этом State переводится в состояние dsInactive (набор данных закрыт, данные недоступны). Метод Open открывает соединение с базой данных, устанавливая свойство Active набора данных в true. При этом State переводится в состояние dsBrowse (данные могут наблюдаться, но не могут изменяться. Это состояние установлено по умолчанию после открытия набора данных).

Метод Edit переводит набор данных в dsEdit (текущая запись может редактироваться). Методы Insert и InsertRecord вставляют новую пустую запись в набор данных, и переводят State в состояние dsInsert (может вставляться новая запись).

Методы EditKey, SetRange, SetRangeStart, SetRangeEnd и ApplyRange, связанные с поиском записи и с заданием допустимого диапазона изменений данных, переводят State в состояние dsSetKey (может наблюдаться только ограниченное множество данных и не может проводиться редактирование или вставка новой записи).

Вычисляемые поля.

Для формирования в таблице нового поля, не предусмотренного при её создании, значение которого вычисляется на основании значений других полей записи, в редакторе полей выберите команду New. Появится окно добавления поля, в котором необходимо указать имя поля, тип данных и размер. После ввода всех данных группа радиокнопок переключится автоматически на Calculated. Чтобы указать процедуру вычислений, выйдете из редактора полей, выделите компонент Table, и в обработчик события OnCalcFields(при обновлении значений вычисляемых полей) вставьте код, например:

Table1Age.Value:=2002-Table1Year.Value;

В этом операторе Table1Age.Value и Table1Year.Value — значения полей Age (возраст) и Year (год рождения).

Фильтрация данных

Компонент Table позволяет не только отображать, редактировать и упорядочивать данные, но и отфильтровать записи по определенным критериям. Фильтрация может задаваться свойствами Filter, Filtered, и FilterOptions компонента Table. Свойство Filtered включает или выключает использование фильтра. А сам фильтр записывается в свойство Filter в виде строки, содержащей определенные ограничения на значения полей. Например:

Dep=’Бухгалтерия’

В условиях сравнения строк можно использовать символ *. Например:

Dep=’Цех*’

Для того чтобы фильтрация работала необходимо выключить опцию foNoPartialCompare, запрещающую частичное совпадение при сравнении. Опция свойства FilterOptionsfoCaseInsensitive делает сравнение строк нечувстивтельным к регистру.

При записи условий можно использовать операции отношения =, >, <, <>, <=, а также логические операции and, or, not. Использовать в фильтре имена вычисляемых полей не разрешается. Конечно, свойства, определяющие фильтрацию, можно задавать не только в процессе проектирования, но и программно, во время выполнения.

Пересылка записи в базу данных

Пока идет редактирование текущей записи, изменения осуществляются в буфере, а не в самой базе данных. Пересылка записи в базу данных производится только при выполнении метода Post. Метод может вызываться только тогда, когда набор данных находится в состоянии dsEdit или dsInsert. Этот метод можно вызвать явно, например, Table1.Post. Отменить изменения, внесенные в запись, можно методом Cancel. При выполнении этого метода, если предварительно не был вызван метод Post, запись возвращается к состоянию, предшествовавшему редактированию, и набор данных переводится в состояние dsBrowse.

Перед началом выполнения каждого из рассмотренных выше методов и после его выполнения генерируется соответствующие события набора данных Table. Например, перед выполнением метода Post возникает событие BeforePost, а после его окончания — событие AfterPost. Эти события надо использовать для проверки данных и получения подтверждения на их изменение.

Доступ к полям

Доступ по порядковому индексу осуществляется через свойство Fields[i:integer], где i — индекс объекта. Индексация начинается с 0.

Доступ по имени поля осуществляется с помощью метода FieldbyName(‘<имя>’). Например, Table1.FieldbyName(‘Fam’) — это объект, связанный с полем Fam.

Доступ по имени объекта возможен только к объектам, созданным с помощью Редактора Полей. По умолчанию Delphi формирует имена объектов полей из имени таблицы и имени поля, например, Table1Fam.

Значение поля хранится в свойстве Value. Тип этого свойства определяется типом поля. Имеется также ряд свойств, переводящих один тип значений в другой. Например, свойство AsString переводит тип любого поля в строку при чтении значения поля, и осуществляет обратный перевод строки в тип поля при записи значения поля. Помимо AsString имеются ещё аналогичные свойства AsInteger, AsFloat и т.д. Тип данного поля хранится в свойстве объект поля DataType.

Поиск записей в наборах данных.

Существует несколько методов поиска записей в базе данных по ключу.

Метод SetKey.

Для применения этого метода таблица предварительно должна быть проиндексирована по тому полю, по которому должен будет проводиться поиск, затем таблица устанавливается в состояние поиска dsSetKey. Для этого используется метод SetKey. В состоянии dsSetKey набор данных воспринимает последующий оператор присваивания значения полю не как присваивание, а как задание ключа поиска. В заключении методом GoToKey курсор переводится на запись, в которой значение указанного поля равно ключу. Если таких записей несколько, то курсор переводится на первую из них. Если соответствующая запись не находится, то метод GoToKey возвращает false. Для полей типа строк лучше использовать метод GoToNearest — этот метод перемещает курсор на запись, максимально близкую к ключу. То есть он сработает и тогда, когда совпадение неполное.

Для представления пользователю ускоренного поиска фамилии, то есть пользователь будет набирать фамилию в окне Edit1 и при вводе каждого символа курсор должен перемещаться на запись, наиболее близко совпадающую с уже введенными символами. Для этого сначала надо проиндексировать таблицу по полю Fam, а затем достаточно в событие OnChange окна редактирования Edit1 вставить обработчик:

Table1.FindNearest([Edit1.Text]);

Метод Locate.

Этот метод ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает её текущей. Этот метод объявлен следующим образом:

Function Locate(const KeyFields:string; const KeyValues: Variant;

Options: TLocateOptions):Boolean

В качестве первого параметра KeyFields пердается строка, содержащая список ключевых полей. В качестве второго параметра передается KeyValues — массив ключевых значений. А третий параметр является множеством опций, элементами которого могут быть loCaseInsensitive — нечувствительность к регистру, и loPartialKey — допустимость частичного совпадения. Преимуществом данного метода является ненадобность индексировать таблицу.

Метод Lookup.

Этот метод находит запись, удовлетворяющую условию поиска, но не делает её текущей, а возвращает значения некоторых её полей. В отличие от Locate Lookup осуществляет поиск только на точное соответствие критерию поиска значения поля поиска записи. Этот метод определен следующим образом:

Function Lookup(const KeyFields:string;

Const KeyValues:Variant;

Const ResultFields:string):Variant;

Первые два параметра аналогичны методу Locate. Третий параметр — строка, перечисляющая поля, значения которых возвращаются в виде массива Variant. Как и в методе Locate, в качестве поисковых полей можно указывать поля как входящие в какой-либо индекс, так и не входящие в него. Если в результате поиска запись не найдена, метод Lookup возвращает Null.

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

Метод SetRangeStart переводит набор данных в состояние dsSetKey и следующий оператор присваивания значения полю воспринимается как задание для поля нижней границы диапазона возможных значений. Метод SetRangeEnd действует аналогично, но последующий оператор присваивания воспринимается как задание верхней границы диапазона. После того, как границы диапазона установлены, можно выполнить метод ApplyRange. При этом начнут использоваться установленные границы диапазона и доступными для просмотра и редактирования будут только те записи, в которых значения указанного поля находится внутри диапазона.

Имеется и более простой способ установки диапазона — метод SetRange. Он определен следующим образом:

Procedure SetRange(const StartValues, EndValues:array of const);

Массивы StartValues и EndValues должны содержать соответственно значения диапазона полей, являющихся ключевыми.

ЗАДАНИЕ

  1. Запрограммируйте работу с базой данных соответствующей Вашему варианту:

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

    • задайте возможность фильтрации по трем параметрам;

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

    • задайте возможность на отдельной панели редактировать БД.

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

  1. Для чего используются вторичные ключи БД?

  2. Какие методы поиска данных из БД Вы знаете?

  3. В чем отличие метода Loookup от метода Locate?

  4. Как установить граничные значения для поля?

  5. С помощью чего создаются вычисляемые поля таблиц БД?


ПРАКТИЧЕСКАЯ РАБОТА №4

«Анализ и использование данных»

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


Краткие теоретические сведения

Многомерный куб решений

Для анализа многофакторной информации, получаемой из базы данных, в Delphi имеются специальные компоненты, размещенные на странице библиотеки Decision Cube. При анализе данные представляются в виде многомерного куба решений, или так называемого кросстаба. Кросстабом называется такое табличное представление данных, которое имеет переменную структуру по горизонтали и вертикали. Причем обозначения столбцов и строк соответствуют значениям полей набора данных. В ячейках кросстаба содержатся не данные, а суммарные значения для двух полей, которые пересекаются в этой ячейке. Например, данные по сотрудникам организации, содержащиеся в таблице Pers, могут анализироваться по подразделениям, по признаку пола, по году рождения и т.д. При анализе может возникнуть желание узнать как распределяются мужчины и женщины в управлении и на производстве, распределение сотрудников по годам рождения и т.д.

Таких вопросов может быть великое множество и в приложении невозможно предусмотреть какие-то меню, кнопки, которые бы охватывали все, что может захотеться знать пользователю, принимающему решения на основе сведений, почерпнутых из базы данных. Инструментом, с помощью которого пользователь может формулировать различные запросы, получая из них ответы в удобной табличной или графической форме является система Decision Cube.

Компонент TDecisionCube

Компонент TDecisionCube осуществляет преобразование набора данных, который содержится в компоненте TDecisionQuery, к виду, доступному для отображения визуальными компонентами многомерного представления данных. Обычную таблицу набора данных компонент преобразует в многомерный кросстаб. Число размерностей создаваемого кросстаба зависит от числа полей данных набора данных. Значения в ячейках кросстаба зависят от типа агрегатной функции в запросе SQL.

При помощи методов GetDetailSQL и GetSQL можно получить тексты запросов, которые возвращают набор данных, соответствующий кросстабу с состояниями, заданными параметрами. Массив ValueArray содержит условия для полей размерностей. Первой размерности соответствует первый элемент массива, второй размерности — второй элемент и т. д. Если значение элемента меньше нуля, то в результат запроса попадают все значения поля размерности. Значение элемента равное или больше нуля определяет индекс значения поля размерности. Параметр SelectList содержит разделенный запятыми список дополнительных полей, которые нужно включить в запрос. Параметр bActive накладывает дополнительное ограничение на размерности. При значении True в результат запроса автоматически (без использования параметра SelectList) попадают только активные размерности.

Ключевым свойством компонента является свойство DecisionMap, которое позволяет установить параметры размерностей и максимальный размер используемой памяти. Для этих целей применяется специализированный редактор.

Это свойство представляет собой экземпляр объекта TCubeDims, который инкапсулирует индексированный список экземпляров объектов TCubeDim, каждый из которых содержит информацию о параметрах одной размерности.

Для удаления измерения из таблицы нужно выбрать из всплывающего меню команду Drill in to this value.

Для подключения возможности перетаскивания столбцов и строк (в результате чего полностью перестроится вся таблица) следует подключить подсвойство cgPivotable свойства Options компонента DecisionGrid.

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

Компонент TDecisionPivot

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

Левая часть имеет единственную кнопку, щелчок на которой позволяет сделать выбор суммирующего поля из выпадающего списка. Элементы списка соответствуют вычисляемым полям с использованием агрегатных функций из запроса соответствующего компонента TDecisionQuery.

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

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

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

Кнопка в нажатом состоянии показывает размерность. Одновременно отображается и общая сумма по размерности.

Размерности можно менять местами и перемещать с вертикали на горизонталь и обратно. Для этого можно выбрать команду Moved to Column Area из всплывающего меню кнопки. Во время выполнения можно использовать обычное перетаскивание кнопок при помощи мыши.

Всплывающее меню кнопки размерности имеет еще одну команду — Drilled In. По этой команде размерность переходит в режим детального просмотра по каждому значению поля. Конкретное значение можно выбрать из списка, который открывается при щелчке на кнопке. В этом случае суммы в ячейках кросстаба рассчитываются не по всей размерности, а только по выбранному значению.

Компонент TDecisionGraph

Этот компонент позволяет вводить в приложение диаграммы и графики.

Конкретный вид графика (назначение горизонтальной и вертикальной оси) зависит от настроек компонентов TDecisionCube и TDecisionPivot. По умолчанию к оси абсцисс привязывается первая вертикальная размерность, к оси ординат — первая сумма. Первая горизонтальная размерность отображается в легенде графика.

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

Для подключения к графику набора данных используется свойство property DecisionSource: TDecisionSource; которое ссылается на экземпляр компонента источника данных. Сразу после подключения автоматически строится график с осями, заданными по умолчанию.

Для управления графиком во время выполнения можно использовать компонент TDecisionPivot.

ЗАДАНИЕ

  1. Добавьте в приложение, работающее с БД информационной системы возможность многомерного анализа данных.

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

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

  1. В каких случаях используется многомерный анализ данных?

  2. С помощью чего можно организовать многомерный анализ данных в ИСР DELPHI?

  3. Что такое кросстаб?

  4. Что такое измерение кросстаба?


ПРАКТИЧЕСКАЯ РАБОТА №5

«Альтернативные варианты доступа к данным»

Цель - рассмотреть некоторые полезные возможности, предоставленные технологиями Microsoft ActiveX Data Objects и InterBase Express, для универсального доступа к данным. Практически использовать данные технологии в средствах разработки баз данных различных архитектур.

Краткие теоретические сведения

Доступ к данным через ActiveX Data Objects(ADO)

В Delphi имеется возможность работы с базами данных посредством разработанной в Microsoft технологии ActiveX Data Objects(ADO). ADO— это пользовательский интерфейс к любым типам данных, включая реляционные и не реляционные базы данных, электронную почту и т.д. Связь с данными осуществляется посредством так называемой технологии OLE DB.

Использование ADO является альтернативой BDE, обеспечивающей более эффективную работу с данными. Основным достоинством ADO является её естественная ориентация на создание «облегченного» клиента. В рамках этой технологии на машине разработчика БД устанавливаются базовые объекты ADO и соответствующие компоненты Delphi, обеспечивающие использование технологии ADO. На машине сервера данных устанавливается провайдер данных — некоторая надстройка над технологией OLE DB, понимающая запросы объектов ADO и умеющая переводить их в нужные действия с данными. Взаимодействие компонентов ADO и провайдера осуществляется на основе технологии ActiveX, причем провайдер реализуется как COM-сервер, а ADO-компоненты как COM-клиенты.

Пример 1. В этом примере мы сформируем строку подключения, создав попутно новый источник данных.

  1. Поместите на форму компонент DataSource со страницы DataControls и ADOQuery со страницы ADO. Для компонента DataSource установите его свойство DataSet в значение ADOQuery1.

  2. Отметьте компонент ADOQuery1 и в инспекторе объектов щелкните кнопку с многоточием около свойства ConnectionString.

  3. На странице Поставщик данных (Provider) укажите MicrosoftODBC Drivers – как показано на рисунке. Затем перейдите на страницу Подключение (Connection), либо нажмите кнопку Далее.

  4. Отметьте флажок Использовать строку подключения и нажмите кнопку Сборка. В появившемся окне перейдите на вкладку Источник данных компьютера, а затем нажмите кнопку Создать.

  5. На экране появится первое окно мастера создания нового источника данных. Вы должны выбрать один из флажков и щелкнуть кнопку Далее.

  6. В новом окне мастера Вы выбираете драйвер для Microsoft Access и нажимаете кнопку Далее, а на следующем шаге мастера – Готово.

  7. В окне Установка драйвера ODBC для Microsoft Access нажмите кнопку Выбрать и укажите имя базы данных.

  8. В поле Имя источника данных напишите имя и нажмите Ok.

  9. Далее следует нажать кнопку Проверить подключение. Если проверка пройдет успешно, то нажмите OK.

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

  11. Свойство Active компонента ADOQuery1 установите в значение True.

  12. Для компонентов DBGrid1 и DBNavigator установите свойство DataSet в DataSourse1. После этого в DBGrid1 должны появиться данные из таблицы.

  13. Запустите проект на выполнение. Внешний вид главной формы должен быть примерно таким, как показано на рисунке ниже:

Итак, мы связались с созданной нами базой данных Ms Access по технологии ADO при помощи строки подключения, создав попутно новый источник данных (DSN) с именем BdWorld. Посмотрим теперь, нельзя ли упростить длительный процесс подключения.
  1   2   3   4   5

Похожие:

Методические указания ффсо пгу 18. 2/05 iconМетодические указания ф со пгу 18. 2/05
«Электроника». Вместе с тем методические указания включает материалы, необходимые для организации самостоятельной работы с использованием...
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Министерства образования и науки рк от 23. 12. 2005 года №779, и утверждена на заседании ученого совета пгу им. С. Торайгырова по...
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Методические указания для выполнения самостоятельной работы студентов по дисциплине «Оборудование и проектирование металлургических...
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Методические указания разработаны на основании Государственного общеобязательного стандарта образования специальности госо рк 08....
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Лабораторная работа №1 «Изучение компонентов системного блока и материнской платы»
Методические указания ффсо пгу 18. 2/05 iconВ. В. Еремин конституционное право российской федерации методические указания
Конституционное право Российской Федерации: методические указания / сост к ю н. А. В. Карпушкин, к и н. В. В. Еремин. – Пенза: Информационно-издательский...
Методические указания ффсо пгу 18. 2/05 iconМетодические указания по изучению дисциплины
Ильясов М. Н. Сборник домашних заданий по высшей математике: учебно-методическое пособие ч. 1, − Павлодар пгу, 2002 г
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Разработку алгоритмов и принципиальных электрических схем управления необходимо выполнять применительно к регулирующему микропроцессорному...
Методические указания ффсо пгу 18. 2/05 iconМетодические указания Форма ф со пгу 18. 2/05
Структурная схема системы автоматического регулирования (сар) скорости двигателя постоянного тока показана на рисунке 1
Методические указания ффсо пгу 18. 2/05 iconМетодические указания к выполнению контрольных работ для студентов заочной формы обучения
Налоги и налогообложение: методические указания к выполнению контрольных работ для студентов заочной формы обучения / сост. А. Н....
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница