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

Dependencias funcionales

Estas en el tema de Dependencias funcionales en el foro de Bases de Datos General en Foros del Web. Buenas No tengo muy claro como extraer las dependencias funcionales de una entidad. ¿Cuando para un atributo solo se pueda dar un solo valor de ...
  #1 (permalink)  
Antiguo 28/12/2009, 04:14
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Dependencias funcionales

Buenas

No tengo muy claro como extraer las dependencias funcionales de una entidad.
¿Cuando para un atributo solo se pueda dar un solo valor de otro atributo?

Por ejemplo en esta tabla:
hospital (idHospital, nombre, dirección, códigoPostal, telefono);

Había pensado en:
idHospital -> nombre, dirección, códigoPostal, teléfono
direcciónHospital -> codigoPostal, nombre, teléfono
codigoPostal,nombre -> direcciónHospital, teléfono.

O para:
admisión(idAdmisión, idPaciente, idSala, fecha);

idAdmisión-> idPaciente,idSala, fecha
idPaciente,fecha -> idSala

¿Se crearían así las dependencias funcionales?

Saludos.
  #2 (permalink)  
Antiguo 28/12/2009, 05: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, 5 meses
Puntos: 2658
Respuesta: Dependencias funcionales

Las dependencias funcionales en las bases de datos se refieren a atributos de una relación R que dependen, dentro de esa misma relación, de otro atributo o conjunto de atributos.
En el diseño de las tablas, las dependencias funcionales permiten establecer las claves candidatas de una tabla; también ayudan a establecer si cumplen los criterios de normalización, y eventualmente a obtener esa normalización.

Un ejemplo de dependencia funciona lo tienes en los datos de una persona (empleado, docente, alumno, etc.).
El nombre no es determinante de nada, ya que puede haber varias personas con el mismo nombre. Tampoco el nombre y el apellido, por la misma razón (en una escuela llegué a contar 14 alumnas llamadas Patricia Sanchez, ¿te imaginas?). Por lo tanto no existe dependencia entre el nombre, el apellido y el resto de los datos (con esos no puedes determinar de quién hablas.).
Pero puede haber una dependencia funcional entre nombre + apellido + fecha de nacimiento + dirección, ya que es difícil que los cuatro datos se den al mismo tiempo, y no pertenezcan a la misma persona. Sería una clave candidata de cuatro atributos.
El número de documento es otra cosa. El número de documento es determinante de todos los datos vinculados a él, porque es único. Pero puede que no sea determinante de la dirección, si en esa tabla hay más de una dirección posible para cada persona. Entonces hay dos atributos que determinan a la persona: el número de documento y la direccion. Luego, hay una clave candidata de dos atributos...

¿Se va comprendiendo un poco?

En tu caso, el idHospital bien podría ser un VARCHAR, porque podría contener el nombre (que en una ciudad es único), del hospital. Ese idHospital es determinante para todo el resto de los atributos.
El conjunto propuesto:
Cita:
idHospital -> nombre, dirección, códigoPostal, teléfono
direcciónHospital -> codigoPostal, nombre, teléfono
codigoPostal,nombre -> direcciónHospital, teléfono.
Es una descripción detallada pero teórica de las dependencias funcionales de esa relación llamada "Hospital", pero, atención, no significa que tienes tres tablas... Es una sola. No confundir.
Lo que estás encontrando en esos ejemplos es cuáles son las claves candidatas.
Cita:
¿Se crearían así las dependencias funcionales?
Entendamos que en un sentido estricto, las dependencias funcionales no se crean sino que existen desde el momento en que la relación se establece (definiendo por relación un conjunto dado de atributos, por ejemplo, Paciente{}).
Lo que haces en esa etapa, como dije, es buscar las CC y establecer la normalización.

Para llegar a la CC existe el proceso de cierre de dependencias funcionales (F+).


En el modelo de datos completo (modelo físico o de tablas, me refiero), se denomina dependencia funcional a la dependencia que existe entre las tablas, por cuanto para que una instancia de una tabla exista debe existir una instancia de otra u otras tablas previamente. Ese tipo de dependencias están controladas por las restricciones de clave foránea que poseen los RDBMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 28/12/2009 a las 05:35
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:41.