Рис 1: Этапы проектирования БД
Поскольку физическая модель требовала привлечения эксперта в области конкретной СУБД для получения эффективного размещения данных, физическая модель стала строиться самой СУБД из схемы БД, вводимой пользователем на основе даталогической модели предметной области. Затем появились CASE-средства, позволяющие создавать инфологическую модель предметной области и транслирующие ее в даталогическую модель.
Казалось бы, что цель достигнута, – проектировщик работает только с инфологической моделью, но на самом деле, до тех пор, пока работа происходит с реляционной базой данных, существует разрыв между языком программирования (логикой пользователя) и языком описания данных (представлением данных), который преодолевать должен программист. Суть разрыва можно сформулировать так: возможности работы с данными программы и с данными СУБД должны быть одинаковы.
В конце 80-х – начале 90-х годов массовое внедрение персональных компьютеров привело к развитию мультимедиа-технологий и настольных САПР, структуры данных в которых слишком сложны для процедурного программирования или же необычны (например, звук). Это, а также то, что объектно-ориентированное программирование позволяет существенно снизить сложность разработки и обеспечить адекватное представлению моделирование предметной области, привело к тому, что в области языков программирования произошло слияние стилей языков высокого уровня. Доминирующим подходом стало внедрение в них технологий объектно-ориентированного программирования. Не остались в стороне и языки, встроенные в СУБД. В качестве примера вышеизложенного можно привести продукт Visual FoxPro фирмы Microsoft. Эта СУБД обладает объектно-ориентированным языком программирования, но, по сути, является реляционной СУБД, поскольку хранимые данные представлены в виде таблиц, а таблицы представляют собой множество кортежей, которые содержат атомарные значения.