O que é um esquema de banco de dados?


O termo “esquema de banco de dados” refere-se a uma representação visual de um banco de dados, um conjunto de regras que governa um banco de dados ou todo o conjunto de objetos pertencentes a um determinado usuário. Continue lendo para saber mais sobre esquemas de bancos de dados e como eles são usados.

Quer criar seus próprios diagramas? Experimente o Lucidchart, é rápido, fácil e gratuito.
Crie um Diagrama
Quer criar seus próprios diagramas? Experimente o Lucidchart, é rápido, fácil e gratuito.

O que é um esquema de banco de dados?

Um esquema de banco de dados representa a configuração lógica da totalidade ou de parte de uma base de dados relacional. Ele pode existir tanto como uma representação visual quanto como um conjunto de fórmulas conhecidas como restrições de integridade que regem um banco de dados. Estas fórmulas são expressadas em uma linguagem de definição de dados, como SQL. Como parte de um dicionário de dados, um esquema de banco de dados indica como as entidades que compõem o banco de dados se relacionam entre si, incluindo tabelas, exibições, procedimentos armazenados e muito mais.

esquema de banco de dados lógico e físico

Normalmente, um designer de banco de dados cria um esquema de banco de dados para ajudar programadores cujo software vai interagir com o banco de dados. O processo de criação de um esquema de banco de dados é chamado modelagem de dados. Ao seguir a abordagem de três esquemas para o design de banco de dados, este passo ocorreria depois da criação de um esquema conceitual. Esquemas conceituais focam as necessidades de informação de uma organização em vez da estrutura de um banco de dados.

Há dois tipos principais de esquemas de banco de dados:

  1. Um esquema de banco de dados lógico contempla as restrições lógicas que se aplicam a dados armazenados. Pode definir restrições de integridade, exibições e tabelas.
  2. Um esquema de banco de dados físico define como os dados são armazenados fisicamente em um sistema de armazenamento em termos de arquivos e índices.

No nível mais básico, um esquema de banco de dados indica quais tabelas ou relações compõem o banco de dados, bem como os campos incluídos em cada tabela. Portanto, o diagrama de esquema de termos e diagrama de entidade-relacionamento muitas vezes são intercambiáveis.

Esquema no sistema de banco de dados Oracle

No sistema de banco de dados Oracle, o esquema de bancode dados, também conhecido como “esquema SQL”, tem outro significado. Um banco de dados pode ter vários esquemas (ou “schemata”). Cada um contém todos os objetos criados por um usuário de banco de dados específico. Estes objetos podem incluir tabelas, exibições, sinônimos e muito mais. Alguns objetos não podem ser incluídos em um esquema, como usuários, contextos, funções e objetos de diretório.

banco de dados de esquema relacional

Dependendo do caso, usuários podem ter acesso para entrar em esquemas individuais, e a propriedade é transferível. Uma vez que cada objeto é associado com um esquema específico, que serve como uma espécie de espaço de nomes, é recomendável fornecer sinônimos, o que permite a outros usuários acessarem esse objeto sem ter que primeiro acessar o esquema ao qual pertencem.

Estes esquemas não indicam, necessariamente, a maneira como os arquivos de dados são armazenados fisicamente. Em vez disso, objetos de esquema são armazenados de forma lógica dentro de um tablespace. O administrador do banco de dados pode especificar quanto espaço deve ser atribuído a um determinado objeto dentro de um arquivo de dados.

Por fim, esquemas e tablespaces não necessariamente se alinham perfeitamente: objetos de um esquema podem ser encontrados em vários tablespaces, enquanto um tablespace pode incluir objetos de vários esquemas.

Instância ou esquema de banco de dados?

Estes termos, embora relacionados, não significam a mesma coisa. Um esquema de banco de dados é um esboço de um banco de dados planejado. Na verdade, ele não contém dados.

Uma instância de banco de dados, por outro lado, é um retrato de um banco de dados da forma como existia em um determinado momento. Sendo assim, instâncias de banco de dados podem mudar ao longo do tempo, enquanto um esquema de banco de dados é geralmente estático, já que é difícil mudar a estrutura de um banco de dados a partir do momento que estiver operacional.

Esquemas e instâncias de banco de dados podem se afetar mutuamente por meio de um sistema de gerenciamento de banco de dados (DBMS). O DBMS assegura que cada instância de banco de dados esteja em conformidade com as restrições impostas pelos designers do banco de dados no esquema de banco de dados.

Requisitos de integração do esquema

Pode ser útil integrar diversas fontes em um único esquema. Certifique-se de que estes requisitos são cumpridos para haver uma transição contínua:

Preservação da sobreposição

Cada elemento em sobreposição nos esquemas que você está integrando deve estar em uma tabela de esquema de banco de dados.

Preservação da sobreposição estendida

Elementos que só aparecem em uma fonte, mas que estão associados a elementos sobrepostos, devem ser copiados para o esquema de banco de dados resultante.

Normalização

Relacionamentos e entidades independentes não devem ser agrupados na mesma tabela no esquema de banco de dados.

Minimalidade

É ideal que nenhum dos elementos em qualquer uma das fontes seja perdido.

Tipos de esquemas de banco de dados

Certos padrões têm se desenvolvido na concepção de esquemas de banco de dados.

O esquema estrela, amplamente utilizado, é também o mais simples. Nele, uma ou mais tabelas de fatos são ligadas a qualquer quantidade de tabelas dimensionais. É o mais indicado para trabalhar com consultas simples.

O esquema floco de neve também é usado para representar um banco de dados multidimensional. Neste padrão, no entanto, as dimensões são normalizadas em lotes de tabelas separadas, criando o efeito expansivo de uma estrutura de floco de neve.