Esquema de banco de dados - Database schema

Esquema de banco de dados MediaWiki 1.28.0. Muitas ferramentas de software FOSS permitem a modelagem de esquemas / layouts de banco de dados como este. A representação visual também pode ser exportada como um código-fonte pronto para produção feito em linguagens compatíveis com DB, como SQL .

O esquema do banco de dados é sua estrutura descrita em uma linguagem formal suportada pelo sistema de gerenciamento de banco de dados (DBMS). O termo " esquema " refere-se à organização dos dados como um esquema de como o banco de dados é construído (dividido em tabelas de banco de dados no caso de bancos de dados relacionais ). A definição formal de um esquema de banco de dados é um conjunto de fórmulas (sentenças) chamadas restrições de integridade impostas a um banco de dados. Essas restrições de integridade garantem a compatibilidade entre as partes do esquema. Todas as restrições podem ser expressas na mesma linguagem. Um banco de dados pode ser considerado uma estrutura na realização da linguagem do banco de dados . Os estados de um esquema conceitual criado são transformados em um mapeamento explícito, o esquema do banco de dados. Isso descreve como as entidades do mundo real são modeladas no banco de dados.

"Um esquema de banco de dados especifica, com base no conhecimento do administrador de banco de dados de possíveis aplicativos, os fatos que podem entrar no banco de dados ou aqueles de interesse para os possíveis usuários finais ." A noção de um esquema de banco de dados desempenha o mesmo papel que a noção de teoria no cálculo de predicados . Um modelo dessa "teoria" corresponde intimamente a um banco de dados, que pode ser visto a qualquer instante como um objeto matemático . Assim, um esquema pode conter fórmulas que representam restrições de integridade especificamente para um aplicativo e as restrições especificamente para um tipo de banco de dados, todas expressas na mesma linguagem de banco de dados. Em um banco de dados relacional , o esquema define as tabelas , campos , relacionamentos , visualizações , índices , pacotes , procedimentos , funções , filas , gatilhos , tipos , sequências , visualizações materializadas , sinônimos , links de banco de dados, diretórios , esquemas XML e outros elementos.

Um banco de dados geralmente armazena seu esquema em um dicionário de dados . Embora um esquema seja definido na linguagem de banco de dados de texto, o termo costuma ser usado para se referir a uma representação gráfica da estrutura do banco de dados. Em outras palavras, o esquema é a estrutura do banco de dados que define os objetos no banco de dados.

Em um sistema de banco de dados Oracle , o termo "esquema" tem uma conotação ligeiramente diferente.

Requisitos ideais para integração de esquema

Os requisitos listados abaixo influenciam a estrutura detalhada dos esquemas produzidos. Certos aplicativos não exigirão que todas essas condições sejam atendidas, mas esses quatro requisitos são os mais ideais.

Preservação de sobreposição
Cada um dos elementos sobrepostos especificados no mapeamento de entrada também está em uma relação de esquema de banco de dados.
Preservação de sobreposição estendida
Os elementos específicos da origem associados aos elementos sobrepostos de uma origem são transmitidos ao esquema do banco de dados.
Normalização
Entidades e relacionamentos independentes nos dados de origem não devem ser agrupados na mesma relação no esquema do banco de dados. Em particular, os elementos de esquema específicos da fonte não devem ser agrupados com elementos de esquema sobrepostos, se o agrupamento co-localizar entidades ou relacionamentos independentes.
Minimalidade
Se algum elemento do esquema do banco de dados for eliminado, o esquema do banco de dados não é ideal.

Exemplo de duas integrações de esquema

Suponha que queiramos um esquema mediado para integrar dois bancos de dados de viagens, Go-travel e Ok-flight.

Go-travel tem duas relações:

Go-flight(flight-number, time, meal(yes/no))
Go-price(flight-number, date, price)

Ok-flight tem apenas uma relação:

Ok-flight(flight-number, date, time, price, nonstop(yes/no))

As informações sobrepostas nos esquemas de Go-travel e Ok-flight podem ser representadas em um esquema mediado:

Flight(flight-number, date, time, price)

Especificidade do banco de dados Oracle

No contexto de bancos de dados Oracle , um objeto de esquema é uma estrutura lógica de armazenamento de dados .

Um banco de dados Oracle associa um esquema separado a cada usuário do banco de dados . Um esquema compreende uma coleção de objetos de esquema. Exemplos de objetos de esquema incluem:

Por outro lado, os objetos que não são de esquema podem incluir:

  • Comercial
  • papéis
  • contextos
  • objetos de diretório

Os objetos de esquema não têm uma correspondência de um para um com os arquivos físicos no disco que armazenam suas informações. No entanto, os bancos de dados Oracle armazenam objetos de esquema logicamente em um espaço de tabela do banco de dados. Os dados de cada objeto estão fisicamente contidos em um ou mais dos arquivos de dados do espaço de tabela . Para alguns objetos (como tabelas, índices e clusters), um administrador de banco de dados pode especificar quanto espaço em disco o Oracle RDBMS aloca para o objeto nos arquivos de dados do espaço de tabela.

Não há relacionamento necessário entre esquemas e espaços de tabela: um espaço de tabela pode conter objetos de diferentes esquemas e os objetos de um único esquema podem residir em diferentes espaços de tabela. A especificidade do banco de dados Oracle, no entanto, impõe o reconhecimento da plataforma de diferenciais de sequência não homogeneizados, o que é considerado um fator limitante crucial em aplicativos virtualizados.

Veja também

Referências

links externos