Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Diseño ER base de datos

Estas en el tema de Diseño ER base de datos en el foro de Bases de Datos General en Foros del Web. Hola, estoy estudiando BBDD y la verdad es que con el profesor no me entero (mejor no comento sobre ese tema) El caso es que ...
  #1 (permalink)  
Antiguo 21/11/2015, 09:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Diseño ER base de datos

Hola, estoy estudiando BBDD y la verdad es que con el profesor no me entero (mejor no comento sobre ese tema)

El caso es que con resolución de jerarquías no me entero.

Voy a poner un ejemplo de la parte de diseño que no consigo resolver a ver si alguien puede echarme un cable.

Cita:
Cada semana un mercado de ganado del que nos piden implementar una base de datos para mantener información acerca de las transacciones que se realizan entre ganaderos y tratantes (compradores) y supervisan veterinarios. De todas estas personas se desea saber lo mismo: dni, nombre, dirección, teléfono y email.

Los ganaderos traen los animales en camiones, de los que se desea conocer la matrícula, marca, modelo, compañía aseguradora y número de póliza del seguro . En un mismo camión pueden trasladarse ganado de diferentes ganaderos. Es relevante conocer los diferentes animales que transporta cada camión, pero solo en la entrada al ferial, es decir, la carga de salida de cada camión no se contempla en la base de datos. Cada camión tiene, al menos, un conductor y de cada uno de ellos, es necesario registrar su dni, nombre, dirección y teléfono. No se tiene constancia de que un mismo conductor entre en el ferial con diferentes camiones.

De los animales se debe registrar un número de identificación (crotal), sexo, especie, raza, fecha nacimiento y peso en Kg. Las especies del ganado que se oferta en el ferial son: ovino, equino, vacuno y caprino. De las vacas, necesitamos conocer además, la fecha de la última inseminación, número de partos y media de litros de leche de cada ordeño. Al ferial acuden semanalmente unas 2500 cabezas de ganado.

La normativa vigente, establece que las transacciones de animales deben estar supervisadas por veterinarios que expiden y firman una guía que autoriza su venta cuando se cumplan las condiciones sanitarias reglamentarias. Cada animal necesita un número de guía que expide un veterinario. Estos pueden expedir guías o autorizaciones de venta a diferentes animales aunque solo es necesaria la firma de un veterinario para autorizar la venta de un animal.

Cada animal puede venderse o no, a un tratante o a otro ganadero y para cada transacción debemos registrar el precio de venta, fecha de compra y provincia de destino.

Un tratante o ganadero puede adquirir animales de diferentes ganaderos y un ganadero puede repartir la venta de sus animales entre diferentes compradores.
No se explicar lo que quiero hacer, pero tengo 4 tablas de razas animal y lo que quiero es concentrarlo o llevarlo a un solo IDANIMAL, para que después me deje relacionar, intentando respetar esas tablas.
Tengo otra tabla VENTAS con un campo IDanimal en el que aparecería desplegable y seleccionaría el id del animal que deseo.

No se si me expliqué bien.

Gracias.
  #2 (permalink)  
Antiguo 21/11/2015, 11:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Diseño ER base de datos

Saludo.

Revisando el requerimiento, se tendrían las entidades principales.

persona (sea ganadero, comprador o veterinario)
camion
animal (sea equino, vacuno, etc)
transaccion (sea guia o autorización de venta, y aquí se relacionaría
el veterinario y demás (de ganadero a ganadero, de ganadero a comprador) )

Luego, se requiere saber

conductorxcamion
animalxcamion
infoxanimal (en el caso de los vacunos por ahora, fecha inseminación, etc)
transaccionxanimal (tantos animales como se maneje en una determinada transacción)

Segùn lo que ya tienes, ventas sería transacción, pero como allá mismo tienes el idanimal vendría a ser incluso transaccionxanimal, en cuyo caso sugiero que mejores el modelo que tienes.

Ya estás hablando de desplegables, imagino es interfaz ya,
pero antes tienes que revisar con calma el requerimiento de base de datos,
y pensar con cabeza fría todo lo que se requiere.

Tu hablas de 4 tablas, yo te propongo 8.
¿Por qué?
Pues porque el requerimiento así creo que lo requiere, incluso pueden ser más,
para en una por ej guardar el tipo de persona y en otra la especie del animal,
o incluso, sí se quisieran independizar pues sería tabla para cada tipo de persona (es decir, tabla conductor, tabla ganadero, tabla veterinario, tabla vendedor) pero como en este caso a todos se les piden los mismos datos,
pues creo más sencillo manejar una sola para todos.

Echale un ojo a lo que esbocé arriba, y vuelve a leer el requerimiento
y lo comparas.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 21/11/2015, 12:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Diseño ER base de datos

A ver q no me entero y no me explique mal. Solo indiqué tablas donde están dudas.
Las tablas q hice son.
FERIANTES(-ganaderos.veterinarios o compradores)
CAMIONES
CONDUCTORES
VENTAS O TEANSACCIONES
TRANSPORTAN
OVINO
EQUINO
VACUNO
CAPRINA

Si en Ventas pongo idanimales tengo 4 categorÃÂ*as
En transportan quiero poner idanimales (con la cantidad...) pero tengo 4 clves de animales y ya he probado en hacer solo una tabla de animales pero muchos nulos en vacuno....
¿Como concentrar la relación de lis 4 tipos de animales?

Lo hago con mysql de momento grafico....lo a piden en clase.
  #4 (permalink)  
Antiguo 21/11/2015, 13:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Diseño ER base de datos

Normalmente, para ambos, es politica de FDW no responder consultas sobre trabajos prácticos a nadie. Ni aunque los vayan a decapitar o poner en una pira.

Foros del Web no es el sitio adecuado para solicitar soluciones a trabajos cuya meta es que un alumno de facultad aprenda la asignatura.
Podemos, sí, dar guías, orientaciones, consejos o verificar si lo que intentan está mal y explicar por qué. Pero no las soluciones.

Dicho eso, y ya puestos a lo que preguntas, tu problema es que no estás realizando un buen analisis del sistema (cosa muy comun al principio de la materia), y quieres hacer las cosas de modo que luego de resulte "fácil" hacer consultas, cuando lo que en realidad debes hacer es buscar cual es la mejor solución posible para el diseño de la base, sin que te preocupe como harán luego los programadores para resolver los procesos.
Lo primero que debes hacer, en definitiva, es centrarte en la solución de los DATOS.
SI dado el caso, la solución requiere que una tabla tenga una PK de 140 campos, pues esa deberá ser la solución adoptada, NUNCA intentar simplificarlo porque te parezcan "demasiadas tablas", o claves "muy complicadas".
Si vas por el camino de hacer las cosas para esforzarte menos, desde ya tienes la reprobación de tu profesor asegurada.

Y no estoy bromeando.

Ahora bien, si tienes cuatro tipos de animales, y quieres una sola tabla, la solución es simple: Un campo debe ser SET o ENUM, y determinar que tipo de animal es. No es la mejor solución porque requeriría modificar la tabla toda vez que se ingrese un nuevo tipo.
La otra opción es crear una tabla de tipos de animales, y referenciar a los animales a esa.
La tercera solucion es crear una estructura padre/hijos con Animal en una tabla (lo generico) y una tabla por cada tipo de animal, relacionadas con la tabla padre, heredando su PK como propia (dependencia fuerte). Es una solución legal, pero sólo debe usarse si hay atributos en cada animal que no se repitan en los otros.

¿Se va entendiendo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 21/11/2015, 18:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Diseño ER base de datos

Bueno. Yo solo he preguntado una parte de relacionar que no entiendo. No la resolución del ejercicio.
Soy estudiante de fp superior no universidad y tenemos problemas serios con un profesor que esta a punto de jubilarse y que ademas les redujeron el sueldo y no quiere dar clase.... En fin. Creo que me expliqué.

Si este foro no es el sitio adecuado, cerramos el tema y me dirijo a un foro dedicado a compartir y enseñar conocimientos en general y docentes.

Gracias.
  #6 (permalink)  
Antiguo 21/11/2015, 20:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Diseño ER base de datos

¿Leíste algo de lo que te explico en la segunda parte del post? ¿Algo?

Al menos analiza lo que digo y responde.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 22/11/2015, 03:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Diseño ER base de datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje

Ahora bien, si tienes cuatro tipos de animales, y quieres una sola tabla, la solución es simple: Un campo debe ser SET o ENUM, y determinar que tipo de animal es. No es la mejor solución porque requeriría modificar la tabla toda vez que se ingrese un nuevo tipo.
La otra opción es crear una tabla de tipos de animales, y referenciar a los animales a esa.
La tercera solucion es crear una estructura padre/hijos con Animal en una tabla (lo generico) y una tabla por cada tipo de animal, relacionadas con la tabla padre, heredando su PK como propia (dependencia fuerte). Es una solución legal, pero sólo debe usarse si hay atributos en cada animal que no se repitan en los otros.

¿Se va entendiendo?
Pues eso es lo que pasa, que no ha explicado eso de SET o ENUM, y los ejercicios según el los saca de la universidad.
Nos ha explicado 4 soluciones a jerarquía,
total solapada
total exclusiva
parcial solapada
parcial exclusiva

Se que la resolución parcial solapada es validad para todos los supuestos.
¿pero como pensar en todo lo que dices sin formar al alumno?
En otro ejercicio me dijo que quitase 2 tablas y cuando resolvió el ejercicio dijo que había que poner esas 2 tablas ¿Cómo se entiende eso?

Si este no es el sitio pues buscare un foro con fines educativos. Porque yo ya soy mayor, y he retomado los estudios, no soy un crio y bastante me cuesta retomar, y retener toda la información con la dificultad añadida de un profesor desmotivado y depresivo.

En cuanto al ejercicio mi intención es crear las 4 tablas de los animales, ya que no ha explicado ni SET ni lo otro y por lo tanto se supone que no debo utilizarlo.
Los PK de cada animal los llevare a una tabla de animales para asignarles un PK, me inventaré un identificativo de cada animal (como los que llevan los perros) para que cada bicho esté registrado y que con la transacción pueda relacionarlo....

no se.
Es desmotivante que vayas con ilusión a sacar un ciclo formativo para poder trabajar en algo que puedes tener salida y dejar contratos basura y que te lo tiren todo por la borda....
  #8 (permalink)  
Antiguo 22/11/2015, 09:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Diseño ER base de datos

Saludo.
Fran, pues en mi concepto nunca es tarde para empezar.
Y sí, en las instituciones uno se encuentra con unos docentes
que lo desmotivan completamente, hay otros que motivan,
pero por lo general abundan los primeros.

La solución a eso es olvidarse de ese personaje,
y formarse mejor por cuenta propia, además,
en estos tiempos, se encuentra mucha info tanto
en internet como en libros sobre el tema.

Te invito a que leas con calma las respuestas que se te han dado
para que te cambie el panorama de lo que quieres hacer.

Ahora, como entiendo que tienes el modelo, tienes cada animal
en una tabla, siendo así, a la hora de llevar el id de cada una
de estas tablas al de las transacciones, no sabrás cual animal
estas manejando, a menos que en una sola transacción pongas
a los animales en tantas columnas como se necesite, pues recuerda
que una transacción puede ser de uno o varios animales,
razón por la cual en el modelo que yo te propuse enviaba a una tabla
intermedia la info de la transacción y de cada animal.

Se que es algo denso el tema, y más explicado así en forma escrita
sin poder interactuar y que plantees tus dudas, pero es un comienzo.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: campo, diseño, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:59.