Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
1. Можно ли удалить строку данных из представления, созданного на основе данных нескольких таблиц?
2. При создании таблицы ее владелец автоматически получает соответствующие привилегии в отношении этой таблицы. Верно ли это в случае создания представлений?
3. Какое выражение используется для упорядочения данных при создании представления?
4. Какая опция может быть использована для создания представления из другого представления, если необходимо гарантировать целостность данных?
5. При попытке удаления представления было получено сообщение об ошибке ввиду того, что имелись зависимые представления. Что нужно сделать, чтобы все-таки удалить представление?
1. Запишите оператор, создающий представление на основе всех данных таблицы EMPLOYEEJTBL.
2. Запишите оператор, создающий представление, возвращающее среднюю почасовую оплату и среднюю зарплату по каждому из городов для таблицы
EMPLOYEEJTBL.
3. Запишите операторы, удаляющие представления, созданные в результате выполнения пп. 1 и 2.
В ходе этого урока мы с вами поговорим о системном каталоге, в некоторых реализациях реляционных баз данных называемом также словарем данных (data dictionary). К концу урока вам станет ясно назначение и содержимое системного каталога и вы сможете извлекать из него необходимую информацию о базе данных с помощью команд, изученных в ходе предыдущих уроков. Системный каталог с информацией о самой базе данных в той или иной форме присутствует во всех главных реализациях реляционных баз данных. В ходе этого урока мы приводим списки наиболее важных элементов системных каталогов основных производителей реляционных баз данных.
Основными на этом уроке будут следующие темы.
• Что такое системный каталог?
• Как создается системный каталог?
• Содержимое системного каталога
• Таблицы системного каталога
• Доступ к данным системного каталога
• Обновление системного каталога
Как видно из рис. 21.1, системный каталог фактически является частью базы данных. В базе данных имеются различные объекты, в частности, таблицы, индексы и представления. Системный каталог представляет собой группу объектов, содержащих определения других объектов базы данных и структуры самой базы данных, а также другую не менее важную информацию.
Системный каталог в зависимости от реализации может Делиться на логичные группы, чтобы обеспечить доступ к соответствующей информации не только администратору базы данных, но и другим заинтересованным пользователям. Например, пользователю может понадобиться информация о предоставленных ему привилегиях, но совсем не обязательно знать о внутренней структуре или внутренних процессах базы данных. Пользователь, как правило, обращается к системному каталогу за информацией о своих собственных объектах и привилегиях, а администратору базы данных может потребоваться информация о структуре любого объекта и информация о любом событии в базе данных. В некоторых реализациях в системном каталоге имеются такие объекты, которые оказываются доступными только для администратора базы данных.
Рис. 21.1. Системный каталог
Системный каталог является главным источником информации о структуре и природе базы данных. Системный каталог помогает содержать базу данных в порядке не только администратору базы данных и ее пользователям, но и серверу базы данных.
В каждой реализации приняты свои соглашения по назначению имен таблицам и представлениям системного каталога. Но имена не так важны по сравнению с пониманием того, какие объекты этими именами представлены, какую информацию эти объекты содержат и как эту информацию можно извлечь