O que é herança de tabela única?
A herança de tabela única é um método de codificação no qual a herança orientada a objetos, que geralmente não é incluída em um programa de banco de dados, é emulada para um banco de dados relacional. Ao usar isso, o usuário poderá ver o relacionamento entre muitos rótulos diferentes em uma única tabela, facilitando a digestão ou adição dos dados aos usuários. Se houver muitos campos nulos ou se houver um grande número de relações, o uso da herança de tabela única poderá retornar resultados inesperados que confundirão até os designers de banco de dados avançados. Com esse esquema de herança de banco de dados, a tabela única mostra os dados de maneira hierárquica.
Bancos de dados relacionais são bancos de dados que relacionam um grupo de dados a outro e geralmente possuem mapas hierárquicos. Por exemplo, se alguém estiver procurando um livro por meio de um banco de dados relacional, normalmente ele ou ela encontrará campos para autor, gênero, primeira letra do livro e, em seguida, uma lista de livros. Em casos normais, cada campo tem sua própria tabela, e as tabelas raramente interagem além de mediar o usuário de um campo para outro.
Na herança de tabela única, todos os campos são exibidos em uma tabela. É muito mais fácil olhar e peneirar. Todos os dados exibidos na tabela vão de cima para baixo. Isso significa que o autor estaria no topo da tabela única e a primeira letra do livro estaria no fundo.
A criação de um modelo de herança de tabela única pode ser difícil no início, a menos que o designer do banco de dados esteja familiarizado com a codificação. Fazer um mapa do banco de dados para separar objetos em um esquema de programação orientado a objetos normalmente faz isso. Deve haver várias classes, caso contrário, isso não agrupará tudo em uma única tabela.
Dois tipos de problemas podem impedir que a herança de tabela única funcione corretamente. Uma é se os objetos representam um valor nulo. Se isso ocorrer, o valor nulo será aplicado com os valiosos dados na tabela de herança. Isso significa que a tabela exibirá informações relevantes, mas, a cada poucas linhas, ou por mais que ocorram valores nulos, a palavra "nulo" será exibida nas proximidades ou abaixo de outro valor.
Se o objeto que está sendo mapeado tiver muitas hierarquias, especialmente hierarquias que não são semelhantes, isso também poderá causar um problema na herança de tabela única. Com muitas hierarquias, há uma chance de que o designer perca uma, causando um erro relacional. Se as hierarquias não forem semelhantes, o banco de dados relacional poderá ter problemas para entender o mapeamento feito entre os conjuntos de dados.