Мы считаем, что требуются оба
Мы считаем, что требуются оба представления, но предпочтение должно отдаваться интенсиональному. С другой стороны, энтузиасты OODB, как правило, рекомендуют использовать лишь экстенсиональные методы. Вспомним, что в середине 70-х годов преимуществам автоматического задания множеств посвящалось немало внимания [CODD74]. Чтобы не сделать шаг назад, системы третьего поколения должны отдавать предпочтение автоматическим множествам.
Наше третье предложение в данном разделе касается представлений и их важнейшей роли в приложениях баз данных.
Предложение 2.3: Существенно наличие обновляемых представлений.
Существует очень немного статических баз данных – большая часть данных постоянно изменяется. При изменениях множества коллекций может потребоваться модификация программ. Очевидно, что инкапсуляция доступа к базе данных в функции и инкапсуляция функций, связанных с одной коллекций, является полезным шагом. Это позволит легко выявлять функции, в которые необходимо внести изменения. Однако само по себе это решение неадекватно. Если была изменена схема, на переписывание затронутых этими изменениями функций могут уйти недели или даже месяцы. В это время база данных не может просто перестать работать. Более того, при многочисленных изменениях потребуется слишком много ресурсов.
Гораздо лучшим подходом является поддержка
виртуальных коллекций (представлений). Системы второго поколения стали продвижением вперед по сравнению с системами первого поколения, в частности, потому, что поддерживали некоторые возможности в данной области. К сожалению, обновление реляционных представлений часто оказывается невозможным. Следовательно, если пользователь осуществляет модификацию схемы и определяет существовавшие ранее коллекции как представления, прикладные программы могут сохранить работоспособность, а могут ее и лишиться. Системы третьего поколения должны демонстрировать лучшее поведение при обновлении представлений.
Традиционным способом поддержки обновления представлений является механизм преобразований команд [STON75].
Содержание Назад Вперед