Если один из компонентов выйдет из строя, система, созданная в соответствии только с вышеизложенными доводами, приостановит работу всех пользователей и прервет все транзакции. Поэтому важно такое свойство СУБД, как независимость компонентов. При сетевом сбое сеть разделяется на части, компоненты каждой из которых не могут сообщаться с компонентами другой части. Для того, чтобы сохранить возможность работы внутри каждой такой части, необходимо дублирование критически важной информации внутри каждого сегмента. Современные системы позволяют администратору базы данных динамически определять сегменты сети, варьируя таким образом уровень надежности всей системы в целом.
И, наконец, о копировании (replication) данных. Простейшим способом является добавление к каждому (основному) серверу резервного. После каждой операции основной сервер передает измененные данные резервному, который автоматически включается в случае выхода из строя основного. Естественно, такая схема не лишена недостатков. Во-первых, это приводит к значительным накладным расходам при дублировании данных, что не только сказывается на производительности, но и само по себе является потенциальным источником сбоев. Вовторых, в случае сбоя, повлекшего за собой разрыв соединения между двумя серверами, каждый из них должен будет работать в своем сегменте сети в качестве основного сервера, причем изменения, сделанные на серверах за время работы в таком режиме, будет невозможно синхронизовать даже после восстановления работоспособности сети. Более совершенным является подход, когда создается необходимое (подбираемое в соответствии с требуемым уровнем надежности) число копий в сегменте. Таким образом увеличивается доступность копий и даже (при распределении нагрузки между серверами) повышается скорость чтения. Проблема невозможности обновления данных несколькими серверами одновременно в случае их взаимной недоступности решается за счет разрешения проведения модификаций только в одном из сегментов, например имеющем наибольшее число пользователей. При хорошо настроенной схеме кэширования затраты на накладные расходы при дублировании модифицированных данных близки к нулю.
Для обеспечения переносимости приложений (приложение может работать на разных СУБД) и совместимости с СУБД (может взаимодействовать с разными СУБД), естественно, необходима выработка стандартов. В области объектных СУБД в настоящее время выработаны стандарты для:
объектной модели; языка описания объектов;языка организации запросов (Object Query Language – OQL);
―связующего‖ языка (C++ и Smalltalk); администрирования; обмена (импорт/экспорт); интерфейсов инструментария и др.
Стандарт ODMG-93 включает в себя средства для построения законченного приложения, которое будет работать (после перекомпиляции) в любой совместимой с этой спецификацией ООСУБД. В книгу ODMG-93 входят следующие разделы:
Язык определения объектов (Object Definition Language – ODL);Язык объектных запросов (Object Query Language – OQL);
Связывание с C++;
Связывание со Smalltalk.Рис.3 показывает работоспособную схему для построения приложения на стандартных языках программирования, в процессе которой автоматически генерируются метаданные, заголовочные файлы и методы.
ODL. В качестве языка определения объектов (ODL) ODMG был выбран существующий язык IDL (Interface Definition Language – язык описания интерфейсов), который был дополнен такими необходимыми для объектных БД свойствами, как определение коллекций, двунаправленных связей типа ―многие-ко-многим‖, ключей и др. В сочетании со средствами языка IDL определения атрибутов и операций, это позволяет определять практически любые объекты. Все дополнения реализованы в виде доопределения методов, что обеспечивает совместимость со стандартами OMG, например стандартом CORBA.
OQL. За основу языка OQL была взята команда SELECT языка SQL2 и добавлены возможность направлять запрос к объекту или коллекции объектов и возможность вызывать методы в рамках одного запроса. Данные, полученные в результате запроса, могут быть скалярными (включая кортежи), объектами или коллекциями объектов.
C++. Спецификация ODMG-93 позволяет программистам легко использовать объекты, в то время как ООСУБД прозрачным образом управляет ими. При определении стандарта члены ODMG руководствовались следующими принципами:
Использование стандартных компиляторов обеспечивается тем, что все расширения реализуются средствами языка – библиотеками классов и перегрузкой операторов. Определение временных экземпляров (Transient Instance) и экземпляров, создаваемых на длительный срок (Transient Instance) при помощи оператора new(). При перегрузке оператора new() оба типа экземпляров могут создаваться от одного класса, который может существовать продолжительное время. Обеспечение устойчивости через стандартный механизм наследования; пользователь может определять экземпляры временные и рассчитанные на продолжительное использование средствами оригинальной версии языка. Использование специального механизма указателей (Smart Pointers). Связи между объектами объявляются при помощи шаблона Ref<> и перегрузки оператора ->; это позволяет использовать специальные указатели как обычные. Smalltalk. ODMG-93 поддерживает ту же объектнуюмодель для Smalltalk, что и для С++, IDL и запросы на языке OQL; это позволяет разделять один и тот же объект пользователям С++ и Smalltalk.
Рис.3 Схема использования ODL для построения приложения.
1. С помощью компьютера текстовую информацию можно:
а) хранить, получать и обрабатывать;
б) только хранить;
в)только получать;
г) только обрабатывать.
2. Устройством ввода текстовой информации является:
а) мышь;
б) экран дисплея;
в) клавиатура;
г) дискета.
3. Устройством вывода текстовой информации является:
а) клавиатура;
б) экран дисплея;
в)дисковод;
г) мышь.
4. Текстовый редактор — это программа, предназначенная для:
а) работы с текстовой информацией в процессе делопроизводства, редакционно-издательской деятельности и др.;
б) работы с изображениями в процессе создания игровых программ;
в) управления ресурсами .ПК при создании документов;
г) автоматического перевода с символических языков в машинные коды.
5. Текстовый редактор может быть использован для:
а) сочинения музыкального произведения;
б) рисования;
в) написания сочинения;
г) совершения вычислительных операций.
6. Пропущено слово в ряду: «символ — ... — строка — фрагмент текста». Это слово: а)слово;
б) абзац;
в) страница;
г) текст.
7. К числу основных преимуществ работы с текстом в текстовом редакторе (по сравнению с пишущей машинкой) следует назвать:
а) возможность многократного редактирования текста;
б) возможность более быстрого набора текста;
в) возможность уменьшения трудоемкости при работе с текстом;
г) возможность использования различных шрифтов при наборе текста.
8. Основными функциями текстового редактора являются (является):
а) копирование, перемещение, уничтожение и сортировка фрагментов текста;
б)создание, редактирование, сохранение, печать текстов;
в) управление ресурсами ПК и процессами, использующими эти ресурсы при создании
текста;
г) автоматическая обработка информации, представленной в текстовых файлах.
9. Примером фактографической базы данных (БД) является БД, содержащая:
а) сведения о кадровом составе учреждения;
б) законодательные акты;
в) приказы по учреждению;
г) нормативные финансовые документы.
10. Примером документальной базы данных является БД, содержащая:
а) законодательные акты;
б) сведения о кадровом составе учреждения;
в) сведения о финансовом состоянии учреждения;
г) сведения о проданных билетах.
11. Ключами поиска в системе управления базами данных называются:
а) диапазон записей файла БД, в котором осуществляется поиск;
б) логические выражения, определяющие условия поиска;
в) поля, по значению которых осуществляется поиск;
г) номера записей, удовлетворяющих условиям поиска;
д) номер первой по порядку записи, удовлетворяющей условиям поиска.
12. Сортировкой называют:
а) процесс поиска наибольшего и наименьшего элементов массива;
б) процесс частичного упорядочивания некоторого множества;
в) любой процесс перестановки элементов некоторого множества;
г) процесс линейного упорядочивания некоторого множества;
д) процесс выборки элементов множества, удовлетворяющих заданному условию.
13. Набор текста в текстовом редакторе осуществляется с помощью:
а) мыши; б)сканера;
в) модема;
г) клавиатуры.
14. Символ, вводимый с клавиатуры при наборе текста, отображается на экране дисплея в позиции, определяемой: