
- •Теория субд
- •За таблицами – наше будущее!
- •Связываем данные
- •Объектный рай
- •Сетевая база данных
- •Клиент-сервер
- •Особенности клиент-сервера
- •Индексы на сервере
- •Третий уровень
- •Сетевые субд
- •Архитектуры субд: технология локальных (настольных) бд
- •Архитектуры субд: технология "клиент-сервер"
- •В чем сходства и различия?
- •Выбираем бд
- •Кибернетическое будущее за базами знаний
- •Искусственный интеллект
- •Данные и знания
- •Базы знаний и экспертные системы
- •Машинное обучение
- •Анализ данных и olap-технологии
- •Индукция правил и деревья решений
- •Хранилища данных и корпоративная память
- •Машинное обучение – ключ к кибернетическому бессмертию
- •Кофе. Солнце. Базы данных
- •Не microsoft'ом единым. Bde
- •Odbc на практике
- •Форточки и odbc
- •Odbc для пингвина
- •Какие они бывают?
- •Что такое правильная база данных?
- •Нужна наглядная схема!
- •А как это сделать?
В чем сходства и различия?
Изначально компании сами создавали свои форматы файлов баз данных и свои языки программирования для работы с этими БД. Но прогресс необратимо продвигался вперед, и вскоре пользователи и разработчики стали ощущать потребность в стандартизации. Производителям пришлось сделать свои интерфейсы открытыми (типа ADO, BDE, ODBC, JDBC и т.д.). Другими словами, ко всем СУБД можно получить доступ по одному и тому же интерфейсу.
Стандартным языком для БД стал SQL 92. Каждый производитель вносил в него свои изменения и улучшения, но любая СУБД поддерживает классический SQL. На данный момент этот язык не удовлетворяет полностью требованиям разработчиков, так как он не объектный, а процедурный. Существует еще язык QBE, который тоже поддерживают современные СУБД и который является языком запросов по образцу. Проще говоря, в этом языке запросы формируют визуально. В SQL же запросы пишутся в текстовом формате.
Сейчас в каждой уважающей себя СУБД существуют средства для преобразования БД из какого-либо формата в свой собственный, свои собственные средства для разработки и администрирования БД, средства поддержки распределенных транзакций, журналы изменений и поддержка хранимых процедур.
Выбираем бд
Глупо предлагать какую-то конкретную СУБД, потому что выбор зависит от поставленной перед тобой задачи, а не от количества функций или крутости какой-либо СУБД. Например, бессмысленно выбирать Oracle для хранения данных о двух десятках рабочих, данными о которых пользуется человек пять. Если, конечно, в ближайшем будущем твоя фирма не намеревается стать межконтинентальной корпорацией :).
Выбор СУБД - сложная задача, которую без пива не решить. Оценка проходит по разным критериям, таким как стоимость самой СУБД, стоимость ее обслуживания, необходимого оборудования и соответствующего обучения персонала. Производительность, надежность (в том числе защита от сбоев), стабильность, требования к рабочей среде, особенности разработки приложений, документирован ность, поддержка производителя. Сможет ли выбранный программный продукт полностью удовлетворять как текущие, так и будущие потребности? Но главный критерий в том, нужна ли СУБД вообще :).
РЕАЛЬНЫЕ ПРОЕКТЫ
Наиболее ярким примером является популярный проект Open Source -форум phpBB (www.phpBB.com). Многие крупные компании (такие как Fujitsu Siemens Computers, Greenball Corporation) используют в своей работе различные СУБД. Да и любой банк не обойдется без базы данных. Конкретно в нашей стране многие предприятия используют старые СУБД, написанные еще под DOS. Причина этого - высокая стоимость перехода на более современные СУБД плюс лень тамошних администраторов и программистов.
РАЗВИТИЕ ТЕХНОЛОГИЙ БД
Несмотря на всю привлекательность реляционной системы, и она имеет ряд недостатков. Она идеально подходит для традиционных приложений типа сохранения данных о клиенте у порнодилера. Но применение таких систем в интеллектуальных системах обучения оказывается проблематичным. После окончания проектирования реляционной БД многие знания проектировщика остаются на бумаге. А всему виной простота структур данных, лежащих в основе реляционной модели. В нетрадиционных приложениях в базе данных появляются тысячи таблиц, над которыми постоянно выполняются сложные операции соединения, характерные для предметной области.
Перспективное направление - объектные СУБД (языки работы с реляционными БД - процедурные, а не объектные). При занесении сложного объекта в реляционную БД приходится размещать его по множеству различных таблиц (происходит процесс декомпозиции объекта). А при чтении его приходится снова собирать из кучи данных в различных таблицах. Согласись, неудобно.
Современные СУБД постоянно совершенствуются, появляются новые требования к их работе, и неизвестно, что придумают завтра.