Duda sobre unas tablas

lestrade
16 de Febrero del 2004
Hola, tengo un problema para crear unas tablas.

Quiero crear una entidad que pueda ser de dos tipos distintos, como por ejemplo los compradores de una fábrica, que puedan ser un particular o una empresa. Pero pongamos que un 98% de los compradores son particulares, y los podría identificar por el DNI.

Si quiero crear una entidad "comprador" que incluya a los dos tipos, ¿es absolutamente necesario crear un atributo ID_ cliente? Es decir, ¿se podría hacer de algún otro modo, como (el identificador está entre comillas):

particular ("DNI", fecha_nacimiento, ...)
empresa ("nombre_empresa", tipo_empresa, ...)

comprador (..., es_particular)

y poner algo en "comprador" (tipo booleano o algo así) que, dependiendo de si es un particular o una empresa, permita identificarlos y tratarlos de forma distinta?

La idea supongo que es aprovechar un ID tan bueno como puede ser el DNI en vez de crear otro distinto, o bien aprovechar lo que hay hecho, suponiendo que la fábrica siempre ha vendido a particulares y ahora ha empezado a vender también a empresas.

Tal vez sea aconsejable crear un ID_cliente, pero quiero saber si eso es posible.

Muchas gracias!