Modelos DBMS
Existem vários tipos diferentes de sistemas de gerenciamento de banco de dados, também chamados de modelos DBMS. Cada um representa uma abordagem um pouco diferente para organizar dados de uma maneira sistemática. Eles incluem:
Arquivo plano
DBMS hierárquico
DBMS de rede
DBMS Relacional
SGBD orientado a objetos
Desses cinco modelos, o DBMS relacional é de longe o mais usado, mas uma visão geral rápida de cada modelo é útil.
Arquivo Simples
A maneira mais básica de organizar os dados é como um arquivo simples . Você pode pensar nisso como uma única tabela com um grande número de registros e campos. Tudo o que você precisa está armazenado nesta tabela ou arquivo simples.
Pense em um banco de dados de clientes. Tudo o que você deseja saber sobre os clientes está armazenado nesta tabela. Você começa com um único registro para cada cliente. Um cliente faz um pedido e você insere isso em um dos campos. Você continua inserindo pedidos de clientes dessa maneira.
E se o mesmo cliente fizer um segundo pedido? Você insere isso como um novo registro na tabela ou adiciona um campo ao registro existente para este cliente?
Não existe uma única resposta melhor para isso. O ponto principal aqui é que um arquivo simples é bastante limitado, pois fornece muito pouco em termos de estrutura. Na verdade, é tão simples que você poderia argumentar que não é um DBMS. No entanto, é bom começar com a ideia de um arquivo simples, e então você verá como os modelos alternativos são mais flexíveis e eficazes.
DBMS hierárquico
Em um DBMS hierárquico, um item de dados é subordinado a outro. Isso é chamado de relacionamento pai-filho . O modelo de dados hierárquico organiza os dados em uma estrutura semelhante a uma árvore.
Uma das regras de um banco de dados hierárquico é que um pai pode ter vários filhos, mas um filho só pode ter um pai. Por exemplo, pense em uma loja online que vende muitos produtos diferentes. Todo o catálogo de produtos seria o pai , e os vários tipos de produtos, como livros, eletrônicos, etc., seriam os filhos . Cada tipo de produto pode ter suas próprias categorias filhas. Por exemplo, os livros podem ser divididos em ficção e não ficção. Cada uma dessas categorias pode ser dividida em subcategorias. Você pode continuar assim, listando autores individuais e, em seguida, os títulos de livros individuais.
Esta é uma maneira bastante simples de representar dados, mas é muito eficiente. Este modelo funciona melhor para dados de natureza inerentemente hierárquica. Muitos conjuntos de dados não podem ser facilmente organizados dessa maneira e requerem uma abordagem mais complexa. Por exemplo, no caso do catálogo de produtos, e se um livro se enquadrar em mais de uma categoria? Ou, e se um autor escreveu vários livros, mas também publicou um CD de áudio de um de seus livros? É aqui que o modelo hierárquico se quebra.
DBMS de rede
Em um SGBD de rede, cada item de dados pode estar relacionado a muitos outros. A estrutura do banco de dados é como um gráfico. Isso é semelhante ao modelo hierárquico e também fornece uma estrutura semelhante a uma árvore. No entanto, uma criança pode ter mais de um pai. No exemplo do catálogo de produtos, um livro pode se enquadrar em mais de uma categoria. A estrutura de um banco de dados de rede torna-se mais como uma teia de aranha de elementos conectados.
Por exemplo, considere uma organização com um banco de dados de funcionários. Para cada funcionário, existem diferentes dados, como nome, endereço, telefone, CPF e cargo. Diferentes unidades na organização precisam de diferentes níveis de acesso. Por exemplo, o departamento de recursos humanos precisa ter acesso às informações da previdência social de cada funcionário para que eles possam cuidar das deduções fiscais e configurar benefícios. Essas são informações um tanto sigilosas, então outros departamentos não precisam acessar esta parte do banco de dados. Todos os pedaços de dados são conectados em uma rede que implementa essas regras.
Embora conceitualmente relativamente simples, essa estrutura de banco de dados pode rapidamente se tornar muito complicada.
DBMS Relacional
Em um SGBD relacional, todos os dados são organizados na forma de tabelas . Esse modelo de DBMS surgiu na década de 1970 e se tornou, de longe, o tipo de DBMS mais amplamente usado. A maior parte do software DBMS desenvolvido nas últimas décadas usa esse modelo. Em uma tabela, cada linha representa um registro , também conhecido como entidade . Cada coluna representa um campo , também conhecido como um atributo da entidade.
Um DBMS relacional usa várias tabelas para organizar os dados. Os relacionamentos são usados para vincular as várias tabelas. Os relacionamentos são criados usando um campo que identifica exclusivamente cada registro. Por exemplo, para uma tabela de livros, você pode usar o número do ISBN, pois não há dois livros com o mesmo ISBN. Para uma tabela de autores, você criaria um ID de autor exclusivo para identificar cada autor individual.
Considere um banco de dados relacional de livros e autores. A primeira tabela é uma tabela de autores. Cada autor é identificado por um ID de autor exclusivo e a tabela também contém seu nome e informações de contato. A segunda tabela é uma tabela de livros. Cada livro é identificado por seu número ISBN e a tabela também contém o título do livro, a editora e a identificação do autor associada ao autor do livro.
O que torna um banco de dados relacional tão eficaz é que você pode vincular essas tabelas. Neste exemplo, você usaria o campo de ID do autor para fazer isso. Por exemplo, você pode armazenar vários livros escritos pelo mesmo autor ou vários autores para o mesmo livro. As informações detalhadas para cada autor e cada livro são armazenadas apenas uma vez e não duplicadas nas duas tabelas. Ainda assim, todas as informações de que você precisa podem ser acessadas usando o relacionamento de tabela.
DBMS Orientado a Objetos
Os modelos anteriores de DBMS funcionam principalmente com texto e números. Os bancos de dados orientados a objetos são capazes de lidar com muitos tipos de dados mais recentes, como imagens, áudio e vídeo. Esses itens de dados são os objetos armazenados no banco de dados.
Se você tiver dados que se encaixam perfeitamente em linhas e colunas, como um banco de dados de clientes com nomes, endereços, CEPs etc., um DBMS relacional é normalmente o mais adequado. Por outro lado, se você tiver uma biblioteca de arquivos multimídia, um SGBD orientado a objetos funcionará melhor.
Você ainda pode criar representações tabulares de seus dados. Por exemplo, você pode representar sua videoteca como uma tabela que mostra uma lista de seus vídeos com sua duração, classificados pela data da gravação.
Considere um banco de dados para todas as imagens médicas coletadas em um hospital, como raios-X, tomografias e eletrocardiogramas. A maneira mais adequada de organizar esses dados seria um banco de dados orientado a objetos. Cada imagem seria um objeto, e este seria etiquetado com o tipo de imagem, o nome do paciente, o nome do médico que solicitou o exame, o técnico que realizou o exame, etc.
Os vários modelos não são totalmente exclusivos um do outro. Por exemplo, o sistema de gerenciamento de banco de dados relacional de objeto combina elementos de ambos os modelos. Ele usa um modelo relacional para descrever associações entre tabelas de dados, mas permite armazenar objetos multimídia.
No caso do exemplo do hospital, você poderia usar um modelo relacional para criar um banco de dados de registros de pacientes e armazenar todas as imagens como objetos. Ao marcar cada imagem, você pode vincular os registros do paciente às imagens, conforme necessário.
Resumo da lição
Existem vários modelos diferentes de sistemas de gerenciamento de banco de dados. Os arquivos planos são como uma única mesa muito grande. Isso só funciona para dados muito simples.
Os bancos de dados hierárquicos usam relacionamentos pai-filho em uma estrutura semelhante a uma árvore. Isso só funciona para dados de natureza inerentemente hierárquica.
Os bancos de dados de rede são mais parecidos com uma estrutura de teia de aranha, com vários links de rede entre os elementos de dados. Isso rapidamente se torna muito complicado.
Os bancos de dados relacionais organizam dados em tabelas e são vinculados por meio de relacionamentos de tabela. Este é, de longe, o modelo de banco de dados mais amplamente usado, pois é muito eficaz.
Os bancos de dados orientados a objetos são adequados para armazenar dados multimídia como objetos em vez de usar uma estrutura tabular.
Resultados de Aprendizagem
Após a conclusão desta lição, você será capaz de:
- Faça as distinções entre os diferentes tipos de sistemas de gerenciamento de banco de dados (DBMS)
- Descreva as limitações de arquivos simples e bancos de dados hierárquicos
- Perceba como bancos de dados de rede podem se tornar complicados
- Explique por que os bancos de dados relacionais são os DBMS mais comumente usados
- Compreenda as maneiras pelas quais bancos de dados orientados a objetos acomodam dados multimídia