SlideShare una empresa de Scribd logo
1 de 7
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
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
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.
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)
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
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
TABLA_CÓDIGO_SUCURSAL
COD_SUC PK
ATRIBUTOS QUE DEFINEN A
COD_SUC

Más contenido relacionado

La actualidad más candente

Resumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosResumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosaula40tics2finanzas
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)José Toro
 
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Karina Lucio
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)José Toro
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Jeremy Butler
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)José Toro
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)José Toro
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)José Toro
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresEdwin Romero
 
Manejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gManejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gonsepulvedas
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)José Toro
 
Manual HP 50g español
Manual HP 50g españolManual HP 50g español
Manual HP 50g españolmycalculadora
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)José Toro
 
Santaella u6 programacionmodular (1)
Santaella u6 programacionmodular (1)Santaella u6 programacionmodular (1)
Santaella u6 programacionmodular (1)Sol Hernández
 

La actualidad más candente (17)

Resumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datosResumen fundamentos de sistemas de bases de datos
Resumen fundamentos de sistemas de bases de datos
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)
 
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
 
Manejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gManejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50g
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)
 
Manual HP 50g español
Manual HP 50g españolManual HP 50g español
Manual HP 50g español
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
Santaella u6 programacionmodular (1)
Santaella u6 programacionmodular (1)Santaella u6 programacionmodular (1)
Santaella u6 programacionmodular (1)
 
Manual hp2
Manual hp2Manual hp2
Manual hp2
 
Tema4
Tema4Tema4
Tema4
 

Similar a basededatos

Memorias, saidy alonso 30101
Memorias, saidy alonso 30101Memorias, saidy alonso 30101
Memorias, saidy alonso 30101diegorb8
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Alveiro2
 
Tema 8 programacion de pl cs lenguaje bloques funcionales
Tema 8 programacion de pl cs lenguaje bloques funcionalesTema 8 programacion de pl cs lenguaje bloques funcionales
Tema 8 programacion de pl cs lenguaje bloques funcionalesPLC AREA DE GRADO
 
Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8Daniela Barbosa
 
Electrónica digital: Practicas spartan 3E
Electrónica digital: Practicas spartan 3EElectrónica digital: Practicas spartan 3E
Electrónica digital: Practicas spartan 3ESANTIAGO PABLO ALBERTO
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4flaquita_dany
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
Guía 2. Función de transferencia
Guía 2. Función de transferenciaGuía 2. Función de transferencia
Guía 2. Función de transferenciaSistemadeEstudiosMed
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE Cflaquita_dany
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladoresjose haar
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladoresguest5fa3fc
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)Darwin Durand
 
Indentificacion de funciones
Indentificacion de funcionesIndentificacion de funciones
Indentificacion de funcionesJulian Bohorquez
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mvEcler Mamani Vilca
 

Similar a basededatos (20)

Parcial1
Parcial1Parcial1
Parcial1
 
Memorias, saidy alonso 30101
Memorias, saidy alonso 30101Memorias, saidy alonso 30101
Memorias, saidy alonso 30101
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)
 
Tema 8 programacion de pl cs lenguaje bloques funcionales
Tema 8 programacion de pl cs lenguaje bloques funcionalesTema 8 programacion de pl cs lenguaje bloques funcionales
Tema 8 programacion de pl cs lenguaje bloques funcionales
 
Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8Ici rtu-unidad 5- tema 8
Ici rtu-unidad 5- tema 8
 
Electrónica digital: Practicas spartan 3E
Electrónica digital: Practicas spartan 3EElectrónica digital: Practicas spartan 3E
Electrónica digital: Practicas spartan 3E
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Guía 2. Función de transferencia
Guía 2. Función de transferenciaGuía 2. Función de transferencia
Guía 2. Función de transferencia
 
Compilacion parcial
Compilacion parcialCompilacion parcial
Compilacion parcial
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)CREACION DE DLL Y USO (Ejemplo desarrollado)
CREACION DE DLL Y USO (Ejemplo desarrollado)
 
Indentificacion de funciones
Indentificacion de funcionesIndentificacion de funciones
Indentificacion de funciones
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 
OMT
OMTOMT
OMT
 

basededatos

  • 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