Esquemas
Um banco de dados contém um ou mais esquemas nomeados. Cada esquema em um banco de dados contém tabelas e outros tipos de objetos nomeados. Por padrão, um banco de dados tem um único esquema, chamado PUBLIC. Você pode usar esquemas para agrupar objetos de banco de dados sob um mesmo nome. Os esquemas são semelhantes a diretórios de sistema de arquivos, exceto pelo fato de que esquemas não podem ser aninhados.
É possível usar nomes de objeto de banco de dados idênticos em esquemas diferentes no mesmo banco de dados sem conflito. Por exemplo, MY_SCHEMA e YOUR_SCHEMA podem conter uma tabela chamada MYTABLE. Os usuários com as permissões necessáriss podem acessar objetos em vários esquemas em um banco de dados.
Por padrão, um objeto é criado dentro do primeiro esquema no caminho de pesquisa do banco de dados. Para obter informações, consulte Caminho de pesquisa posteriormente nesta seção.
Os esquemas podem ajudar em problemas de organização e simultaneidade em um ambiente de vários usuários das seguintes maneiras:
-
Para permitir que muitos desenvolvedores trabalhem no mesmo banco de dados sem interferência entre si.
-
Para organizar objetos de banco de dados em grupos lógicos para torná-los mais gerenciáveis.
-
Para permitir que as aplicações tenham a possibilidade de colocar objetos em esquemas separados, de maneira que os nomes não colidam com nomes de objetos usados por outros aplicativos.
Caminho de pesquisa
O caminho de pesquisa é definido no parâmetro search_path com uma lista de nomes de esquema separados por vírgulas. O caminho de pesquisa especifica a ordem na qual os esquemas são pesquisados quando um objeto, como uma tabela ou uma função, é referenciado por um nome simples que não inclui um qualificador de esquema.
Se for criado sem especificar um esquema de destino, o objeto será adicionado ao primeiro esquema listado no caminho de pesquisa. Quando houver objetos com nomes idênticos em esquemas diferentes, um nome de objeto que não especificar um esquema irá se referir ao primeiro esquema no caminho de pesquisa que contenha um objeto com esse nome.
Para alterar o esquema padrão da sessão atual, use o comando SET.
Para obter mais informações, consulte a descrição search_path na Referência de configuração.