close

Вход

Забыли?

вход по аккаунту

?

сам отчет

код для вставкиСкачать
Раздел 3: Интегрированная система Delphi
Delphi (Де́лфи,
произносится /ˈdɛlˌfi:/[1]) —
императивный, структурированный, объектно-ориентированный язык
программирования, диалект Object Pascal[2]. Начиная со среды разработки
Delphi 7.0[3], в официальных документахBorland стала использовать название
Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык
Delphi (производный от Object Pascal) начал жить своей самостоятельной
жизнью и претерпевал различные изменения, связанные с современными
тенденциями (например, с развитием платформы .NET) развития языков
программирования: появились class helpers, перегрузки операторов и другое.
Целевая платформа
Изначально среда разработки была предназначена исключительно для
разработки приложений Microsoft Windows, затем был реализован также для
платформ Linux (какKylix), однако после выпуска в 2002 году Kylix 3 его
разработка была прекращена, и, вскоре после этого, было объявлено о
поддержке Microsoft .NET.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в
режиме совместимости с Delphi) позволяет использовать его для создания
приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows
CE.
Также предпринимались попытки использования языка в
проектах GNU (например, Notepad GNU) и написания
компилятора[источник не указан 1072 дня] для GCC.
[править]История языка
Object Pascal — результат развития языка Турбо Паскаль, который, в свою
очередь, развился из языка Паскаль. Паскаль был полностью процедурным
языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектноориентированные свойства, а в Object Pascal — динамическую
идентификацию типа данных с возможностью доступа к метаданным классов
(то есть к описанию классов и их членов) в компилируемом коде, также
называемом интроспекцией — данная технология получила
обозначение RTTI. Так как все классы наследуют функции базового класса
TObject, то любой указатель на объект можно преобразовать к нему, после
чего воспользоваться методом ClassType и функцией TypeInfo, которые и
обеспечат интроспекцию.
Также отличительным свойством Object Pascal от С++ является то, что
объекты по умолчанию располагаются в динамической памяти. Однако
можно переопределить виртуальные методы NewInstance и FreeInstance
класса TObject. Таким образом, абсолютно любой класс может осуществить
«желание» «где хочу — там и буду лежать». Соответственно организуется и
«многокучность».
Object Pascal (Delphi) является результатом функционального расширения
Turbo Pascal[4].
Delphi оказал огромное влияние на создание концепции языка C# для
платформы .NET.[источник не указан 41 день] Многие его элементы и концептуальные
решения вошли в состав С#. Одной из причин называют переход Андерса
Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland
Ltd. в Microsoft Corp.


Версия 8 способна генерировать байт-код исключительно для
платформы .NET. Это первая среда, ориентированная на разработку
мультиязычных приложений (лишь для платформы .NET);
Последующие версии (обозначаемые годами выхода, а не порядковыми
номерами, как это было ранее) могут создавать как приложения Win32,
так и байт-код для платформы .NET.
Delphi for .NET — среда разработки Delphi, а также язык Delphi (Object
Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET — Delphi 8.
Она позволяла писать приложения только для .NET. Delphi 2006
поддерживает технологию MDA с помощью ECO (Enterprise Core Objects)
версии 3.0.
В марте 2006 года компания Borland приняла решение о прекращении
дальнейшего совершенствования интегрированных сред разработки JBuilder,
Delphi и C++ Builder по причине убыточности этого направления.
Планировалась продажа IDE-сектора компании. Группа
сторонников свободного программного обеспечения организовала сбор
средств для покупки у Borland прав на среду разработки и компилятор[5].
Однако в ноябре того же года было принято решение отказаться от продажи
IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет
заниматься новая компания — CodeGear, которая будет финансово
полностью подконтрольна Borland.
В августе 2006 года Borland выпустил облегченную версию RAD Studio под
именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++.
В марте 2008 года было объявлено о прекращении развития этой линейки
продуктов.
В марте 2007 года CodeGear порадовала пользователей обновленной
линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового
продукта Delphi 2007 for PHP.
Тема 3.1: Основные принципы объектно-ориентированного
программирования (ООП)
Объе́ктно-ориенти́рованное,
или объектное,
программи́рование
(в
дальнейшем
ООП) — парадигма
программирования,
в
которой
основными концепциями являются
понятия объектов и классов.
В
случае языков с прототипированием вместо классов используются объектыпрототипы.
История
ООП возникло в результате развития идеологии процедурного
программирования, где данные и подпрограммы (процедуры, функции) их
обработки формально не связаны. Для дальнейшего развития объектноориентированного программирования часто большое значение имеют
понятия события (так называемое событийно-ориентированное
программирование) и компонента (компонентное программирование, КОП).
Формирование КОП от ООП произошло, как случилось
формирование модульного от процедурного программирования: процедуры
сформировались в модули — независимые части кода до уровня сборки
программы, так объекты сформировались в компоненты — независимые
части кода до уровня выполнения программы. Взаимодействие объектов
происходит посредством сообщений. Результатом дальнейшего развития
ООП, по-видимому, будет агентно-ориентированое программирование,
где агенты — независимые части кода на уровне выполнения.
Взаимодействие агентов происходит посредством изменения среды, в
которой они находятся.
Языковые конструкции, конструктивно не относящиеся непосредственно к
объектам, но сопутствующие им для их безопасной (исключительные
ситуации, проверки) и эффективной работы, инкапсулируются от них в
аспекты (в аспектно-ориентированном программировании). Субъектноориентированное программирование расширяет понятие объект посредством
обеспечения более унифицированного и независимого взаимодействия
объектов. Может являться переходной стадией между ООП и агентным
программирование в части самостоятельного их взаимодействия.
Первым языком программирования, в котором были предложены принципы
объектной ориентированности, была Симула. В момент своего появления
(в 1967 году), этот язык программирования предложил поистине
революционные идеи: объекты, классы, виртуальные методы и др., однако
это всё не было воспринято современниками как нечто грандиозное. Тем не
менее, большинство концепций были развиты Аланом Кэйем и Дэном
Ингаллсом в языке Smalltalk. Именно он стал первым широко
распространённым объектно-ориентированным языком программирования.
В настоящее время количество прикладных языков программирования
(список языков), реализующих объектно-ориентированную парадигму,
является наибольшим по отношению к другим парадигмам. В области
системного программирования до сих пор применяется парадигма
процедурного программирования, и общепринятым языком
программирования является язык C. Хотя при взаимодействии системного и
прикладного уровней операционных систем заметное влияние стали
оказывать языки объектно-ориентированного программирования. Например,
одной из наиболее распространенных библиотек мультиплатформенного
программирования является объектно-ориентированная библиотека Qt,
написанная на языке C++.
[править]Основные понятия
Абстракция
Абстрагирование — это способ выделить набор значимых
характеристик объекта, исключая из рассмотрения незначимые.
Соответственно, абстракция — это набор всех таких характеристик.
Инкапсуляция
Инкапсуляция — это свойство системы, позволяющее объединить
данные и методы, работающие с ними, в классе и скрыть детали
реализации от пользователя.
Наследование
Наследование — это свойство системы, позволяющее описать новый
класс на основе уже существующего с частично или полностью
заимствующейся функциональностью. Класс, от которого
производится наследование, называется базовым, родительским или
суперклассом. Новый класс — потомком, наследником или
производным классом.
Полиморфизм
Полиморфизм — это свойство системы использовать объекты с
одинаковым интерфейсом без информации о типе и внутренней
структуре объекта.
Класс
Класс является описываемой на языке терминологии (пространства
имён) исходного кода моделью ещё не существующей сущности
(объекта). Фактически он описывает устройство объекта, являясь
своего рода чертежом. Говорят, что объект — это экземпляр класса.
При этом в некоторых исполняющих системах класс также может
представляться некоторым объектом при выполнении программы
посредством динамической идентификации типа данных. Обычно
классы разрабатывают таким образом, чтобы их объекты
соответствовали объектам предметной области.
Объект
Сущность в адресном пространстве вычислительной системы,
появляющаяся при создании экземпляра класса или копирования
прототипа (например, после запуска
результатов компиляции и связывания исходного кода на выполнение).
Прототип
Прототип — это объект-образец, по образу и подобию которого
создаются другие объекты. Объекты-копии могут сохранять связь с
родительским объектом, автоматически наследуя изменения в
прототипе; эта особенность определяется в рамках конкретного языка.
Тема 3.2: Интегрированная среда разработчика
Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development
environment или integrated debugging environment) — система программных
средств, используемая программистами для разработки программного
обеспечения (ПО).
Обычно среда разработки включает в себя:




текстовый редактор
компилятор и/или интерпретатор
средства автоматизации сборки
отладчик.
Иногда содержит также средства для интеграции с системами управления
версиями и разнообразные инструменты для упрощения
конструирования графического интерфейса пользователя. Многие
современные среды разработки также включают браузер классов, инспектор
объектов и диаграмму иерархии классов — для использования при объектноориентированной разработке ПО. Хотя и существуют ИСР, предназначенные
для нескольких языков программирования — такие,
как Eclipse,NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft
Visual Studio, но обычно ИСР предназначается для одного определённого
языка программирования - как, например, Visual Basic, Delphi, Dev-C++.
Частный случай ИСР — среды визуальной разработки, которые включают в
себя возможность визуального редактирования интерфейса программы.
Обзор
Интегрированные среды разработки были созданы для того, чтобы
максимизировать производительность программиста благодаря тесно
связанным компонентам с простыми пользовательскими интерфейсами. Это
позволит разработчику сделать меньше действий для переключения
различных режимов, в отличие от дискретных программ разработки. Однако,
так как IDE является сложным программным комплексом, то лишь после
долгого процесса обучения среда разработки сможет качественно ускорить
процесс разработки ПО.
Обычно IDE ориентирована на определенный язык программирования,
предоставляя набор функций, который наиболее близко соответствует
парадигмам этого языка программирования. Однако, есть некоторые IDE с
поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo,
последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode.
IDE обычно представляет из себя единственную программу, в которой
проводилась вся разработка. Она обычно содержит много функций для
создания, изменения, компилирования, развертывания и отладки
программного обеспечения. Цель среды разработки заключается в том, чтобы
абстрагировать конфигурацию, необходимую, чтобы объединить утилиты
командной строки в одном модуле, который позволит уменьшить время,
чтобы изучить язык, и повысить производительность разработчика. Также
считается, что трудная интеграция задач разработки может далее повысить
производительность. Например, IDE позволяет проанализировать код и тем
самым обеспечить мгновенную обратную связь и уведомить о
синтаксических ошибках. В то время как большинство современных IDE
являются графическими, они использовались еще до того, как появились
системы управления окнами (которые реализованы в Microsoft Windows или
X11 для *nix-систем). Они были основаны на тексте, используя
функциональные клавиши или горячие клавиши, чтобы выполнить
различные задачи (например, Turbo Pascal). Использование IDE для
разработки программного обеспечения является прямой
противоположностью способа, в котором используются несвязанные
инструменты, такие как vi (текстовый редактор), GCC(компилятор), и т.п.
Тема 3.3: Этапы разработки приложения
Основы методологии проектирования прикладных программ были заложены в
60-е годы XX века известными специалистами Дж. Мартином, Э. Йордоном и Д.
Константайном. На заре применения вычислительной техники разработка
программ, поиск и устранение ошибок были настолько дорогостоящими, что
опытные программисты-практики часто советовали: прежде чем написать хоть
одну строку программы, стоит потратить не менее 60% всего необходимого для
разработки времени на проектирование.
Современные технологии разработки прикладных программ делают построение
приложений фантастически дешевым и быстрым. Квалифицированный
пользователь с помощью Microsoft Access сегодня может за один вечер создать
на персональном компьютере то, что на ранних ЭВМ требовало месяцев работы
(если это вообще было возможным). Кроме того, сейчас стало значительно
легче находить ошибки, устранять их и видоизменять проект в процессе
создания приложения. Современные технологии позволяют создавать очень
сложные приложения. К тому же скорость вычислений по сравнению даже с
предыдущим десятилетием возросла на несколько порядков. Однако несмотря
на мощность средств, если вы не потратите значительных усилий на
определение задач и принципов работы приложения, то впоследствии вам
придется потерять значительно больше времени на всевозможные переделки.
Если проект приложения недостаточно продуман, то добавление новых
функций или устранение недостатков будет связано с большими временными и
финансовыми затратами.
Рассмотрим основные этапы разработки приложения.
Этап 1. Уточнение задач
На первом этапе составляется список всех основных задач, которые в принципе
должны решаться этим приложением, – включая и те, которые не нужны
сегодня, но могут появиться в будущем. Под «основными» задачами
понимаются функции, которые должны быть представлены в формах или
отчетах приложения. Виды фо тоэлектрического эффек та. Законы внешнего
фотоэффекта Гипотеза Планка, блестяще решившая задачу теплового излучения
черного тела, получила подтверждение и дальнейшее развитие при объяснении
фотоэффекта — явления, открытие и исследование которого сыграло важную
роль в становлении квантовой теории. Различают фотоэффект внешний,
внутренний и вентильный. Внешним фотоэлектрическим эффектом
(фотоэффектом) называется испускание электронов веществом под действием
электромагнитного излучения.
Этап 2. Последовательность выполнения задач
Для того, чтобы приложение работало логично и удобно, лучше всего
объединить основные задачи в тематические группы и затем упорядочить
задачи каждой группы так, чтобы они располагались в порядке их выполнения.
Может получиться так, что некоторые задачи будут связаны с разными
группами или, что выполнение некоторой задачи должно предшествовать
выполнению другой, принадлежащей к иной группе.
Этап 3. Анализ данных
После формирования списка задач, наиболее важным этапом является
составление подробного перечня всех данных, необходимых для решения
каждой задачи. Некоторые данные понадобятся в качестве исходных и меняться
не будут. Другие данные будут проверяться и изменяться в ходе выполнения
задачи. Некоторые элементы данных могут быть удалены или добавлены. И
наконец, некоторые данные будут получены с помощью вычислений: их вывод
будет частью задачи, но в базу данных вноситься они не будут.
Этап 4. Определение структуры данных
После предварительного анализа всех необходимых элементов данных нужно
упорядочить их по объектам и соотнести объекты с таблицами и запросами базы
данных. Для реляционных баз данных типа Access используется процесс,
называемый нормализацией, в результате которого вырабатывается наиболее
эффективный и гибкий способ хранения данных.
Этап 5. Разработка макета приложения и пользовательского интерфейса
После задания структуры таблиц приложения, в Microsoft Access легко создать
его макет с помощью форм и связать их между собой, используя несложные
макросы или процедуры обработки событий. Предварительный рабочий макет
легко продемонстрировать заказчику и получить его одобрение еще до
детальной реализации задач приложения.
Этап 6. Создание приложения
В случае очень простых задач созданный макет является практически
законченным приложением. Однако довольно часто приходится писать
процедуры, позволяющие полностью автоматизировать решение всех
намеченных в проекте задач. Поэтому, понадобится создать специальные
связующие формы, которые обеспечивают переход от одной задачи к другой.
Этап 7. Тестирование и усовершенствование
После завершения работ по отдельным компонентам приложения необходимо
проверить функционирование приложения в каждом из возможных режимов.
Необходимо проверить работу макросов, использовав пошаговый режим
отладки, при котором будет выполняться одна конкретная макрокоманда. При
использовании Visual Basic для приложений в вашем распоряжении имеются
разнообразные средства отладки, позволяющие проверить работу приложения,
выявить и исправить ошибки.
По мере разработки автономных разделов приложения желательно передать их
заказчику для проверки их функционирования и получения мнения о
необходимости внесения тех или иных изменений. После того как заказчик
ознакомится с работой приложения, у него практически всегда возникают
дополнительные предложения по усовершенствованию, какой бы тщательной
не была предварительная проработка проекта. Пользователи часто
обнаруживают, что некоторые моменты, о которых в процессе постановки задач
они говорили как об очень важных и необходимых, на самом деле не играют
существенной роли при практическом использовании приложения. Выявление
необходимых изменений на ранних стадиях разработки приложения позволяет
существенно сократить время на последующие переделки.
Тема 3.4: Иерархия классов
Также как и в таксономии (классификации видов) иерархия
классов в информатике означает классификацию объектных типов,
рассматривая объекты как реализацию классов (класс похож на заготовку, а
объект — это то, что строится на основе этой заготовки) и связывая
различные классы отношениями наподобие «наследует», «расширяет»,
«является его абстракцией», «определение интерфейса».
Отношения, установленные в области объектно-ориентированного
проектирования и стандартах интерфейса объектов, определяются наиболее
распространенным использованием, создателями языков
(Java, C++, Smalltalk, Visual Prolog) и комитетами по стандартизации, как
например, Object Management Group.
Производный класс сам в свою очередь может быть базовым классом:
class employee { /* ... */ };
class manager : public employee { /* ... */ };
class director : public manager { /* ... */ };
Такое множество связанных между собой классов обычно называют
иерархией классов. Обычно она представляется деревом, но бывают
иерархии с более общей структурой в виде графа:
class temporary { /* ... */ };
class secretary : public employee { /* ... */ };
class tsec
: public temporary, public secretary { /* ... */ };
class consultant
: public temporary, public manager { /* ... */ };
Видим, что классы в С++ могут образовывать направленный ацикличный
граф.
Тема 3.5: Визуальное событийно-управляемое программирование
Визуальное
и
событийно
управляемое
программирование.
Одной из основных идей ООП яв-ся способность объектов обмениваться
сообщениями друг с другом. Пересылку сообщения можно рассматривать как
вызов соответствующего метода другого объекта. При получении сообщения
вызывается
метод
его
обработки.
Наиболее полезной яв-ся возможность получения объектами сообщения
извне.
На одно и тоже событие объекты могут реагировать по разному. Формально
при пересылке объекту сообщения вызывается метод обработчик.
Наиболее простой моделью событийного программирования яв-ся
приложение
состоящее
из
3
частей.
1.Визуальная – создает образ приложения на экране, с которым будет
взаимодействовать пользователь. Определяет интерфейс пользователя,
состоящий из стандартных элементов. Пользователь, осуществляя работу с
приложением, взаимодействует с интерфейсными объектами, причем все
действия
вызывают
события.
2.При возникновении событий начинает работать системная составляющая,
которая включает средства ОС и средства среды программирования.
Определяет тип и параметры события и сообщает объекту с которым связано
событие, другими словами находит объект и запускает обработчик события.
В обработке события, т е в методе-обработчике программист
предусматривает различные свойства. Программирование на VBA полностью
соответствует
концепции
визуального
и
событийно-управляемого
программирования.
Стандартные обработчики событий предопределены для действий
пользователя над документом. К любому документу можно добавлять новые
интерфейсные элементы и программно задавать обработчики событий. Также
возможно вызывать формы.
Тема 3.6: Разработка оконного приложения
Для создания оконных приложений удобнее всего использовать класс Frame.
В иерархии классов он выглядит следующим образом:
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
|
+----java.awt.Window
|
+----java.awt.Frame
По своей природе этот класс похож на классы Applet и Panel. В объекте
класса Frame можно размещать элементы управления. Класс, производный
от Frame, может раскрывать интерфейсы ActionListener и ItemListener.
Простейшее оконное приложение имеет вид:
// Простое оконное приложение
import java.awt.event.*;
import java.awt.*;
class simpleFrame extends Frame
{
public static void main(String[] args)
{
simpleFrame a= new simpleFrame("Оконное приложение");
}
simpleFrame(String title)
{
setTitle(title);
setSize(400,200);
show();
}
}
На первый взгляд структура программы не совсем привычна - в
функции main создается объект того же класса, к которому принадлежит
функция main. Зато при создании объекта можно вызвать конструктор с
параметрами.
Если вы запустите это приложение, то сразу же обратите внимание, что
кнопка закрытия окна не работает. Для обработки событий окна нужно
писать специальный код. Он может выглядеть, например, так (код
располагается в конструкторе)
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
Это пример определения безымянного класса. Рассмотрим его подробнее.
Мы вызываем метод addWindowListener для того, чтобы назначить
слушателя оконных событий. В качестве параметра создаем объект
класса WindowAdapter. Но этот класс является абстрактным! Поэтому мы
неявно создаем производный от него класс и переопределяем нужные нам
методы - в данном случае обработку события закрытия окна
(метод dispose уничтожает объект Frame). После этого останавливаем
виртуальную машину Java вызовом метода System.exit(0). При компиляции
будет создан класс с именем simpleFrame$1.class
Важным преимуществом объектов Frame является то, что они могут
содержать строку меню. Для создания меню используются
классы MenuBar, Menu иMenuItem (операции по созданию меню удобно
выполнять в конструкторе).
Линейка меню задается с помощью объекта MenuBar. Этот объект нужно
сначала создать, а потом назначить объекту Frame с помощью
метода setMenuBar.
Пункты меню (имеющие подчиненные меню) - это объекты класса Menu. Их
нужно сначала создать, а потом добавить в объект MenuBar с помощью
методаadd.
Конечные пункты меню - это объекты класса MenuItem. Они
конструируются в три шага. Такой объект сначала нужно создать, потом
назначить ему слушателя методом addActionListener, а затем добавить в
объект Menu с
помощью
метода add.
Для обработки событий меню класс, производный от Frame, должен
раскрывать интерфейс ActionListener. Принципы работы те же, что и при
обработке
событий
от
элементов
управления.
Кроме простых пунктов меню можно использовать пункты меню с
"галочками" - подобие элементов управления-переключателей. Для этого
есть специальный класс CheckboxMenuItem. Для обработки событий от
таких пунктов меню класс, производный от Frame, должен раскрывать
интерфейс ItemListener.
Тема 3.7: Введение в графику
История развития компьютерной графики началось уже в 20 веке и
продолжается сегодня. Не секрет то, что именно графика способствовала
быстрому росту быстродействию компьютеров.
1940-1970гг. – время больших компьютеров (эра до персональных
компьютеров). Графикой занимались только при выводе на принтер. В
этот период заложены математические основы.
Особенности: пользователь не имел доступа к монитору, графика
развивалась на математическом уровне и выводилась в виде текста,
напоминающего на большом расстоянии изображение. Графопостроители
появились в конце 60-х годов и практически были не известны.
1971-1985гг. – появились персональные компьютеры, т.е. появился
доступ пользователя к дисплеям. Роль графики резко возросла, но
наблюдалось очень низкое быстродействие
компьютера. Программы писались на ассемблере. Появилось цветное
изображение (256).
Особенности: этот период характеризовался зарождением реальной
графики.
1986-1990гг. – появление технологии Multimedia (Мультимедиа). К
графике добавились обработка звука и видеоизображения, общение
пользователя с компьютером расширилось.
Особенности: появление диалога пользователя с персональным
компьютером; появление анимации и возможности выводить цветное
изображение.
1991-2008гг. – появление графики нашего дня Virtual Reality. Появились
датчики перемещения, благодаря которым компьютер меняет
изображения при помощи сигналов посылаемых на него. Появление
стереоочков (монитор на каждый глаз), благодаря высокому
быстродействию которых, производится имитация реального мира.
Замедление развития этой технологии из-за опасения медиков, т.к.
благодаря Virtual Reality можно очень сильно нарушить психику
человека, благодаря мощному воздействию цвета на неё.
Следствие использования графики
Совершенно изменилась архитектура программ. Если раньше отец
программирования Вирт говорил, что любая программа это алгоритм +
структура данных, то с появлением компьютерной графики на
персональном компьютере программа – это алгоритм + структура данных
+ интерфейс пользователя (графический).
Программирование называют теперь визуальным программированием,
т.е. компилятор дает большое количество диалоговых окон, где вводятся
координаты и виден прообраз результата, и можно менять
прообраз программы.
В 90-х годах появился стандарт изображения схем алгоритмов UML, его
используют все учебники. Он учитывает объектно-ориентированные
программы и способен изображать многозадачность. Имеется
возможность схемы алгоритма рисовать самому из готовых стандартных
форм. Т.к. все программы используют графику (меню, товарные знаки,
всякие вспомогательные изображения) их можно делать в современных
компиляторах, не выходя из компилятора. UML рассматривается как
международный стандарт. В нем 12 групп символов (каждая из групп с
определением определенной специфики) и способов взаимосвязи между
ними.
Переход к графическому интерфейсу был вынужден тем фактом, что
человек воспринимает 80% данных через картинку, и лишь 20% - через
ум, чувства и т.д.
Компьютерная графика – это область знаний о вопросах разработки
систем, активно использующих устройство ввода/вывода графической
информации на персональном компьютере.
Компьютерная графика – максимально быстрый канал передачи
информации человеку.
Доказательство: Если начать ребенку объяснять как выглядит некий
предмет словами – это может занять достаточно долгий промежуток
времени, а если показать картинку – ребенок за считанные мгновения
воспримет намного больше того, что вы могли рассказывать часами.
Тема 3.8: Мультимедиа и анимация
Мультимедиа и анимация
Мы создаем больше, чем красивые движущиеся картинки. Мы создаем
впечатления, вызываем нужные эмоции, желание остановиться, посмотреть,
попробовать самому и вернуться снова.
Для начала надо взять интересную идею и подготовить качественное
содержание. Затем их необходимо оригинально оформить, добавить
динамику, звук и взаимодействие. Важными компонентами являются
здравый смысл и профессиональное исполнение.
Анимированные ролики
Анимированные ролики можно показать на большом экране в выставочном
зале или на улице, транслировать по телевидению, выложить в интернете.
Такие ролики можно использовать в качестве рекламы или заставки.
Интерактивные презентации
Интерактивные презентации, помимо хорошего дизайна и эффектов,
предполагают взаимодействие с пользователем. Структура традиционной
презентации линейна, в то время как разных людей интересуют разные
детали. Наши презентации, позволяют людям перейти к тому, что интересно
и убедительно именно для них.
Кроме того, в мультимедийной презентации можно создавать такие модели,
схемы процессов и бизнес-диаграммы, с которыми можно
взаимодействовать. Люди могут изменять условия и наглядно видеть,
как получается результат.
Промо-игры
Простые на первый взгляд, эти игры затягивают людей с головой. Мы можем
сделать все: от идеи до реализации, но главное — это органично вписать
образы компании и товара в игровую атмосферу. Тогда игра будет работать
на ваш имидж и ваши продажи.
У промо-игр есть еще три немаловажных эффекта. Во-первых, люди сами
распространяют их в интернете, передавая ссылки друг другу. Во-вторых,
люди ставят ссылки на своих сайтах, привлекая посетителей и повышая
ссылочные факторы. В-третьих, люди возвращаются снова и снова.
Презентационные компакт-диски
Такие диски могут содержать презентации, аудио, видеоматериалы, каталоги
продукции и даже мини-сайты. Этому содержимому надо придать достойную
форму: оформить сам диск, его упаковку, сделать мини-буклет, если нужно.
И это еще не все: нужно оформить навигатор по содержимому диска
и убедиться в его работе на разных платформах. Каждый этап требует
специалистов, и эти специалисты есть в студии «Prodes».
Раздел 4: Базы данных
Ба́за да́нных — представленная
в объективной форме совокупность самостоятельных материалов
(статей, расчётов, нормативных актов, судебных решений и иных подобных
материалов), систематизированных таким образом, чтобы эти материалы
могли быть найдены и обработаны с помощью электронной вычислительной
машины (ЭВМ) (Гражданский кодекс РФ, ст. 1260).Другие определения из
авторитетных монографий и стандартов:




База данных — организованная в соответствии с определёнными
правилами и поддерживаемая в памяти компьютера совокупность данных,
характеризующая актуальное состояние некоторой предметной области и
используемая для удовлетворения
информационных потребностей пользователей.[1]
База данных — совокупность данных, хранимых в соответствии со
схемой данных, манипулирование которыми выполняют в соответствии с
правилами средств моделирования данных.[2]
База данных — некоторый набор перманентных (постоянно
хранимых) данных, используемых прикладными программными
системами какого-либо предприятия.[3]
База данных — совместно используемый набор логически связанных
данных (и описание этих данных), предназначенный для удовлетворения
информационных потребностей организации.[4]
Существует множество других определений, отражающих
скорее субъективное мнение тех или иных авторов, однако общепризнанная
единая формулировка отсутствует. Наиболее часто используются следующие
отличительные признаки[5]:
1. БД хранится и обрабатывается в вычислительной системе.
Таким образом, любые внекомпьютерные хранилища информации
(архивы, библиотеки, картотеки и т. п.) базами данных не являются.
2. Данные в БД логически структурированы (систематизированы) с
целью обеспечения возможности их эффективного поиска и обработки
в вычислительной системе.
Структурированность подразумевает явное выделение составных
частей (элементов), связей между ними, а также типизацию элементов
и связей, при которой с типом элемента (связи) соотносится
определённая семантика и допустимые операции.[6]
3. БД включает схему, или метаданные, описывающие логическую
структуру БД в формальном виде (в соответствии с
некоторой метамоделью).
В соответствии с ГОСТ Р ИСО МЭК ТО 10032-2007, «постоянные
данные в среде базы данных включают в себя схему и базу данных.
Схема включает в себя описания содержания, структуры и
ограничений целостности, используемые для создания и поддержки
базы данных. База данных включает в себя набор постоянных данных,
определенных с помощью схемы. Система управления данными
использует определения данных в схеме для обеспечения доступа и
управления доступом к данным в базе данных».[2]
Из перечисленных признаков только первый является строгим, а другие
допускают различные трактовки и различные степени оценки. Можно лишь
установить некоторую степень соответствия требованиям к БД.
В такой ситуации не последнюю роль играет общепринятая практика. В
соответствии с ней, например, не называют базами данных файловые
архивы, Интернет-порталы или электронные таблицы, несмотря на то, что
они в некоторой степени обладают признаками БД. Принято считать, что эта
степень в большинстве случаев недостаточна (хотя могут быть исключения).
Многие специалисты указывают на распространённую ошибку, состоящую в
некорректном использовании термина «база данных» вместо термина
«система управления базами данных», и указывают на необходимость
различения этих понятий.
История
История возникновения и развития технологий баз данных может
рассматриваться как в широком, так и в узком аспекте.
В широком аспекте понятие истории баз данных обобщается до истории
любых средств, с помощью которых человечество хранило и обрабатывало
данные. В таком контексте упоминаются, например, средства учёта царской
казны и налогов в древнем Шумере (4000 г. до н. э.),[8] узелковая
письменность инков — кипу, клинописи, содержащие
документы Ассирийского царства и т. п. Следует помнить, что недостатком
этого подхода является размывание понятия «база данных» и фактическое
его слияние с понятиями «архив» и даже «письменность».
История баз данных в узком аспекте рассматривает базы данных в
традиционном (современном) понимании. Эта история начинается
с 1955 года, когда появилось программируемое оборудование обработки
записей. Программное обеспечение этого времени поддерживало модель
обработки записей на основе файлов. Для хранения данных
использовались перфокарты.[8]
Оперативные сетевые базы данных появились в середине 1960-х. Операции
над оперативными базами данных обрабатывались в интерактивном режиме с
помощью терминалов. Простые индексно-последовательные организации
записей быстро развились к более мощной модели записей, ориентированной
на наборы. За руководство работой Data Base Task Group (DBTG),
разработавшей стандартный язык описания данных и манипулирования
данными, Чарльз Бахман получил Тьюринговскую премию.
В это же время в сообществе баз данных COBOL была проработана
концепция схем баз данных и концепция независимости данных.
Следующий важный этап связан с появлением в начале 1970-х реляционной
модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли
путь к тесной связи прикладной технологии баз данных с математикой и
логикой. За свой вклад в теорию и практику Эдгар Ф. Кодд также
получил премию Тьюринга.
Сам термин database (база данных) появился в начале 1960-х годов, и был
введён в употребление на симпозиумах, организованных фирмой SDC
(System Development Corporation) в 1964 и 1965 годах, хотя понимался
сначала в довольно узком смысле, в контексте систем искусственного
интеллекта. В широкое употребление в современном понимании термин
вошёл лишь в 1970-е годы.[9]
Виды баз данных
Существует огромное количество разновидностей баз данных, отличающихся
по различным критериям. Например, в «Энциклопедии технологий баз
данных»,[1] по материалам которой написан данный раздел, определяются
свыше 50 видов БД.
Раздел 4.1: Проектирование базы данных и создание таблиц
Проектирование баз данных — процесс создания схемы базы данных и
определения необходимых ограничений целостности. Основные задачи
проектирования баз данных
Основные задачи:
Обеспечение хранения в БД всей необходимой информации.

Обеспечение возможности получения данных по всем необходимым
запросам.

Сокращение избыточности и дублирования данных.

Обеспечение целостности данных (правильности их содержания):
исключение противоречий в содержании данных, исключение их потери и
т.д.
Основные этапы проектирования баз данных

Концептуальное (инфологическое) проектирование
Концептуальное (инфологическое) проектирование — построение
семантической модели предметной области, то есть информационной модели
наиболее высокого уровня абстракции. Такая модель создаётся без
ориентации на какую-либо конкретную СУБД и модель данных. Термины
«семантическая модель», «концептуальная модель» и «инфологическая
модель» являются синонимами. Кроме того, в этом контексте равноправно
могут использоваться слова «модель базы данных» и «модель предметной
области» (например, «концептуальная модель базы данных» и
«концептуальная модель предметной области»), поскольку такая модель
является как образом реальности, так и образом проектируемой базы данных
для этой реальности.
Конкретный вид и содержание концептуальной модели базы данных
определяется выбранным для этого формальным аппаратом. Обычно
используются графические нотации, подобные ER-диаграммам.
Чаще всего концептуальная модель базы данных включает в себя:
описание информационных объектов, или понятий предметной области
и связей между ними.

описание ограничений целостности, т.е. требований к допустимым
значениям данных и к связям между ними.
[править]Логическое (даталогическое) проектирование

Логическое (даталогическое) проектирование — создание схемы базы
данных на основе конкретной модели данных, например, реляционной
модели данных. Для реляционной модели данных даталогическая модель —
набор схем отношений, обычно с указанием первичных ключей, а также
«связей» между отношениями, представляющих собой внешние ключи.
Преобразование концептуальной модели в логическую модель, как правило,
осуществляется по формальным правилам. Этот этап может быть в
значительной степени автоматизирован.
На этапе логического проектирования учитывается специфика конкретной
модели данных, но может не учитываться специфика конкретной СУБД.
Физическое проектирование
Физическое проектирование — создание схемы базы данных для
конкретной СУБД. Специфика конкретной СУБД может включать в себя
ограничения на именование объектов базы данных, ограничения на
поддерживаемые типы данных и т.п. Кроме того, специфика конкретной
СУБД при физическом проектировании включает выбор решений, связанных
с физической средой хранения данных (выбор методов управления дисковой
памятью, разделение БД по файлам и устройствам, методов доступа к
данным), создание индексов и т.д.
Нормализация
Основная статья: Нормальная форма
При проектировании реляционных баз данных обычно выполняется так
называемая нормализация.
Модели «сущность-связь»
Основная статья: ER-модель данных
Модель «сущность-связь» (англ. “Entity-Relationship model”), или ER-модель,
предложенная П. Ченом[1] в 1976 г., является наиболее известным
представителем класса семантических (концептуальных, инфологических)
моделей предметной области. ER-модель обычно представляется в
графической форме, с использованием оригинальной нотации П. Чена,
называемой ER-диаграмма, либо с использованием других графических
нотаций (Crow's Foot, Information Engineering и др.).
Основные преимущества ER-моделей:



наглядность;
модели позволяют проектировать базы данных с большим количеством
объектов и атрибутов;
ER-модели реализованы во многих системах автоматизированного
проектирования баз данных (например, ERWin).
Основные элементы ER-моделей:



объекты (сущности);
атрибуты объектов;
связи между объектами.
Сущность — объект предметной области, имеющий атрибуты.
Связь между сущностями характеризуется:
типом связи (1:1, 1:N, N:М);

классом принадлежности. Класс может быть обязательным и
необязательным. Если каждый экземпляр сущности участвует в связи, то
класс принадлежности — обязательный, иначе — необязательный.
Семантические модели

Семантическая модель (концептуальная модель, инфологическая модель) –
модель предметной области, предназначенная для представления семантики
предметной области на самом высоком уровне абстракции. Это означает, что
устранена или минимизирована необходимость использовать понятия
«низкого уровня», связанные со спецификой физического представления и
хранения данных.
Дейт К. Дж. Введение в системы баз данных. — 8-е изд. — М.:
«Вильямс», 2006:
Семантическое моделирование стало предметом интенсивных исследований
с конца 1970-х годов. Основным побудительным мотивом подобных
исследований (т.е. проблемой, которую пытались разрешить исследователи)
был следующий факт. Дело в том, что системы баз данных обычно обладают
весьма ограниченными сведениями о смысле хранящихся в них данных.
Чаще всего они позволяют лишь манипулировать данными определенных
простых типов и определяют некоторые простейшие ограничения
целостности, наложенные на эти данные. Любая более сложная
интерпретация возлагается на пользователя. Однако было бы замечательно,
если бы системы могли обладать немного более широким объемом сведений
и несколько интеллектуальнее отвечать на запросы пользователя, а также
поддерживать более сложные (т.е. более высокоуровневые) интерфейсы
пользователя.
[…]
Идеи семантического моделирования могут быть полезны как средство
проектирования базы данных даже при отсутствии их непосредственной
поддержки в СУБД.
Наиболее известным представителем класса семантических моделей является
модель «сущность-связь» (ER-модель).
Тема 4.2: Управление записями: добавление, редактирование, удаление
и навигация
Если необходимо добавить данные в базу данных Microsoft Office
Access 2003 или внести изменения в содержащиеся в ней данные, большую
часть работы можно выполнить в режиме форм (Форма. Объект базы данных
Microsoft Access, в котором разработчик размещает элементы управления,
принимающие действия пользователей или служащие для ввода,
отображения и изменения данных в полях.) и таблиц (Объект в режиме
таблицы. Данные из таблицы, формы, запроса, представления или хранимой
процедуры, отображаемые в формате строк и столбцов.). После того как
таблицы и запросы (Запрос. Требование на отбор данных, хранящихся в
таблицах, или требование на выполнение определенных действий с данными.
Запрос позволяет создать общий набор записей из данных, находящихся в
разных таблицах, который будет служить источником данных для формы,
отчета или страницы доступа к данным.) разработаны, режим форм или
таблиц можно использовать для работы с данными. Можно также
использовать страницу доступа к данным (Страница доступа к данным. Вебстраница, созданная для просмотра данных из Интернета или интрасети и
работы с ними. Данные страницы обычно хранятся в базе данных Access.)
для добавления или изменения данных при работе с базой данных,
находящейся в интрасети (Интрасеть. Компьютерная сеть внутри
организации, использующая технологии Интернета (например, протоколы
HTTP и FTP). Переходы между документами, веб-страницами и другими
объектами выполняются в интрасети с помощью гиперссылок.) или в
Интернете (Интернет. Всемирная компьютерная сеть, объединяющая тысячи
небольших сетей и миллионы коммерческих, образовательных,
правительственных и персональных компьютеров. Интернет подобен
огромному городу с электронными библиотеками, магазинами, бюро,
картинными галереями и т. п.).
Добавление записи
1. Чтобы добавить запись, выполните одно из следующих действий:
o Если вы работаете с формой, откройте соответствующую форму
в режиме формы.
o Если вы работаете со страницей доступа к данным, откройте
соответствующую страницу в режиме страницы. Если на вашем
компьютере приложение Access не установлено, откройте эту
страницу в веб-обозревателе.
Если вы работаете с таблицей, откройте соответствующую
таблицу в режиме таблицы.
2. При работе в режиме таблицы или в режиме формы нажмите
кнопку Новая запись на навигационной панели инструментов. Чтобы
добавить запись в подчиненной форме, нажмите кнопку Новая
запись на навигационной панели инструментов подчиненной формы.
Если у подчиненной формы нет навигационной панели инструментов
или эта кнопка недоступна, добавить запись к подчиненной форме
нельзя. При работе со страницей доступа к данным нажмите
кнопку Новая запись на панели перехода по записям.
Примечание. Если кнопка Новая запись на странице недоступна, это
означает, что у вас нет разрешения на добавление новых записей.
Обратитесь к владельцу базы данных. Если кнопки Новая запись на
странице доступа к данным не видно, это означает, что страница
предназначена только для чтения или разработчик изменил внешний
вид этой кнопки. Посмотрите инструкции по использованию этой
страницы или обратитесь к разработчику страницы.
3. Введите данные, а затем нажмите клавишу TAB, чтобы перейти к
следующему полю.
Советы
o Чтобы начать новую строку в поле, которое поддерживает
многострочный текст, нажмите сочетание клавиш CTRL+ВВОД.
o Чтобы предотвратить автоматическое завершение ввода при
наборе значения поля со списком, установите для
свойстваАвтоподстановка этого элемента управления
значение Нет.
o
При попытке выйти из поля после изменения данных в приложении
Access проверяется, являются ли введенные данные допустимыми для
этого поля. Если значение не является допустимым, появляется
предупреждающее сообщение.
Чтобы выйти из поля после появления предупреждающего сообщения,
следует либо заменить введенные данные допустимым значением, либо
отменить внесенные изменения, нажав клавишу ESC. Этот процесс
называется проверкой на уровне полей.
4. Когда ввод данных в каждое из полей записи будет закончен, нажмите
кнопку Новая запись, чтобы добавить еще одну запись, или перейдите
в другую запись.
Примечание. Нельзя вставить новую запись между двумя
существующими записями. Однако порядок следования записей можно
изменить путем сортировки.
При переходе к другой записи в приложении Access сначала проверяется,
можно ли сохранить всю запись (проверка на уровне записи), после чего
происходит сохранение изменений. Если запись нельзя сохранить,
необходимо либо внести необходимые исправления, либо отменить
изменения.
Изменение записи
Можно изменить данные в одном или нескольких полях записи. Например,
если требуется исправить написание названия клиентской компании, можно
открыть форму «Клиенты» в режиме формы, перейти к записи,
соответствующей данному клиенту, и отредактировать поле «Название» в
этой форме. При переходе к другой записи в приложении Access это поле в
соответствующей таблице будет изменено автоматически.
1. Откройте форму (в режиме формы), страницу (в обозревателе или в
режиме страницы) или таблицу (в режиме таблицы), в которой
необходимо отредактировать запись.
2. Перейдите к нужной записи с помощью кнопок на панели
инструментов навигации.
3. С помощью мыши, клавиши TAB или клавиш со стрелками перейдите
к полю, которое требуется отредактировать.
Чтобы полностью заменить содержимое поля в таблице, поместите
указатель мыши вблизи левого края поля и, когда он примет форму
знака «плюс», как показано в приведенном ниже примере, выполните
щелчок. При работе с формой щелкните имя поля.
Чтобы добавить текст к существующему содержимому поля, поместите
курсор в то место, в которое необходимо добавить новые символы.
Курсор можно перемещать с помощью клавиш со стрелками. В
приведенном ниже примере курсор находится в конце текущего
содержимого поля, поэтому все, что будет вводиться, добавится к
строке «Alfreds FutterKiste».
4. Введите текст в поле.
Примечание. Если при вводе текста допущена опечатка, нажмите
клавишу BACKSPACE. Если требуется отменить все сделанные в поле
изменения, нажмите клавишу ESC.
При попытке выйти из поля после изменения данных в приложении
Access проверяется, являются ли введенные данные допустимыми для
этого поля. Если значение не является допустимым, появляется
предупреждающее сообщение.
Чтобы выйти из поля, следует либо заменить введенные данные
допустимым значением, либо отменить внесенные изменения, нажав
клавишу ESC.
При переходе к другой записи в приложении Access сначала
выполняется проверка на уровне записи, после чего происходит
сохранение изменений. Если запись нельзя сохранить, необходимо
либо внести необходимые исправления, либо отменить изменения.
Удаление содержимого поля или удаление всей записи
Текст в поле можно удалить и оставить поле пустым (если в поле
допускается значение Null), либо можно заменить текст другим
значением. Можно также необратимо удалить одну или несколько
записей в таблице:
o
o
o
Чтобы удалить текст в поле, выделите текст и нажмите клавишу
DEL.
Чтобы удалить одну или несколько записей в таблице или в
форме, выделите записи и нажмите клавишу DEL.
Чтобы удалить запись на странице доступа к данным, нажмите
кнопку Удалить на панели перехода по записям.
Примечание. Чтобы временно скрыть одну или несколько записей
при работе в каком-либо режиме, примените один или несколько
фильтров.
Навигация. Пример "Изменение адреса клиента"
Клиент сообщил вам, что у него изменился адрес, и вам необходимо
обновить данные в базе данных «Борей».
4.
Откройте форму «Клиенты» в базе данных «Борей».
5. Нажимайте кнопку Следующая запись до тех пор, пока не
появится запись, относящаяся к данному клиенту.
Символ индикатора записи у левой границы формы или
страницы доступа к данным указывает состояние текущей
записи. Если индикатор записи не виден, убедитесь, что
значением свойства Область выделения формы является Да или
значением свойстваRecordSelector уровня группы страницы
является значение Истина.
Ниже показаны три символа индикатора записи, которые
отображаются чаще всего.
Символ
Значение
Текущая запись, нет несохраненных изменений
Текущая запись, идет процесс редактирования
Текущая запись, заблокированная другим пользователем
и недоступная для редактирования
6.
Щелкните внутри поля «Адрес» и замените содержащийся в нем текст
новым адресом. Символ индикатора записи изменится, показывая, что есть
несохраненные изменения.
Примечание. В многопользовательской среде, если запись заблокирована
другим пользователем, символ индикатора записи изменится на символ
заблокированной записи, обозначающий, что запись не может быть
изменена.
7.
Нажмите кнопку Предыдущая запись, а затем кнопку Следующая
запись, чтобы заново перейти на редактируемую запись. При выходе
пользователя из редактируемой записи в приложении Access производится
проверка содержимого записи и ее сохранение. При повторном входе на эту
запись будут отображаться изменения, сделанные пользователем.
Тема 4.3: Индексирование: понятие индекса, типы индексных файлов.
Создание, активация и удаление индекса. Переиндексирование
Создание ключей в базовых отношениях автоматически связано с созданием
индексов.
Дадим определение понятия индекса.
Индекс – это системная структура данных, в которой размещается
обязательно упорядоченный перечень значений какого-либо ключа со
ссылками на те кортежи отношения, в которых эти значения встречаются.
Индексы в системах управления базами данных бывают двух видов:
1) простые.
Простой индекс берется для подсхемы схемы базового отношения из одного
атрибута;
2) составные.
Соответственно составной индекс – это индекс для подсхемы, состоящей из
нескольких атрибутов.
Но, кроме деления на простые и составные индексы, в системах управления
базами данных существует деление индексов на уникальные и неуникальные.
Итак:
1) уникальные индексы – это индексы, ссылающиеся не более чем на один
атрибут.
Уникальные индексы, как правило, соответствуют первичному ключу
отношения;
2) неуникальные индексы – это индексы, могущие соответствовать
нескольким атрибутам одновременно.
Неуникальные ключи, в свою очередь, чаще всего соответствуют внешним
ключам отношения.
Рассмотрим пример, иллюстрирующий деление индексов на уникальные и
неуникальные, т. е. рассмотрим следующие отношения, заданные таблицами:
Здесь соответственно Primary key – первичный ключ отношения, Foreign key
– внешний ключ. Понятно, что в этих отношениях, индекс атрибута Primary
key – уникальный, так как он соответствует первичному ключу, т. е. одному
атрибуту, а индекс атрибута Foreign key – неуникальный, ведь он
соответствует ключам внешним. И его значение «20» соответствует
одновременно первой и третьей строкам таблицы-отношения.
Но иногда индексы могут создаваться без отношения к ключам. Это делается
в системах управления базами данных для поддержки производительности
операций сортировки и поиска.
Например, дихотомический поиск значения индекса в кортежах будет
реализован в системах управления базами данных за двадцать итераций.
Откуда получены эти сведения? Они были получены путем несложных
вычислений, т. е. следующим образом:
106 = (103)2 = 220;
Создаются индексы в системах управления базами данных при помощи уже
известного нам оператора Create, но только с добавлением ключевого слова
index. Выглядит такой оператор следующим образом:
Create index имя индекса
On имя базового отношения (имя атрибута,..);
Здесь мы видим знакомый нам металингвистический символ «,..»,
обозначающий возможность повтора аргумента через запятую, т. е. в этом
операторе может быть создан индекс, соответствующий нескольким
атрибутам.
Если требуется объявить уникальный индекс, перед словом index добавляют
ключевое слово unique, и тогда весь оператор создания в базовом отношении
индекса принимает следующий вид:
Create unique index имя индекса
On имя базового отношения (имя атрибута);
Тогда в самом общем виде, если вспомнить правило обозначения
необязательных элементов (металингвистический символ []), оператор
создания индекса в базовом отношении будет выглядеть следующим
образом:
Create [unique] index имя индекса
On имя базового отношения (имя атрибута,..);
Если требуется удалить из базового отношения уже имеющийся индекс,
используют оператор Drop, также уже известный нам:
Drop index {имя базового отношения. Имя индекса},.. ;
Почему здесь используется уточненное имя индекса «имя базового
отношения. Имя индекса»? В операторе удаления индекса всегда
используется его уточненное имя, потому что имя индекса должно быть
уникальным в пределах одного отношения, но не больше.
Тема 4.4: Сортировка, поиск и фильтрация данных
В режиме таблицы, где данные выводятся в формате строк и столбцов,
можно настраивать макет таблицы, устанавливая нужный состав столбцов,
изменяя размещение и ширину столбцов, высоту строк, шрифт данных и т.д.
в этом режиме могут быть представлены также запросы и формы.
При наличии соответствующих прав доступа пользователь может
корректировать данные таблиц в режиме таблицы или формы, выполняя
добавление и удаление записей, а также обновление значений полей
При просмотре записей в режиме таблицы или формы можно
осуществлять поиск записей, сортировку записей по одному или нескольким
полям и фильтрацию записей в соответствии с заданными условиями отбора.
Поиск и замена значений в полях
Для поиска значений в текущем или во всех полях таблицы необходимо в
режиме таблицы или формы нажать кнопку панели инструментов Найти или
воспользоваться командой меню Правка | Найти.
В появившемся диалоговом окне Поиск и замена На вкладке Поиск в
поле Образец вводится значение, которое требуется найти в полях таблицы.
В раскрывающемся списке Поиск в выбирается область поиска. Если в
таблице не выделен ни один из столбцов, этот раскрывающийся список
позволяет выбрать в качестве области поиска поле, в котором установлен
курсор, или таблицу целиком. Если в таблице выделено несколько столбцов,
то этот список неактивен и поиск автоматически производится только в
выделенных столбцах. В раскрывающемся списке Совпадение можно
выбрать степень совпадения значений: С начала поля, С любой частью
поля, Поля целиком. Раскрывающийся список Просмотр в нижней части
окна позволяет выбрать направление поиска, которое может принимать
значения Все, Вверх, Вниз.
Если выбрать в диалоговом окне вкладку Замена, оно дополнится
раскрывающимся списком Заменить на, позволяющим ввести в найденные
поля новое значение.
Сортировка записей
Сортировка записей по возрастанию или убыванию значений одного поля
(поля сортировки) может бать выполнена как в режиме таблицы, так и в
режиме формы.
Для сортировки записей можно также использовать команду
меню Записи | Сортировка. Для сортировки записей формы по нескольким
полям она должна быть открыта в режиме таблицы. При переходе в режим
формы просмотр записей формы будет осуществляться в соответствии с
произведенной сортировкой. Данные, которые хранятся в таблицах базы
данных, могут быть эффективно использованы только при условии если
существуют простые и доступные средства поиска нужной информации.
Таблицы могут содержать огромное число записей, и хорошая СУБД должна
обеспечить возможность быстро и легко найти и отобрать среди них нужные.
Access 2002 является в этом отношении примером того, как можно при
выполнении этих операций обеспечить максимальное удобство для
пользователей и в то же время эффективность обработки больших объемов
данных.
Тема 4.5: Взаимосвязи между таблицами: установление и удаление.
Типы ключей. Способы объединения таблиц
Создание связей между таблицами - последний этап физического
проектирования БД. Связь между таблицами устанавливает отношение
между совпадающими значениями в ключевых полях. В большинстве
случаев связывают первичный ключ главной таблицы с внешним ключом
подчинённой таблицы (часто имеющим то же имя), например, первый
ключ Код контрагента таблицы Контрагенты и внешний ключ Код
контрагента таблицы ЖХО. Существуют четыре типа отношений:
1. Один - к одному 1
1. Запись таблицы А может иметь не более
одной связанной записи в таблице В и наоборот. Ключевое поле в
таких таблицах должно быть уникальным.
2. Многие - к одному
1. Одной записи в таблице А может
соответствовать одна запись в таблице В, а одной записи в таблице В несколько записей в таблице А. В таблице В ключевое поле должно
быть уникальным.
3. Один - ко многим 1
. Каждой записи в таблице А могут
соответствовать несколько записей в таблице В, а запись в таблице В
не может иметь более одной соответствующей записи в таблице А. В
таблице А ключевое поле должно быть уникальным. Отношения вида 1
и 1 отличаются тем, какая таблица является главной.
4. Многие - ко многим
. Такая таблица не нормализована.
Одной записи таблицы А может соответствовать несколько записей
таблицы В и наоборот. Уникальных ключей нет. Все ключи внешние. В
этом случае таблицу надо нормализовать, используя
инструментАнализатор таблиц (меню Сервис, Анализ, Таблица,
запускается мастер).
Связанные поля не обязательно должны иметь одинаковые имена
(поле Номер счёта таблицы План счетов и поле Дебет таблицы ЖХО), но
обязательно должны иметь одинаковые типы данных. Поля
типа Числовой должны иметь одинаковые значения свойства Размер поля.
Разрешается связывать типы полей Счётчик и Числовое, Длинное
целое (или Счётчик и Числовое поле, если код репликации задан для обоих
полей). Перед установкой связей следует закрыть все таблицы.
Находясь в окне БД, нажать кнопку Схема данных, затем Добавить
таблицу (или команда меню Связи, Добавить таблицу), появится
окно Добавление таблицы . Выбрать таблицу из списка (один раз щёлкнуть
левой кнопкой мыши) и нажать кнопкуДобавить, выбрать следующую
таблицу, нажать кнопку Добавить и т.д. Выбрать все таблицы, затем нажать
кнопку Закрыть. Затем уцепить левой кнопкой мыши поле первой таблицы
со стороны связи 1 и тащить, опустить на то же поле другой таблицы,
появится ДО Изменение связей внизу указан тип отношения один - ко
многим, нажать кнопку Создать. Для удаления связи - щёлкнуть правой
кнопкой мыши нужную связь и выбрать команду Удалить, для изменения два раза щёлкнуть линию связи, появится ДОИзменение связей, которое
имеет
три
флажка:
означает выполнение
условий
Обеспечение
корректного
целостности
внесения
данных
записей,
Каскадное обновление связанных полей,
Каскадное удаление связанных
полей означают, что при изменении (или удалении) значений первичного
ключа главной таблицы автоматически меняются (или удаляются)
соответствующие значения внешнего ключа подчиненной таблицы.
Связи следует создавать при пустых таблицах, иначе нельзя будет установить
эти параметры целостности БД (или какой-либо из них).
При составном ключе в окне Изменение связей необходимо для каждого
ключа главной таблицы (Таблица) выбрать соответствующее поле
подчинённой таблицы (Связанная таблица). При установлении связи по
составному ключу необходимо выделить все поля, входящие в ключ главной
таблицы, и перетащить их на одно из полей связи в подчинённой таблице.
При выделении полей удерживать клавишу <Ctrl>.
Установленные связи используются при создании запросов, форм и
отчётов, их называют постоянными. Надо сохранить макет схемы данных,
нажав кнопку Сохранить. Закрыть окно Схема данных. Установим связи
между всеми таблицами в соответствии с логической
1. Объединение только тех записей, в которых связанные поля
обеих таблиц совпадают (внутреннее объединение).
2. Объединение всех записей из таблицы А и только тех из таблицы В,
в которых связанные поля совпадают (левое внешнее объединение).
3. Объединение всех записей из таблицы В и только тех из таблицы А,
в которых связанные поля совпадают (правое внешнее объединение).
Для связей между таблицами на уровне БД лучше использовать только
внутреннее объединение, а оба внешние объединения - при создании
запросов.
В MS Access 2000 существуют два способа организации связи: создание
непосредственных связей (вручную) с помощью инструментаСхема данных и
создание вложенных таблиц. Чтобы создать вложенную таблицу, надо
открыть главную таблицу в режиме просмотра, активизировать поле
первичного ключа (необязательно) и выполнить команду меню Вставка,
Подтаблица, появится ДО, в котором выбрать подчинённую таблицу и
указать: в списке Подчинённые поля - внешний ключ (первичный ключ
подчинённой таблицы) и в спискеОсновные поля - первичный ключ главной
таблицы, ОК. Рядом с именем поля первичного ключа главной таблицы
появится знак
. При щелчке мыши по нему открывается подчинённая
(связанная) таблица.
Тема 4.6: Создание программных файлов: операторы цикла и ветвления.
Модульность программ. Область действия переменных. Функции СУБД
Создание и развертывание программного пакета
Для развертывания программного обеспечения на управляемых компьютерах
сначала необходимо создать программный пакет, а затем утвердить его для
развертывания в группах компьютеров.
Мастер создания программного пакета облегчает развертывание
программного обеспечения. Если после завершения работы с мастером
создания пакета развертывание будет утверждено, оно начнется немедленно.
Если работа мастера завершается без утверждения развертывания, то
программный пакет создается, но развертывание программного обеспечения
на управляемых компьютерах не начинается без дополнительного
утверждения.
В случае, если при развертывании приложения установщика Windows агент
на управляемом компьютере обнаруживает, что развернутое приложение уже
установлено, данное приложение не переустанавливается.
Важно!
Если в точке установки приложений развертывается версия пакета Microsoft Office, к
основному выпуску, такому как окончательная первоначальная версия (RTM), SP1, S
версия устанавливается вместе с некоторыми примененными обновлениями), тогда о
неправильно определяться или загружаться для данной точки установки приложений
Создание программного пакета и утверждения развертывания
1. В консоли Essentials выберите пункт Программное обеспечение.
2. На панели Обзор программного обеспечения в
списке Задачи выберите команду Создать пакет, чтобы
запустить Мастер создания программного пакета.
3. Выполните все необходимые действия в мастере создания
программного пакета.
Примечание
При указании пути и имени файла установки длина имени файла с учетом пути
символов, а длина имени папки должна быть меньше 248 символов. Можно изм
уменьшив степень вложения, или сократить их имена, чтобы все пути стали кор
При использовании исполняемых файлов (EXE) на странице мастера Типы цел
предложено выбрать, следует ли устанавливать программное обеспечение на вс
или только на некоторых системах (при этом допускается выбор операционной
языка). При использовании файлов установщика Windows .msi можно задать св
но не тип операционной системы. Сведения о поддерживаемых операционных
установщика Windows.
4. В ходе создания программного пакета установите на последней
странице мастера флажок Показать параметры развертывания
после завершения работы мастера, а затем нажмите кнопку Готово.
5. В диалоговом окне Добавить и удалить утверждения выберите
группы компьютеров, содержащие компьютеры, на которых
необходимо развернуть программное обеспечение, или выберите
команду Создать новую группу, чтобы создать новую группу
компьютеров.
6. Выберите команду Опубликовать обновления в компоненте
"Установка и удаление программ", если программа должна
отображаться в списке установленных программ на целевых
компьютерах.
7. Выберите команду Задать крайний срок для этой группы, чтобы
запланировать развертывание на конкретное время, а затем нажмите
кнопку ОК.
Утверждение развертывания ранее созданного программного пакета
1. В консоли Essentials выберите пункт Программное обеспечение.
2. На панели Программное обеспечение раскройте узел Программные
пакеты, а затем выберите Все программные пакеты.
3. На панели Все программные пакеты выберите программный пакет,
который необходимо утвердить для развертывания.
4. На панели Действия щелкните Добавить и удалить утверждения.
5. В диалоговом окне Добавить и удалить утверждения выберите
группы компьютеров, содержащие компьютеры, на которых
необходимо развернуть программное обеспечение, или выберите
команду Создать новую группу, чтобы создать новую группу
компьютеров.
6. Выберите команду Опубликовать обновления в компоненте
"Установка и удаление программ", если программа должна
отображаться в списке установленных программ на целевых
компьютерах.
7. Выберите команду Задать крайний срок для этой группы, чтобы
запланировать развертывание на конкретное время, а затем нажмите
кнопку ОК.
Создание программного пакета, содержащего файл ответов
Многие средства установки программного обеспечения предполагают ввод
данных конечным пользователем в виде ответов на вопросы в диалоговых
окнах. Автоматическая установка — это установка, при которой у
пользователя не запрашивается ввод данных. В случае автоматической
установки входные данные берутся из файла ответов. Файл ответов — это
текстовый файл с параметрами конфигурации и установки устанавливаемых
продуктов и компонентов. Формат файлов ответов аналогичен формату INIфайла, но эти файлы имеют расширение ISS.
Создание файла ответов, если исполняемый файл установки
поддерживает относительные пути
1. Создайте файл ответов для программы установки.
2. Скопируйте файл ответов в ту же папку, что и файлы установки.
3. В параметрах командной строки для пакета укажите имя файла
ответов. Например, в рассматриваемом примере файлы TEST-Install.iss,
setup.log и программа установки TEST.exe упаковываются вместе. В
приведенном ниже примере показано, как указать имена файлов в
параметрах командной строки.
4. c:\test_temp> TEST.exe /s /f1"TEST-Install.iss" /f2"setup.log"
Создание файла ответов, если исполняемый файл установки
поддерживает абсолютные пути
1. Создайте файл ответов для программы установки.
2. Скопируйте файл конфигурации в папку локальной сети. На
компьютерах, на которых устанавливается программа, одна из букв
диска должна быть сопоставлена этой папке.
3. В параметрах командной строки для пакета укажите имя файла
ответов. Например, если вместе упаковываются файлы TEST-Install.iss,
setup.log и файл программы установки TEST.exe, укажите имена
файлов в параметрах командной строки следующим образом
(предполагается, что сетевой папке сопоставлена буква Z):
c:\test_temp> TEST.exe /s /f1"Z:\test_temp\response\TEST-Install.iss"
/f2"Z:\test_temp\setup.log"
Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность
программных и лингвистических средств общего или специального
назначения, обеспечивающих управление созданием и использованием баз
данных[1].
Основные функции СУБД




управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти с
использованием дискового кэша;
журнализация изменений, резервное копирование и восстановление
базы данных после сбоев;
поддержка языков БД (язык определения данных, язык
манипулирования данными).
Обычно современная СУБД содержит следующие компоненты:



ядро, которое отвечает за управление данными во внешней и
оперативной памяти, и журнализацию,
процессор языка базы данных, обеспечивающий оптимизацию
запросов на извлечение и изменение данных и создание, как правило,
машинно-независимого исполняемого внутреннего кода,
подсистему поддержки времени исполнения, которая
интерпретирует программы манипуляции данными, создающие
пользовательский интерфейс с СУБД
а также сервисные программы (внешние утилиты), обеспечивающие
ряд дополнительных возможностей по обслуживанию информационной
системы.
[править]Классификации СУБД

[править]По модели данных
Примеры:
Иерархические

Сетевые

Реляционные

Объектно-ориентированные

Объектно-реляционные
[править]По степени распределённости

Локальные СУБД (все части локальной СУБД размещаются на одном
компьютере)

Распределённые СУБД (части СУБД могут размещаться на двух и
более компьютерах).
[править]По способу доступа к БД


Файл-серверные
В файл-серверных СУБД файлы данных располагаются централизованно
на файл-сервере. СУБД располагается на каждом клиентском компьютере
(рабочей станции). Доступ СУБД к данным осуществляется через локальную
сеть. Синхронизация чтений и обновлений осуществляется посредством
файловых блокировок. Преимуществом этой архитектуры является низкая
нагрузка на процессор файлового сервера. Недостатки: потенциально
высокая загрузка локальной сети; затруднённость или
невозможность централизованного управления; затруднённость или
невозможность обеспечения таких важных характеристик как
высокаянадёжность, высокая доступность и высокая безопасность.
Применяются чаще всего в локальных приложениях, которые используют
функции управления БД; в системах с низкой интенсивностью обработки
данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

Клиент-серверные
Клиент-серверная СУБД располагается на сервере вместе с БД и
осуществляет доступ к БД непосредственно, в монопольном режиме. Все
клиентские запросы на обработку данных обрабатываются клиент-серверной
СУБД централизованно. Недостаток клиент-серверных СУБД состоит в
повышенных требованиях к серверу. Достоинства: потенциально более
низкая загрузка локальной сети; удобство централизованного управления;
удобство обеспечения таких важных характеристик как
высокая надёжность, высокая доступность и высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL
Server, Sybase Adaptive Server
Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

Встраиваемые
Встраиваемая СУБД — СУБД, которая может поставляться как составная
часть некоторого программного продукта, не требуя процедуры
самостоятельной установки. Встраиваемая СУБД предназначена для
локального хранения данных своего приложения и не рассчитана на
коллективное использование в сети. Физически встраиваемая СУБД чаще
всего реализована в виде подключаемой библиотеки. Доступ к данным со
стороны приложения может происходить через SQL либо через
специальные программные интерфейсы.
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL
Server Compact, ЛИНТЕР.
Тема 4.7: Типы меню. Работа с меню: создание, модификация, активация
и удаление
Меню́ (англ. menu, фр. menu) — элемент интерфейса пользователя,
позволяющий выбрать одну (в простейшем случае) из нескольких
перечисленных опций.
В современных операционных системах меню является важнейшим
элементом графического интерфейса пользователя.
Элементы меню
Меню представляет собой набор следующих элементов:

строка меню (англ. menu bar) — основная часть меню, которая
постоянно находится в окне приложения (реже, скрывается и появляется
при определённых действиях пользователя). Данная строка является так
называемым главным меню окна (англ. main menu) или меню верхнего
уровня (англ. top-level menu);


всплывающее меню (англ. popup menu) или подменю (англ. submenu).
Выбор элемента главного меню обычно приводит к вызову
появляющегося под главным подменю, которое в свою очередь может
содержать подменю;
пункт меню — отдельные опции приложения.
Пункты всплывающих меню могут быть отмечены (англ. checked), при этом
для идентификации того, что пункт выбран, используются либо специальные
пометки (см.чекбокс) (например, в Microsoft
Windows и GNOME используется значок «галочка» — ✓), либо изменения
цветовой гаммы кого-либо элемента пункта меню (в основном применяется
для нестандартных графических меню).
Пункты меню в главном и всплывающих меню могут быть включены
(англ. enabled), выключены (англ. disabled) или недоступны (англ. grayed).
Иногда вместо слов «включено» и «выключено» используют слова «активно»
(англ. active) и «неактивно» (англ. inactive). Обычно пункты, помеченные как
включённые или выключенные, для пользователя выглядят одинаково, а
недоступный пункт меню выводится несколько затемнённым, в частности
серым цветом.
Таким образом меню образует иерархическую структуру функциональных
возможностей приложения.
Типы меню
Различают следующие типы меню:
по исполнению:

текстовое

графическое;

по функциям:

главное меню приложения;

всплывающее меню;

контекстное меню;
Меню в интерфейсе командной строки

В интерфейсе командной строки меню реализуется перечислением вариантов
и предложением ввести символ (слово, число…), означающий желаемый
вариант. Например:
1) Разворот
2) Налево
3) Прямо
4) Направо
Ваш выбор (1234) [1]?_
Такое меню управляется простым вводом нужного значения из списка.
Иногда для ввода требуется нажать Enter; иначе — только «горячую
клавишу», либо ввести определённое количество символов. При нажатии
Enter без ввода конкретного значения может быть выполнено действие по
умолчанию (в приведённом примере это «Разворот»).
Меню, управляемые
указательными устройствами
Типичное меню в текстовом интерфейсе
(не путать с командной строкой!)
Разворот Налево Прямо Направо
Пример графического меню
В более продвинутых интерфейсах выбор элемента меню может
осуществляться «указанием» на его изображение наэкране.
Хотя такие меню могут управляться и горячими клавишами тоже (в
специализированных или некачественно сделанных интерфейсах «горячие
клавиши» могут отсутствовать), но допускается выбор между элементами
меню при помощи клавиш стрелок или указательного устройства ввода.
Трудоёмкость выбора пункта из меню
Для уменьшения трудоёмкости выбора пункта из меню указательным
устройством ввода выбираемый пункт меню должен значительно отличаться
по цвету, фактуре и другим характеристикам от фона и иметь наибольшие
возможные размеры (площадь). Меню с «упором» позволяют вслепую
сдвинуть курсор к упору и числом нажатий на кнопку выбрать нужный пункт
меню. Турбо-меню без «упора» сделать это не позволяют.
Тема 4.8: Работа с окнами: создание, модификация, активация и
удаление
Основой работы в системе Windows является работа с окнами. Любая
пиктограмма может быть развернута в окно двойным щелчком мыши.
Окно — это прямоугольная область экрана, в которой выводится
определенная информация: содержимое дисков, программы, создаваемые
пользователем документы, запросы и сообщения Windows. Окна
можно открывать (разворачивать), закрывать, сворачивать, перемещать,
упорядочивать, менять размеры . Открытое окно может занимать целый
экран или его часть.
Закрыть окно — значит полностью убрать его с экрана. Закрытие
программного окна означает удаление программы из оперативной памяти.
Свернутые окна отображаются в виде кнопок в Панели задач. Программа,
окно которой свернуто, остается в оперативной памяти и с ней в любой
момент можно возобновить работу. Чтобы вновь раскрыть свернутое окно
нужно щелкнуть на кнопке в Панели задач.
Элементы окон
Несмотря на многообразие окон, используемых в Windows, управление
окнами осуществляется по единым правилам. Практически все окна (кроме
некоторых
окон
запросов)
содержат
обязательные
элементы,
предназначенные для управления окнами. На рис. 6 показаны элементы окна
Мой компьютер.
Рис. 6. Окно папки Мой компьютер
В рабочей области окна папки отображаются значки объектов,
содержащихся в папке. Содержимое программного окна зависит от
назначения программы. В окнах приложений в рабочей области могут
размещаться окна документов.
Все остальные элементы окна – полосы, строки, кнопки, – являются
элементами управления.
Строка заголовка
В середине строки заголовка всегда отображено название окна, а слева
располагается (кнопка системного меню или пиктограмма), а справа –кнопки
управления. Эти элементы окна могут приводится в действие щелчком мыши,
т.е. нужно указать на кнопку и выполнить щелчок левой клавишей мыши.
Системный значок— это уменьшенная пиктограмма окна. Один щелчок
на этой кнопке вызывает системное меню, а двойной щелчок — закрывает
окно.
Кнопки управления включают в себя:


кнопку
минимизации
(свернуть) окна .
Свернутое
окно
отображается в виде кнопки в Панели задач.
кнопку максимизации (развернуть) окна
. Щелчок на этой кнопке
разворачивает программное окно на весь экран, а окно документа — до
размера его программного окна.
Когда окно максимизировано (занимает полный экран), вместо кнопки
разворачивания появляется кнопка восстановления размера (свернуть
в окно) . Щелчок на этой кнопке восстанавливает исходный размер
окна (установленный до максимизации).

кнопку закрытия окна
. Щелчок на этой кнопке закрывает окно.
Строка меню
Строка меню располагается под строкой заголовка окна. Пункты меню
содержат команды, позволяющие управлять содержимым рабочей области
окна. Диалоговые окна и окна документов не содержат строки меню.
Панель инструментов
Под строкой меню может находиться Панель инструментов или
пиктографическое меню — набор кнопок предназначенных для выполнения
различных команд по управлению содержимым окна (рис. 7). Кнопки панели
инструментов дублируют команды основного меню, но их использование
повышает скорость и эффективность работы, т.к. для выполнения команды
достаточно щелкнуть мышью на кнопке, что значительно быстрее, чем
отыскивать нужную команду в меню. Панель инструментов содержит
командные кнопки для выполнения наиболее часто встречающихся
операций, но в отличие от строки меню ограниченные по количеству команд.
При указании мыши кнопка выделяется (подсвечивается). Если этого не
происходит, значит, кнопка в данный момент недоступна.
Изображение на каждой кнопке в панелях инструментов дает
представление о функции кнопки и помогает быстро их запомнить.
Подсказку о любом инструменте панели можно получить, если указать
мышью на кнопку. Через короткое время появится всплывающая подсказка о
назначении кнопки.
Рис. 7. Панель инструментов
Адресная строка
В адресной строке указан путь доступа к текущей папке, что удобно для
ориентации в файловой структуре. Адресная строка позволяет выполнить
быстрый переход к другим разделам файловой структуры при помощи
раскрывающей кнопки — (в правой части строки).
Список типичных задач
В каждой папке Windows предлагается удобный доступ к наиболее
общеупотребительным задачам управления файлами и папками. Если
открыть какую-либо папку на компьютере, в левой части окна папки, рядом с
ее содержимым появится список задач, предоставляющий доступ к наиболее
употребительным задачам управления файлами и папками при
помощи гиперссылок.
Можно выбрать файл или папку, а затем выбрать задачу и различных
разделов.
1. В разделе Задачи для файлов и папок отображаются команды для
работы с файлами и папками, позволяющие переименовать,
скопировать, переместить или удалить этот файл или папку. Набор
команд в этом разделе зависит от выбора объекта. Можно также
отправить файл по электронной почте или опубликовать его в
Интернете.
2. Раздел Другие места содержит ссылки (адреса) для быстрого перехода
к другим папкам и дискам.
3. Раздел Подробно содержит информацию о текущем или выделенном
объекте.
В Windows XP существует несколько папок, в которых помимо
элементарных задач управления файлами и папками, доступных в
каждой папке, есть ссылки на задачи особого рода.
4. Папка Мои рисунки содержит раздел Задачи для изображений, где
предлагаются ссылки на задачи, помогающие управлять файлами
изображений.
5. Папка Моя музыка содержит раздел Задачи для музыки ссылки на
воспроизведение и поиск музыки.
6. Папка Мой компьютер и другие системные папки содержат
раздел Системные задачи, являющийся контекстным. Используя
ссылки на задачи в этой папке, можно просматривать сведения о
компьютере, изменять системные параметры на панели управления и
выполнять другие процедуры системного управления.
7. Папка Корзина содержит раздел Задачи для Корзины, с помощью
которого можно очистить ее содержимое и восстанавливать удаленные
файлы и папки по месту их первоначального пребывания.
Граница окна
Утолщенная граница предназначена для изменения размера окна при
помощи мыши. Граница окна видна, если окно не распахнуто на весь экран.
Полосы прокрутки
Полосы прокрутки появляются у правой и/или нижней границ окна в
случае, когда в рабочей области окна не помещается полностью его
содержимое. На концах полос расположены кнопки с изображением
стрелок. Щелчок мышью на такой кнопке вызывает смещение
содержимого окна на строку в соответствующем направлении. Между
стрелками находиться бегунок. Положение бегунка указывает, какая
часть содержимого окна отображается в данный момент.
Щелчок мышью на области полосы между бегунком и кнопкойстрелкой вызовет смещение на видимую часть экрана.
Для быстрого прокручивания содержимого окна следует перетащить
мышью бегунок.
Строка состояния
В стоке состояния выводится дополнительная информация о содержимом
окна (например, указывается количество объектов в папке, их суммарный
объем и т.п.). Информация в строке состояния является динамической,
показывая сведения о выделенных в папке объектах
Типы окон Windows
В Windows поддерживаются окна 4-х типов.
1. Окна дисков и папок
В таких окнах отображается содержимое дисков и папок. Любую папку
Windows можно открыть в своем окне. С помощью окон папок можно
просмотреть всю файловую структуру дисков. В строке заголовка
указывается имя папки, ниже располагаются меню, панель инструментов.
2. Программные окна (окна приложений)
Это окна, в которых работают загруженные в оперативную память
Windows-программы (а возможно и DOS-программы). В строке заголовка –
имя программы, ниже – строка меню, панель инструментов (может быть не
одна), линейка. Внутри этих окон открываются окна документов.
3. Окна документов (вторичные окна)
Это окна, в которых отображаются документы, созданные в Windowsпрограммах (если приложение позволяет работать с несколькими
документами одновременно). Информация из каждого окна может быть
сохранена в отдельном файле. Вторичные окна всегда располагаются только
в пределах своего программного окна, не имеют строки меню и могут быть
открыты только в окне своего приложения.
4. Окна запросов (диалоговые)
Окна запросов появляются во время работы с операционной системой и
приложениями, располагаясь поверх всех остальных окон на экране. В них
содержится запрос какой-либо информации от пользователя или
подтверждении его действий. Окна запросов нельзя изменять в размерах,
сворачивать и разворачивать, их можно только закрывать. Такие окна
закрываются автоматически после ответа на запрос или принудительно –
щелчком на закрывающей кнопке. Для ответа на запрос диалоговые окна
имеют разнообразные поля и кнопки.
Диалоговое окно может быть модальным или немодальным.
Модальное окно блокирует работу приложения. Пользователь должен
завершить все операции с этим окном и закрыть его, чтобы вернуться в окно
приложения (папки, документа). Различают три вида модальных окон:
1. Окно диалога нужно
для ввода параметров,
необходимых для
работы с программой.
2. Окно
сообщения ставит в
известность
пользователя или о
свершившейся
операции, или о
завершении каких-то
действий.
3. Окно
запроса предоставляет
пользователю право
совершить действия, в
результате которых
будет завершена либо
продолжена работа
программы.
Немодальное окно не останавливает работу приложения. Пользователь
может щелчком мыши, не закрывая окна, переходить в окно приложения
(документа), работать с ним, а затем щелчком возвращаться в диалоговое
окно (к таким окнам можно отнести окно команды «Помощник», окна
справочной системы).
Обычно диалоговое окно состоит из строки заголовка и элементов
диалогового окна.
Элементы диалогового окна
В зависимости от функций окна набор этих средств меняется в широком
диапазоне. Большинство средств диалога поддается строгой классификации,
и работа с ними практически одинакова во всех приложениях Windows.
Типовыми средствами, входящими в состав диалогового окна, являются:









командные кнопки;
флажки (переключатели);
радиокнопки (поля выбора);
текстовые поля (поля ввода);
списки;
скользящие кнопки управления;
демонстрационные подокна (поле Образец);
вкладки;
фоновый текст.
Основные виды элементов:
– кнопка закрытия окна с сохранения всех
измененных параметров;
– кнопка закрытия окна без сохранения
измененных параметров;
– кнопка сохранения всех измененных
параметров без закрытия окна;
– кнопка закрытия окна, когда измененные
параметры уже сохранены;
– поле ввода – ограниченная прямоугольной
рамкой область, в которую пользователь может
вводить с клавиатуры текст; чтобы ввести
данные в поле необходимо сначала щелкнуть в
нем мышью;
– счетчик – поле с двумя кнопками справа;
можно щелкнуть в него мышью и набрать
значения параметра на клавиатуре или щелкать
на кнопках: для увеличения параметра стрелка
вверх, для уменьшения –стрелка вниз;
– поле списка содержат список объектов,
доступных для выбора; если содержимое списка
не помещается в видимую часть, то появляются
полосы прокрутки для просмотра длинных
списков; чтобы выбрать объект следует
щелкнуть на нем мышью;
– поле раскрывающегося списка в видимой
части имеет только значение текущего
параметра, для открытия возможных значений
необходимо щелкнуть мышью на кнопке
"стрелка вниз";
– переключатели – круги с черной точкой или
без нее, предназначенные для выбора одного из
взаимоисключающих режимов;
– флажок – квадратное поле индикатора с
меткой "галочкой" внутри или без нее,
используется для включения/ выключения
режима (его имя написано рядом), который
может находиться во включенном или
отключенном состоянии;
– кнопка контекстной справки, для вызова
контекстной справки следует щелкнуть ее, а
потом неизвестный элемент;
– скользящая кнопка управления (ползунок)
служит для увеличения/уменьшения числового
значения поля путем перемещения ползунка;
– вкладки – расположенные под строкой
заголовка окна страницы, объединяющие
однотипные группы запросов по установке
параметров той или иной команды. Активная
вкладка выводится на передний план, занимая
полностью окно. Для смены вкладки достаточно
щелкнуть мышью на ее названии. Можно для
переключения использовать клавиатуру: вперед
– Ctrl+Tab или Ctrl+Page Up, назад –
Ctrl+Shift+Tab или Ctrl+Page Down;
– поле Образец служит для предварительного
просмотра объекта, отображая вносимые
изменения параметров.
Управление окнами
Окно может существовать в трех состояниях:



полноэкранное – окно развернуто на весь экран;
нормальное – окно занимает часть экрана;
свернутое – окно «свернуто» до кнопки (уменьшено до размеров
пиктограммы).
Понятие управление окном включает действия:
1.
2.
3.
4.
5.
6.
изменить размер окна, развернуть окно на весь экран;
переместить окно по экрану;
свернуть окно, восстановить предыдущий размер окна;
упорядочить окна на экране;
закрыть окно;
переключаться между окнами.
Способы управления окном заключаются в использовании кнопок
управления окном; системного меню окна (активность каждой команды
зависит от текущего состояния окна); протягивания мышью различных
элементов окна; использование клавиатуры.
Изменение размера окна
Щелчок на кнопке максимизации развернет окно на весь экран.
Чтобы восстановить прежний размер окна, нужно щелкнуть на кнопке
восстановления размера.
Замечание. Чтобы распахнуть окно на весь экран (или восстановить его
размер), можно дважды щелкнуть на заголовке окна или выбрать
соответствующую команду (Развернуть/Восстановить) в системном меню.
Чтобы изменить размер окна, нужно указать мышью точно на границу
окна или на любой его угол. Когда указатель мыши примет вид двусторонней
стрелки —
, нажать левую клавишу мыши и перетащить границу,
увеличивая или уменьшая окно. Затем отпустить клавишу мыши.
Замечание. Если на границе окна указатель мыши не превращается в
двустороннюю стрелку, значит, размер такого окна изменить нельзя. Как
правило, не могут менять размер окна запросов.
Перемещение окон
Чтобы переместить окно в другое место экрана, следует указать мышью на
заголовок окна и, нажав левую клавишу мыши, перетащить окно на новое
место. Короче говоря, окно можно перетащить мышью, «ухватившись» за его
заголовок. Эта операция позволяет расположить окна на экране удобным
образом.
Замечание. Чтобы переместить окно, можно в системном меню окна
выбрать команду Переместить, клавишами-стрелками поместить окно в
нужное место и нажать клавишу.
Сворачивание окна
Чтобы свернуть окно, нужно щелкнуть на кнопке минимизации.
Можно также выдать команду Свернуть одним из ниже приведенных
способов:


из контекстного меню кнопки окна в Панели задач;
из
системного
меню.
Замечание. Чтобы свернуть окно, можно дважды щелкнуть на кнопке
окна
в
Панели
задач.
Можно сворачивать все открытые окна сразу. Для этого нужно нажать
соответствующую кнопку в панели Быстрый запуск в Панели задач
или выбрать нужную команду в контекстном меню Панели задач.
Замечание. Свернуть все окна можно и при помощи клавиатуры:
Windows+M
(Shift+Windows+M
развернуть);
Windows+D.
Упорядочивание окон
Чтобы упорядочить открытые окна на экране, нужно в контекстном меню
Панели задач выбрать одну из команд:




Окна каскадом - окна одного размера, лежат стопкой, смещены так, что
видны все заголовки;
Окна сверху вниз и Окна слева направо – окна одного размера, делят
экран на равные части, не перекрывая друг друга;
Свернуть все окна (Показать Рабочий стол) – чтобы освободить от окон
Рабочий стол;
Отменить
последнюю
(выполненную)
команду.
Замечание.
Возможно
одновременное
выполнение
команд
упорядочивания, сворачивания и закрытия для нескольких окон. Для
этого нужно щелкать кнопки нужных окон в Панели задач, удерживая
клавишу Ctrl и вызвать их контекстное меню.
Закрытие окна
Чтобы закрыть окно, нужно щелкнуть на кнопке закрытия. Это самый
простой и быстрый способ закрытия любого окна. Однако существует еще
несколько способов закрытия окон:






комбинация клавиш Alt+F4;
двойной щелчок на кнопке системного меню;
выбор команды Закрыть в системном меню;
выбор команды Закрыть (Выход) в группе Файл основного меню
окна;
выбор команды Закрыть в контекстном меню кнопки окна в Панели
задач;
щелчок на кнопке Снять задачу в окне Диспетчер задач при
выделенном
имени
закрываемого
окна.
Можно закрыть сразу несколько окно, используя команду Закрыть
группу в контекстном меню кнопки группы окон. Если нужная группа
окон отсутствует, то можно предварительно выделить её, щелкая по
кнопкам
в
Панели
задач
с
нажатой
клавишей Ctrl.
Замечание.
Закрытие
программного
окна
эквивалентно завершению программы. Закрытие программного окна
означает удаление программы из оперативной памяти.
Переключение между окнами
Поскольку Windows – многозадачная система, то в ней можно открыть
сразу несколько окон, переключаясь при необходимости из одного окна в
другое. Среди всех открытых окон одно является активным – это окно, с
которым
работают
в
данный
неактивными илипассивными.
момент,
а
остальные
–
Признаки активного окна:
1. Заголовок активного окна более яркий, чем заголовки других окон.
2. Кнопка активного окна в Панели задач выглядит нажатой, в то время
как кнопки других окон – отжатой.
3. Активное окно располагается поверх других окон.
4. Для операционной системы все открытые окна считаются задачами,
независимо от того открыто окно приложения или папки.
Переключиться на другую задачу – значит сделать активным
соответствующее окно.
Способы переключения между окнами:




щелкнуть мышью на кнопке окна в Панели задач;
щелкнуть мышью на любом видимом участке неактивного окна;
использовать комбинацию клавиш Alt+Tab – нажать клавишу Alt и, не
отпуская ее, нажимать клавишу Tab. При этом появится панель со
значками всех открытых окон. Когда будет выделен нужный значок,
отпустить обе клавиши.
Alt+Esc - переключается между несвернутыми окнами.
Тема 4.9: Понятие объекта, свойства и характеристики объекта.
Создание экранной формы: свойства, события и методы
Visual Basic — это последняя версия одного из популярных языков
программирования. В настоящее время с помощью Visual Basic можно
быстро создавать приложения, работающие в среде Windows для любой
области компьютерных технологий: бизнес-приложения, мультимедиа,
приложения типа клиент — сервер и приложения управления базами данных.
Кроме того, Visual Basic является встроенным языком для приложений
Microsoft Office. Многие разработчики приложений также используют Visual
Basic в качестве внутреннего языка своих приложений.
Visual Basic представляет собой интегрированную среду разработки, которая
содержит набор инструментов, облегчающих и ускоряющих процесс
разработки приложений. Причем процесс разработки заключается не в
написании программы (программного кода), а в проектировании
приложения. Приложение формируется средствами графического
редактирования (компоновки), что позволяет свести процесс создания
программного кода к минимуму.
Как и во всех современных системах визуального проектирования, в Visual
Basic применяется объектно-ориентированный подход к программированию.
Любое приложение, написанное на Visual Basic, представляет собой
совокупность объектов.
Объект — некая сущность, которая четко проявляет свое поведение и
является представителем некоторого класса подобных себе объектов. Почти
все, с чем производится работа в VB, является объектами. Например: Форма,
Командная кнопка, Текстовое поле и т. д.
Каждый объект характеризуется:



свойствами;
методами;
событиями.
Свойство — это имеющий имя атрибут объекта. Свойства определяют
характеристики объекта (цвет, положение на экране, состояние объекта).
Методы — это действия или задачи, которые выполняет объект (то, что
можно делать с объектами).
Классом объектов в объектно-ориентированных языках программирования
называется общее описание таких объектов, для которых характерно наличие
множества общих свойств и общих действий, которые способны выполнять
эти объекты (например, класс Командная кнопка — общее описание кнопок в
окнах приложений). Они должны иметь множество общих свойств и других
характеристик (например событий, одинаковых для всех этих объектов:
щелчок мышью).
Приложение, создаваемое в среде Visual Basic, называется проектом.
Программный проект — это совокупность частей, составляющих будущее
WINDOWS-приложение. Любой проект должен обязательно состоять из
экранных форм (хотя бы одной) и программных модулей (хотя бы одного).
Visual Basic хранит каждый проект в отдельном файле с расширением vbp.
Экранная форма — это графическое представление WINDOWS-приложения
вместе с содержанием этого окна. Содержание включает в себя:
совокупность свойств этого окна с их значениями;
 совокупность, объектов, находящихся в этом окне;
совокупность свойств этих объектов с их значениями.


В Visual Basic экранная форма хранится в отдельном файле с расширением
frm.
Программный модуль — это хранящийся в отдельном файле программный
код (текст некоторой программы). Он может использоваться при решении
чаще всего одной, а иногда и нескольких задач. Имя этого файла имеет
расширение bas.
Программный код проекта существует не сам по себе, он привязан к
отдельным объектам экранной формы. Часть кода, которая относится только
к одному объекту, в свою очередь может состоять из нескольких фрагментовпроцедур.
В Visual Basic программный код почти всегда привязывается к какому-либо
событию, которое является сигналом к началу работы программы. Например,
щелчок мыши по какому-либо объекту экранной формы; загрузка новой
экранной формы; перемещение указателя мыши вдоль полосы прокрутки;
нажатие какой-либо клавиши на клавиатуре.
Сначала проектируется экранная форма, затем устанавливаются события,
которые будут происходить в работающем приложении, и только затем
программируются действия, связанные с этими событиями.
Событие — это характеристика класса объекта, описывающая внешнее
воздействие, на которое реагирует объект этого класса во время работы
приложения.
Большинство процедур, из которых состоит программный код VB, привязаны
к событиям и называются процедурами-событиями.
Создание любого приложения состоит из следующих этапов.
1. Постановка задачи. Описание принципа работы будущего приложения,
видов экранных форм (окон) этого приложения.
2. Разработка интерфейса. Создание экранных форм приложения со всеми
находящимися на этих формах объектами и свойствами этих объектов.
3. Программирование. Определение того, какие события будут
происходить в процессе работы приложения, составление алгоритмов
процедур для этих событий и написание программы (программных
кодов) этих процедур.
4. Отладка программы. Устранение логических ошибок в процедурах и
достижение того, чтобы приложение работало удовлетворительно в
среде проектирования.
5. Сохранение проекта и при желании — компиляция (превращение
проекта в исполняемое приложение, способное работать
самостоятельно за пределами среды проектирования).
Приложение может работать в режиме компиляции или интерпретации. В
режиме интерпретации все инструкции на языке БЭЙСИК, из которых
состоит программа, будут выполняться системой Visual Basic
непосредственно в процессе их чтения компьютером строка за строкой в
среде разработки.
В режиме компиляции сначала производится отладка программы с помощью
интерпретатора, затем она полностью транслируется (переводится) с языка
высокого уровня (Бейсика) на язык низкого уровня (язык машинных команд
компьютера), т. е. компилирует.
Скомпилированная программа помещается в файл с расширением ехе. Этот
файл может быть запущен на исполнение самостоятельно, без поддержки
среды Visual Basic.
Тема 4.10: Элементы управления: свойства, события и методы
Объект Data, как и любой другой элемент управления в Visual Basic, имеет
несколько стандартных, общих для многих элементов управления, свойств,
методов и событий. Наряду с ними, он имеет целый ряд свойств, методов и
событий, предназначенных для работы с данными. Именно они и будут
последовательно рассмотрены ниже.
Свойства
BOFAction
Свойство BOFAction определяет действие объекта Data, если свойство BOF
(beginning of file - начало файла) у созданного им набора записей
установлено в True.
Синтаксис: data1.BOFaction=value.
Значение value может быть выбрано из двух альтернатив: MoveFirst или BOF.
При создании объекта Data свойство BOFAction устанавливается по
умолчанию как MoveFirst. При этом текущей становится первая запись в
наборе записей.
Установка свойства BOFAction в BOF приводит к тому, что при
перемещении указателя текущей записи за пределы набора сверху, текущая
запись становится недопустимой (invalid) и любая попытка ее
редактирования приведет к ошибке. В этом случае происходит событие
Validate на первой записи в наборе и, затем, событие Reposition, уже на
недопустимой записи. При этом кнопка перемещения указателя к
предыдущей записи на объекте управления данными становится неактивной.
Установить свойство BOFAction объекта управления данными data1 в
режиме выполнения приложения можно следующим образом:
data1.BOFaction= vbBOFActionMoveFirst,
или
data1.BOFaction= vbBOFActionBOF.
Возможные установки свойства BOFAction приведены в следующей таблице.
Установка
Константа
Значение
MoveFirst
vbBOFActionMoveFirst
0
BOF
vbBOFActionBOF
1
Connect
Свойство Connect определяет тип базы данных, открываемой объектом Data.
По умолчанию открывается база данных в формате Microsoft Access.
Синтаксис: data1.сonnect=string.
Возможные варианты установки свойства Connect приведены в следующей
таблице.
Тип базы данных
Определение
MS Access
";"
dBASE x
"dBASE x;"
Paradox x.x
"Paradox x.x;"
FoxPro x.x
"FoxPro x.x;"
Excel x.0
"Excel x.0;"
Lotus WKx
"Lotus WKx;"
Text
"Text;"
Btrieve
"Btrieve;"
ODBC
"ODBC; DATABASE =
defaultdatabase; UID=user;
PWD=password;
DSN=datasourcename;
LOGINTIMEOUT=seconds"
Установка свойства Connect в режиме выполнения приложения производится
следующим образом:
data1.connect= " dBASE IV;"
или
data1.connect= " FoxPro 3.0;".
Database
Использование свойства Database в режиме выполнения приложения
позволяет получить ссылку на объект Database, который создан объектом
Data.
Синтаксис: Set databaseobject = data1.Database.
Объект Data создает объект Database на основе своих свойств DatabaseName,
Exclusive, ReadOnly, и Connect. Так как объект Database имеет свои
собственные свойства и методы то, получив на него ссылку, вы можете
использовать их в приложении. Например, вы можете использовать методы
Close или Execute. Подробное описание работы с объектом Database
приведено в уроках, посвященных объектам доступа к данным.
DatabaseName
Использование свойства DatabaseName позволяет получить или установить
имя и месторасположение источника данных для объекта Data.
Синтаксис: data1.DatabaseName=string.
Строковое выражение string определяет месторасположение и имя файла
базы данных в форматах MS Access и Btrieve. Если используется база
данных, размещенная на файл-сервере, то строка должна включать полный
путь к требуемому файлу, например:
\\SERVER\DATA\DATABASE.MDB.
Для баз данных в формате dBASE, Paradox и др. строка string должна
содержать только путь к файлу.
Для баз данных ODBC это свойство не определяется, так как все
необходимые параметры для связи с базой данных устанавливаются
свойством Connect.
Если вы во время работы приложения изменяете свойство DatabaseName, то
после сделанных изменений необходимо выполнить метод Refresh объекта
Data.
Продемонстрируем использование свойства DatabaseName в режиме
выполнения приложения. Для этого:
1. Откройте проект, созданный для просмотра содержимого файла
BIBLIO.MDB.
2. Удалите содержимое свойства DatabaseName объекта управления
данными Data1.
3. Добавьте следующий код в процедуру обработки сообщения о загрузке
формы:
4. Private Sub Form_Load()
5. data1.databasename= "c:\vb5\biblio.mdb"
6. data1.refresh
7. End Sub
8. Запустите проект.
При разработке приложений для работы с базами данных лучше не
привязывать пользователя к конкретной структуре каталогов установкой
свойства DatabaseName на этапе разработки программы. Это может быть не
всегда удобно для пользователя. Хорошим примером уважительного
отношения к пользователю служит хранение путей к файлам баз данных в
специальных файлах конфигурации вашего приложения с последующим
считыванием этой информации в процессе загрузки программы. Код,
осуществляющий эту операцию, можно включить, например, в процедуры
обработки событий Load или Activate соответствующей экранной формы.
Другим способом определения пути к файлу базы данных является
использование глобального объекта Visual Basic - объекта App. Хотя этот
объект не имеет ни методов, ни событий, у него есть несколько очень
полезных свойств. Одним из них является свойство Path, которое определяет
путь к выполняемому файлу. Если вы используете интегрированную среду
разработки Visual Basic, например, для отладки приложения, то App.Path
определяет путь к файлу проекта, который вы запустили.
Пусть файлы баз данных для вашей программы находятся в подкаталоге
DBASE каталога, в котором находится ваше приложение (проект). Тогда вы
можете определить необходимый путь к файлу с помощью следующего
фрагмента кода. Причем каталог, из которого запускается приложение
(проект) может называться как угодно.
Dim DBName As String
DBName = "BIBLIO.MDB"
Data1.Databasename = App.Path+"\DBASE\"+DBName
Data1.Refresh
EOFAction
Свойство EOFAction определяет действие объекта Data, если свойство EOF
(end of file - конец файла) у созданного им набора записей установлено в
True.
Синтаксис: data1.EOFAction=value.
Значение value может быть выбрано из трех альтернатив: MoveLast, EOF, или
AddNew.
При создании объекта Data свойство EOFAction устанавливается по
умолчанию как MoveLast. При этом текущей остается последняя запись в
наборе записей.
Установка свойства EOFAction в EOF приводит к тому, что при перемещении
указателя текущей записи за пределы набора снизу, текущая запись
становится недопустимой (invalid) и любая попытка ее редактирования
приведет к ошибке. В этом случае происходит событие Validate на последней
записи в наборе и, затем, событие Reposition, уже на недопустимой записи.
При этом кнопка перемещения указателя на следующую запись на объекте
управления данными становится неактивной.
Если установить свойство EOFAction в AddNew, то при перемещении
указателя текущей записи за последнюю запись набора, происходит событие
Validate на последней записи, затем, в набор записей добавляется новая
пустая запись и происходит событие Reposition. Когда пользователь таким
способом добавляет новую запись, эта она сначала создается в памяти
компьютера в буфере копирования. Если после этого пользователь ввел
необходимые данные и переместил указатель текущей записи на любую
другую запись, то новая строка, уже содержащая данные, будет помещена в
набор записей и потом в базу данных. В противном случае, если
пользователь не ввел данные и переместил указатель, то пустая новая строка
не добавляется в набор записей. Таким образом, установка свойства
EOFAction в AddNew дает возможность пользователю добавлять в базу
данных новые записи с помощью объекта Data и связанных с ним элементов
управления.
Установить свойство EOFAction объекта управления данными data1 в режиме
выполнения приложения можно следующим образом:
data1.EOFaction=vbEOFActionMoveLast,
data1.EOFaction=vbEOFActionEOF,
data1.EOFaction=vbEOFActionAddNew.
Возможные установки свойства EOFAction приведены в следующей таблице.
Установка
Величина
Значение
vbEOFActionMoveLast
0
MoveLast
vbEOFActionEOF
1
EOF
vbEOFActionAddNew
2
AddNew
Приведем пример приложения, в котором есть возможность добавлять в базу
данных новые записи. Для этого:
1. Создайте вспомогательную базу данных BIBLIO2.MDB, содержащую
всего одну таблицу TITLES (чтобы не изменить оригинальную базу
данных BIBLIO.MDB). Это можно сделать с помощью MS Access.
2. Откройте новый проект и добавьте на форму объект управления
данными Data1.
3. В окне свойств объекта Data1 установите свойство DatabaseName, как
имя файла базы данных с указанием полного пути
C:\VB5\BIBLIO2.MDB.
4. В окне свойств объекта Data1 установите свойство RecordSource как
TITLES.
5. Разместите на форме пять меток и, соответственно, пять текстовых
окон как показано на рис.4.8 и установите их свойства следующим
образом:
6. Label1.Caption=Название
7. Text1.DataSource=Data1
8. Text1.DataField=Title
9. Label2.Caption=Год выпуска
10. Text2.DataSource=Data1
11. Text2.DataField=Author
12. Label3.Caption=Доп. информация
13. Text3.DataSource=Data1
14. Text3.DataField=Year Published
15. Label4.Caption=Описание
16. Text4.DataSource=Data1
17. Text4.DataField=Subject
18. Label5.Caption=Ид. издателя
19. Text5.DataSource=Data1
20. Text5.DataField=Description
Рис.4.1. Вид экранной формы.
21.Запустите приложение.
22.Переместите указатель на последнюю запись и, затем, добавьте новую
пустую запись нажатием на кнопку перехода к следующей записи.
23.Введите какие-нибудь данные в связанных текстовых окнах и
переместите указатель на любую другую запись, например, на
предыдущую. Если, введенные вами данные соответствуют типам
полей в таблице, то новая запись будет добавлена в набор записей и в
базу данных. Результат работы программы показан на рис.4.2.
24.Теперь еще раз добавьте новую запись и, не редактируя данные в
текстовых окнах, переместите указатель на другую запись. Убедитесь,
что пустая запись не добавляется в базу данных.
Рис.4.2. Новая запись в базе данных.
Exclusive
Свойство Exclusive определяет режим работы открываемой базы данных:
однопользовательский или многопользовательский.
Синтаксис: data1.Exclusive=value.
Значение value имеет тип boolean и может принимать значения True или
False. Если свойство Exclusive установлено в True, то база данных
открывается в однопользовательском режиме. Если оно установлено в False,
то с базой данных могут одновременно работать несколько пользователей.
По умолчанию свойство Exclusive устанавливается в False для поддержки
многопользовательского режима работы.
Свойство Exclusive используется объектом Data только во время открытия
базы данных, поэтому, если переустановить его во время выполнения
приложения, то необходимо применить также и Refresh метод:
Data1.Exclusive=true
Data1.Refresh.
Операции с базой данных, открытой в однопользовательском режиме,
выполняются несколько быстрее, чем с базой данных, доступной для многих
пользователей.
Для баз данных ODBC это свойство игнорируется.
Откройте проект, созданный для демонстрации свойства EOFAction,
установите свойство Exclusive объекта управления данными в True и
запустите его. Таким образом, вы открыли базу данных BIBLIO2.MDB в
однопользовательском режиме. Затем запустите систему управления базами
данных MS Acces и попытайтесь открыть файл BIBLIO2.MDB. Результатом
ваших действий будет выданное на экран сообщение, уведомляющее вас, что
базу данных открыть невозможно.
Options
Свойство Options позволяет установить или получить один или несколько
параметров набора записей созданного объектом Data. Это свойство обычно
используется при разработке многопользовательских приложений.
Синтаксис: data1.Options=value.
Возможные значения параметра value приведены в следующей таблице:
Постоянная
Значение
dbDenyWrite
1
dbDenyRead
2
dbReadOnly
4
dbAppendOnly
8
dbInconsistent
16
dbConsistent
32
dbSQLPassThrough
64
dbForwardOnly
256
dbSeeChanges
512
Ниже приведено краткое описание возможных установок свойства Options:




dbDenyWrite - в многопользовательской среде другие пользователи не
могут вносить изменения в записи;
dbDenyRead - в многопользовательской среде другие пользователи не
имеют возможности читать записи. Эта установка применяется только
для наборов записей типа таблица;
dbReadOnly - набор записей открывается только для чтения. В этом
случае вы не можете изменять записи;
dbAppendOnly - в этом случае вы имеете возможность добавлять новые
записи в набор записей, но не можете редактировать существующие
записи;





dbInconsistent - обновление может применяться для всех полей в наборе
записей, даже если они нарушают условие объединения;
dbConsistent - обновление применяется только для тех полей в наборе
записей, которые не нарушают условие объединения. Это значение
свойства Options устанавливается по умолчанию;
dbSQLPassThrough - эта константа означает, что SQL-запрос,
определенный свойством RecordSource объекта управления данными,
будет выполняться на сервере MS SQL Server или Oracle (если вы,
конечно, используете такие ODBC-базы данных);
dbForwardOnly - эта установка определяет набор записей таким
образом, что по нему возможно перемещение только вперед (только
метод MoveNext может использоваться для перемещения по набору
записей);
dbSeeChanges - установка этого значения вызывает появление ошибки,
когда какой либо пользователь изменил данные в то время, когда вы их
редактируете.
При необходимости установить сразу несколько параметров набора записей,
используйте операцию сложения. После изменения свойства Options во время
выполнения приложения необходимо применить метод Refresh. Следующий
пример иллюстрирует, как в многопользовательской среде открыть набор
записей только для чтения исключительно для собственного пользования:
Data1.DatabaseName="C:\VB5\BIBLIO.MDB"
Data1.Options=dbDenyWrite + dbReadOnly
Data1.Refresh.
Для того, чтобы сравнить параметры набора записей с каким либо
определенным значением вы можете использовать оператор And. С
использованием следующего фрагмента кода вы, например, можете
проверить, открыт ли набор записей только для чтения:
If Data1.Options And dbReadOnly Then...
ReadOnly
Свойство ReadOnly определяет метод доступа к базе данных, открытой с
помощью объекта Data: только для чтения или для чтения-записи.
Синтаксис: data1.ReadOnly=Boolean.
Если свойство ReadOnly установлено в True, то открытая база данных
доступна только для чтения и вы, следовательно, не имеете возможности
редактировать данные. Если же свойство установлено в False, то база данных
открыта для чтения-записи и вы можете делать с данными все, что угодно.
По умолчанию свойство ReadOnly устанавливается в False.
После изменения свойства ReadOnly во время выполнения приложения
необходимо применить метод Refresh. Следующий пример показывает, как
открыть базу данных только для чтения:
Data1.DatabaseName="С:\VB5\BIBLIO.MDB"
Data1.ReadOnly=True
Data1.Refresh
Если нет необходимости редактировать данные, то предпочтительно
открывать базу данных в режиме только для чтения, так как операции с
данными в этом случае выполняются несколько быстрее.
Recordset
Свойство Recordset определяет набор записей, создаваемый объектом Data.
Синтаксис: data1.Recordset=string.
Параметр string представляет собой текстовую строку, которая определяет
набор записей.
После загрузки приложения автоматически создается объект Data. Если у
него корректно установлены свойства Connect, DatabaseName, Options,
RecordSource, Exclusive, ReadOnly и RecordsetType, то ядро системы
управления базами данных Jet database engine создаст новый объект
Recordset. То же самое произойдет, если во время выполнения приложения
будет применен метод Refresh объекта Data. Доступ к этому объекту - набору
записей можно получить через свойство Recordset объекта Data.
Объект Recordset имеет несколько свойств и методов, о которых речь пойдет
в разделе, посвященном использованию объектов доступа к данным. Тем не
менее, в следующем примере показано, как использовать метод Delete
объекта Recordset для удаления записей.
1. Откройте проект, который использовался для демонстрации
возможности добавления записи в базу данных с использованием
объекта управления данными.
2. Добавьте на форму командную кнопку и определите ее свойство
Caption, как “Удалить”.
3. Добавьте в процедуру обработки события Click командной кнопки
следующий фрагмент кода:
4. Private Sub Command1_Click()
5. Data1.Recordset.Delete
6. Data1.Refresh
7. End Sub
8. Запустите приложение. Теперь, используя в приложении объект
управления данными, вы можете не только добавлять в базу данных
новые записи, но и удалить любую запись.
RecordsetType
Свойство RecordsetType определяет тип набора записей, созданного
объектом Data.
Синтаксис: data1.RecordsetType=value.
Параметр value определяет тип набора записей. Возможные значения
параметра value приведены в следующей таблице:
Постоянная
Значение
Описание
vbRSTypeTable
0
Создается набор записей типа таблицы.
vbRSTypeDynaset
1
Создается набор записей динамического
типа. Этот тип создается по умолчанию.
vbRSTypeSnapshot 2
Создается статический набор записей.
После изменения свойства RecordsetType во время выполнения приложения
необходимо применить метод Refresh.
В следующем примере для объекта управления данными Data1 закрывается
существующий набор записей и, затем, создается новый набор записей
статического типа:
Data1.Recordset Close
Data1.RecordsetType=vbRSTypeSnapshot
Data1.DatabaseName= “C:\VB5\BIBLIO.MDB”
Data1.RecordSource= “select * from Titles”
Data1.Refresh.
RecordSource
Свойство RecordSource определяет источник данных для набора записей,
создаваемого объектом Data.
Синтаксис: data1 RecordSource=string.
Параметр string представляет собой строку, определяющую источник
данных. Возможные значения этого параметра представлены в следующей
таблице:
Установка
Описание
Имя
таблицы
Имя одной из таблиц, содержащихся в базе данных.
SQL-запрос
Текстовая строка, представляющая собой SQL-запрос к
базе данных. Причем синтаксис SQL выражения должен
соответствовать типу базы данных.
Объект
QueryDef
Имя одного из объектов QueryDef из набора QueryDefs
объекта Database. Этот источник данных поддерживается
только для баз данных MS Access.
Чтобы проиллюстрировать использование свойства RecordSource объекта
Data, построим приложение для просмотра полей базы данных
BIBLIO2.MDB, в котором предусмотрим возможность отображать данные на
экране компьютера упорядоченным образом. Для этого требуется выполнить
следующие действия:
1. Откройте новый проект.
2. Добавьте на форму объект управления данными Data1 и определите его
свойство DatabaseName, как C:\VB5\ BIBLIO2.MDB. Не устанавливайте
свойство RecordSource.
3. Добавьте на форму объект DBGrid и определите его свойство
RecordSource, как Data1.
4. Добавьте на форму метку “Упорядочить по” и объект ComboBox.
5. Добавьте в раздел General следующий код:
6. Dim x As Integer
7. Dim A(4) As String
8. Dim B(4) As String
9. Добавьте в процедуру загрузки формы следующий код:
10. Private Sub Form_Load()
11. A(0) = "Названиям"
12. A(1) = "Году издания"
13. A(2) = "ISBN"
14. A(3) = "Ид.Издателя"
15. For i = 0 To 3
16. Combo1.AddItem A(i)
17. Next i
18. Combo1.ListIndex = 0
19. B(0) = "Title"
20. B(1) = "[Year Published]"
21. B(2) = "ISBN"
22. B(3) = "PubID"
23. End Sub
24.Добавьте в процедуру обработки события Click элемента управления
ComboBox следующий код:
25. Private Sub Combo1_Click()
26. Dim str1 As String
27. str1 = "select * From titles order by " & B(Combo1.ListIndex)
28. If Combo1.ListIndex = Empty Then
29. str1 = "select * From titles"
30. End If
31. Data1.RecordSource = str1
32. Data1.Refresh
33. End Sub
34.Запустите проект на выполнение.
После загрузки формы, данные в таблице DBGrid будут отображены в
неупорядоченном виде, вернее, данные будут размещены в физическом
порядке, то есть в том, в котором они были введены в базу данных, хотя в
элементе управления ComboBox будет показано “По названиям”. Затем
выберите из списка другой доступный способ упорядочения, например, “По
году издания”. После обработки события Click будет создан новый набор
записей, источником данных для которого будет служить результат
выполнения следующего SQL-запроса
select * From titles order by [Year Published].
На рис.4.3 представлена библиографическая информации из базы данных
BIBLIO2.MDB, упорядоченная по году издания книги.
Рис.4.3. Библиографические данные, упорядоченные по году издания книги.
Методы объекта Data
Refresh
После изменения свойства объекта Data во время выполнения приложения,
ядро системы управления базами данных Jet database engine сразу не меняет
ранее уже установленные свойства. Вообще говоря, просто изменить в
программе одно установленное свойство на другое невозможно. Необходимо
заново инициализировать объект управления данными, который затем
автоматически создаст другие объекты доступа к данным (например,
DataBase или Recordset) с уже новыми свойствами. Для этого необходимо
применить метод Refresh. Таким образом, метод Refresh используется для
того, чтобы во время выполнения приложения переинициализировать объект
управления данными, но уже с новыми свойствами.
Синтаксис: Data1.Refresh.
После применения метода Refresh указатель текущей записи устанавливается
на первой записи в наборе, созданном объектом Data.
UpdateControls
Действие метода UpdateControls полностью аналогично переустановке
указателя текущей записи на себя. При этом, связанные элементы управления
очищаются и, затем, их содержимое восстанавливается согласно текущей
записи. То есть, никаких изменений полей базы данных не происходит, даже
если содержимое связанных элементов управления было отредактировано.
Синтаксис: Data1.UpdateControls.
Хорошей иллюстрацией использования метода UpdateControls является
предоставление пользователю возможности подтвердить сделанные
изменения содержимого текущей записи. Для этого необходимо вмешаться в
процедуру обработки события Validate объекта Data.
1. Откройте проект, который использовался для демонстрации удаления
записи и добавьте следующий фрагмент кода в процедуру обработки
события Validate:
2. Private Sub Data1_Validate(Action As Integer, Save As Integer)
3. If Save = False Then Exit Sub
4. End If
5. If MsgBox("Сохранить сделанные изменения",
6.
vbYesNo,"","",0)=vbNo The
7. Data1.UpdateControls
8. Exit Sub
9. End If
10. End Sub
11.Запустите приложение.
12.Измените содержимое какого-нибудь связанного текстового окна,
например, года издания, и, используя кнопки перемещения по набору
записей, измените положение текущей записи. В результате, на экран
будет выдано диалоговое окно, в котором можно подтвердить или
отменить сделанные изменения.
13.Закройте приложение.
UpdateRecord
Метод UpdateRecord сохраняет в базе данных содержимое текущей записи,
отображаемое в связанных элементах управления.
Синтаксис: Data1.UpdateRecord.
Использование этого метода позволяет сохранить содержимое связанных
элементов управления в базе данных без перемещения указателя текущей
записи. При этом не генерируется событие Validate. Следует отметить, что
перед использованием этого метода необходимо убедиться, что соблюдены
правила целостности базы данных.
Следующий пример показывает, как использовать в приложениях метод
UpdateRecord:
1. Откройте проект, использованный для демонстрации метода
UpdateControls.
2. Разместите на форме командную кнопку, измените ее свойство Caption
на “Обновить данные” и добавьте следующий код в процедуру
обработки события Click:
3. Private Sub Command2_Click()
4. Data1.UpdateRecord
5. End Sub
6. Запустите проект. Отредактируйте содержимое связанных элементов
управления и нажмите кнопку “Обновить данные”. Теперь, сделанные
вами изменения сохранены в базе данных.
События
Error
Событие Error происходит, когда при использовании объекта Data возникает
какая-либо ошибка доступа к данным, причем в это время программный код,
написанный программистом не выполняется. Примером такой ситуации
может быть случай, когда база данных, определенная свойством
DatabaseName объекта Data, не найдена. Здесь не выполняется написанного
программистом кода и, поэтому, обработка такого рода ошибки невозможна
с использованием стандартных средств Visual Basic. К счастью, в этом случае
происходит событие Error, в процедуру обработки которого программист
имеет полное право вмешаться.
Синтаксис: Private Sub Data1_Error (DataErr As Integer, Response As Integer)
Параметр DataErr содержит код ошибки. Различные варианты действия после
возникновения ошибки определяются параметром Response, и приведены в
следующей таблице:
Постоянная
Значение
Действие
vbDataErrContinue 0
После возникновения ошибки
приложение продолжает выполняться.
vbDataErrDisplay
После возникновения ошибки
появляется диалоговое окно с
соответствующим сообщением. Этот
вариант действия установлен по
умолчанию.
1
1. Откройте любой проект и измените свойство DatabaseName объекта
управления данными Data1 на C:\BIBLIO.MDB.
2. Запустите проект и убедитесь, что на экране появляется сообщение об
ошибке.
3. Добавьте в процедуру обработки события Error следующий фрагмент:
4. Private Sub Data1_Error(DataErr As Integer, Response As Integer)
5. Response = vbDataErrContinue
6. End Sub
7. Запустите приложение. В этом случае сообщения об ошибке не
возникает.
Reposition
Событие Reposition происходит, когда запись в наборе записей становится
текущей.
Синтаксис: Private Sub Data1_Reposition ().
После загрузки объекта Data и открытия соответствующего набора записей,
первая запись в наборе становится текущей и происходит событие Reposition.
Это событие также происходит, когда пользователь нажимает кнопки на
объекте Data для перемещения по набору записей, а также при
использовании методов Move или Find. Вообще говоря, применение любых
методов, при которых происходит изменение положения текущей записи,
вызывает событие Reposition.
В отличие от события Validate, которое происходит перед изменением
текущей записи, событие Reposition всегда происходит после того, как
следующая запись стала текущей.
Validate
Событие Validate происходит перед изменением положения текущей записи,
а так же перед выполнением методов Update (за исключением случая, когда
данные сохраняются с помощью метода UpdateRecord), Delete, Unload, или
Close.
Синтаксис: Private Sub Data1_Validate (Action As Integer, Save As Integer)
Аргумент Save определяет состояние связанных элементов управления. Если
аргумент Save установлен в True, то содержимое связанных элементов
управления было изменено. Если же аргумент Save установлен в False, то
никаких изменений в связанных элементах управления не произошло.
Аргумент Action определяет действие, которое вызвало событие Validate.
Возможные значения этого параметра и их краткие описания приведены в
следующей таблице.
Постоянная
vbDataActionCancel
Значение
0
Описание
Отменяет операцию при выходе
из процедуры обработки
события.
vbDataActionMoveFirst
1
Нажата кнопка перехода к
первой записи на объекте Data
или применен метод MoveFirst
объекта Recordset.
vbDataActionMovePrevious 2
Нажата кнопка перехода к
предыдущей записи на объекте
Data или применен метод
MovePrevious объекта Recordset.
vbDataActionMoveNext
3
Нажата кнопка перехода к
следующей записи на объекте
Data или применен метод
MoveNext объекта Recordset.
4
Нажата кнопка перехода к
последней записи на объекте
Data или применен метод
MoveLast объекта Recordset.
5
Применен метод AddNew
объекта Recordset или указатель
текущей записи перемещен за
конец файла при установленном
свойстве EOFAction объекта
Data в AddNew.
vbDataActionUpdate
6
Применен метод Update объекта
Recordset (но не UpdateRecord
объекта Data).
vbDataActionDelete
7
Применен метод Delete объекта
Recordset.
vbDataAction
8
Применен один из методов Find
объекта Recordset.
vbDataActionBookmark
9
Изменено свойство Bookmark
объекта Recordset.
vbDataActionClose
10
Применен метод Close объекта
Recordset.
vbDataActionUnload
11
Выгружена экранная форма,
содержащая объект управления
vbDataActionMoveLast
vbDataActionAddNew
данными.
В процедуре обработки события Validate можно заменить действие,
вызвавшее это событие, на другое действие при помощи установки свойства
Action соответствующим образом. При этом совершенно свободно можно
менять любой из методов Move на метод AddNew и обратно. Отмена любого
действия производится установкой аргумента Action в 0 (Action =
vbDataActionCancel).
Примером обработки события Validate можно найти в уже рассмотренном
ранее проекте, посвященном применению метода UpdateControls. Только
теперь, вместо метода UpdateControls для отмены результатов
редактирования, вы можете использовать установку аргумента Action в
vbDataActionCancel:
Private Sub Data1_Validate(Action As Integer, Save As Integer)
If Save=False Then Exit Sub
End If
If MsgBox("Сохранить сделанные изменения",
vbYesNo,"","",0)=vbNo Then
Action=vbDataActionCancel
Exit Sub
End If
End Sub
Тема 4.11: Хранимые процедуры и триггеры. Обеспечение
достоверности, целостности и непротиворечивости данных. Каскадные
воздействия
Триггеры и хранимые процедуры — это именованные блоки кода SQL,
которые заранее откомпилированы и хранятся на сервере для того, чтобы
быстро производить обработку запросов, валидацию данных и другие часто
выполняемые функции. Хранение и выполнение кода на сервере позволяет
создавать код только один раз, а не в каждом приложении, работающем с БД.
Это экономит время при написании и сопровождении программ. При этом
гарантируется, что целостность данных и бизнес-правила поддерживаются
независимо от того, какое именно клиентское приложение обращается к
данным. Триггеры и хранимые процедуры не требуется пересылать по сети
из клиентского приложения, что значительно снижает сетевой трафик.
Хранимой процедурой называется именованный набор предварительно
откомпилированных команд SQL, который может вызываться из клиентского
приложения или из другой хранимой процедуры.
Триггером называется процедура, которая выполняется автоматически как
реакция на событие. Таким событием может быть вставка, изменение или
удаление строки в существующей таблице. Триггер сообщает СУБД, какие
действия нужно выполнить при выполнении команд SQL INSERT, UPDATE
или DELETE для обеспечения дополнительной функциональности,
выполняемой на сервере.
Триггер ссылочной целостности — это особый вид триггера, используемый
для поддержания целостности между двумя таблицами, которые связаны
между собой. Если строка в одной таблице вставляется, изменяется или
удаляется, то триггер ссылочной целостности сообщает СУБД, что нужно
делать с теми строками в других таблицах, у которых значение внешнего
ключа совпадает со значением первичного ключа вставленной строки
(измененной или удаленной строки).
Для генерации триггеров ERwin использует механизм шаблонов —
специальных скриптов, использующих макрокоманды. При генерации кода
триггера вместо макрокоманд подставляются имена таблиц, колонок,
переменные и другие фрагменты кода, соответствующие синтаксису
выбранной СУБД. Шаблоны триггеров ссылочной целостности,
генерируемые ERwin по умолчанию, можно изменять.
Для создания и редактирования хранимых процедур ERwin располагает
специальными редакторами, аналогичными редакторам, используемым для
создания триггеров. В отличие от триггера хранимая процедура не
выполняется в ответ на какое-то событие, а вызывается из другой
программы, которая передает на сервер имя процедуры. Хранимая процедура
более гибкая, чем триггер, поскольку может вызывать другие хранимые
процедуры. Ей можно передавать параметры, и она может возвращать
параметры, значения и сообщения.
Обеспечение целостности не позволяет включить в таблицу: записи, для
которых не существует записей в главных таблицах. [1]
Обеспечение целостности и сохранности ручной клади, перевозимой
пассажиром, в соответствии со ст. 128 ТУЖД является обязанностью
пассажира. [2]
Обеспечение целостности и сохранности ручной клади, перевозимой
пассажиром, является обязанностью пассажира. [3]
Отношения БД в ЗНФ.
Обеспечение целостности БД означает выполнение ряда ограничений,
соблюдение которых необходимо для поддержания непротиворечивости
хранимых данных. [4]
Обеспечению целостности АИС и, в частности, БД необходимо уделять
первостепенное внимание. [5]
Для обеспечения целостности и сохранности информации следует
периодически сохранять на внешнем носителе файлы, с которыми ведется
работа, а также файлы, имеющие наибольшую ценность. Не вредно
копировать и хранить все содержимое винчестера. [6]
Для обеспечения целостности конфигурации внешние отчеты рекомендуется
использовать, в основном, в отладочных целях. После отладки алгоритма
формирования отчета необходимо включить внешний отчет в
конфигурацию. [7]
Для обеспечения целостности оболочки в случае разгерметизации
трубопровода, она должна выдерживать рабочее давление рр среды
перекачиваемой по трубопроводу. Для этого расчет толщины стенки
полимерной оболочки ведут, исходя из допускаемого напряжения для
выбранного материала од, ориентируясь при этом на максимально возможное
для выбранного материала давление рр. [8]
Для обеспечения целостности базы данных могут применяться правила
проверки достоверности значений, находящиеся в СССД. Все эти средства
способствуют решению АД ( АБД) задач управления доступом к базе данных
и поддержания ее безопасности и целостности. [9]
Зависимость температуры самовозгорани
/ с от удельной поверхности.| Свойства
материалов предохранительных мембран
получены при использовании в качестве
горючего смеси пентана ( 3 % и воздуха (
97 % / - полиэфирная пленка толщиной 0
023 мм. 2 - прессованный асбест ( 0 2 мм.
- алюминиевая фольга ( 0 05 мм. 4 целлофан ( 0 026 мм. 5 - полиэтиленовая
пленка 0 065 мм. 6 - растянутая пленка
полистирола ( 8 мм. F - площадь
материала.
Для обеспечения целостности защищаемого оборудования конструкция
предохранительных клапанов и мембран должна удовлетворять следующим
требованиям: а) клапан ( или мембрана) должен полностью открываться при
заданном давлении; б) инерционность предохранительного устройства
должна быть минимальной; в) вероятность отказов не должна превышать 10 9 в год; г) при максимальной простоте конструкции обеспечивать
герметичность сушильного оборудования при нормальных режимах
работы. [10]
Средства обеспечения целостности гарантируют актуальность и
достоверность данных, обрабатываемых прикладными программами. Они
представляют собой прикладные программы специального назначения.
Функции поддержания целостности часто включаются в прикладные
программы ( например, проверки редактирования) или могут возлагаться на
самостоятельные программы редактирования и проверки достоверности. [11]
Средства обеспечения целостности в различных системах могут быть
реализованы по-разному, и способ их построения в значительной степени
зависит от используемого аппарата управления данными. Накладные
расходы на организацию восстановления могут быть существенно
уменьшены за счет оптимизации длины интервала между моментами
выполнения управляемых действий. Одним из широко используемых
критериев оптимизации является критерий максимальной пропускной
способности системы, который сводится к минимизации среднего времени
выполнения одного изменения. Описанная в работе обобщенная методика
оптимизации средств восстановления по этому критерию может быть
применена к СУБД различного типа. Определение по предлагаемому методу
накладных расходов на организацию восстановления позволяет оценить
реальные временные параметры АИС и в конечном счете повлиять на выбор
СУБД или типа аппарата управления данными. [12]
Средства обеспечения целостности БД должны предусматривать в случае
отказа возможность возврата массива М в непротиворечивое состояние D ( t)
и предоставлять аппарат, использование которого будет гарантировать, что
каждая транзакция работает с непротиворечивыми данными. [13]
Тема 4.12: Формирование и вывод отчётов
Отчет – это форматированное представление данных, которое выводится на
экран, в печать или файл. Они позволяют извлечь из базы нужные сведения и
представить их в виде, удобном для восприятия, а также предоставляют
широкие возможности для обобщения и анализа данных.
При печати таблиц и запросов информация выдается практически в том виде,
в котором хранится. Часто возникает необходимость представить данные в
виде отчетов, которые имеют традиционный вид и легко читаются.
Подробный отчет включает всю информацию из таблицы или запроса, но
содержит заголовки и разбит на страницы с указанием верхних и нижних
колонтитулов.
Структура отчета в режиме Конструктора
Microsoft Access отображает в отчете данные из запроса или таблицы,
добавляя к ним текстовые элементы, которые упрощают его восприятие.
К числу таких элементов относятся:
Заголовок. Этот раздел печатается только в верхней части первой
страницы отчета. Используется для вывода данных, таких как текст заголовка
отчета, дата или констатирующая часть текста документа, которые следует
напечатать один раз в начале отчета. Для добавления или удаления области
заголовка отчета необходимо выбрать в меню Вид команду
Заголовок/примечание отчета.
Верхний колонтитул. Используется для вывода данных, таких как
заголовки столбцов, даты или номера страниц, печатающихся сверху на
каждой странице отчета. Для добавления или удаления верхнего колонтитула
необходимо выбрать в меню Вид команду Колонтитулы. Microsoft Access
добавляет верхний и нижний колонтитулы одновременно. Чтобы скрыть
один из колонтитулов, нужно задать для его свойства Высота значение 0.
Область данных, расположенная между верхним и нижним
колонтитулами страницы. Содержит основной текст отчета. В этом разделе
появляются данные, распечатываемые для каждой из тех записей в таблице
или запросе, на которых основан отчет. Для размещения в области данных
элементов управления используют список полей и панель элементов. Чтобы
скрыть область данных, нужно задать для свойства раздела Высота значение
0.
Нижний колонтитул. Этот раздел появляется в нижней части каждой
страницы. Используется для вывода данных, таких как итоговые значения,
даты или номера страницы, печатающихся снизу на каждой странице отчета.
Примечание. Используется для вывода данных, таких как текст
заключения, общие итоговые значения или подпись, которые следует
напечатать один раз в конце отчета. Несмотря на то, что в режиме
Конструктора раздел "Примечание" отчета находится внизу отчета, он
печатается над нижним колонтитулом страницы на последней странице
отчета. Для добавления или удаления области примечаний отчета
необходимо выбрать в меню Вид команду Заголовок/примечание отчета.
Microsoft Access одновременно добавляет и удаляет области заголовка и
примечаний отчета
Способы создания отчета
В Microsoft Access можно создавать отчеты различными способами:
Конструктор
Мастер отчетов
Автоотчет: в столбец
Автоотчет: ленточный
Мастер диаграмм
Почтовые наклейки
Мастер позволяет создавать отчеты с группировкой записей и представляет
собой простейший способ создания отчетов. Он помещает выбранные поля в
отчет и предлагает шесть стилей его оформления. После завершения работы
Мастера полученный отчет можно доработать в режиме Конструктора.
Воспользовавшись функцией Автоотчет, можно быстро создавать отчеты, а
затем вносить в них некоторые изменения.
Для создания Автоотчета необходимо выполнить следующие действия:
В окне базы данных щелкнуть на вкладке Отчеты и затем щелкнуть на
кнопке Создать. Появится диалоговое окно Новый отчет.
Выделить в списке пункт Автоотчет: в столбец или Автоотчет:
ленточный.
В поле источника данных щелкнуть на стрелке и выбрать в качестве
источника данных таблицу или запрос.
Щелкнуть на кнопке ОК.
Мастер автоотчета создает автоотчет в столбец или ленточный (по выбору
пользователя), и открывает его в режиме Предварительного просмотра,
который позволяет увидеть, как будет выглядеть отчет в распечатанном
виде.
В меню Файл щелкнуть на команде Сохранить. В окне Сохранение в поле
Имя отчета указать название отчета и щелкнуть на кнопке ОК.
Изменение масштаба отображения отчета
Для изменения масштаба отображения пользуются указателем — лупой.
Чтобы увидеть всю страницу целиком, необходимо щелкнуть в любом месте
отчета. На экране отобразится страница отчета в уменьшенном масштабе.
Снова щелкнуть на отчете, чтобы вернуться к увеличенному масштабу
отображения. В увеличенном режиме представления отчета, точка, на
которой вы щелкнули, окажется в центре экрана. Для пролистывания страниц
отчета пользуются кнопками перехода внизу окна.
Печать отчета
Для печати отчета необходимо выполнить следующее:
В меню Файл щелкнуть на команде Печать.
В области Печатать щелкнуть на варианте Страницы.
Чтобы напечатать только первую страницу отчета, введите 1 в поле "с" и 1
в поле "по".
Щелкнуть на кнопке ОК.
Прежде чем печатать отчет, целесообразно просмотреть его в режиме
Предварительного просмотра, для перехода к которому в меню Вид нужно
выбрать Предварительный просмотр.
Если при печати в конце отчета появляется пустая страница, убедитесь, что
параметр Высота для примечаний отчета имеет значение 0. Если при печати
пусты промежуточные страницы отчета, убедитесь, что сумма значений
ширины формы или отчета и ширины левого и правого полей не превышает
ширину листа бумаги, указанную в диалоговом окне Параметры страницы
(меню Файл).
При разработке макетов отчета руководствуйтесь следующей формулой:
ширина отчета + левое поле + правое поле <= ширина бумаги.
Для того чтобы подогнать размер отчета, необходимо использовать
следующие приемы:
изменить значение ширины отчета;
уменьшить ширину полей или изменить ориентацию страницы.
Создание отчета
1. Запустите программу Microsoft Access. Откройте БД (например, учебную
базу данных «Деканат»).
2. Создайте Автоотчет: ленточный, используя в качестве источника данных
таблицу (например, Студенты). Отчет открывается в режиме
Предварительного просмотра, который позволяет увидеть, как будет
выглядеть отчет в распечатанном виде
3. Перейдите в режим Конструктора и выполните редактирование и
форматирование отчета. Для перехода из режима предварительного
просмотра в режим конструктора необходимо щелкнуть команду Закрыть на
панели инструментов окна приложения Access. На экране появится отчет в
режиме Конструктора.
Редактирование:
1) удалите поля код студента в верхнем колонтитуле и области данных;
2) переместите влево все поля в верхнем колонтитуле и области данных.
3) Измените надпись в заголовке страницы
В разделе Заголовок отчета выделить надпись Студенты.
Поместите указатель мыши справа от слова Студенты, так чтобы
указатель принял форму вертикальной черты (курсора ввода), и щелкните в
этой позиции.
Введите НТУ «ХПИ» и нажмите Enter.
4) Переместите Надпись. В Нижнем колонтитуле выделить поле =Now() и
перетащить его в Заголовок отчета под название Студенты. Дата будет
отображаться под заголовком.
5) На панели инструментов Конструктор отчетов щелкнуть на кнопке
Предварительный просмотр, чтобы просмотреть отчет
Форматирование:
1) Выделите заголовок Студенты НТУ «ХПИ»
2) Измените гарнитуру, начертание и цвет шрифта, а также цвет заливки
фона.
3) На панели инструментов Конструктор отчетов щелкнуть на кнопке
Предварительный просмотр, чтобы просмотреть отчет.
Изменение стиля:
Для изменения стиля выполните следующее:
На панели инструментов Конструктора отчетов щелкнуть на кнопке
Автоформат, откроется диалоговое окно Автоформат.
В списке Стили объекта "отчет - автоформат" щелкнуть на пункте
Строгий и затем щелкнуть на кнопке ОК. Отчет будет отформатирован в
стиле Строгий.
Переключится в режим Предварительный просмотр. Отчет отобразится в
выбранном вами стиле. Впредь все отчеты созданные с помощью функции
Автоотчет будут иметь стиль Строгий, пока вы не зададите другой стиль в
окне Автоформат.
Сохранить и закрыть отчет.
Тема 4.13: Организация запросов SQL
Что такое язык запросов SQL?
Язык запросов sql используется программистами наиболее широко.
Причиной тому является повсеместное распространение динамических веб
сайтов. Как правило, такие ресурсы имеют гибкую оболочку. Но основной
костяк такого сайта составляют базы данных. Если вы начинающий
программист, вы просто обязаны освоить структурированный язык запросов
SQL.
Зачем нужно знать язык запросов SQL?
Освоив язык запросов sql, вы с легкостью сможете писать приложения для
WordPress. Это один из самых популярных блоговых движков в мире. Вы
сможете писать sql запросы любой сложности, ведь писать sql запросы —
это основное при изучении sql. На сайте запросы sql примеры найти не
сложно, sql примеры Вы найдете в разделе SQL SELECT (запросы sql
примеры).
Недавно появившийся веб ресурс sql-language.ru содержит массу
информации касающейся языка запроса sql. По сути дела данный веб-сайт
составляет огромный sql справочник. На сайте грамотно и в доступной форме
рассмотрены запросы в sql.
Ресурс имеет раздел язык запросов sql для начинающих. Здесь вы можете
получить начальные сведения о языке. Приведены основные возможности,
которые будут доступны программистам на sql. В общих чертах это хранение
и получение данных, их обработка и система команд. В данном разделе
приведены типы команд, которые включает язык запросов sql и рассмотрено
их назначение. Раздел описывающий данные входящие в язык запросов sql
описывает строковые, числовые и прочие типы данных. На каждый тип
приведено подробное описание и определена допустимая величина строки.
Структурированный язык запросов sql предполагает аккуратное
использование типов данных. Также в данном разделе содержится подробная
информация по типам совместимым с Access и Oracle. Раздел привилегий
языка запроса sql, расписывает как распределить или частично ограничить
доступ к данным. Особенно это востребовано для веб сайтов с динамичным
содержимым. Примером таких сайтов являются форумы или корпоративные
сайты. Возможность редактирования отдельных данных допускается не для
всех. Вот здесь то и пригодятся привилегии, которые допускает язык
запросов sql. Вы сможете создать систему паролей и отсечь часть
пользователей от активных действий. Раздел индексы, языка запроса sql,
объясняет, как добиться максимальной производительности системы.
Использование индексации позволит серверу легко и быстро находить
данные. Структурированный язык запросов sqlфактически создавался для
этой цели. Простота и удобство в поиске данных, послужило быстрому
признанию и распространению языка запроса sql. В восьмидесятых годах
язык был признан стандартом для работы с базами данных. С тех пор язык
запросов sql используется на большинстве серверов.
Еще один наиболее масштабный раздел сайта это команды. Пожалуй этот
сектор рассмотрен на сайте sql-language.ru наиболее подробно. Как обычно,
для начинающих приведена общая описательная часть о типах команд языка
запроса sql. Рассмотрены такие общие типы как команды определения
данных, команды языка управления, управление транзакциями и
манипулирование данными. В дальнейшем, каждая из команд рассмотрена в
деталях. Детально описан синтаксис команды, назначение, и конечный
результат ее действия. Еще один серьезный раздел сайта посвящен условиям
языка запроса sql. Здесь подробно описано как организовать обработку
данных определенным образом. Возможны гибкие варианты, ограничения
или исключения данных из процесса обработки.
Вся информация на сайте является абсолютно бесплатной. Сайт обладает
достаточно простой навигацией. В структуре данных довольно легко
ориентироваться даже неподготовленному человеку. Для новичков впервые
осваивающих язык запросов sql веб сайт будет хорошим подспорьем.
Оставьте закладку на sql-language.ru и вы всегда сможете найти
необходимую информацию, касающуюся языка запроса sql. Для тех, кто уже
сталкивался с программированием с использованием языка запроса sql,
ресурс не будет лишним. Наверняка не всякий держит все тонкости языка в
голове. Периодически возникают вопросы, требующие припоминания основ
и деталей. Для зарегистрированных пользователей, на сайте предусмотрена
возможность оставлять комментарии. Вы сможете задать вопрос, и
прочитать, что по этому поводу думают другие.
Создание таблиц с помощью SQL
Если Вы хотите воспользоваться компонентом TQuery, сначала поместите
его на форму. После этого настройте свойство DatabaseName на нужный Вам
алиас (если базы данных еще не существует, удобней создать ее в WISQL
командой File|Create Database..., а затем уже настроить на нее новый алиас).
После этого можно ввести SQL-предложение в свойство SQL. Для
выполнения запроса, изменяющего структуру,
вставляющего или обновляющего данные на сервере, нужно вызвать метод
ExecSQL компонента TQuery. Для выполнения запроса, получающего данные
с сервера (т.е. запроса, в котором основным является оператор SELECT),
нужно вызвать метод Open компонента TQuery. Это связано с тем, что BDE
при посылке запроса типа SELECT открывает так называемый курсор, с
помощью которого осуществляется навигация по выборке данных
(подробней об этом см. в уроке, посвященном TQuery).
Как показывает опыт, проще воспользоваться утилитой WISQL. Для этого в
WISQL выберите команду File|Run an ISQL Script... и выберите файл, в
котором записан ваш скрипт, создающий базу данных. После нажатия
кнопки "OK" ваш скрипт будет выполнен, и в нижнее окно будет выведен
протокол его работы.
Приведем упрощенный синтаксис SQL-предложения для создания таблицы
на SQL-сервере InterBase (более полный синтаксис можно посмотреть в
online-справочнике по SQL, поставляемом с локальным InterBase):
CREATE TABLE table
(<col_def> [, <col_def> | <tconstraint> ...]);
где
table - имя создаваемой таблицы,
<col_def> - описание поля,
<tconstraint> - описание ограничений и/или ключей (квадратные скобки []
означают необязательность, вертикальная черта | означает "или").
Описание поля состоит из наименования поля и типа поля (или домена - см.
урок 9), а также дополнительных ограничений, накладываемых на поле:
<col_def> = col {datatype | COMPUTED BY (<expr>) | domain}
[DEFAULT {literal | NULL | USER}]
[NOT NULL] [<col_constraint>]
[COLLATE collation]
Здесь
col - имя поля;
datatype - любой правильный тип SQL-сервера (для InterBase такими типами
являются - см. урок 11 - SMALLINT, INTEGER, FLOAT, DOUBLE
PRECISION, DECIMAL, NUMERIC, DATE, CHAR, VARCHAR, NCHAR,
BLOB), символьные типы могут иметь CHARACTER SET - набор символов,
определяющий язык страны. Для русского языка следует задать набор
символов WIN1251;
COMPUTED BY (<expr>) - определение вычисляемого на уровне сервера
поля, где <expr> - правильное SQL-выражение, возвращающее единственное
значение;
domain - имя домена (обобщенного типа), определенного в базе данных;
DEFAULT - конструкция, определяющая значение поля по умолчанию;
NOT NULL - конструкция, указывающая на то, что поле не может быть
пустым;
COLLATE - предложение, определяющее порядок сортировки для
выбранного набора символов (для поля типа BLOB не применяется). Русский
набор символов WIN1251 имеет 2 порядка сортировки - WIN1251 и
PXW_CYRL. Для правильной сортировки, включающей большие буквы,
следует выбрать порядок PXW_CYRL.
Описание ограничений и/или ключей включает в себя предложения
CONSTRAINT или предложения, описывающие уникальные поля,
первичные, внешние ключи, а также ограничения CHECK (такие
конструкции могут определяться как на уровне поля, так и на уровне
таблицы в целом, если они затрагивают несколько полей):
<tconstraint> = [CONSTRAINT constraint
<tconstraint_def>]
<tconstraint>
Здесь
<tconstraint_def> = {{PRIMARY KEY | UNIQUE} (col[,col...])
| FOREIGN KEY (col [, col ...]) REFERENCES other_table
| CHECK (<search_condition>)}
search_condition =
{<val> operator {<val> | (<select_one>)}
| <val> [NOT] BETWEEN <val> AND <val>
| <val> [NOT] LIKE <val> [ESCAPE <val>]
| <val> [NOT] IN (<val> [, <val> ...] |
<val> = {
col [array_dim] | <constant> | <expr> | <functiont>
| NULL | USER | RDB$DB_KEY } [COLLATE collation]
<constant> = num | "string" | charsetname "string"
<functiont> = {
COUNT (* | [ALL] <val> | DISTINCT <val>)
| SUM ([ALL] <val> | DISTINCT <val>)
| AVG ([ALL] <val> | DISTINCT <val>)
| MAX ([ALL] <val> | DISTINCT <val>)
| MIN ([ALL] <val> | DISTINCT <val>)
| CAST (<val> AS <datatype>)
| UPPER (<val>)
| GEN_ID (generator, <val>)
}
<operator> = {= | < | > |<= |>= | !< | !> | <> | !=}
<select_one> = выражение SELECT по одному полю, которое возвращает в
точности одно значение.
Приведенного неполного синтаксиса достаточно для большинства задач,
решаемых в различных предметных областях. Проще всего синтаксис SQL
можно понять из примеров. Поэтому мы приведем несколько примеров
создания таблиц с помощью SQL.
Пример A: Простая таблица с конструкцией PRIMARY KEY на уровне
поля
CREATE TABLE REGION (
REGION
REGION_NAME NOT NULL PRIMARY KEY,
POPULATION INTEGER NOT NULL);
Предполагается, что в базе данных определен домен REGION_NAME,
например, следующим образом:
CREATE DOMAIN REGION_NAME
AS VARCHAR(40) CHARACTER SET WIN1251 COLLATE
PXW_CYRL;
Пример B: Таблица с предложением UNIQUE как на уровне поля, так и
на уровне таблицы
CREATE TABLE GOODS (
MODEL
SMALLINT NOT NULL UNIQUE,
NAME
CHAR(10) NOT NULL,
ITEMID
INTEGER NOT NULL, CONSTRAINT MOD_UNIQUE
UNIQUE (NAME, ITEMID));
Пример C: Таблица с определением первичного ключа, внешнего ключа
и конструкции CHECK, а также символьных массивов
CREATE TABLE JOB (
JOB_CODE
JOBCODE NOT NULL,
JOB_GRADE
JOBGRADE NOT NULL,
JOB_REGION
REGION_NAME NOT NULL,
JOB_TITLE
VARCHAR(25) CHARACTER SET WIN1251
COLLATE
PXW_CYRL NOT NULL,
MIN_SALARY
SALARY NOT NULL,
MAX_SALARY
SALARY NOT NULL,
JOB_REQ
BLOB(400,1) CHARACTER SET WIN1251,
LANGUAGE_REQ VARCHAR(15) [5],
PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_REGION),
FOREIGN KEY (JOB_REGION) REFERENCES REGION (REGION),
CHECK (MIN_SALARY < MAX_SALARY));
Данный пример создает таблицу, содержащую информацию о работах
(профессиях). Типы полей основаны на доменах JOBCODE, JOBGRADE,
REGION_NAME и SALARY. Определен массив LANGUAGE_REQ,
состоящий из 5 элементов типа VARCHAR(15). Кроме того, введено поле
JOB_REQ, имеющее тип BLOB с подтипом 1 (текстовый блоб) и размером
сегмента 400. Для таблицы определен первичный ключ, состоящий из трех
полей JOB_CODE, JOB_GRADE и JOB_REGION. Далее, определен внешний
ключ (JOB_REGION), ссылающийся на поле REGION таблицы REGION. И,
наконец, включено предложение CHECK, позволяющее производить
проверку соотношения для двух полей и вызывать исключительное
состояние при нарушении такого соотношения.
Пример D: Таблица с вычисляемым полем
CREATE TABLE SALARY_HISTORY (
EMP_NO
EMPNO NOT NULL,
CHANGE_DATE
DATE DEFAULT "NOW" NOT NULL,
UPDATER_ID
VARCHAR(20) NOT NULL,
OLD_SALARY
SALARY NOT NULL,
PERC_CHANGE
DOUBLE PRECISION DEFAULT 0 NOT NULL
CHECK (PERC_CHANGE BETWEEN -50 AND 50),
NEW_SALARY COMPUTED BY
(OLD_SALARY + OLD_SALARY * PERC_CHANGE / 100),
PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATER_ID),
FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO));
Данный пример создает таблицу, где среди других полей имеется
вычисляемое (физически не существующее) поле NEW_SALARY, значение
которого вычисляется по значениям двух других полей (OLD_SALARY и
PERC_CHANGE).
Документ
Категория
Программирование, Базы данных
Просмотров
215
Размер файла
1 082 Кб
Теги
сам, отчет
1/--страниц
Пожаловаться на содержимое документа