Сервер: Сеансы и базы данных.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В Oracle Power Objects объект-сеанс создается на серверной части системы приложения базы данных. Сеансы обеспечивают доступ к объектам базы данных (таблицы, представления, последовательности и индексы), так и к данным, хранимым в самих таблицах и представлениях. В приложении можно использовать несколько сеансов; фактически, единственная форма, отчет или пользовательский класс могут обращаться к нескольким сеансам.

Посредством свойств и методов объекта-сеанса можно управлять режимом соединения с базой данных (открытое или закрытое). Устанавливая параметры логической структуры базы данных, определенной для сеанса, разработчик управляет диапазоном объектом базы данных, доступных через сеанс. Многие процессоры баз данных используют логические структуры (схемы пользователей) для ограничения доступа к объектам базы данных отдельным пользователям. Например, логическая структура администратора базы данных будет иметь доступ ко всем объектам базы данных, но рядовые пользователи должны иметь возможность редактировать данные только тех таблиц и представлений, которые нужны им для работы.

В Oracle Power Objects сеанс представляет собой отдельное окно, в котором символически показаны все объекты базы данных, доступные через этот сеанс. Дважды щелкнув на пиктограмме сеанса, можно активировать и деактивировать соединение с базой данных Когда соединение активно, окно Database Designer выводит все объекты базы данных, доступные в этом сеансе. Кроме того, при открытом соединении, во время разработки можно добавлять новые объекты базы данных и редактировать существующие.

Базы данных

База данных – система, которая хранит и организует информацию. Oracle Power Objecs позволяет формировать приложения, которые обращаются к информации, сохраненной в реляционной базе данных, и коллекции объектов базы данных, включая таблицы, представления, индексы, последовательности и синонимы. Процессор базы данных координирует пользовательский доступ к информации базы данных.

В Oracle Power Objects пользователь взаимодействует с базой данных через сеанс базы данных – объект, который содержит информацию, необходимую для установления соединения с базой данных. В этой главе описываются объекты-сеансы базы данных и общие методы работы с ними.

Далее описываются типы баз данных, поддерживаемые Oracle Power Objects внутренние (базы данных Blaze) и внешние базы данных

Внутренние базы данных создаются и поддерживаются Oracle Power Objects. Базы данных Blaze компактны и эффективны, не требуют для выполнения большого количества системных ресурсов. Объекты базы данных Blaze хранятся на жестком диске в единственном файле.

Внешние базы данных создаются и поддерживаются процессором базы данных вне Oracle Power Objects, например, ORACLE7 Server.

Рассматриваемая версия Oracle Power Objects поддерживает следующие внешние базы данных

ORACLE7 Server. ORACLE7 Server – мощная, высокопроизводительная система управления реляционными базами данных Oracle Corp., которая эксплуатируется на широком разнообразии программно-аппаратных платформ.

Базы данных SQL Server. Надежные и совершенные базы данных SQL Server поставляются компаниями Microsoft и Sybase. Oracle Power Objects обеспечивает доступ к базам данных SQL Server через драйвер DBLIB.

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

Каждый объект-сеанс базы данных сохраняется в собственном дисковом файле (в Windows этот файл имеет расширение POS). Объекты-сеансы базы данных представлены пиктограммой в окне Main рабочего стола Oracle Power Objects

Объект-сеанс может быть в одном из двух состояний: неактивный или активный.

Неактивный сеанс – не соединенный в данный момент с базой данных. Через неактивный сеанс нельзя вывести на экран объекты базы данных.

Активный сеанс – соединенный в данный момент с базой данных; он «содержит» все объекты базы данных, которые могут быть доступны через соединение. Активное состояние сеанса отображается пиктограммой включенного соединителя.

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

Каждый объект-сеанс базы данных обеспечивает доступ к единственной логической структуре (схеме) или учетной записи пользователя в базе данных. Сеанс обеспечивает полный доступ к объектам и функциям учетной записи, хотя некоторые возможности базы данных доступны только через код SQL (например, в ORACLE7 Server необходимо писать пользовательский код SQL, чтобы создавать или обращаться к объекту-снимку). Во время разработки сеанс базы данных содержит пиктограммы, представляющие объекты базы данных, принадлежащие учетной записи. В окне сеанса присутствуют только наиболее общие типы объектов базы данных (таблицы, представления, индексы и последовательности). Сеанс не показывает объекты базы данных в других логических структурах или учетных записях, к которым пользователь имеет доступ.

Объекты-сеансы базы данных не зависят от объектов приложения, Эта независимость обеспечивает гибкость в конфигурировании соединения приложения с базами данных. Например, несколько приложений могут использовать один и тот же сеанс базы данных или единственное приложение может использовать одновременно много различных сеансов. Один сеанс базы данных можно также использовать для соединения в разное время с различными базами данных. Например, через сеанс можно в процессе разработки и отладки приложения соединяться с базой данных Blaze, а затем при развертывании законченного приложения в производственной среде через тот же сеанс подключиться к ORACLE7 Server.

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

Базы данных Blaze

База данных Blaze – компактная и эффективная реляционная база данных, которая создается и поддерживается Oracle Power Objects. Oracle Power Objects предоставляет все инструментальные средства, требуемые для создания и работы с базами данных Blaze.

Базы данных Blaze поддерживают многие из функций и возможностей больших реляционных баз данных, но требуют при работе значительно меньшего количества системных ресурсов. Они могут содержать основные объекты базы данных: таблицы, представления, индексы, последовательности и синонимы. Как и для большинства реляционных баз данных, обращение к ним осуществляется через SQL – язык программирования и реляционных обращений. Язык SQL, поддерживаемый Blaze – подмножество языка Oracle7 SQL с несколькими дополнительными чертами.

Каждая база данных Blaze сохраняется как единственный дисковый файл операционной системы (который в Windows имеет расширение BLZ). Этот файл содержит все объекты пользователя и данные, а также информацию, необходимую для соединений и разъединений базы данных в приложениях-клиентах. База данных Blaze может иметь одновременно только одно открытое соединение.

В отличие от некоторых других реляционных баз данных, Blaze не имеет никаких серверных выделенных структур памяти или процессов. Вся информация относительно базы данных, включая информацию по блокировкам данных и управлению транзакциями, хранится в файле базы данных. Все необходимые операции периода выполнения (т акие как анализ операторов SQL и чтение или запись данных) выполняются процессором базы данных Blaze, который встроен в Oracle Power Objects Designer и Oracle Power Objects Rum-time. Когда два различных приложения-клиента соединяются с одной базой данных Blaze, каждый клиент использует собственную копию процессора базы данных.

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

Ø Локальные просмотровые таблицы. Если приложение обращается к внешним таблицам или представлениям, информация которых остается относительно статичной (например, список стран или категорий товаров), производительность системы базы данных можно повысить, сохраняя копии этих таблиц локально в базе данных Blaze. Часто обновляемые таблицы также могут быть сохранены локально, однако при этом необходимо организовать синхронизацию содержимого отдельных баз данных.

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

Ø Небольшие приложения. Для относительно небольших объемов (до 4 GB) данных, база данных Blaze формирует компактное, легко управляемое хранилище данных, которое поддерживает доступ одного пользователя.

Ø Разъединенный клиентский доступ. Базу данных Blaze можно использовать для хранения информации, разгруженной из большой системы базы данных; эту информацию пользователь может автономно исследовать и изменять в некритичном режиме.

Ø Базы данных только для чтения. База данных Blaze может поддерживать структуры информации на устройствах только для чтения, таких как CD-ROM.

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

Ø Большие требования к объему хранения данных. Базы данных Blaze ограничены максимальным доступным размером файла базовой операционной системы. Для Windows максимальный размер файла – 4GB.

Ø Параллельный доступ. Мощные внешние базы данных позволяют эффективно управлять большим количеством параллельных сеансов.

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

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

Ø Доступ из других платформ и инструментальных средств. В данный момент к базе данных Blaze можно обратиться только Oracle Power Objects. Если требуется использовать другие инструментальные средства доступа к базе данных или необходим доступ к базе данных из операционной системы, не поддерживаемой Oracle Power Objects, необходимо использовать внешнюю базу данных.

ORACLE7 Server

ORACLE7 Server – система управления реляционными базами данных, доступная на большом количестве программно-аппаратных платформ. ORACLE7 Server обеспечивает качественные и эффективные решения по главным функциям базы данных, включая:

Ø Управление большими базами данных и пространствами

Ø Неограниченное (со стороны JRACLE7 Server) количество параллельных пользователей базы данных

Ø Высокая производительность обработки транзакций

Ø Высокая доступность

Ø Поддержка промышленных стандартов

Ø Управляемая защита

Ø Централизованно поддерживаемая целостность

Ø Поддержка среды клиент/сервер (распределенная обработка)

Ø Поддержка систем распределенных баз данных

Ø Мобильность

Ø Совместимость

Ø Стыкуемость

Oracle Power Objects обеспечивает полную поддержку функций и возможностей ORACLE7 Server. Однако, Oracle Power Objects не располагает инструментальными средствами для создания или управления базой данных ORACLE7 Server.

Как и большинству реляционных баз данных, обращение к ORACLE7 Server осуществляется посредством языка SQL. Ко многим функция ORACLE7 Server можно обратиться через Record Manager в Oracle Power Objects, а также с помощью свойств, методов и окон, ассоциированных с доступом к базе данных. Другие возможности ORACLE7 Server можно реализовать, выполняя через команду EXEC SQL пользовательские операторы SQL или PL/SQL.

Базы данных SQL Server

База данных SQL Server – многопользовательская система управления реляционными базами данных, поставляемая фирмами Microsoft и Sybase. Как и ORACLE 7 Server, базы данных SQL Server эксплуатируются на широком диапазоне программно-аппаратных платформ и обеспечивают поддержку главных функций баз данных.

Типичная инсталляция SQL Server включает набор системных и пользовательских баз данных. Системные базы данных включают базы данных «master», «model» и «tempdb». Пользовательские базы данных создаются и поддерживаются, по мере необходимости, системным администратором SQL Server.

Oracle Power Objects в данный момент поддерживает любую базу данных SQL Server, которая может быть доступна через драйвер DBLIB. Некоторые функции баз данных Sybase System 10, включая поддержку курсов, через драйвер DBLIB не доступны.

Для таблиц, которые будут использоваться с Oracle Power Objects, необходмо всегда определять ограничения Primary Key.Oracle Power Objects использует значения первичного ключа для идентификации отдельных строк в операциях базы данных – например, при обновлении или удалении строк. Если приложение использует таблицы, которые не включают Primary Key, оно может вести себя непредсказуемо.

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

Устанавливая свойство RowFetchMode связанного контейнера, можно управлять порядком отбора результирующих строк. Когда свойство RowFetchMode установлено в «Fetch All Immediately», приложение будет вести себя идентично с базами данных всех типов. Однако, когда свойство RowFetchMode установлено в «Fetch as Needed» или «Fetch Count First», с базами данных SQL Server приложение может работать более медленно. Это происходит более медленно. Это происходит потому, что все не выбранные (не просмотренные пользователем) строки запроса должны быть довыбраны из базы данных, прежде чем можно будет вводить другие запросы.

Драйвер DBLIB непосредственно не предусматривает поддержку связанных переменных. Чтобы эмулировать поддержку связанной переменной, Oracle Power Objects автоматически заменяет упоминания связанной переменной в операторах EXEC SQL литеральными значениями данных.

Базы данных SQL Server не поддерживают объекты-последовательности. Следовательно, для генерирования уникальных значений таблиц (например, значений для столбца Primary Key) необходимо использовать альтернативную методику.

Объекты базы данных

Объекты базы данных хранят и организуют информацию в реляционных базах данных. В Oracle Power Objects объекты базы данных представлены пиктограммами в окне сеанса базы данных.

Объекты базы данных, в отличие от объектов приложения, не создаются и не поддерживаются непосредственно Oracle Power Objects. Все процедуры, касающиеся объектов базы данных, выполняются процессором базы данных – компонентом базы данных, в которой хранятся объекты. Так как процессоры реляционных баз данных имеют различные возможности, доступные объектные типы и функции для разных баз данных различны.

Объекты базы данных формируют «сервер базы данных» приложения Oracle Power Objects. При разработке приложения объекты базы данных связываются с объектами приложения (такими, как формы и отчеты).Объекты приложения обеспечивают «окно» в объекты базы данных, предоставляя сохраненную информацию в полезном формате. Процесс соединения объектов базы данных с объектами приложения называется связыванием.

Объекты базы данных визуально содержатся внутри объекта-сеанса. В каждом окне сеанса представлены объекты, принадлежащие единственному пользователю базы данных.

В некоторых базах данных объекты каждого пользователя хранятся в отдельной логической структуре. Логическая структура – именованная коллекция объектов внутри базы данных. С каждым пользователем базы данных ассоциирована логическая структура того же имени. Например, пользователь NINA имеет логическую структуру NINA. Для баз данных, которые поддерживают логические структуры, каждый объект-сеанс базы данных обеспечивает доступ к единственной логической структуре пользователя.

Окно сеанса базы данных не обязательно показывает все объекты, доступные пользователю – в нем представлены только объекты, для которых пользователь является владельцем (объекты, созданные этим пользователем). В окне сеанса базы данных не показаны public синонимы или объекты, принадлежащие другим пользователям для доступа к которым текущий пользователь имеет привилегии.

Ниже приводятся типы объектов базы данных, присущие большинству баз данных, с которыми может взаимодействовать Oracle Power Objects:

1. Таблицы. Объекты базы данных, которые фактически хранят данные. Отдельная таблица чаще всего хранит информацию по конкретной теме (например, служащие компании или адреса заказчиков). Информация в таблице организована в строки и столбцы.

2. Представления. Настроенные обзоры данных из одной или больше таблиц. Представление – виртуальная таблица, которая позволяет связывать и объединять данные из несколько таблиц и представлений (называемых исходными таблицами). Представления, подобно таблицам, организованы в строки и столбцы; однако, представления непосредственно не содержат никаких данные – они создаются логически как результат определения в операторе SQL. Представления позволяют обрабатывать несколько таблиц и ли представлений как один объект базы данных.

3. Индексы. Обеспечивают быстрый доступ к отдельным строкам в таблице. Индексы хранят «указатели» на каждую строку в таблице в формате, оптимизированном для быстрой сортировки и поиска данные. Будучи создан, индекс автоматически поддерживается и используется базой данных всякий раз при обращении к индексированным столбцам.

4. Последовательности. Объекты, генерирующие ряд целых чисел, которые могут применяться для назначения уникальных идентификаторов строкам таблицы. Значения последовательности можно использовать, чтобы гарантировать, что столбец не содержит дублированных значений (например, столбец первичного ключа). Некоторые базы данных, такие какSQL Server, не поддерживают последовательности; для этих баз данных необходимы альтернативные методы формирования уникальных значений.

5. Синонимы. Псевдонимы объектов базы данных (таблиц, представлений и последовательностей). Синонимы могут обеспечивать public доступ к часто используемым объектам и могут скрывать расположение и владельца объекта.

Для работы с этими базовыми объектами базы данных Oracle Power Objects обеспечивает графические интерфейсы.

Внешние базы данных (такие, как ORACLE7 Server ) могут содержать ряд дополнительных объектов базы данных (такой как кластеры, пакеты, снимки и роли) которые часто используются для обеспечения дополнительных уровней защиты или повышения эффективности системы базы данных, Чтобы обратиться к этим объектам из Oracle Power Objects, необходимо выполнить команды SQL, используя команду Oracle Basic EXEC SQL или функцию SQLLOOKUP.

Объекты базы данных не имеют таких свойств и методов, какие имеются у объектов приложения, так как они не создаются посредством объектных механизмов Oracle Power Objects.У объектов базы данных имеются ассоциированные листы свойств, в которые, однако. Нельзя добавлять пользовательские свойства или методы. Большинство объектов базы данных имеет лишь свойство Name, которое предусмотрено для обращений разработчика. Свойство Name может быть изменено через лист свойств во время разработки, и при этом объект будет переименован в базе данных, но это свойство нельзя изменять посредством Oracle Basic в период выполнения.

Над объектами базы данных модно выполнять два общих типа операций: операции определения данных и операции манипулирования данными.

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

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

При создании, удалении или изменении объекта базы данных из Oracle Power Objects, специфицированные изменения автоматически преобразуются в операторы SQL, которые затем передаются для выполнения процессору базы данных. Непосредственно Oracle Power Objects не выполняет никаких модификаций объектов и их данных.

Каждый тип операции имеет ассоциированный набор команд SQL: операции определения данных используют команды Языка Определения Данных (DDL), в то время как операции манипулирования данными используют команды Языка Манипулирования Данными (DML).

Типы операций, которые пользователь может выполнять с объектом базы данных, определяются привилегиями, которые он имеет по данному объекту. По умолчанию,             владелец объекта(пользователь, который создал объект) имеет все привилегии по объекту. Для других пользователей, желающих обратиться к объекту, владелец должен предоставить соответствующие привилегия.

Доступные типы объектных привилегий для разных баз данных различны, что отражается в соответствующем синтаксисе SQL для представления или отмены привилегий. Базы данных Blaze не имеют объектных привилегий – все пользователи базы данных Blaze имеют привилегии для всех объектов в базе данных.

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

Имена объектов базы данных должны отвечать правилам именования объектов для базы данных, в которой они сохранены. Эти правила различны для разных баз данных.

Среда разработки

Среда разработки OPO внешне напоминает ставшую уже стандартной среду Visual Basic. Верхний уровень иерархии объектов OPO - это объект ы File, изображенных в виде иконок на основном окне среды разработки и которых может быть три типа :

Приложения (Application).

Объекты Базы Данных (Database session).

Библиотеки (Library).

Каждая такая иконка может быть раскрыта в окно, содержащее объекты нижнего уровня иерархии. Копирование объектов между однотипными группами осуществляется простым переносом иконок .

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

В процессе разработке можно запускать на выполнение как все приложение, так и отдельные экраны (формы) и отчеты. Большую помощь при отладке может оказать отладчик, функционально аналогичный отладчику в Visual Basic.
Важно отметить возможность работать с объектами Базы Данных (таблицами, представлениями, индексами и т.д.) непосредственно из среды разработки OPO.
Вместе с тем, представление объектов в виде иконок и раскрывающихся окон удобно только при весьма небольшом их количестве. Когда число используемых объектов превышает несколько десятков , становиться очень сложно ориентироваться среди них и разбираться среди множества раскрытых и мешающих друг другу окон. Реализованный в Forms 4.5 Навигатор Объектов [3] заметно более нагляден и удобен. Большое число иконок в окне, а число объектов (таблиц, представлений , индексов и последовательностей) в даже небольшой БД превышает несколько сотен, в Windows 3.1/3.11 вызывает истощение системных ресурсов и приводит к ее краху.







Структура приложения

Приложение можно разделить на четыре структурные части :

Application и RecordSet представляют обращенную к пользователю часть приложения (Front End), Session и Database являются частью выполняющегося на сервере приложения (Back End). В зависимости от задач, требований к сетевому трафику и характеристик аппаратуры необходимо распределять логику работу приложения между этими частями. Обработку транзакций и поддержку целостности данных можно осуществлять во всех структурных частях приложения.
Основной частью (и видимой пользователю) частью приложения является форма или экран (Form). При создания экранов можно применять все стандартные элементы Windows приложений - поля и метки, различного рода кнопки, списки и т.д. Экраны могут содержать вложенные экраны.
Удобным является механизм запроса по форме (Query By Form). Для отображаемого в данный момент экрана можно вызвать экран для ввода запроса, представляющий собой копию первого экрана, в поля которого можно ввести условия и критерии выборки. В результате на первом экране будет информация в соответствии с заданными условиями. При этом экран запроса тоже остается видимым.




Обработка транзакций

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

1. Контейнеры. Контейнер – элемент интерфейса, через который пользователь инициирует запросы и изменения набора записей. После добавления, удаления или изменения записи пользователь перед закрытием контейнера должен фиксировать или аннулировать транзакцию (обычно, нажимая кнопку, предназначенную для этой цели – чаще всего, это кнопки ОК и Отмена (Cancel)). Кроме того, здесь определяют устанавливаемые на уровне клиента бизнес-правила, ограничивающие транзакции, которые может инициировать пользователь. Если система должна сообщить пользователю относительно результатов предпринятой транзакции, информация появляется здесь же, в интерфейсе пользователя.

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

3. Сеансы. После прохождения уровней приложения и набора записей транзакция должна затем пройти через сеанс. Чтобы фиксировать или аннулировать транзакции, ассоциированные с данным сеансом, для объекта-сеанса могут вызываться несколько методов.

4. Базы данных. В конечном счете, инициированная пользователем транзакция достигает непосредственно базы данных, где процессор базы данных проверяет, завершена ли транзакция. Процессор базы данных может установить на сервере бизнес-правила, контролируя, не нарушает ли переданная транзакция правила защиты, и выполнять другие важные функции управления транзакциями. Если транзакция – запрос, процессор базы данных после этого передает требуемую информацию клиенту.

Следовательно, при управлении транзакциями внутри приложения клиент/сервер Oracle Power Objects предоставляет возможности установления бизнес-правил, регулирования информационной нагрузки сети и поддержания целостности данных. Например, отдельное бизнес-правило может устанавливаться как ограничение базы данных или как часть приложения-клиента.

Дата: 2019-07-24, просмотров: 189.