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 considera os tipos de relações entre essas tabelas, incluindo relações um para um, um para muitos e muitos para muitos. Veja um exemplo:
Dentro da base de dados, as tabelas podem ser normalizadas ou levadas a cumprir as regras de normalização que tornam a base de dados flexível, adaptável e redimensionável. Quando normalizado, cada dado é atômico, ou dividido em pequenos pedaços úteis.
As bases de dados relacionais são tipicamente escritas 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 a base 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 base de dados orientado a objetos
Este modelo define a base 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 base de dados orientados para objetos:
Uma base de dados multimídia incorpora mídias, como imagens, que não poderiam ser armazenadas em uma base de dados relacional.
Um base 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 base de dados orientado a objetos é o modelo de base 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 base de dados híbridos.
Modelo objeto-relacional
Este modelo de base de dados híbrido combina a simplicidade do modelo relacional com algumas das funcionalidades avançadas do modelo de base 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 de entidades e relacionamentos
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 da base de dados. Em vez disso, ele é frequentemente usado para projetar uma base de dados conceitualmente.
Aqui, pessoas, lugares e coisas sobre os quais se armazenam pontos de dados são chamados de entidades. Cada uma dessas entidades possui certos atributos que, em conjunto, compõem seu domínio. A cardinalidade, ou os relacionamentos entre entidades, também é mapeada.
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 base de dados
Uma grande variedade de outros modelos de base de dados foram ou ainda são usados hoje.
Modelo de arquivo invertido
Uma base de dados construída com a estrutura de arquivo invertido foi projetada 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 base de dados ADABAS da Software AG desde 1970, e ainda recebe suporte 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 que ler todo o arquivo plano na memória, o que torna este modelo ineficiente quase para todos os conjuntos de dados, exceto para os menores.
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 online (OLAP).
Cada célula em uma base de dados dimensional contém dados sobre as dimensões monitoradas pela base 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 de base 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 base de dados, mas que não podemos restringir com um esquema. Ele também é útil para descrever interações entre base de dados que não aderem ao mesmo esquema.
Modelo de contexto
Este modelo pode incorporar elementos de outros modelos de base 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 único, um nome e um tipo
- Um conjunto de links, cada um com um identificador único e os identificadores únicos de uma fonte, um verbo e um 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 base de dados menos comuns são:
- Modelo semântico, que contém informações sobre como os dados armazenados se relacionam com o mundo real
- Base de dados XML, que permite especificar e até armazenar dados em formato XML
- Gráfico nomeado
- Triplestore
Modelos de base de dados NoSQL
Além do modelo de base de dados orientado a objetos, outros modelos não SQL surgiram como alternativa ao modelo relacional:
O modelo de base de dados de gráficos é ainda mais flexível que o modelo de rede, permitindo 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.
Bases de dados na web
A maioria dos sites depende de algum tipo de base 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 base de dados processar. Normalmente, o middleware conecta o servidor da web à base de dados.
A ampla presença das bases de dados permite que elas sejam usadas em quase todos os campos, desde compras online 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 base de dados, desde transporte aéreo até fabricação de veículos.