Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 57
Текст из файла (страница 57)
Проектирование и использование БДрежиме по соглашениям конкретной базы данных. Кроме того, он содержитуровни функциональности или иерархии функциональных возможностей:минимальную, основную и расширенную.Программные средства поддержки O D B C корпорация Microsoft обычно поставляет вместе с СУБД.
Так, вместе с MS Access предоставляетсяменеджер драйверов и драйвер доступа к MS SQL Server. Драйверы доступа к форматам других БД берутся от фирм-разработчиков соответствующих СУБД.Фирма Borland в основных программных продуктах Delphi, Paradox forWindows, dBase for Windows и других, использует собственное стандартизованное средство доступа к базам данных Borland Database Engine (BDE) - процессор баз данных фирмы Borland.BDE включает следующие три основных компонента: стандартный интерфейс доступа к базам данных IDAPI(IntegratedDatabase Application ProgramInterface), драйверы баз данных распространенных форматов и утилиты настройки драйверов и псевдонимов.Интерфейс ID API насчитывает более 150 функций доступа к различнымБД и позволяет просто и единообразно работать с локальными и с удаленными данными.
В основе механизма доступа лежит понятие курсора (подраздел 3.9). ID API не ограничен минимальным набором функций, поддерживаемых БД. Как и в ODBC, здесь поддерживается расширенное множество функций в соответствии с возможностями форматов локальных и удаленных БД.Важной особенностью интерфейса I DAP I является обеспечение программпользователя средствами вторичного уточнения результатов запросов фильтрами.
Функционируя в среде клиентской части приложения, фильтрыпозволяют при работе с уделенными данными уменьшить объем передаваемой по сети информации. Фильтры IDAPI позволяют описывать сложныелогические условия над данными БД.Интерфейс IDAPI обеспечивает преобразование своих вызовов в вызовыфункций интерфейса ODBC. Для обращения к функциям IDAPI можнопользоваться языками запросов SQL (из программ) и QBE (в диалоговомрежиме).9.4. Характеристика технологии ADO.NETВ этом подразделе рассматривается технология доступа к даннымADO.NET, указаны ее преимущества по сравнению с предыдущей технологией ADO, а также дана характеристика ее объектной модели. ТехнологияADO.NET является развитием технологии доступа к данным ADO и входитсоставной частью в Microsoft .NET.9.
Дополнительные вопросы применения баз данныхХарактеристикаMicrosoft271.NETСоответственно, возникает вопрос, что представляет собой сама Microsoft.NET. Прежде всего, это новый подход к разработке приложений, при котором разработчику, как правило, не нужно самостоятельно писать код, определяющий его функциональность. Вместо этого разработчику достаточно воспользоваться соответствующей службой (сервисом) сети Интернет.
В составMicrosoft .NET входят следующие основные компоненты: библиотека классов .NET; языки .NET; общая языковая среда исполнения (CLR); интегрированная среда разработки приложений, например, Visial Studio .NET. Дадимкраткую характеристику названным компонентам:• Библиотека классов .NET включает множество шаблонов для использования их в различных приложениях. Любой язык .NET может использовать возможности этой библиотеки, взаимодействуя с соответствующимнабором объектов.• Common Language Runtime (CLR) — общеязыковая исполняющая среда, обеспечивающая единообразный доступ к сервисам Microsoft .NET.Основной задачей CLR является загрузка и выполнение кода, написанного на любом языке программирования, поддерживаемом в Microsoft.NET. В настоящее время поддерживаются языки Visual Basic, С++, С#,J Script из состава продуктов фирмы Microsoft, а также языки другихфирм, в числе которых COBOL, Eiffel, Oberon, Perl, SmallTalk и др.ТехнологияADO.NETADO.NET (ActiveX Data Object.NET) - набор классов, используемый длядоступа к источникам данных в платформе .NET.
ADO.NET представляет собой новую объектную модель, которая использует стандарт ХМ L для передачиданных. В ADO.NET реализована идея использования отсоединенных наборовданных, причем такой способ работы является основным. По сравнению с ADO,ADO.NET предполагает более легкое программирование, лучшую производительность и масштабирование, меньшую зависимость от источников данных.ADO.NET можно использовать для доступа к реляционным СУБД, такимкак SQL Server 2000, и ко многим дополнительным источникам данных, дляработы с которыми предназначен провайдер OLE DB.Одно из ключевых новшеств ADO.NET — замена ADO-объекта RecordSetкомбинацией объектов DataTable, DataSet, DataAdapter и DataReader.Объект DataTable представляет набор (collection) записей отдельной таблицы и в этом отношении аналогичен RecordSet.
Объект DataSet представляетнабор объектов DataTable, а также содержит отношения и ограничения, используемые при связывании таблиц. На самом деле DataSet — это хранящаяся в памяти реляционная структура данных со встроенной поддержкой XML.В ADO.NET поддержка реляционной модели осуществляется двумя способами.
Первый способ реализует подсоединенную модель доступа к данным,Часть 2. Проектирование и использование БД272в которой функционируют стандартные методы доступа к реляционной базеданных, включая поддержку параметрических запросов, хранимых процедур,SQL-операторов пакетного выполнения и транзакций. Этот способ полностью аналогичен способам, применяющимся в известных интерфейсах доступа к данным, таких, как OLE DB, ODBC, J D B C .При втором способе доступ к данным осуществляется в отсоединенном режиме с помощью объекта DataSet, имитирующего базу данных. Над данными, содержащимися в этом объекте применимы все операции, характерныедля баз данных.
Объект DataSet может содержать любое количество реляционных таблиц, отношений и ограничений и даже позволяет получать подмножество таблиц с помощью SQL-подобного языка запросов. Кроме того, в отсоединенную модель входит объект DataAdapter, который играет роль связующего класса между реальной базой данных и объектом DataSet.ПреимуществаADO.NETТехнология ADO.NET создана для использования в управляемых проектах. Предыдущая технология A D O основана на технологии СОМ и при использовании из управляемых приложений требует дополнительных затратна выполнение кода. К тому же A D O имеет меньшие возможности при работе с отключенными наборами данных и XML.
Например, в A D O непростосохранить изменения, произведенные в отключенном курсоре. Рассмотримнекоторые преимущества ADO.NET в сравнении с ADO.Масштабируемость.При использовании объекта DataSet работа происходит с отсоединенными наборами данных. Это означает, что вы используетесоединение с источником данных очень короткое время. Во многих системахколичество подключений к базам данных является самым узким местом вплане масштабируемости.
Для таких систем ADO.NET является хорошимрешением, резко повышающим их масштабируемость.Независимостьот источника данных. В A D O возможности объектаRecordSet сильно зависели от используемого источника данных. Теоретически A D O обеспечивал доступ к данным независимо от источника данных, напрактике всегда необходимо было иметь хорошее представление о возможностях провайдера. В ADO.NET DataSet действительно не зависим от источника данных, и изменение провайдера, с помощью которого заполняетсяDataSet, не влияет на функциональность DataSet.Способность к взаимодействию.
Так как ADO.NET использует XML какстандартный формат передачи данных, программа, которой необходимо получить данные из компонента ADO.NET, не обязана сама быть компонентомADO.NET. В общем случае она вообще может не быть Windows-программой.Единственное требование - эта программа должна понимать XML. И это позволяет ADO.NET-компонентам при использовании других компонентов ислужб легко взаимодействовать с любой программой на любой платформе.9.
Дополнительные вопросы применения баз данныхКомпоненты273ADO.NETКомпоненты ADO.NET существуют в пяти главных пространст вах имен вбиблиотеке классов .NET. Укажем назначение этих пространств имен.S y s t e m . D a t a - содержит фундаментальные классы с базовой функциональностью A D O . N E T . В их число входят классы D a t a S e t и D a t a R e l a t i o n , которыепозволяют манипулировать структурированными реляционными данными.S y s t e m . D a t a . C o m m o n - эти классы применяются другими классами в пространствах имен System.Data.SqlClient и System.Data.OleDb, которые являются их наследниками и предоставляют конкретные версии, настроенные дляпоставщиков SQL Server и OLE DB.S y s t e m .
D a t a . O l e D b - содержат классы, которые используются для соединения с поставщиком O L E D В, включая O l e D b C o m m a n d n O l e D b C o n n e c t i o n .System.Data.SqlClient - содержит классы, которые используются для соединения с базой данных Microsoft SQL Server. Эти классы предоставляюттакие же свойства и методы аналогично классам из System.Data.OleDb. Отличие состоит в том, что они оптимизированы для SQL Server.S y s t e m . D a t a . S q l T y p e s - содержит структуры для специфических типовданных SQL Server, например, S q I M o n e y и S q I D a t e T i m e . Эти типы не являются обязательными и используются для работы с типами данных SQL Serverбез необходимости конвертировать их в стандартные эквиваленты .NET.
Использование таких структур позволяет увеличить производительность обмена данными за счет устранения автоматического преобразования данных.ОбъектыADO.NETБазовые объекты ADO.NET можно разбить на две группы: первая используется для хранения и управлениями данными (классы DataSet, DataTable,D a t a R o w и D a t a R e l a t i o n ) , вторая группа - для обеспечения соединения с источниками данных (классы C o n n e c t i o n s , C o m m a n d s и D a t a R e a d e r ) .
Объекты ADO.NET второй группы существуют в двух видах: для связи с поставщиками OLE DB и для взаимодействия с SQL Server.Объекты данных позволяют хранить локальные данные, не имеющие связи с источником. Кроме того, они не хранят соединение с источником данныхи, следовательно, их можно создавать самостоятельно, не используя базу данных.