1. 1 1
A(PK),B,C(FKP),D 1 R M
1 E(PK),F,G,H(FKD)
CADENA LÓGICA DEL NEGOCIO DEL SISTEMA
Se supone que el asunto c y h, son atributos tipo códigos por tanto se declaran como llaves
foráneas por defecto.
Téngase en cuenta que las dependencias funcionales permiten asegurar la construcción de un
buen diseño de la base de datos, es decir un diseño debidamente normalizado con lo cual se dice
obtener el refinamiento del diseño.
SOLUCIÓN
*Pertinencia: se garantiza que los atributos asignados a cada uno de los componentes de la cadena
solo pertenecen a esos componentes y no a otros.
*TABLA1: se construye de manera directa en base a los atributos del componente denominado
sujeto.
TABLA 1 A(PK), B, C(FKD), D
*TABLA 2: se soluciona la tabla del grupo transaccional teniendo en cuenta que se trata de una
descendencia funcional exclusiva(en donde un sujeto puede tener muchas transacciones desde el
punto de vista RELACIÓN, pero una transacción específica del grupo transaccional solo puede
depender de un sujeto del grupo), por tanto la tabla del grupo transaccional hereda el atributo
(PRIMARY KEY) del sujeto (componente antecesor la cuál adquiere la característica de FOREING
KEY por Proceso(FKP), y así será siempre).*Tablas de la FKD: Se crean nuevas tablas en donde las
FKP aparecen como FKE (FOREING KEY EMERGENTES) y se asociará a estos PKE los atributos
(nuevos atributos que describes a esta PKE).
TABLA DE C-->PKE, Atributos que describen a C.
Tabla de H-->PKE, Atributos que describen a H.
NOTA: Para hacer una buena gestión sobre la base de datos es importante asegurar que su diseño
se encuentra debidamente refinado.
SUJETO
GRUPO TRANSACCIONAL
2. El refinamiento de las bases de datos se logra a través de la aplicación de las dependencias
funcionales, que son unas reglas incluidas en el álgebra relacional y de la teoría de conjuntos
expuesta por ARSTROMG.
Las dependencias funcionales las hay de 2 tipos:
1. DEPENDENCIA FUNCIONAL EXCLUSIVA – DFE.
2. DEPENDENCIA FUNCIONAL NO EXCLUSIVA – DFNE.
Cualquiera que sea el tipo de dependencia funcional que aplique y esto lo exige la lógica misma
del negocio, es importante haber concedido un modelo real y seguro del sistema sobre el cual se
basa el negocio. Históricamente y en términos muy universales los sistemas se definen a través de
las siguientes 2 grandes preguntas:
• ¿Para QUÍEN se quiere controlar?: Esta pregunta define el sujeto del sistema.
• ¿QUÉ se va a controlar?: Esta pregunta define las transacciones del sistema.
Las dos preguntas anteriores permiten construir lo que se denomina como la cadena lógica del
negocio del sistema en donde siempre y sin importar el tipo de dependencia funcional que aplique
con base en la lógica, la Relación denominada R siempre se definirá de 1 A MUCHOS.
EJERCICIO DE APLICACIÓN
Supóngase que después de la narrativa del cliente se a creado la narrativa del ingeniero en donde
se a llegado a determinar que lo que se quiere controlar son las facturas del cliente (Por contexto
no importa controlar los artículos de la factura).
Los atributos que por pertinencia se asignan a cada componente de la cadena lógica de negocios
son:
• Cliente: Cédula (PK), Nombre, Dirección Teléfono y Código de ocupación(FKD)
• Factura: N° De factura (PK), Fecha, Val total, Código Sucursal(FKD)
Con base a lo anterior construya la cadena lógica del negocio del sistema, soluciones la cadena
lógica del sistema construyendo las tablas de la base de datos.
CLASE 19/02/2015
CADENA LÓGICA DEL NEGOCIO DEL SISTEMA
“Dependencia funcional no exclusiva” DFNE
A(PK), B, C, D(FKD)
1 R E(PK),F,G,H(FKD)SUJETO
GRUPO TRANSACCIONAL
3. M
RESOLUCIÓN:
Tabla (La del sujeto)
A(PK), B, C, D(FKD)
Tabla 2 (La del grupo transaccional)
A+E(PKEMERGENTE), G, H(FKD)
Tabla 3 (La de la segunda parte de la llave compuesta)
Tabla 4 (Es la que resuelve el atributo D)
D(PKE), ATRB que describen a D.
Tabla 5 (Es la que resuelve al atributo H)
H(PKE), ATRB que describen a H.
MODELO O RETOMANDO EL DFE – MODELO RELACIONAL (MR)
TABLA_D
D PK
ATRB que describen
D.
4. RETOMANDO EL DFNE – MODELO RELACIONAL (MR)
GR_TRANSACCIONAL
A+E PK
G
H FKD
REGLAS DE ORO EN REFINAMIENTO DE LAS BASES DE DATOS:
• Identifique y diferencie entre una DFE y DFNE.
• DFE: De los muchos sujeto, uno tiene muchas translaciones, pero una de las transacciones
solo depende de un sujeto.
• DFNE: Un sujeto de los muchos sujetos tiene muchas transacciones dentro del grupo
transaccional pero una de sus muchas transacciones puede depender de más de un sujeto.
• Para construir el diagrama del modelo relacional, hágalo de IZQ a DER, iniciando con
aquella tabla que corresponde al último grupo transaccional de la cadena de negocio.
• Finalice la construcción del diagrama ubicando a la derecha de las tablas de la izquierda las
tablas que tienen las PK que justifican o alinean las FK de las tablas de la IZQ. Las
relaciones se dan de DER a IZQ y siempre salen de la lista IZQ de la derecha y llegan a la
lista DER de la IZQ. NO SE ACEPTAN CRUZES ENTRE LAS RELACIONES.
• Después de construido el diagrama deberá ser leído en delante de DER a IZQ, así como se
lee deberá ser llevado al motor en el mismo sentido.
Está claro que una DFNE se resuelve creando una llave compuesta con base en la llave del grupo
antecesor(sujeto) con la del grupo actual(Grupo Transaccional), a esta llave compuesta
inicialmente se le asocian los atributos propios del grupo sucesor(GT).
Cuando lo anterior sucede deberá examinarse qué atributos dependen exclusivamente de las dos
partes de la llave y qué atributos dependen estrictamente de las dos partes de la llave (A+C) y de
(A+E)
5. John_londono@cun.edu.co
PARCIAL
Teniendo en cuenta el concepto de las dependencias funcionales no exclusivas y la metodología
que se tiene para resolver ese tipo de dependencia, resuelva el siguiente ejercicio con base en la
siguiente lógica, controlar artículos de las facturas la cadena lógica del negocio tiene entonces 2
componentes facturas como sujeto y artículos como grupo transaccional.
Los atributos de cada componente son los siguientes:
Para factura:
Número de factura PK
Fecha valor total
Id cliente FKD
Código sucursal FKD
Artículos:
Código articulo PK
Nombre
Cantidad
Valor unitario
Código de bodega FKD
SOLUCIONE
1. Construya la cadena lógica del negocio e indique porque se trata de una DFNE.
2. Construya las tablas por el modelo de las dependencias funcionales.
3. Construya las tablas por el modelo relacional.
SILUCIÓN
NF(PK), FVT, IDC(FKD), CDS(FKD)
1 R CDA(PK), NOM, CAN, VALU, CDB(FKD)
M
FACTURA
ARTÍCULOS
6. HAY que tener en cuenta que así como de1 factura pueden depender muchos artículos, de 1
artículo pueden depender muchas facturas por lo tanto su estructura se construye bajo (DFNE).
ARTÍCULOS
COD_A PK
NOM
CAN
VALU
CDB FKD
NUM_F FKP
TABLA_CÓDIGO_BODEGA
COD_B PK
ATRIBUTOS QUE DEFINEN
A COD_B
ARTÍCULOS
COD_A PK
NOM
CAN
VALU
CDB FKD
NUM_F FKP
TABLA_ID_CLIENTE
ID_CLI PK
ATRIBUTOS QUE DEFINEN
A ID_CLI
ARTÍCULOS
COD_A PK
NOM
CAN
VALU
COD_B FKD
NUM_F FKP