русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Коллекция Properties


Дата добавления: 2014-04-30; просмотров: 1257; Нарушение авторских прав


Объекты ADO имеют два типа свойств: встроенные и динамические. Встроенные свойства - это свойства, реализованные в ADO и доступные для любого нового объекта. Кроме того, встроенные свойства не являются объектами Property в коллекции Properties, поэтому пользователь может изменять их значения, но не может изменять их характеристики или удалять их. Многие провайдеры OLEDB предоставляют дополнительные свойства объектов. Такие дополнительные свойства называются динамическими и являются объектами Property в коллекции Properties. Объекты Property имеют четыре встроенных свойства:

· свойство Name - строка, уникально идентифицирующая динамическое свойство;

· свойство Type- целое число, определяющее тип данных динамического свойства;

· свойство Value - переменная, содержащая значение динамического свойства;

· свойство Attribute - значение типа Long, определяющее характеристики динамического свойства.

Каждый объект Property соответствует какой-либо характеристике объекта ADO. Для обращения к объекту Property из коллекции по имени используется следующий способ:

object.Properties("name")

Для обращения, например, к свойствуValue объекта Property используется такое же выражение. По контексту обращения определяется: обращаетесь ли Вы к самому объекту Property или к свойству Value объекта Property.

 

Раздел 2. Проектирование серверной части приложения баз данных

2.1 Проектирование структуры базы данных с помощью команд

2.1.1 Управление соединением ADO. Технология ADO.NET

Соединение с хранилищем данных ADO открывается и закрывается при помощи свойства

property Connected: Boolean; или методов procedure Open; overload; procedure Openfconst UserlD: WideString; const Password: WideString); overload; и procedure Close;

Метод open является перегружаемым при необходимости использования удаленного или локального соединения. Для удаленного соединения применяется вариант с параметрами UserID и Password.



До и после открытия и закрытия соединения разработчик может использовать соответствующие стандартные методы-обработчики событий:

property BeforeConnect: TNotifyEvent;

property BeforeDisconnect: TNotifyEvent;

property AfterConnect: TNotifyEvent;

property AfterDisconnect: TNotifyEvent;

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

TWillConnectEvent = procedure(Connection: TADOConnection; var Connectionstring, UserlD, Password: WideString; var ConnectOptions: TConnectOption;

var EventStatus: TEventStatus) of object;

property OnWillConnect: TWillConnectEvent;

Параметр Connection содержит указатель на вызвавший обработчик компонент.

Параметры Connectionstring, userID и Password определяют строку параметров, имя и пароль пользователя.

Соединение может быть синхронным или асинхронным, что и определяется параметромConnectOptions типа TConnectOption:

type TConnectOption = (coConnectUnspecified, coAsyncConnect);

coConnectunspecified — синхронное соединение всегда ожидает результат последнего запроса;

coAsyncConnect — асинхронное соединение может выполнять новые запросы, не дожидаясь ответа от предыдущих запросов.

Наконец, параметр Eventstatus позволяет определить успешность выполнения посланного запроса на соединение:

type

TEventStatus = (esOK, esErrorsOccured, esCantDeny, esCancel, esUnwantedEvent);

esOK — запрос на соединение выполнен успешно;

esErrorsOccured — в процессе выполнения запроса возникла ошибка;

esCantDeny — соединение не может быть прервано;

esCancel — соединение было прервано до открытия;

esUnwantedEvent внутренний флаг ADO.

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

procedure TForml.ADOConnectionWillConnect(Connection: TADOConnection;

var ConnectionString, UserlD, Password: WideString;

var ConnectOptions: TConnectOption;

var Eventstatus: TEventStatus);

begin if Eventstatus = esOK

then ConnectOptions := coConnectunspecified;

end;

Кстати, параметр синхронности/асинхронности можно также задать при помощи свойства

ConnectOptions property ConnectOptions: TConnectOption;

После открытия соединения для выполнения собственного кода можно использовать метод-обработчик

TConnectErrorEvent = procedure(Connection:

TADOConnection; Error: Error;

var Eventstatus: TEventStatus) of object;

property OnConnectComplete: TConnectErrorEvent;

Здесь, если в процессе открытия соединения возникла ошибка, параметр Eventstatus будет равен esErrorsOccured, а параметр Error содержит объект ошибки ADO.

Теперь перейдем к вспомогательным свойствам и методам компонента TADOConnection, обеспечивающим соединение.

Для ограничения времени открытия соединения для медленных каналов связи используется свойство

property ConnectionTimeout: Integer;

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

Также можно определить реакцию компонента на неиспользуемое соединение. Если через соединение не подключен ни один активный компонент, свойство

property KeepConnection: Boolean;

в значении True сохраняет соединение открытым. Иначе, после закрытия последнего связанного компонента ADO, соединение закрывается.

При необходимости провайдер соединения ADO определяется напрямую свойством

property Provider: WideString;

Имя источника данных по умолчанию задается свойством

property DefaultDatabase: WideString;

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

При необходимости прямой доступ к объекту соединения OLE DB обеспечивает свойство

property ConnectionObject: _Connection;

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

property LoginPrompt: Boolean;

Без этого диалога для задания данных параметров можно использовать свойство Connectionstring, метод open (см. выше) или метод-обработчик

type TLoginEvent = procedure(Sender:TObject;

Username, Password: string)

of object;

property OnLogin: TLoginEvent;

Свойство

type TConnectMode = (cmUnknown, cmRead, cmWrite, cinReadWrite, cmShareDenyRead, cmShareDenyWrite, cmShareExclusive, cmShareDenyNone);

property Mode: TConnectMode;

задает доступные для соединения операции:

· cmUnknown — разрешение неизвестно или не может быть установлено;

· cmRead — разрешение на чтение;

· cmwrite — разрешение на запись;

· cmReadWrite — разрешение на чтение и запись;

· cmshareDenyRead — разрешение на чтение для других соединений запрещено;

· cmshareoenywrite — разрешение на запись для других соединений запрещено;

· cmShareExciusive — разрешение на открытие для других соединений запрещено;

· cmshareDenyNone — открытие других соединений с разрешениями запрещено.

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

ADO.NET широко используется совместно с технологией web-программирования с использованием объектов ASP.NET для доступа к расположенным на сервере базам данных со стороны клиента.

Решение даже самой простой задачи, связанной с данными, предполагает использование множества разнообразных объектов – представителей классов ADO.NET, которые находятся между собой в достаточно сложных взаимоотношениях. Из-за этих отношений строго последовательное описание элементов ADO.NET представляется весьма проблематичным. С какого бы элемента ни начиналось описание, всегда предполагается предварительное представление о множестве других элементов.

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

Недостатки такого подхода стали выявляться после появления приложений, ориентированных на Интернет.

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

Факт плохого масштабирования приложений с постоянным соединением известен давно. Соединение с парой клиентов обслуживается приложением хорошо, 10 клиентов обслуживаются хуже, 100 – много хуже...

В ADO.NET используется другая модель доступа – доступ к отсоединенным данным. При этом соединение устанавливается лишь на то время, которое необходимо для проведения определенной операции над базой данных.

Модель доступа – модель компромиссная. В ряде случаев она проигрывает по производительности традиционной модели, и для этих случаев рекомендуется вместо ADO.NET использовать ADO.

ADO.NET предоставляет согласованный доступ к таким источникам данных, как SQL Server и XML, а также к источникам данных, предоставляемым при помощи OLE DB и ODBC. Пользовательские приложения, использующие общие данные, могут использовать ADO.NET для соединения с этими источниками данных и для получения, обработки и обновления имеющихся в них данных.

ADO.NET разделят доступ к данным и обработку данных на дискретные компоненты, которые могут использоваться отдельно или совместно. ADO.NET включает поставщиков данных .NET Framework для соединения с базой данных, выполнения команд и получения результатов. Эти результаты, помещенные в объект ADO.NETDataSet, обрабатываются непосредственно, чтобы они могли быть предоставлены пользователю нерегламентированным образом, объединенные с данными из многих источников или передаваемые между уровнями. Объект DataSet также может независимо использоваться поставщиком данных .NET Framework для управления локальными для приложения данными или данными, источником которых является XML.

Классы ADO.NET имеются в System.Data.dll и интегрируются с классами XML, имеющимися в System.Xml.dll. Сведения об образце кода, который соединяется с базой данных, получает из нее данные, а затем отображает эти данные в консоли, см. в разделе.

Для разработчиков, которые пишут управляемый код, ADO.NET предоставляет функциональный набор, сходный с функциональным набором, который предоставляют объекты данных ActiveX (ADO) разработчикам моделей объектов собственных компонентов (COM). Для доступа к данным в приложении .NET мы рекомендуем использовать ADO.NET, а не ADO.

ADO.NET предоставляет самый прямой способ доступа к данным в .NET Framework. Сведения о более высоком уровне абстракции, который позволяет приложениям работать с концептуальной моделью, а не с базовой моделью хранения

 

2.2 Визуальные средства проектирования структуры базы данных

2.2.1 AllFusion как CASE-средство для проектирования, документирования и сопровождения БД

AllFusion ERwin Data Modeler — CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.

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

AllFusion ERwin Data Modeler (ERwin) позволяет наглядно отображать сложные структуры данных. Удобная в использовании графическая среда AllFusion ERwin Data Modeler упрощает разработку базы данных и автоматизирует множество трудоёмких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных. Данное решение улучшает коммуникацию организации, обеспечивая совместную работу администраторов и разработчиков баз данных, многократное использование модели, а также наглядное представление комплексных активов данных в удобном для понимания и обслуживания формате.

 

Раздел 3. Проектирование клиентской части приложения баз данных

3.1 Компоненты доступа к данным. Запросы на выборку данных

3.1.1 Создание SQL-запросов

 

SQL (англ. structured query language — «структурированный язык запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.

Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными (Data Manipulation Language или DML):

· SELECT – выбрать строки из таблиц;

· INSERT – добавить строки в таблицу;

· UPDATE – изменить строки в таблице;

· DELETE – удалить строки в таблице;

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



<== предыдущая лекция | следующая лекция ==>
Объект Recordset | Использование запроса SELECT для выборки нужных данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.502 сек.