Географам следует иметь возможность реализации
Географам следует иметь возможность реализации карт, специалистам в области текстов имеет смысл реализовывать индексацию и выборку текстов, специалистам по изображениям стоило бы реализовать библиотеки типов для работы с изображениями. Конкретным примером может служить распространенный объектный тип временных рядов. Вместо встраивания этого объекта в систему баз данных рекомендуется реализация соответствующего типа в виде библиотеки классов с методами для создания, обновления и удаления временных рядов. Дополнительные методы суммируют отклонения и интерполируют точки в рядах, сравнивают, комбинируют и вычитают временные ряды. После построения такой библиотеки классов она может быть «вставлена» в любую систему баз данных. Система баз данных будет хранить объекты этого типа и управлять данными (безопасность, параллельный доступ, восстановление и индексирование), но содержимым и поведением объектов временных рядов будет заведовать тип данных.
Люди из сообщества объектно-ориентированного программирования четко распознали проблему: для разработки типов данных требуется хорошая модель данных и унификация процедур и данных. Действительно, программы инкапсулируют данные и обеспечивают все методы для манипулирования данными. Исследователи, начинающие и установившиеся поставщики реляционных баз данных долго и упорно работали, начиная с 1985 года, чтобы либо заменить реляционную модель, либо объединить объектно-ориентированные и реляционные системы. В конце 1980-х на рынке появилось более десяти продуктов объектно-ориентированных баз данных, но заказчики не спешили принять эти системы. Тем временем традиционные поставщики старались расширить язык SQL, чтобы включить в него концепции объектно-ориентированного подхода, сохраняя преимущества реляционной модели.
Все еще ведутся горячие дебаты относительно сравнительных преимуществ эволюции и революции в моделях данных. Нет спора, что системы баз данных должны хранить и извлекать объекты, управляемые библиотеками классов. Споры относятся к роли SQL, деталям объектной модели и базовым библиотекам классов, которые следует поддерживать в системах баз данных.
Содержание Назад Вперед