Estoy definiendo una base de datos para un sistema de cliente/orden donde hay dos tipos muy distintos de clientes. Porque son tan diferentes tener una sola tabla de clientes sería muy feo (estaría lleno de columnas nulas ya que son inútiles para un tipo).Llaves externas múltiples a una sola columna
Sus pedidos están en el mismo formato. ¿Es posible tener una columna CustomerId
en mi tabla de pedidos que tenga una clave externa para ambos tipos de clientes? Lo he configurado en el servidor SQL y no me ha dado ningún problema creando relaciones, pero aún no he intentado insertar ningún dato.
Además, estoy planeando utilizar nHibernate como ORM, ¿podría haber algún problema al hacer las relaciones de esta manera?
acuerdo. La normalización es la clave aquí. – jva
@Guffa: -1 porque "No, no puede tener un solo campo como clave externa para dos tablas diferentes": esta afirmación es incorrecta (al menos en el servidor sql 2005). Darle un giro. – Liao
@Liao: no creo que comprenda la situación ... Si, por ejemplo, tiene el valor de la clave foránea 42, ¿cómo sabría si es la clave de la tabla A o de la tabla B? – Guffa