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

Cambio de Modelo E/R a Modelo Relacional

Estas en el tema de Cambio de Modelo E/R a Modelo Relacional en el foro de Bases de Datos General en Foros del Web. Hola, Estoy realizando un ejercicio sobre cambios de modelo E/R a Modelo Relacional y he llegado a un punto en el que prácticamente me he ...
  #1 (permalink)  
Antiguo 07/11/2013, 10:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Cambio de Modelo E/R a Modelo Relacional

Hola,

Estoy realizando un ejercicio sobre cambios de modelo E/R a Modelo Relacional y he llegado a un punto en el que prácticamente me he quedado estancado, he investigado en internet y en libros pero lo único que consigo es confundirme mas en este punto.

Les comento a ver si me pueden ayudar:

ENTIDAD CLASE => Código (IP), Medio

SUBTIPOS DE CLASE => ORALES y ESCRITAS

ENTIDAD ALUMNO => Cód.Matricula(IP)

Las interrelaciones son:

ALUMNO(1,5) => asiste1 => ESCRITAS(1,1)

ALUMNO(3,7) => asiste2 => ORALES(0,1)

Tengo problemas en como desarrollar el modelo relacional por las cardinales en ALUMNOS (1,5) y (1,7) y luego si los subtipos los tendría que tratar como entidades distintas (es lo que en principio he hecho), pero las relaciones asiste1 y asiste2 tendrían los mismos atributos.

Muchas gracias de antemano!!!
  #2 (permalink)  
Antiguo 07/11/2013, 10:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Tengo la impresión de que estás entremezclando ciertos conceptos, producto de querer transportar un modelo de clases al modelo relacional de datos, y no son exactamente compatibles...
Para ser breve: Cuando hablas de clases, estás hablando de POO, donde existen las clases, pero eso no existe en el modelo ER. Auqnue sí existe la herencia en el modelo EER (entidad-relacion extendido). Para poder visualizarlo como modelo ER, debes replantearlo desde la optica de ese paradigma, y dejar de lado por un momento el de objetos.

Lo que tienes es:
1) Una entidad Clase.
2) Clases tiene o puede tener una categoría Oral o Escrita, y eso puede ser tanto un atributo de la entidad Clase, como una entidad denominada Categoría, a la que se relaciona Clase.
No hay una regla fija en este sentido, sino que dependerá del diseño del sistema (usualmente si los tipos de clases no varían en el tiempo, sería un atributo ENUM, por ejemplo).
3) Todo alumno es una instancia de una única entidad, Alumno. Es una entidad fuerte, y como tal no tiene dependencias funcionales, salvo las de los datos mandatorios, perpo eso es tema de mejor estudio.
4) Todo alumno asiste o tiene clases. Pero como existe una cardinalidad N:N entre clases (puede asistir a más de una, y cada clase tiene N alumnos), debe existir una tabla que las relacione. Esa sería clases_alumnos, por ejemplo, que tendrá los atributos que correspondan (FK de cada alumno, con la FK de la clase en que está, una vez por cada par de valroes)-

Lo que seguo no existe en el modelo de datos es una herencia de Clase, porque la diferencia de un único atributo (oral o escrita), no justifica la creacion de una herencia, al menos en el modelo de datos.

Como dije, no confundas clases con entidades. No son modelos migrables ni dependientes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/11/2013, 11:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Respuesta: Cambio de Modelo E/R a Modelo Relacional

Hola,

En realidad mi problema no esta del todo bien planteado, adjunto la imágen del modelo que tengo actualmente:

http://imageshack.us/photo/my-images/7/rklt.png/

Y mi posible solución y del cual no estoy convencido del que este correcto es:

http://imageshack.us/photo/my-images/9/88q6.png/

Saludos!
  #4 (permalink)  
Antiguo 07/11/2013, 11:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Allí es donde está el fallo: ALumno no se relaciona con Clase Oral o Clase Escrita, sino con Clase. A eso es a lo que me refiero. La relación con las otras es transitiva.
Y como esa relacion es de cardinalidad N:N, obligatoriamente tiene que crearse una tabla física para administrarla.

Por otro lado, estás todavía en etapa de modelado lógic. Y no veo que estés usando buenas herramientas de graficación.
¿No te convendría usar una buena CASE para eso?
__________________
¿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 08/11/2013, 02:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Respuesta: Cambio de Modelo E/R a Modelo Relacional

Hola,

Ya me voy aclarando un poco mas, creo entender que alumno se relacione con clase, pero una pregunta con la cardinalidad, ¿porque N:N?

Es porque un alumno puede asistir a clases ORALES o ESCRITAS?, siendo ya una cardinalidad de 2 y se puede denotar como N, verdad?

Por lo que entonces mi solución se quedaría con una sola relación ASISTE en el modelo lógico, es decir:

ASITE(Código,NumMatricula,Tipo)

Siendo claves los tres atributos

He probado algunas herramientas CASE pero en la mayoría tenia problemas para crear atributos compuestos, ahora he probado la recomendada por la universidad, pero aun la están puliendo, ¿que programa me recomendarías?

Saludos.
  #6 (permalink)  
Antiguo 08/11/2013, 03:06
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Una pequeña modificación, lo que necesitaria sería lo siguiente:

ASITE(Código,NumMatricula)

Siendo claves los dos atributos

Saludos.
  #7 (permalink)  
Antiguo 08/11/2013, 04:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Si me pregunta spor qué una cardinalidad N:N, estás necesitando repasar los conceptos clave del modelo relacional...

Digámoslo así (no nos olvidemos que un modelo es una abstracción o representación de la realidad, y no la realidad): Las cardinalidades N:N se evidencian cuando entre dos entidades dadas hay una relación bidireccional del tipo "Un alumno asiste a una o más clases diferentes, y en cada clase debe haber uno o más alumnos)".
Esa es una relación de N alumnos con N clases, y obligatoriamente requiere una tabla adicional para administrarla.
Adicionalmente, la clave primaria de esa tabla está representada por ambas claves foráneas (clave compuesta), y requiere un campo adicional en la clave si y sólo si un mismo alumno puede relacionarse con la misma clase, más de una vez al mismo tiempo (con los alumnos no se ve, pero hay otros escenarios donde esto se puede dar). Ese atributo adicional y que forma parte de la clave se denomina genéricamente "discriminante".

¿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)
  #8 (permalink)  
Antiguo 08/11/2013, 04:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Si me pregunta spor qué una cardinalidad N:N, estás necesitando repasar los conceptos clave del modelo relacional...

Digámoslo así (no nos olvidemos que un modelo es una abstracción o representación de la realidad, y no la realidad): Las cardinalidades N:N se evidencian cuando entre dos entidades dadas hay una relación bidireccional del tipo "Un alumno asiste a una o más clases diferentes, y en cada clase debe haber uno o más alumnos)".
Esa es una relación de N alumnos con N clases, y obligatoriamente requiere una tabla adicional para administrarla.
Adicionalmente, la clave primaria de esa tabla está representada por ambas claves foráneas (clave compuesta), y requiere un campo adicional en la clave si y sólo si un mismo alumno puede relacionarse con la misma clase, más de una vez al mismo tiempo (con los alumnos no se ve, pero hay otros escenarios donde esto se puede dar). Ese atributo adicional y que forma parte de la clave se denomina genéricamente "discriminante".

¿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)
  #9 (permalink)  
Antiguo 08/11/2013, 06:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Hola,

Perfecto!!!, muchísimas gracias por la aclaración ahora lo veo ya mas claro.

Por finalizar que programa CASE me recomendarías para desarrollar los diagramas?.

Un saludo y nuevamente muchas gracias.
  #10 (permalink)  
Antiguo 08/11/2013, 06:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cambio de Modelo E/R a Modelo Relacional

depende...
¿Qué DBMS vas a usar? ¿Oracle, SQL Server, MySQL, PostgreSQL, ... otro?
Pregunto porque hay herramientas mejores que otras para algunos de ellos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 11/11/2013, 15:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Cambio de Modelo E/R a Modelo Relacional

Hola,

Vamos a usar Oracle.

Etiquetas: modelo, relacional
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 09:04.