Modelo de banco de dados hierárquico - Hierarchical database model
Um modelo de banco de dados hierárquico é um modelo de dados no qual os dados são organizados em uma estrutura semelhante a uma árvore . Os dados são armazenados como registros que são conectados entre si por meio de links . Um registro é uma coleção de campos, com cada campo contendo apenas um valor. O tipo de um registro define quais campos o registro contém.
O modelo de banco de dados hierárquico exige que cada registro filho tenha apenas um pai, enquanto cada registro pai pode ter um ou mais registros filho. Para recuperar dados de um banco de dados hierárquico, toda a árvore precisa ser percorrida a partir do nó raiz. Este modelo é reconhecido como o primeiro modelo de banco de dados criado pela IBM na década de 1960.
História
A estrutura hierárquica foi desenvolvida pela IBM na década de 1960 e usada nos primeiros DBMS de mainframe . Os relacionamentos dos registros formam um modelo semelhante a uma árvore. Essa estrutura é simples, mas inflexível porque o relacionamento está confinado a um relacionamento um-para-muitos. O IBM Information Management System (IMS) e o RDM Mobile são exemplos de um sistema de banco de dados hierárquico com várias hierarquias sobre os mesmos dados. RDM Mobile é um banco de dados incorporado recentemente projetado para um sistema de computador móvel.
A perda de tração modelo de dados hierárquico que Codd 's modelo relacional tornou-se o padrão de fato usado por praticamente todos os sistemas de gerenciamento de banco de dados tradicionais. Uma implementação de banco de dados relacional de um modelo hierárquico foi discutida pela primeira vez na forma publicada em 1992 (consulte também o modelo de conjunto aninhado ). Os esquemas de organização de dados hierárquicos ressurgiram com o advento do XML no final da década de 1990 (consulte também banco de dados XML ). A estrutura hierárquica é usada principalmente hoje para armazenar informações geográficas e sistemas de arquivos.
Atualmente, os bancos de dados hierárquicos ainda são amplamente usados, especialmente em aplicativos que requerem alto desempenho e disponibilidade, como bancos, saúde e telecomunicações. Um dos bancos de dados hierárquicos comerciais mais amplamente usados é o IMS. Outro exemplo do uso de bancos de dados hierárquicos é o Registro do Windows nos sistemas operacionais Microsoft Windows .
Exemplos de dados hierárquicos representados como tabelas relacionais
Uma organização pode armazenar informações de funcionários em uma tabela que contém atributos / colunas, como número do funcionário, nome, sobrenome e número do departamento. A organização fornece a cada funcionário hardware de computador conforme necessário, mas o equipamento de informática só pode ser usado pelo funcionário ao qual foi designado. A organização pode armazenar as informações de hardware do computador em uma tabela separada que inclui o número de série de cada peça, o tipo e o funcionário que as usa. As tabelas podem ser assim:
|
|
Neste modelo, a employee
tabela de dados representa a parte "pai" da hierarquia, enquanto a computer
tabela representa a parte "filha" da hierarquia. Em contraste com as estruturas de árvore normalmente encontradas em algoritmos de software de computador, neste modelo os filhos apontam para os pais. Conforme mostrado, cada funcionário pode possuir várias peças de equipamento de informática, mas cada peça individual de equipamento de informática pode ter apenas um proprietário de funcionário.
Considere a seguinte estrutura:
EmpNo | Designação | Relatórios para |
---|---|---|
10 | Diretor | |
20 | Gerente Sênior | 10 |
30 | Datilógrafo | 20 |
40 | Programador | 20 |
Nesse caso, o "filho" é do mesmo tipo que o "pai". A hierarquia informando EmpNo 10 é chefe de 20, e 30 e 40 cada relatório para 20 é representado pela coluna "ReportsTo". Em termos de banco de dados relacional, a coluna ReportsTo é uma chave estrangeira que faz referência à coluna EmpNo. Se o tipo de dados "filho" fosse diferente, estaria em uma tabela diferente, mas ainda haveria uma chave estrangeira referenciando a coluna EmpNo da tabela de funcionários.
Esse modelo simples é comumente conhecido como modelo de lista de adjacências e foi introduzido pelo Dr. Edgar F. Codd depois que surgiram as críticas iniciais de que o modelo relacional não poderia modelar dados hierárquicos. No entanto, o modelo é apenas um caso especial de uma lista geral de adjacências para um grafo.
Veja também
Referências
links externos
- Links de Troels para dados hierárquicos em RDBMSs
- Gerenciando dados hierárquicos no MySQL (esta página é do archive.org, pois a página foi removida do MySQL.com)
- Dados hierárquicos em MySQL: pais e filhos em uma consulta
- Criar gráfico de hierarquia a partir de banco de dados hierárquico