Ver Mensaje Individual
  #16 (permalink)  
Antiguo 30/08/2013, 08:17
Avatar de korg1988
korg1988
 
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Duda sobre normalización (otra)

Entiendo perfectamente lo que decis.. De hecho hasta hoy he utilizado sqlalchemy ya que programo en python, y mongodb en varios sistemas.
Mi pregunta final, y espero no molestarte mucho mas, es la siguiente:
Si yo tengo la siguiente tabla..

Personas
-------------
nombre
apellido
razon_social
tipo_persona

y mis tipos de persona son F(fisica), y J (juridica), supongamos que ahora creo dos registros..
Uno tiene el tipo de persona en F y el otro en J
Ahora resulta que las personas con tipo F, solo pueden tener completos los campos apellido y nombre
y las personas que tienen tipo J, solo pueden tener completo el campo razon_social

Ahora bien... eso no es algo que este terriblemente mal?? Porque mas arriba se hablaba de integridad de datos con respecto a los arcos exclusivos.... Para mi, que un registro tenga campos que no van... es un problema tremendo, porque habla de propiedades de una entidad que no pertenecen a determinados registros en esa tabla!...

Para mi la solucion seria tener las siguientes tablas

Personas_Juridicas
------------------------
razon_social

Personas_Fisicas
------------------------
nombre
apellido


y asi quedaria bien... pero necesitaria tener 300000 tablas dentro de una base de datos para poder manejar las relaciones que habria dentro de un sistema!:..

A lo que voy entonces es... La integridad de datos tiene que quedar definida dentro de la base de datos?? (hablo sin pensar en procesos).... porque si es asi, entonces no se de que manera armar mi base de datos, y todo lo que he hecho estos años esta tirado por la ventana!...
Ya que no encuentro la manera de modelar mis datos en una base de datos relacional sin tener incoherencias como la siguiente:
Si tengo una tabla de vehiculos, y una tabla de tipos de vehiculos, en los tipos puede estar definido tanto un Camion, como una Bicicleta... Entonces en la tabla de vehiculos tengo un campo de cantidad de acoplados.... Si el registro es de tipo Camion, cantidad de acoplados va a ser 2 por ejemplo... pero si el registro de vehiculo, tiene relacionado un tipo Bicicleta... va a tener tambien un campo cantidad de acoplados que va a estar vacio!...
Si alguien viene, y manualmente pone un numero 3.... Ahora mi bicicleta tiene 3 acoplados !!!
Y ahi no veo ningun proceso, ni codigo, ni nada!

Gracias!