Cita:
Iniciado por gnzsoloyo A mi entender el problema que tienes es que estás mirando los detalles de los productos en lugar de hacer una abstraccion de los mismos y tratar de deterimar las características de las entidades que los contienen.
Antes de proceder a diseñar tablas y relaciones debes definir los objetos que contiene ese sistema y a partir de ellos definir cuales son los atributos que poseerán las entidades en un modelado relacional que las pueden incluir.
Si sigues pensando en los valores de los datos, en lugar de los datos como atributo, se volverá confuso.
Lamentablemente no tenemos un subforo dedicado al analisis de sistemas, que es el punto debil de todo este caso que describes, sino movería el post para alla.
En lo que parece ser, hay que definir algunas cosas:
- Qué atributos son propios de los Lentes como abstracción, es decir ¿qué atributos son comunes a TODOS los lentes?
- Qué Tipos de Lentes existen y en qué se diferencian. Esto determinará una cosa: Si no existen atributos que los diferencien, y sólo se diferencian en el uso que se da al lente fisicamente hablando (el objeto tangible), entonces los tipos no son parte del modelo de datos, sino del proceso de la aplicacion.
Pero si los tipos muestran una o más diferencias de atribuitos que son propios de uno u otro tipo, entonces la Entidad Lente puede tener una relacion con otra de Tipos de Lente, o bien existe una jerarquia de herencia, lo que implica que Lentes compondrá más de una tabla.
- ¿Qué es una graduación y en qué atributos se descompone? Cuando haces la descripcion de los valores pareces describir ciertos rangos de magnitudes quese usan respecto de un lente. Lo que edbes definir es qué describe cada magnitud y cuantas se necesitan para describir una sola graduacion.
- Si una graduación aplica a un único tipo de lente, la propia tabla degraduaciones (de necesitar existir) podría relacionarse con el tipo de lente sea en forma directa como transitiva. Hay que definir mejor eso.
Pero si una misma graduacion (con todas sus magnitudes) sólo apolica a un único tipo de lente, entonces es probable que las graduaciones sean parte de los atributos propios de Lente. Sólo se justificaría que graduaciones sea una tabla aparte si se forman conjuntos repeteitivos de magnitudes entre dos lentes diferentes.
- Finalmente, el stock apunta a una relacion de todos los elementos en un único registro. Pero para definir esa relacion hay que primero definir lo previo.
Nota bene: No confundas los valores que una graduación tiene, con los atributos que componen la graduación. A nivel de diseño bases de datos, los valores no existen, sólo existen los dominios que implica el rango de representacion que un mismo atributo tendrá.
Los valores que un registro contenga son propios de la instancia (registro físico), y no parte del modelado.
¿Se entiende?
Trata de describir los elemntos que te digo de un modo más abstracto. de ese modo te acercarás mejor a la estructura correcta de la base que necesitas. No te pierdas en los detalles.
intento comprender todo lo que explicas en tu respuesta, aunque no es fácil, hablas de conceptos "abstractos" que me cuesta entender, aún así lo intento, de hecho he echado mano de algunos apuntes y buceado por la red.
en conclusion en el punto que me encuentro, podemos decir que lentes cilindro y esfera son entidades?
cada lente junto con la union de una esfera y un cilindro forman un unico objeto, ¿no?
como debo relacionar estas tablas?