к исходному тексту статьи; при
Я отсылаю вас к исходному тексту статьи; при этом мне хочется повторить некоторые замечания из одной из моих предыдущих статей [5], в которой обсуждался тот же самый пример. Вот некоторая статистика:
| CODASYL | relational |
GO TO | 15 | 0 |
PERFORM UNTIL | 1 | 0 |
currency indicators | 10 | 0 |
IF | 12 | 0 |
FIND | 9 | 0 |
GET | 4 | 1 |
STORE / PUT | 2 | 1 |
MODIFY | 1 | 0 |
MOVE CURRENCY | 4 | 0 |
other MOVEs | 9 | 1 |
SUPPRESS CURRENCY | 4 | 0 |
total statements | > 60 | 3 |
Относительная простота реляционного решения просто поражает. Замечание: реляционное решение может быть сведено к одному оператору PUT; GET и MOVE не являются строго обязательными. Более того (хотя Кодд не упоминает этот факт), решение CODASYL - которое заимствовано из другого источника, а не создано самим Коддом - содержит по меньшей мере две ошибки!
Этот пример проясняет и еще один вопрос. Цитируя Кодда, "Предостерегаем читателя от попытки сравнения [разных] подходов исключительно на основе основных различий в [структурах данных]. Достаточное внимание должно уделяться ... и операторам." И далее он добавляет: "В обсуждениях реляционного подхода часто преобладают аспекты компонента [структур данных] в ущерб [другим компонентам]. Для обоснования этого подхода все ... компоненты должны рассматриваться в одном пакете."
Содержание Назад Вперед