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

Creacion de modelo entidad relacion

Estas en el tema de Creacion de modelo entidad relacion en el foro de Bases de Datos General en Foros del Web. Buenas tardes Tengo las siguientes reglas de negocio Se debe desarrollar la base de datos de una página web que ayuda a suplir las necesidades ...
  #1 (permalink)  
Antiguo 11/04/2017, 17:03
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Creacion de modelo entidad relacion

Buenas tardes

Tengo las siguientes reglas de negocio

Se debe desarrollar la base de datos de una página web que ayuda a suplir las necesidades médicas de una persona con bajos recursos a la cual vamos a llamar receptor.
Todos los artículos que suplen las necesidades de un receptor son proporcionados por donadores.
Tanto el donador como el receptor están definidos por su id, nombre, apellido paterno, apellido materno, email, teléfono, entidad federativa y fecha de registro
Los artículos están definidos por su id, nombre, descripción, categoría y fecha de publicación.
Existen 6 categorías para los artículos (Medicamentos, Prótesis, Desechables, Atención medica, Aparatos médicos y otros)
Los artículos tienen fotos que están definidas por su id, ubicación y nombre
Consideraciones para el diseño:
Un usuario debe ser receptor o donador o ambos
Un artículo pertenece a un único usuario
Un artículo está asociado a una única categoría.
Una foto está asociada a un único artículo.

Y aqui esta lo que llevo del MER



Voy a empezar con la relación que hay entre usuario y tipo_usuario
La forma en la que pense es la siguiente
1 usuario tiene 1 tipo de usuario
1 tipo de usuario tiene 0 o mas usuarios

En este caso seria 1 a muchos?

Es que estoy acostumbrado a casos como
1 entidad_tipo1 tiene 1 entidad_tipo2
1 entidad_tipo2 tiene n entidad_tipo1
en este caso es una relacion 1 a muchos

Pero no se que hacer en este caso

Que se hace en estos casos?

Última edición por hackjose; 11/04/2017 a las 18:36
  #2 (permalink)  
Antiguo 12/04/2017, 07:48
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Creacion de modelo entidad relacion

es uno a uno 1 tipo de usuario tiene un usuario, un usuario no puede tener mas de 2 tipos, y un tipo de usuario siempre debe de estar relacionado con un usuario,.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 12/04/2017, 08:12
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Creacion de modelo entidad relacion

Uno a uno? Yo diría 1 a muchos.

1 usuarios -> 1 tipo
1 tipo -> N usuarios
__________________
Unset($vida['malRollo']);
  #4 (permalink)  
Antiguo 12/04/2017, 08:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Creacion de modelo entidad relacion

Cita:
Iniciado por xerifandtomas Ver Mensaje
Uno a uno? Yo diría 1 a muchos.

1 usuarios -> 1 tipo
1 tipo -> N usuarios
Eso eso jejejeje sorry
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 12/04/2017, 08:30
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Creacion de modelo entidad relacion

No te preocupes Libras, jajaja. Sabemos que ha sido un despiste...


Supongo que lo que despista al compañero es la parte ...o ambos en el requerimiento

Cita:
Un usuario debe ser receptor o donador o ambos.
De aquí simplemente se desprende que van a existir en principio 3 tipos, tipo receptor, tipo donador y tipo ambos, por lo que una relación 1:N bastaría.

También podría hacerse con una relación muchos a muchos, en cuyo caso solo tendríamos 2 tipos, donador y receptor, pero todo depende de las necesidades o si tienes que almacenar algún dato más.
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 12/04/2017 a las 08:36
  #6 (permalink)  
Antiguo 12/04/2017, 10:25
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

muchas gracias por ayudarme

Mi forma de pensar fue la siguiente

Tenemos dos conjuntos de entidades (usuario,tipo_usuario)

Luego los elementos del conjunto usuario los relacionamos con los elementos del conjunto tipo_usuario, pero puede suceder que todos los usuarios se relacionan con el tipo3 entonces el tipo1 y tipo2 no estan asociados con usuarios

Lo que se resume como
1 tipo de usuario tiene 0 o mas usuarios
Ahi el problema

Si fuera
1 tipo de usuario tiene n usuarios
La relacion seria 1 a muchos

O cual es la forma de pensar al relacionar entidades?

Saludos
  #7 (permalink)  
Antiguo 12/04/2017, 10:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Creacion de modelo entidad relacion

Se piensa de la siguiente manera:

Un usuario puede tener un tipo de usuario, y un tipo de usuario puede estar en muchos usuarios, por eso queda la relacion 1 a muchos.

Como lo piensas no esta bien, porque aunque un tipo de usuario no aparezca en la tabla de usuarios esto no quiere decir que la relacion sea inexistente(0) porque todos los usuarios deben de tener un tipo sea el que sea
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 12/04/2017, 19:48
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

Gracias por ayudarme de nuevo

Estuve un buen tiempo pensando y lo que entendi de tu forma de pensar

Es que hay que pensar en conceptos matematicos conjuntos, elementos de conjuntos y relaciones y siempre de forma general

Ahora si estoy de acuerdo con 1 a muchos

Saludos
  #9 (permalink)  
Antiguo 13/04/2017, 10:41
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Claves foraneas en modelo entidad relacion

Buenas tardes

Me pueden dar su opinión sobre la relación que hay entre usuario y tipo_usuario( lo que sucede es que estoy acostumbrado a usar la notación del rombo)



Estoy viendo un tutorial sobre el modelo entidad relacion y utiliza FK y en otro sitio me dice que en un modelo entidad relacion no se debe hablar de FK, quien tiene la razon?

Otra pregunta
Despues de que termine el MER que sigue? sera el modelo relacional? si es asi, pueden proporcionarme un tutorial que me diga como pasar de un MER al modelo relacional

Saludos
  #10 (permalink)  
Antiguo 13/04/2017, 10:43
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Claves foraneas en modelo entidad relacion

A lo que yo recuerdo las FK no entran en el modelo entidad relacion, y que sigue despues de este modelo, sigue el modelo de tablas y la normalizacion del mismo, que seria las tablas con las respectivas PK y FK
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 13/04/2017, 10:48
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Claves foraneas en modelo entidad relacion

Muchas gracias por ayudarme

Saludos
  #12 (permalink)  
Antiguo 13/04/2017, 15:09
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Mejorar MER

Buenas tardes

Tengo el siguiente MER

Hay 3 tipos de usuarios donador, receptor y ambos

La entidad articulo representa todos los artículos donados por usuarios del tipo donador y ambos

La relación entre las entidades usuario y articulo no me convence, pues

un donador puede tener varios articulos (un donador puede donar varias cosas)
un ambos puede tener varios articulos (un donador puede donar varias cosas)
un receptor no tiene articulos (un receptor no puede donar cosas)

Si tuvieramos
un receptor puede tener varios articulos, la relacion no tiene problemas

Que puedo hacer? estoy pensando de forma incorrecta el diseño?

  #13 (permalink)  
Antiguo 13/04/2017, 15:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Mejorar MER

Volvemos a lo mismo, la relacion es entre usuario y articulo, no sobre tipo de usuario, un articulo siempre va a pertenecer a un usuario, y el usuario puede o no tener articulo:

un donador puede tener varios articulos (un donador puede donar varias cosas)
un ambos puede tener varios articulos (un donador puede donar varias cosas)
un receptor no tiene articulos (un receptor no puede donar cosas)


Esos 3 es la misma entidad USUARIO, y tu lo estas viendo como que cada tipo de usuario es una entidad y no es asi.

Porque te quebras tanto la cabeza???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #14 (permalink)  
Antiguo 13/04/2017, 16:34
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Mejorar MER

Cita:
Iniciado por Libras Ver Mensaje
Porque te quebras tanto la cabeza???
Es que encuentro informacion muy variada referente al mismo tema

Gracias
  #15 (permalink)  
Antiguo 13/04/2017, 16:47
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Mejorar MER

Esto de las bases de datos no aplica siempre lo mismo, a lo mejor para alguien en su caso muy especial aplico algo, pero para ti no, o viceversa, aqui todo DEPENDE ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #16 (permalink)  
Antiguo 14/04/2017, 20:03
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Convertir MER a Modelo relacional

Buenas noches

Converti un MER en un modelo relacional

1)Converti conjuntos de entidades en tablas
2)Atributos en columnas
3)La clave primaria de una entidad la converti en clave primaria de la tabla correspondiente
4)En el caso de una relacion 1 a muchos, en el lado de muchos agrege una clave foranea que resulta ser la clave primaria del lado de uno


Modelo Entidad Relacion


Modelo relacional



Que opinan?

saludos
  #17 (permalink)  
Antiguo 15/04/2017, 04:14
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: Creacion de modelo entidad relacion

Hilos combinados por estar tratando el mismo tema desde ángulos poco diferentes.
Por favor no multipliques hilos para desarrollar lo mismo. Continúa la discusión en el que abriste al inicio.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 17/04/2017, 07:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Convertir MER a Modelo relacional

Cita:
Iniciado por hackjose Ver Mensaje
Buenas noches

Converti un MER en un modelo relacional

1)Converti conjuntos de entidades en tablas
2)Atributos en columnas
3)La clave primaria de una entidad la converti en clave primaria de la tabla correspondiente
4)En el caso de una relacion 1 a muchos, en el lado de muchos agrege una clave foranea que resulta ser la clave primaria del lado de uno


Modelo Entidad Relacion


Modelo relacional



Que opinan?

saludos
Parecido al primer modelo de bases de datos que te dije jejejeje, solo una cosita, creo que podrias sacar el campo entidad federativa del usuario y generar un catalogo con las entidades federativas y en usuario solo dejar el id, esto para dejar normalizada esa base de datos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #19 (permalink)  
Antiguo 17/04/2017, 08:15
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

Muchas gracias, voy a llevar a cabo ese cambio

Saludos
  #20 (permalink)  
Antiguo 19/04/2017, 14:09
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

Que tal Libras

Ya hice el cambio de la entidad federativa y afirmas que la bd ya esta normalizada(3NF)

En cuanto a la normalizacion encuentro lo siguiente

La relacion esta en 1NF
La entidad esta en 1NF
La tabla esta en 1NF

Que se normaliza una tabla o un conjunto de entidades, osea trabajo en el modelo relacional o en el modelo entidad relacion, por que se habla tambien de claves y no mas como ejemplo en el MER no existen las FK

Puedes pasarme un enlace donde se explique la normalizacion de la forma mas correcta por favor

Saludos
  #21 (permalink)  
Antiguo 19/04/2017, 15:02
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Creacion de modelo entidad relacion

Para que una bases de datos o un modelo se considere normalizado tiene que estar en 3FN(que es el standar) documentacion clara sobre el tema esa si te la debo.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #22 (permalink)  
Antiguo 19/04/2017, 15:39
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

Muchas gracias

Saludos
  #23 (permalink)  
Antiguo 19/04/2017, 21:13
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

Que tal Libras

Tome como referencia este post

Estoy de acuerdo en que las tablas estan en 3NF

La tercera forma normal nos dice que las columnas no clave primaria deben ser independientes entre si

Al trabajar con la tabla usuario vi que era necesario que el email y telefono sean unicos para que la tabla este en 3NF, pero que hay respecto a esa unicidad, el el MER email y telefono eran atributos simples luego se convirtieron en columnas simples pero a que hora se convirtieron en columnas UNIQUE

Si no fueran UNIQUE puede haber una dependencia entre email y telefono

Saludos
  #24 (permalink)  
Antiguo 20/04/2017, 07:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Creacion de modelo entidad relacion

Se supondria que un usuario solo tendria un telefono y un email, y que dicho atributo no se repetiria en la tabla, estos campos podrias considerarlos como de captura libre, y puede darse el caso de que se repitan, como bien dices para respetar las reglas de normalizacion al pie de la letra deberian ser UNIQUE, pero para fines practicos es muy poco probable que dichos campos los uses para la busqueda de usuario, mas bien al contrario, usas el usuario para saber el telefono o el email. Una recomendacion, deja la base asi como esta, ya no le des mas vueltas, o tienes que documentar todo??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #25 (permalink)  
Antiguo 20/04/2017, 08:19
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: Creacion de modelo entidad relacion

No tengo que documentar solo que apenas estoy aprendiendo diseño de bases de datos, ya he utilizado mysql para sitios con php pero nunca habia hecho las cosas bien

Voy a dejar la BD asi, ya después te envió un enlace para que veas como va quedando el sitio

Gracias

Etiquetas: claves, diseño, entidad, mejorar, mer, modelo, negocio, relacion, 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 12:34.