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:

employee tabela
EmpNo Primeiro nome Último nome Dept. Num
100 Almukhtar Khan 10-L
101 Gaurav Soni 10-L
102 Siddhartha Soni 20-B
103 Siddhant Soni 20-B
computer tabela
Serial Num Modelo Usuário EmpNo
3009734-4 Computador 100
3-23-283742 Monitor 100
2-22-723423 Monitor 100
232342 Impressora 100

Neste modelo, a employeetabela de dados representa a parte "pai" da hierarquia, enquanto a computertabela 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