Bancos de dados são programas de computador que armazenam dados, ou "registros". Mais importante, eles também descrevem como esses dados se relacionam com outros dados no banco de dados. Existem muitos tipos diferentes de banco de dados, incluindo hierárquico, de rede, relacional e orientado a objetos. Todos eles servem a propósitos diferentes e permitem que seus registros sejam descritos de maneiras diferentes.
Bancos de dados hierárquicos
Bancos de dados hierárquicos são alguns dos tipos mais antigos e simples de banco de dados. Eles organizam os dados em uma estrutura de "árvore", semelhante a pastas e arquivos em um computador. Assim como um arquivo em um computador fica em uma pasta, cada registro no banco de dados tem um "pai". Dados organizados hierarquicamente são frequentemente descritos como tendo apenas relacionamentos pai/filho.
Problemas com bancos de dados hierárquicos
Embora o modelo hierárquico seja adequado para estruturas simples, é fácil ver como os problemas podem surgir, pois cada "filho" só pode ter um "pai". Se o banco de dados contiver os nomes dos pais reais e seus filhos dentro de uma empresa, você não poderá descrever o fato de que ambos os pais de um único filho trabalharam para essa empresa. Na linguagem dos bancos de dados, isso seria um relacionamento "muitos-para-um" (ou "muitos-para-muitos" se houver mais de um filho envolvido), e os bancos de dados hierárquicos não os descrevem bem.
Bancos de dados relacionais
Os bancos de dados relacionais não têm problemas com relacionamentos muitos-para-um ou muitos-para-muitos. Seus registros são construídos como várias "tabelas", em vez de estruturas em árvore, e cada registro em uma tabela tem um identificador exclusivo. Uma empresa pode ter uma tabela com os nomes de todos os pais, uma tabela com os nomes de todos os filhos e cada registro na tabela pai pode ter um relacionamento com um (ou mais, ou nenhum) dos registros exclusivos em a tabela filho - esse relacionamento sendo "é o pai de". A capacidade de dar aos registros tais relacionamentos é o que dá nome aos bancos de dados relacionais.
Vantagens dos bancos de dados relacionais
Os bancos de dados relacionais evitam erros permitindo que um registro seja aplicado a qualquer número de outras tabelas. Um registro filho pode ser usado em um relacionamento "é filho de" e o mesmo registro pode ser referido em uma tabela de "filhos participando do piquenique da empresa". Ao evitar a duplicação, as mesmas informações podem ser usadas de muitas maneiras diferentes, sem alterar acidentalmente um registro.
Além disso, bancos de dados relacionais são muito bons para fornecer outros tipos de dados ocultos nos registros, usando consultas escritas em Structured Query Language, ou SQL. Isso permite que você explore o banco de dados de maneiras não imediatamente aparentes, como encontrar todos os filhos acima de uma determinada idade ou todos os pais com três ou mais filhos.
Usando bancos de dados hierárquicos
Pode parecer que os bancos de dados relacionais são superiores aos hierárquicos, e é verdade que são mais flexíveis. Mas essa flexibilidade nem sempre é necessária para todos os bancos de dados. As bibliotecas usam bancos de dados hierárquicos para registrar seus livros, pois o sistema Dewey Decimal é hierárquico por natureza. Uma lista de números de telefone de contato pode ser perfeitamente atendida por um banco de dados hierárquico. Um banco de dados é uma ferramenta, e a ferramenta certa para o trabalho depende do trabalho em mãos.