KnigaRead.com/

W Cat - SQL за 24 часа

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн W Cat, "SQL за 24 часа" бесплатно, без регистрации.
Перейти на страницу:

• Учетные записи пользователей и установки по умолчанию.

• Привилегии и другая связанная с безопасностью информация.

• Статистика, характеризующая производительность системы.

• Размеры объектов.

• Динамика роста объектов.

• Структура таблиц и параметры их хранения.

• Структура индексов и параметры их хранения.

• Информация о других объектах базы данных, в частности, представлениях, синонимах, триггерах, сохраненных процедурах.

• Ограничения для таблиц и информация о ссылочной целостности данных.

• Пользовательские сеансы доступа.

• Информация об аудитах.

• Внутренние параметры базы данных.

• Размещение файлов базы данных.

Системный каталог управляется сервером базы данных. Например, при создании таблицы сервер базы данных вставляет данные об этом в соответствующую таблицу или представление каталога. При изменении пользователем структуры своей таблицы соответствующие объекты словаря данных тоже обновляются. В следующих разделах систематично описываются типы данных, которые отслеживаются в системном каталоге.


Пользовательские данные

В системном каталоге хранится информация обо всех пользователях базы данных: их привилегиях доступа к системе и объектам, информация о принадлежащих им объектах, а также информация о не принадлежащих им объектах, к которым эти пользователи имеют доступ. Пользовательские таблицы и представления оказываются доступными для извлечения этой информации. По поводу имеющихся в системном каталоге объектов обратитесь к документации, предлагаемой вашей реализацией базы данных.


Информация о безопасности

Системный каталог содержит также информацию о безопасности, в частности, учетные записи пользователей, закодированные пароли, пользовательские привилегии и группы привилегий доступа к данным. В некоторых реализациях предусмотрены таблицы аудита с данными обо всех действиях, предпринятых пользователями в отношении базы данных с указанием времени и инициатора этих действий и другой соответствующей информации. Могут подробно отслеживаться также и пользовательские сеансы доступа к базе данных.


Информация о структуре базы данных

Системный каталог содержит также информацию о структуре самой базы данных. Эта информация может включать дату создания базы данных, имена и размеры ее объектов, размеры и адреса размещения файлов, информацию о ссылочной целостности данных, об имеющихся индексах, столбцах таблиц и их атрибутах.


Статистика производительности системы

В системном каталоге обычно представлена и статистика, характеризующая производительность системы. Такая статистика обычно включает информацию о скорости выполнения операторов SQL и том методе, который был выбран оптимизатором для их выполнения. Другая информация о производительности может содержать параметры использования памяти, доступного базе данных свободного пространства, фрагментации таблиц и индексов. Эта информация может быть использована для оптимизации структуры и работы базы данных, оптимизации операторов SQL и выбора оптимальных способов доступа к данным с целью уменьшения времени, необходимого для выполнения запросов.


Таблицы системного каталога

Разные реализации баз данных предлагают свои таблицы и представления системного каталога, часто разделенные на группы по уровням доступа на пользовательские, системные и предназначенные для администратора базы данных. Конкретную информацию о содержимом таблиц системного каталога можно получить из запросов к этим таблицам и из документации к базе данных. Для некоторых из наиболее распространенных реализаций соответствующая информация представлена в табл. 21.1.


Microsoft SQL Server

Имя таблицы


Описание


SYSUSERS

SYSSEGMENTS

SYSINDEXES

SYSCONSTRAINTS


Информация о пользователях базы данных

Информация обо всех сегментах базы данных

Информация обо всех индексах

Информация обо всех условиях ограничения





dBase

Имя таблицы


Описание


SYSVIEWS

SYSTABLS

SYSIDXS

SYSCOLS


Информация обо всех представлениях

Информация обо всех таблицах

Информация обо всех индексах

Информация о столбцах таблиц





Microsoft Access

Имя таблицы


Описание


MSysColumns

MSyslndexes

MSysMacros

MSysObjects

MSysQueries

MSysRelationships


Информация о столбцах таблиц

Информация об индексах таблиц

Информация о созданных макросах

Информация обо всех объектах базы данных

Информация о созданных запросах

Информация о связях между таблицами





Sybase


Имя таблицы


Описание


SYSMESSAGES

SYSKEYS

SYSTABLES

SYSVIEWS

SYSCOLUMNS

SYSINDEXES

SYSOBJECTS

SYSDATABASES

SYSPROCEDURES


Список всех сообщений об ошибках сервера

Информация о ключах и внешних ключах

Информация обо всех таблицах и представлениях

Тексты всех представлений

Информация о столбцах таблиц

Информация об индексах

Информация о таблицах, триггерах, представлениях и т. п.

Информация обо всех базах данных на сервере

Информация о представлениях, триггерах и сохраненных процедурах





Oracle


Имя таблицы


Описание


ALLJTABLES

USER_TABLES

DBAJTABLES

DBA_SEGMENTS

DBAJNDEXES

DBA_USERS

DBA_ROLE_PRIVS

DBA_ROLES

DBA_SYS_PRIVS

DBA_FREE_SPACE

V$DATABASE

V$SESSION


Информация о таблицах, доступных пользователю

Информация о таблицах, принадлежащих пользователю

Информация обо всех таблицах в базе данных

Информация о сегментах

Информация о всех индексах

Информация о всех пользователях базы данных

Информация о выданных ролях

Информация обо всех ролях в базе данных

Информация о выданных привилегиях доступа к системе

Информация о доступном базе данных свободном пространстве

Информация о создании базы данных

Информация о текущем сеансе доступа


В таблице приведена лишь малая часть объектов системных каталогов некоторых реализаций баз данных. Многие объекты различных реализаций оказываются похожими, но в рамках этого урока мы стремимся показать их разнообразие. В конце концов, каждый из производителей реляционных баз данных реализует свой подход к организации системного каталога.

Использование данных системного каталога

С помощью средств SQL данные таблиц и представлений системного каталога можно извлечь точно так же, как данные других таблиц и представлений базы данных. Обычный пользователь имеет возможность осуществить запрос к своим таблицам, но, как правило, доступ к системным таблицам разрешается только привилегированным пользователям, например, администратору базы данных.

Запрос SQL на выборку данных из системного каталога по форме не отличается от запроса к любой другой таблице базы данных.

Например, следующий запрос возвратит все строки данных таблицы SYSTABLES в Sybase.

SELECT * FROM SYSTABLES

GO

В следующих разделах представлено несколько примеров запросов к таблицам системного каталога и соответствующая информация, которая может оказаться вам полезной.


Примеры запросов к системному каталогу

Следующие примеры иллюстрируют запросы к системному каталогу Oracle. Для выбора Oracle не было никаких особых причин, кроме той, что авторы книги знают реализацию Oracle лучше других реализаций.

Следующий запрос возвращает список всех имен пользователей базы данных.

SELECT USERNAME

FROM ALL_USERS;

USERNAME

------------

SYS

SYSTEM

RYAN

SCOTT

DEMO

RON

USER1

USER2

8 строк выбраны. Следующий запрос возвращает список всех таблиц данного пользователя.

SELECT TABLE_NAME

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*