Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Краткая история: стандарт SQL

Краткая история: стандарт SQLКак уже отмечалось, первые базы данных не имели стандартизированного набора команд, предназначенных для работы с данными. Каждая из СУБД имела свой узкоспециализированный язык, а для манипуляций данными применялись программы, написанные на языках C, COBOL и им подобных. Такие базы данных не отличались гибкостью и не допускали структурных изменений без необходимости пересмотра массы программного кода. Более или менее эффективно такая система работала до конца 1960-х — в это время подавляющее число компьютерных приложений основывалось на пакетной обработке (выполнение последовательности команд от начала до конца без вмешательства пользователя). В начале 1970-х развитие интерактивных приложений (программ, требовавших взаимодействия с пользователем) породило потребность в более гибких средствах работы с данными. Ситуации, в которых требовалось добавить дополнительную запись или множество новых полей, наблюдались все чаще.

В качестве примера представьте, что набор записей CUSTOMER имеет два поля адреса фиксированной ширины (юридический адрес и место доставки), чего вполне достаточно для большинства клиентов. Однако что произойдет, если некоторый клиент купит еще один магазин? Разумеется, потребуется добавление дополнительного поля с адресом доставки. А что если таких магазинов станет десять? В этом случае существует два выхода из положения. Первый подход предполагает перевод базы данных в автономное состояние, добавление для адресов девяти дополнительных полей, но при этом все остальные клиенты, имеющие всего один магазин, получат их “в нагрузку” (рис. 1.4). А кто сможет гарантировать, что через год другой клиент не приобретет сеть из 25 магазинов, ведь тогда всю процедуру нужно будет начинать заново. Второй подход предполагает добавление девяти идентичных записей для крупного клиента, отличающихся только адресом доставки (рис. 1.5). В данном случае программа подлежит пересмотру, поскольку существует вероятность возвращения некорректной информации.