Capítulo 32. O esquema de informações

Sumário
32.1. O esquema
32.2. Tipos de dado
32.3. information_schema_catalog_name
32.4. applicable_roles
32.5. check_constraints
32.6. column_domain_usage
32.7. column_privileges
32.8. column_udt_usage
32.9. columns
32.10. constraint_column_usage
32.11. constraint_table_usage
32.12. data_type_privileges
32.13. domain_constraints
32.14. domain_udt_usage
32.15. domains
32.16. element_types
32.17. enabled_roles
32.18. key_column_usage
32.19. parameters
32.20. referential_constraints
32.21. role_column_grants
32.22. role_routine_grants
32.23. role_table_grants
32.24. role_usage_grants
32.25. routine_privileges
32.26. routines
32.27. schemata
32.28. sql_features
32.29. sql_implementation_info
32.30. sql_languages
32.31. sql_packages
32.32. sql_sizing
32.33. sql_sizing_profiles
32.34. table_constraints
32.35. table_privileges
32.36. tables
32.37. triggers
32.38. usage_privileges
32.39. view_column_usage
32.40. view_table_usage
32.41. views

O esquema de informações consiste em um conjunto de visões contendo informações sobre os objetos definidos no banco de dados corrente. O esquema de informações é definido no padrão SQL e, portanto, pode-se esperar que seja portável e permaneça estável — isto é diferente dos catálogos do sistema, que são específicos do PostgreSQL e modelados segundo interesses da implementação. Entretanto, as visões do esquema de informações não contêm informações sobre funcionalidades específicas do PostgreSQL; para obter este tipo de informação, é necessário consultar os catálogos do sistema e outras visões específicas do PostgreSQL. [1] [2] [3]

32.1. O esquema

Em si, o esquema de informações é um esquema chamado information_schema. Este esquema é criado, automaticamente, em todos os bancos de dados. O dono deste esquema é o usuário de banco de dados inicial do agrupamento e, naturalmente, este usuário possui todos os privilégios neste esquema, incluindo a capacidade de removê-lo (mas o ganho de espaço obtido com a remoção é mínimo).

Por padrão, o esquema de informações não está no caminho de procura de esquemas e, portanto, todos os seus objetos devem ser acessados através de nomes qualificados. Uma vez que alguns objetos do esquema de informações possuem nomes genéricos, que podem existir também nas aplicações dos usuários, deve-se tomar cuidado se for desejado colocar o esquema de informações no caminho de procura.

Notas

[1]

Oracle — o Oracle não possui nenhuma das visões do esquema de informações, entretanto estas informações podem ser obtidas em outras visões de metadados. Em vez de TABLES é usado ALL_TABLES, em vez de COLUMNS é usado ALL_TAB_COLUMNS, e em vez de VIEWS é usado ALL_VIEWS. Oracle and Standard SQL (N. do T.)

[2]

SQL Server — o Microsoft® SQL Server 2000 disponibiliza dois métodos para obter metadados: procedimentos armazenados do sistema e visões do esquema de informações. Estas visões fornecem uma visão interna, independente das tabelas do sistema, dos metadados do SQL Server. As visões do esquema de informações permitem que as aplicações trabalhem de forma apropriada, mesmo quando são feitas mudanças significativas nas tabelas do sistema. As visões do esquema de informações incluídas no SQL Server estão em conformidade com as definições do padrão SQL-92 para o INFORMATION_SCHEMA. SQL Server Books Online (N. do T.)

[3]

DB2 — Cada banco de dados inclui um conjunto de tabelas de catálogo do sistema que descrevem a estrutura lógica e física dos dados, um arquivo de configuração contendo os valores dos parâmetros definidos para o banco de dados, e um registro de recuperação com as transações em andamento e transações arquiváveis. IBM Globalization - Terminology (N. do T.)

SourceForge.net Logo