
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
Кофе. Солнце. Базы данных
Java-технологии компании Sun Microsystems тоже не оставили в стороне доступ к РБД. Разработка компаний JavaSoft и InterSolv была призвана удовлетворить потребность в DataBase Connectivity применительно к java-приложениям. Как и следовало , этот проект во многом опирался на опыт создания ODBC и получил похожее название - JDBC (Java DataBase Connectivity). Первые реализации JDBC по сути представляли собой java-обертку вокруг ODBC-библиотек. Я не хочу сказать, что это решение убого или не достойно внимания: подобная технология активно применяется в наши дни и ее принято называть "мост JDBC-ODBC". Однако позже появились системы, в которых java-технологии занимали чуть ли не ведущую архитектурную позицию, и вместе с ними появились и "чистые" реализации JDBC, которые представляли собой java-классы, способные самостоятельно общаться с СУРБД, то есть без помощи дополнительных ODBC-драйверов. И пусть это решение проигрывало по производительности JDBC-ODBC-мостам, но оно было незаменимо в системах, имеющих на борту JVM (Java Virtual Machine), но не располагающих родными ODBC-драйверами.
DAO И RDO
Для БД Microsoft Access был разработан
специализированный БД-процессор
Microsoft JET. Он предоставлял пользовательским
приложе
ниям
интерфейс, отличающийся от ODBC ярко
выраженной объектно-компонентной
моделью, что позволило выполнить
полноценную интерфейсную привязку
не только к низкоуровневым языкам
вроде C/C++, но и к менее гибким наподобие
Visual Basic. Технология получила имя DAO -Data
Access Object. Из-за тенденции унификации
интерфейс DAO был расширен на многие
БД помимо MS Access. Однако однозначная
заточен-ность под JET вынуждала
транслировать JET-команды в ODBC-инструкции
(при доступе к не-Access БД), что снижало
производительность. Пришлось разработать
первичный binding ODBC в DAO-интерфейс, получивший
название RDO (Remote Data Objects). Теперь
при доступе к БД через ODBC больше не
требуется производить замедляющую
JET-ODBC-трансляцию. DAO-доступ через RDO
принято называть DAO-ODBCDirect.
OLE DB
Понятно, что технология Object Linking and Embedding (OLE), которую агитаторы Microsoft когда-то активно продвигали в массы, не могла не повлиять на интерфейсы DBC. OLE DB предлагает концепцию, несколько отличающуюся от описанных выше методов. Здесь содержимое БД представлено в виде данных документа и публичного интерфейса приложения, способного обработать этот документ (собственно, это и есть стандартная для OLE модель). С одной стороны, это мало похоже на привычные модели с запросами данных и возвратами результатов, а с другой - позволяет осуществлять привязки OLE DB к не-SQL (и даже к не-реляционным) базам данных. СУБД должна предоставить свой публичный OLE-интерфейс для работы с данными, и тогда можно будет использовать через OLE-DB. Есть и другой (весьма популярный для SQL РБД) метод - OLE DB-надстройка над механизмами ODBC.
ADO
Серверы интерфейсной автоматизации тоже оставили свой след на многострадальном теле DBC. В эпоху расцвета CORBA, DCOP и прочего Microsoft продвигала свое видение операционно-объектного интерфейса по имени COM (Common Object Methods). Детище концепций COM/DCOM получило имя ADO -ActiveX Data Objects. ADO не оснащено средствами для работы с различными БД напрямую. Вместо этого используются объектные платформы DAO/RDO и OLE DB, обретающие COM-привязки в лице ADO-интерфейса.
ADO+ AKA ADO.NET
Конечно же, не обошлось без пришествия .NET в стан DBC. На самом деле (по крайней мере, если верить заявлениям Microsoft) ADO.NET и ADO имеют лишь одинаковые названия и их программные интерфейсы слегка похожи. ADO.NET базируется на полностью переработанном движке, имеющем существенные отличия в плане возможностей. Во-первых, это, ясное дело, интеграция с .NET Framework. Во-вторых - тесная интеграция с XML. Этим, похоже, сейчас болеют все и впихивают этот самый злосчастный XML куда надо и не надо. И третьей отличительной чертой ADO.NET от ADO является поддержка модели доступа к несвязанным данным. На практике это означает, что приложение может отсоединяться и присоединяться к БД практически в произвольном порядке, что больше похоже на транзакции в WWW-сессии, чем на старый стиль запроса и получения данных в рамках одного неделимого соединения.