Classes Filhas no Banco

3 respostas
cleriston

Gostaria de saber como vocês gravam as sub-classes no banco.
Por exemplo :

Tenho uma classe Veiculo e as classes Carro, moto e caminhao que são filhas da classe veiculo.

Os objetos da mesmas vocês gravariam em uma Tabela “Veiculo”, mudando um campo “TipoDeVeiculo”
Ou criariam tabelas “CArro”, “Moto” e “Caminhao”

3 Respostas

1112

Os atributos (e colunas) seriam diferentes?

Por esse seu exemplo, se os atributos forem diferentes, eu acharia melhor usar tabelas diferentes para cada classe. Agora, se você tivesse algo como uma classe Carro e uma classe CarroDeCorrida (com atributos extras além dos atributos de Carro), acho que seria melhor manter uma tabela com colunas para todos os atributos e uma coluna controlando a diferença de tipos. Isso evitaria joins desnecessários.

Cada caso é um caso, mesmo nas condições que eu falei talvez fosse necessário ter duas tabelas (se o número de atributos que CarroDeCorrida tem além da classe Carro fosse muito maior ou se algum atributo de Carro fosse escondido de CarroDeCorrida) ou, no seu exemplo, ter apenas uma tabela. Deve-se sempre conferir o que é melhor para a sua aplicação.

Ironlynx

Exato.Isso parece aqueles excercícios de faculdade, mais precisamente AOO(Análise Orientada a Objeto), em que o professor acha que tudo se resolve com um exemplinho desses.
Escuta, essa classe Veículo só serve para dizer que todos são “Veículos”???Ela tá no seu programa como uma mera ‘marcação’?É uma interface… :roll:

cleriston

Legal!
Valeu pelas ajudas!

Mas na realidade, eu tenho apenas a classe veiculo, e nela tem um atributo em que eu seto Carro, Moto ou Caminhão.

Mas veio na cabeça, se caso precisasse ter Carro, Moto e Caminhão separados, por ter metodos iguais q fazem coisas diferentes… como eu iria gravar as classes no banco. Fico grato

Criado 8 de março de 2007
Ultima resposta 8 de mar. de 2007
Respostas 3
Participantes 3