Немного истории

. Posted in Fox populi - Процедуры и функции

В 70-80 годах математик и программист Эдгар Кодд окончательно сформулировал и разработал концепцию реляционных баз данных. Подобный подход к организации и хранению информации как нельзя кстати подходил для реализации на ЭВМ, тогда еще очень больших. По мере развития компьютеров, машины становились все меньше, а их ресурсы все больше, и в конце концов, реляционные подходы к организации структуры информации были перенесены на персональные компьютеры.

Одной из первых, действительно удачных реализаций реляционных баз данных стал продукт фирмы Aston Table, который громко назывался dBase (от англ. Database база данных). Достоинство этого продукта состояло в том, что он реально позволял создавать таблицы (сущности, в терминологии Кодда) и связи между ними. dBase обладал встроенным языком программирования и был чистым интерпретатором.



Язык программирования позже стал чуть ли не стандартом программирования баз данных и стал называться xBase. Позже мы более подробно остановимся на ключевых моментах программирования xBase, а пока скажем лишь, что такой способ описания действий с таблицами БД стал популярным и породил много трансляторов этого языка, начиная от полного компилятора Clipper, и заканчивая FoxBASE.

FoxBASE появился как полная альтернатива dBase, что вызвало скандал и судебное разбирательство со стороны фирмы Aston Table. Однако, молодая тогда еще, компания FoxSoftware доказала, что FoxBASE и dBase, несмотря на всю похожесть (как две капли воды, надо сказать) интерфейса, разительно отличаются друг от друга по производительности. Секрет был в том, что FoxBASE был компилятором. Компилируя программные модули в собственный код (так называемый p-код), FoxBASE выполнял эти программы значительно быстрее, чем другие продукты. Таким образом, FoxBASE стал набирать популярность.

Однако настоящий бум произвело появление на рынке продукта FoxPro. Как видно из названия (Pro Professional), этот продукт был ориентирован не на пользователей баз данных, а, в основном, на разработчиков баз данных. Язык был значительно дополнен всевозможнейшими конструкциями для оформления программ, создания интерфейсов и др. Но самое главное отличие FoxPro состояло в том, что в нем был применен оптимизатор доступа к данным, известный как Rushmore.

Именно благодаря ему, FoxPro стал известен как "чертовски быстрая СУБД". FoxPro успешно пережил две версии с несколькими подверсиями, и вскорости вся компания FoxSoftware была скуплена корпорацией Microsoft, что называется, на корню. Выпустив всего одну версию FoxPro 2.6 (под DOS и под Windows), вскорости корпорация Microsoft выпустила новый продукт Visual FoxPro версии 3, а затем и версии 5. Версии 4 никогда не было. Дело в том, что такой мощный продукт как VFP стал одним из перспективных направлений Microsoft, и для встраивания его в пакет Microsoft Visual Studio 5 требовалось единая версия всех входящих в него продуктов.

Конечно же, VFP уже значительно отличается от "старого, доброго FoxPro". Более подробно этот вопрос мы разберем в разделе "Базы данных", здесь лишь упомянем, что теперь VFP полностью поддерживает концепцию реляционных базы данных. Теперь VFP объектно-ориентированная среда программирования, в первую очередь предназначенная для профессиональных разработчиков СУБД. И конечно же, VFP остался самой быстрой СУБД на персональных компьютерах.

 

Добавить комментарий


Защитный код
Обновить

Команды

Релиз Firefox 8, Thunderbird 8 и сопутствующих проектов Mozilla
Проект Mozilla официально представил релиз web-браузера Firefox 8.0, первый выпуск в рамках нового сокращенного цикла разработки, которому будет присвоен статус релиза с пр...14-11-2011

Хороший ход

События объекта Database Container
События объекта Database Container (DBC) предоставляют связь между событиями, написанными разработчиком, и активностью базы данных во время работы пользователя, такой как от...14-11-2011

Руководства

О правилах хорошего тона программирования на Лисе
1. Рекомендуется использовать на каждой рабочей станции копию Лисы. 2. Для ускорения необходимо разделить общедоступные базы и библиотеки. 3. Разделить функции для к...12-11-2011