Um modelo de banco de dados mostra a estrutura lógica de um banco de dados, incluindo as relações e restrições que determinam como os dados podem ser armazenados e acessados. Modelos de banco de dados individuais são projetados com base nas regras e nos conceitos do modelo de dados mais abrangente que os designers adotam. A maioria dos modelos de dados pode ser representada por um diagrama de banco de dados acompanhante.
Leitura de 8 minuto(s)
Quer criar seu próprio diagrama de banco de dados? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.
Tipos de modelos de bancos de dados
Há vários tipos de modelos de dados. Alguns dos mais comuns são:
- Modelo de banco de dados hierárquico
- Modelo relacional
- Modelo de rede
- Modelo de banco de dados orientado para objetos
- Modelo entidade-relacionamento
- Modelo documental
- Modelo entidade-atributo-valor
- Esquema em estrela
- O modelo relacional-objeto, que combina os dois que compõem seu nome
Você pode optar por descrever um banco de dados com qualquer um destes modelos dependendo de vários fatores. O fator mais importante é se o sistema de gestão de banco de dados que você usa suporta um modelo específico. A maioria dos sistemas de gestão de banco de dados é construída com um modelo de dados particular em mente e exige que seus usuários adotem esse modelo, embora alguns ofereçam suporte a vários modelos.
Além disso, diferentes modelos se aplicam a diferentes estágios do processo de criação de banco de dados. Os modelos de dados conceituais de alto nível são os melhores para mapear as relações entre os dados de maneira que as pessoas percebam esses dados. Os modelos lógicos baseados em registros, por outro lado, refletem melhor as formas com que os dados são armazenados no servidor.
Selecionar um modelo de dados é também uma questão de alinhar suas prioridades para o banco de dados com os pontos fortes de um determinado modelo, independentemente de essas prioridades incluírem velocidade, redução de custos, usabilidade ou qualquer outra coisa.
Vamos dar uma olhada em alguns dos modelos de bancos de dados mais comuns.
Modelo relacional
O modelo mais comum, o modelo relacional, classifica dados em tabelas, também conhecidas como relações, cada uma das quais consiste em colunas e linhas. Cada coluna lista um atributo da entidade em questão, como preço, código postal ou data de nascimento. Juntos, os atributos em uma relação são chamados de domínio. Um determinado atributo ou combinação de atributos é escolhido como uma chave primária que pode ser consultada em outras tabelas, quando é chamada de chave estrangeira.
Cada linha, também chamada de tupla, inclui dados sobre uma instância específica da entidade em questão, como um determinado colaborador.
O modelo também explica os tipos de relações entre essas tabelas, incluindo relações uma para uma, uma para muitas e muitas para muitas. Eis um exemplo:
Dentro do banco de dados, as tabelas podem ser normalizadas ou levadas a cumprir as regras de normalização que tornam o banco de dados flexível, adaptável e redimensionável. Quando normalizado, cada dado é atômico, ou dividido em pequenos pedaços úteis.
Os bancos de dados relacionais são tipicamente escritos em SQL (Structured Query Language). O modelo foi introduzido por E. F. Codd em 1970.
Modelo hierárquico
O modelo hierárquico organiza dados em uma estrutura do tipo árvore, onde cada registro tem um único "pai" ou raiz. Registros "irmãos" são classificados em uma ordem específica. Essa ordem é usada como a ordem física para armazenar o banco de dados. Este modelo é bom para descrever muitas relações do mundo real.
Esse modelo foi usado principalmente pelos Sistemas de Gestão de Informações da IBM nos anos 60 e 70, mas são raramente vistos hoje devido a certas ineficiências operacionais.
Modelo de rede
O modelo de rede se baseia no modelo hierárquico, permitindo relações muitas para muitas entre registros vinculados, implicando em vários registros "pai". Baseado na teoria de conjuntos matemáticos, o modelo é construído com conjuntos de registros relacionados. Cada conjunto consiste em um registro proprietário, ou "pai", e um ou mais registros de membro, ou "filho". Um registro pode ser um membro, ou "filho", em vários conjuntos, permitindo que esse modelo transmita relações complexas.
Foi mais popular nos anos 70, depois de ter sido formalmente definido pela Conferência sobre Linguagens de Sistemas de Dados (CODASYL).
Modelo de banco de dados orientado para objetos
Este modelo define o banco de dados como uma coleção de objetos, ou elementos de software reutilizáveis, com recursos e métodos associados. Há vários tipos de bancos de dados orientados para objetos:
Um banco de dados multimídia incorpora mídia, como imagens, que não podem ser armazenadas em um banco de dados relacional.
Um banco de dados de hipertexto permite que qualquer objeto seja vinculado a qualquer outro objeto. É útil para organizar lotes de dados diferentes, mas não é ideal para a análise numérica.
O modelo de banco de dados orientado a objetos é o modelo de banco de dados pós-relacional mais conhecido, uma vez que ele incorpora tabelas, mas não se limita a elas. Tais modelos também são conhecidos como modelos de bancos de dados híbridos.
Quer criar seu próprio diagrama de banco de dados? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.
Crie um diagrama de banco de dadosModelo relacional-objetos
Este modelo de banco de dados híbrido combina a simplicidade do modelo relacional com algumas das funcionalidades avançadas do modelo de banco de dados orientado a objetos. Em essência, ele permite que os designers incorporem objetos na estrutura da tabela familiar.
As interfaces de linguagem e chamadas incluem SQL3, linguagens de fornecedor, ODBC, JDBC e interfaces de chamada proprietárias que são extensões das linguagens e interfaces usadas pelo modelo relacional.
Modelo entidade-relacionamento
Este modelo capta as relações entre entidades do mundo real, de forma parecida com o modelo de rede, mas não está diretamente ligado à estrutura física do banco de dados. Em vez disso, ele é frequentemente usado para projetar um banco de dados conceitualmente.
Aqui, pessoas, lugares e coisas sobre quais pontos de dados são armazenados e referidos como entidades, cada uma das quais possui certos atributos que, em conjunto, compõem seu domínio. A cardinalidade, ou relações entre entidades, também são mapeadas.
Uma forma comum do diagrama ER é o esquema em estrela, no qual uma tabela de fatos central se conecta a tabelas multidimensionais.
Outros modelos de bancos de dados
Uma grande variedade de outros modelos de banco de dados foram ou ainda são usados hoje.
Modelo de arquivo invertido
Um banco de dados construído com a estrutura de arquivo invertido foi projetado para facilitar pesquisas rápidas de texto completo. Neste modelo, o conteúdo dos dados é indexado como uma série de chaves em uma tabela de pesquisa, com os valores apontando para o local dos arquivos associados. Esta estrutura pode fornecer relatórios quase instantâneos em big data e análises, por exemplo.
Este modelo tem sido usado pelo sistema de gestão de banco de dados ADABAS da Software AG desde 1970, e ainda é suportado hoje em dia.
Modelo plano
O modelo plano é o modelo de dados mais antigo e mais simples. Ele simplesmente lista todos os dados em uma única tabela, que consiste em colunas e linhas. Para acessar ou manipular os dados, o computador tem de ler todo o arquivo plano na memória, o que torna este modelo ineficiente para todos, exceto para os menores conjuntos de dados.
Modelo multidimensional
Esta é uma variação do modelo relacional projetado para facilitar o processamento analítico melhorado. Enquanto o modelo relacional é otimizado para o processamento de transações on-line (OLTP), este modelo foi projetado para o processamento analítico on-line (OLAP).
Cada célula em um banco de dados dimensional contém dados sobre as dimensões monitoradas pelo banco de dados. Visualmente, é como uma coleção de cubos, em vez de tabelas bidimensionais.
Modelo semiestruturado
Neste modelo, os dados estruturais normalmente contidos no esquema do banco de dados são incorporados com os próprios dados. Aqui a distinção entre dados e esquema é vaga, na melhor das hipóteses. Esse modelo é útil para descrever sistemas, como certas fontes de dados baseadas na web, que tratamos como bancos de dados, mas que não podemos restringir com um esquema. Ele também é útil para descrever interações entre bancos de dados que não aderem ao mesmo esquema.
Modelo de contexto
Este modelo pode incorporar elementos de outros modelos de banco de dados, conforme necessário. Ele junta elementos de modelos orientados a objetos, semiestruturados e de rede.
Modelo associativo
Este modelo divide todos os pontos de dados com base em se eles descrevem uma entidade ou uma associação. Neste modelo, uma entidade é qualquer coisa que existe de forma independente, enquanto uma associação é algo que só existe em relação a outra coisa.
O modelo associativo estrutura os dados em dois conjuntos:
- Um conjunto de itens, cada um com um identificador exclusivo, um nome e um tipo
- Um conjunto de links, cada um com um identificador exclusivo e os identificadores exclusivos de uma fonte, verbo e destino. O fato armazenado tem a ver com a fonte, e cada um dos três identificadores pode se referir a um link ou a um item.
Outros modelos de bancos de dados menos comuns incluem:
- Modelo semântico, que inclui informações sobre como os dados armazenados se relacionam com o mundo real
- Banco de dados XML, que permite que os dados sejam especificados e até armazenados em formato XML
- Gráfico nomeado
- Três andares
Modelos de bancos de dados não SQL
Além do modelo de banco de dados de objetos, outros modelos não SQL surgiram em comparação com o modelo relacional:
O modelo de banco de dados gráfico, que é ainda mais flexível do que um modelo de rede, permite que qualquer nó se conecte a qualquer outro.
O modelo multivalores, que se diferencia do modelo relacional ao permitir que os atributos contenham uma lista de dados em vez de um único ponto de dados.
O modelo de documento, que é projetado para armazenar e gerenciar documentos ou dados semiestruturados, em vez de dados atômicos.
Bancos de dados na Internet
A maioria dos sites depende de algum tipo de banco de dados para organizar e apresentar dados aos usuários. Sempre que alguém usa as funções de pesquisa nesses sites, seus termos de pesquisa são convertidos em consultas para um servidor de banco de dados processar. Normalmente, o middleware conecta o servidor da web ao banco de dados.
A ampla presença dos bancos de dados permite que eles sejam usados em quase todos os campos, desde compras on-line até microssegmentação de um segmento de eleitores como parte de uma campanha política. Várias setores desenvolveram suas próprias normas para a criação de bancos de dados, desde transporte aéreo até fabricação de veículos.