curso de base de datos 1
TRANSCRIPT
-
7/24/2019 Curso de Base de Datos 1
1/70
TEORA Y DISEODE
BASES DE DATOS
DOCENTEIng. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
2/70
-
7/24/2019 Curso de Base de Datos 1
3/70
Diferencia entre Modelo y Esquema
Modelo deDatos
Esquema
MundoReal
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
4/70
Modelo de Datos
MODELO DE DATOS
EXTERNO* (Punto de vista de cada usuario
en particular)GLOBAL
* (Punto de vista del conjunto deusuarios -empresa-)
INTERNO* (Punto de vista de la mquina)
Lgicos
Fsicos
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
5/70
Clasificacin de los MD Globales
MDGLOBALES
CONCEPTUALES- Enfocados a describir el mundo real con
independencia de la mquina-
CONVENCIONALES O LGICOS- Implementados en SGBD-
JerrquicoCodasylRelacionalObjeto Relacional
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
6/70
Transformacin del Mundo real a laBD Fsica
Estrutura percibida(no formalizada)
BASE DEDATOSFSICA
MODELO CONCEPTUAL
Esquema
conceptual
MODELOCONCEPTUAL
DISEO LGICO
Esquemade basede datos
SGBD
MODELODE BD
MODELOINTERNO
DISEO FSICO
Esquema interno
MUNDO REAL
Objetos y asociaciones consus propiedades y reglas
Valores
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
7/70
El Modelo RelacionalR.E. Levein y M.E. Maron por el ao de 1967.
Eddgar F. Codd en Junio de 1970 publica el artculo A Relational Model ofor Large Shared Data banks.Uno de los primeros prototipos fue el Peterlee Relational Test Vehicle desarpor el centro Cientfico de Peterlee.El segundo prototipo se le llam XRM ( Extended Relational Memory) y fuIBM.En 1978 se desarrollo el Q.B.E., Query By Example.
El prototipo base y ms completo fue el famoso Sistema R, desarrollado po(1980) y luego muchos ms.Codd decidi establecer una referencia de 12 reglas para sealar cuando un
cumple con el modelo relacional o no. |
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
8/70
Definicin del Modelo relacionalRepresenta a la BD como una coleccin de relaciones,donde cada relacin es una tabla.
codEstud nombre ciclo espec100 Ana 3 Contabilidad150 Alex 3 Sistemas
250 Ins 1 Contabilidad350 Max 2 Sistemas
FILASFILAS
(( relacirelacinn ))
Ciclo = 1 al 10 (DOMINIO)
TABLATABLA
COLUMNASCOLUMNAS
estudianteestudiante
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
9/70
Definicin de relacinUna relacinr del esquema de relacin :R ( A1 , A2 , . . . , An )es denotado por : r ( R )Una relacin r ( R ) es un conjunto de n-tuplas en un instante dado :
( filas )r = { t 1 , t 2 , . . . , t n
} Cada n-tupla ( o fila ) ti es una lista de n valores vi :t = { v 1 , v 2 , . . . , v n }
codEstud nombre ciclo100 Ana 3150 Alex 3250 Ins 1350 Max 2
especContabilidad
SistemasContabilidad
Sistemas
relacint 1t 2t
3t 4
Es una instanciade un esquemade relacin
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
10/70
Comparacin de Terminologa
RELACIN TABLA FICHERO
TUPLA ATRIBUTO
GRADOCARDINALIDAD
FILACOLUMNA
N DE COLUMNASN DE FILAS
REGISTROCAMPO
N DE CAMPOSN DE REGISTROS
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
11/70
Son las que se pueden especificar en un esquema de basede datos relacional. Estas restricciones se enumeran acontinuacin :
De DominioDe Clave
De Integridad de entidadesDe Integridad ReferencialDe Dependencias de los datos ( funcionales y
multivaluadas)
Paranormalizacin
Restricciones del Modelo
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
12/70
Restricciones de Dominio
Los valores que forman el dominio de los atributos debser atmicos.las formas de especificar los dominios pueden ser, porrangos de valores, datos enumerados o por tipos de datentre los que se incluyen enteros, reales, caracteres,cadenas de longitud fija y cadenas de longitud variable
adems de otros tipos especiales como son fecha, dineretc
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
13/70
Restricciones de Clave
Es cualquier conjunto de atributos, para los cuales sea imposibleque dos tuplas diferentes, tengan los mismos valores ( propiedadde unicidad ).
SUPER CLAVE De un esquema de relacin
Sin embargo en una superclave pueden haber atributosredundantes. Por ejemplo, veamos el esquema de relacin :
ESTUDIANTE( codigo, nombre, direc, sexo, fechNac )
Las restricciones de clave exigen que todas las tuplas de unarelacin deben ser distintas.
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
14/70
Son superclaves : { codigo,nombre, sexo}
{ codigo }
{ codigo,nombre}{ nombre, fechNac,sexo}
, etc
No son superclaves :
{ nombre, sexo }{ nombre }
conjuntosdeatributos
{ nombre, fechNac }
Analizando el esquema de relacin :
ESTUDIANTE( codigo, nombre, direc, sexo,fechNac )
Restricciones de Clave
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
-
7/24/2019 Curso de Base de Datos 1
15/70
Es una super clave mnima, es decir una super clave a la cual nopodemos quitarle atributos sin que deje de ser una superclave ( prdidade unicidad ).
CLAVE De un esquema de relacin
ESTUDIANTE( codigo, nombre, direc, sexo, fechNac )Por ejemplo, en el esquema de relacin anterior,
{ codigo,nombre, sexo}
{ codigo }
{ codigo,nombre}
{ nombre, fechNac,sexo}
{ nombre, fechNac }
Analizemos las siguientes superclaves :
No es clave
No es clave
No es clave
Es una claveEs una clave
Restricciones de Clave
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Si C i UNDAC
-
7/24/2019 Curso de Base de Datos 1
16/70
CLAVE CANDIDATAEs toda clave que se puede encontrar en un esquema de
relacin.
ESTUDIANTE( codigo, nombre, direc, sexo, fechNac )Por ejemplo, en el esquema de relacin anterior,
Son claves candidatas :
{ codigo }{ nombre, fechNac }
Restricciones de Clave
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas Comp tacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
17/70
CLAVE PRIMARIAEs la clave candidata que se elige por que sus valores sirvenpara identificar inequvocamente a las tuplas de la relacin.
ESTUDIANTE( codigo , nombre, direc, sexo, fechNac )Por ejemplo, en el esquema de relacin anterior,
Especificandoclave primaria
Restricciones de Clave
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
18/70
Restriccin de Integridad de Entidad
Una clave primaria nunca puede tener el valorNULO. Esto se debe a que el valor de la claveprimaria sirve para identificar las tuplas individuales
en una relacin
NOTA :las restricciones de clave y de integridadde entidades se especifican sobre relacionesindividuales.
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
19/70
Valor Nulo
Se aplica cuando el valor de algn atributo dentro de una tupla enparticular sea desconocido o no corresponda. Por ejemplo
cuando en una encuesta una persona no quiso decirsu fecha de nacimiento o cuando no todas laspersonas tienen telfono.
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
20/70
Se especifica entre dos relaciones y sirve para mantener la
consistencia entre tuplas de las dos relaciones.Dicho de otro modo, establece que una tupla en una relacin quehaga referencia a una segunda relacin, deber referirse a una tuplaexistente en la segunda relacin.Por ejemploanalizemos losesquemas de relaciones empleado y departamento.
EMPLEADO( codEm , nom, fechNac, direc, sexo, suel, codSuper, nDep )
DEPARTAMENTO( numDep , nombre, codJefe , fechIniJefe)
Clave FORANEA
Clave PRIMARIA
Restriccin de IntegridadReferencial
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
21/70
Si fuese insertado un nuevo empleado yle asignamos el departamento 8,estaramos violando la restriccin deIntegridad Referencial, ya que no existela tupla con numDep = 8 en la relacinDepartamento
Clave FORANEA Foreign KeyUna clave fornea FK es un atributo de una relacin R1 asociado a otrarelacin R2 , donde aparece replicada como clave primaria de R2.
( FK )
Clave FORANEA
codEm nom fechNac direc sexo suel codSuper nDep100 Tovar 15-07-57 Lomas 234 M 5400 4005300 Silva 07-03-65 Grau 935 M 4500 2004400 Sierra 22-10-67 Rosas 732 F 7200 7005
200 Rios 04-04-70 Vicus 138 M 8700 7004
600 Nieto 25-08-73 Flores 1731 F 4600 4005
150 Castro 12-11-72 America 912 F 2800 200 4
700 Sillars 12-11-72 America 912 F 9800 nulo 1
EMPLEADO R1
numDep nom codJefefe fechIniJefe
4 Administracin 200 07-06-95 5 Ingeniera 400 11-07-92 1 Gerencia 700 14-10-90
DEPARTAMENTO
Clave PRIMARIA
R2
5
Restriccin de IntegridadReferencial
Sistemas y Computacin UNDAC
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
22/70
Co d-Em p No m -Em p Co d-De pto .200 Durand 2150 Porti l l o 10155 Sem erene 4
70 Roj as 6160 Rodri guez 10
Tabla Empleado
Co d-De pt o . No m -Dp t o.
2 Co n t ab i lid ad
10 Re cu r s o s
4 Pr o d u cci n
6 Ve n t as
Tab la-De p ar t am e n t o
PK FK
PK
3 columnas5 filas
2 columnas4 filas
Restriccin de IntegridadReferencial
y p
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
23/70
Grafo Relacional
Una forma sencilla de representar el esquema relacionales el denominado grafo relacional. Es un grafo compuest
de un conjunto de nodos multiparticionados, donde cada norepresenta un esquema de relacion, es decir, una tablade la BD. Para cada esquema de relacion ha de aparecer,
como minimo, su nombre y sus atributos, indicando
su clave alternativas y las claves ajenas
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
24/70
Grafo Relacional RepresentacinEDITORIAL Nombre_ e Direccin Ciudad Pas
Cdigo Ttulo Idioma Nm_copias Editorial ......LIBRO
Cd_doc Numero_e Cdigo Nombre_t Nombre_t Desc.TEMATRATAEJEMPLAR
Cdigo Nmero_e Nm_s Fecha_p Fecha_dPRETA Tema s Temas p.CONSTA
Nm_s DNI Domicilio Tel Tipo_sSOCIO
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
25/70
Regla de InformacinToda la informacin se presenta mediante tablas y slo mediante tablas
Regla de acceso garantizado:Se accede slo por nombre de columna y valor de llave candidata
Manejo sistemtico de valores nulosSe debe disponer de una representacin de valores desconocidos y no aplicdiferente de los valores normales
Catlogo activo en lnea basado en el modelo relacionalDebe estar a disposicin de los usuarios con el mismo lenguaje de consultala base de datos.
Sublenguaje de datos completo:Sintaxis linealUtilizacin interactiva y mediante lenguajes de programacin
Definicin de datos, manipulacin completa de datos,Restricciones de seguridad, integridad y manejo de transacciones
Las doce reglas de Codd
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
26/70
Actualizacin de vistasSe deben poder actualizar todas las vistas que en teora se puedanactualizar
Insercin, modificacin y borrado de alto nivel:Se debe modificar, insertar y borrar todo un conjunto de tuplas a l
vezIndependencia fsica de los datosEl acceso lgico a los datos debe mantenerse incluso cuando camblos mtodos de acceso o la forma de alamcenamiento.
Independencia lgica de los datosLos programas de aplicacin no deben verse afectados por cambiorealizados en las tablas que estn permitidos.
Independencia de integridad
La integridad no forma parte de los programas de aplicacin sino desquema conceptual
Las doce reglas de Codd
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
27/70
Independencia a la distribucin
Debe existir un sublenguaje de datos que pueda soportar bases dedatos distribuidas sin alterar lso programas de aplicacin cuando sedistribuyan los datos por primera vez se redistribuyan estosposteriormente.
No subversinSi el sistema ofrece una interfaz de acceso a bajo nivel, dicho acceso
no se podr usar para salvar restricciones de integridad o seguridad
Las doce reglas de Codd
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
28/70
Dinmica del Modelo Relaciona
El modelo relacional, como todo modelo de datos lleva asociado a su parte esttica,una dinmica que permite la transformacin entre estados de las bases de datos.
Modelorelacional
Esttica
Dinmica
EstructuraRestricciones
InsercinBorrado
ModificacinConsulta
Lenguajesde
manipulacin
Lenguajesde definicin
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
29/70
Lenguajes de ManipulacinRelacionales
En toda consulta a una BDR genera como resultado una relacin
Existen dos mecanismos formales para especificar: Algebra relacional:El resultado es la aplicacin sucesiva de operaciones a las relacionde la base.
Calculo relacionalEl resultado es el conjunto de constantes que hacen cierta unadeterminada formula de consulta.
Historia:Se define el Algebra Relacional como lenguaje de consulta y diseo1970 (Codd)Se define una versin del Calculo Relacional en 1971. Tambin se
establece la equivalencia entre el Clculo y el Algebra relacionalIng. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
30/70
Algebra relacionalEs un lenguaje de consultas procedimental (instrucciones parrealizar secuencia de operaciones: que y como)Realiza operaciones de uno o dos relaciones de entrada quegeneran una nueva relacin como resultadoOperaciones fundamentales
UnitariasSeleccinProyeccinRenombre
BinariasProducto cartesianoUninDiferencia
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
31/70
Seleccin y ProyeccinSupongamos la tabla:Prestamo = (nombre_sucursal, monto, direccin)
Seleccin: selecciona tuplas que satisfacen un predicado dado.
Operador: Prstamos otorgados por la sucursal La Molina.Prstamos otorgados por la sucursal La Molina y con monto superior a1200$
Proyeccin: devuelve la relacin argumento con columnas omitidas.Operador:Nombres de sucursal que figuran en PrstamoSucursal cuyo monto sea superior a $10000.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
32/70
Seleccin
Ejemplo:si P= status>=25 tenemos Codigo Nombre Ciudad StatusS1 Juan Lopez Lima 20
S2 Jose Sanchez Jaen 15S3 Antonio Perez Trujillo 20S4 Jose Lopez Lima 25S6 Carmen Lopez Tacna 30S7 Julia Sanchez Lima 25S8 Juana Perez Jaen 10S9 Luis Gomez Iquitos 35S10 Maria Galvez Tumbes 30
P (r)=
Codigo Nombre Ciudad Status
S4 Jose Lopez Lima 25S6 Carmen Lopez Tacna 30S7 Julia Sanchez Lima 25S9 Luis Gomez Iquitos 35S10 Maria Galvez Tumbes 30
r=
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
33/70
Proyeccin
Ejemplos:
Ciudad StatusGranada 20Jaen 15Cadiz 20Sevilla 25
Cordoba 30Granada 25Jaen 10Almeria 35Sevilla 30 ciudad,status(r)=
CiudadGranadaJaen
CadizSevillaCordobaAlmeria ciudad(r)=
Codigo Nombre Ciudad StatusS1 Juan Lopez Lima 20S2 Jose Sanchez Jaen 15S3 Antonio Perez Trujillo 20S4 Jose Lopez Lima 25S6 Carmen Lopez Tacna 30S7 Julia Sanchez Lima 25S8 Juana Perez Jaen 10S9 Luis Gomez Iquitos 35S10 Maria Galvez Tumbes 30r=
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
34/70
Producto CartesianoProducto Cartesiano: (una relacin se define como unsubconjunto de un producto cartesiano de un conjuntode dominios) Conecta dos entidades de acuerdo a ladefinicin matemtica de la operacin.
Operador x xTabla Cliente = (nombre_cte, direccin, te)Opera = (nombre_cte, nombre_banquero, monto)
Cada cliente con sus datos personales y banquero queopera.Todos los clientes y su direccin del banquero YYY.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
35/70
Producto Cartesiano
=A Ba1 b1a2 b2a3 b2a4 b4
Dd 1d 2d 3
A B Da b d a b d a b d a b d a b d a b d a b d a b d
a b d a b d a b d a b d
Ejemplo:supongamosR[A,B] y S[D], y sean r y sdos instancias:
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
36/70
OtrosRenombrar: permite utilizar la misma tabla para unaconsulta, para almacenar resultados intermedios paracambiar de nombres. Operador
Clientes que viven en la misma direccin que el cliente ZZZUnin: tuplas comunes a dos relaciones, equivalente a launin matemtica. Debe efectuarse entre relacionescompatibles. Operador
Clientes que tengan cta corriente y caja ahorro
Diferencia: Igual caso que el anterior equivale a,diferencia de Conjuntos. Operador--Clientes que tienen tiene caja ahorro y no cta cteCliente con monto mayor
Ing. Williams A. MUOZ ROBLES
d b Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
37/70
Operadores bsicos: Unin,Interseccin y diferencia
r= s= r s= r s=
r-s=
A Ba1 b1a2 b2
a3 b2a4 b4
A Ba1 b1a2 b2a5 b5
A Ba1 b1a2 b2a3 b2
a4 b4a5 b5
A B
a1 b1a2 b2
A Ba3 b2a4 b4
Ing. Williams A. MUOZ ROBLES
O d f d l d lSistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
38/70
Operadores fundamentales del Algebra relacional
abc
xy
aab
bcc
xyx
yxy
Seleccin Proyeccin
Unin Diferencia
Producto x x
--
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
39/70
Calculo relacional
Tipos decalculorelacional
DeDominios
De Atributos
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
40/70
Calculo relacionalClculo Relacional de Tuplas:
No procedural, describe informacin deseada sindar un proceso especfico para obtener esainformacin (que).Expresin de consultas
{ t / P(t) }Conjunto de tuplas tal que P(Predicado) es verdadero et.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
41/70
Calculo relacional de Tuplas
Criterio para la InterpretacinLas variables se asocian a tuplasLas constantes se asocian a valores de losdominios subyacentes a los ateibutosLos operadores son los permitidos decomparacin, los lgicos NOT, And y OR,como el existencial y el universal
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
42/70
Calculo relacional de Dominio
Clculo relacional de dominiosSe utilizan variables de dominio que toman valordel dominio de un atributo (en lugar de tuplas
completas)
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
43/70
Calculo relacional de Dominio
Criterio para la InterpretacinLas variables se asocian a dominiosLas constantes se asocian a valores de losdominios subyacentes a los ateibutosLos operadores son los permitidos decomparacin, los lgicos NOT, And y OR,como el existencial y el universal
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
44/70
Ing. Williams MUOZ ROBLES
NORMALIZACION
TEMA:
SISTEMAS DE BASES I
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
45/70
Fue Codd quien en 1972 propuso el proceso de normalizacin,
as cualquier esquema de relacin se puede someter a una seriede pruebas para certificar si pertenece o no a cierta forma normal,que originalmente fueron tres : primera, segunda y tercera formasnormales.
Posteriormente Boyce y Codd replantearon la tercera formanormal que se conoce hoy como Boice - Codd Norm Form (BCNF). La segunda y tercera formas se fundamentan en el
concepto de dependencias funcionales.
Despus se formularon la cuarta y quinta forma normal, basadosen dependencias multivaluadas y dependencias de reunin.
Normalizacin
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
46/70
ConceptoEl termino normalizacin se refiere a la manera en que los
atributos son agrupados en los esquemas de relaciones de una
base de datos, a fin de evitar anomalas y problemas quepueden ocurrir con los datos .
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
47/70
Anomalas
Son problemas que se presentan en el manejo delos datos, ocasionados por un mal diseo de la
base de datos. Estas anomalas pueden clasificarseen :
Anomalas de Insercin
Anomalas de Eliminacin Anomalas de Modificacin
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
48/70
Anomala de Insercin Aqu vemos un mal diseo, donde como se nota hay datos de
empleado y de departamento juntos.
codEm nom fechNac direc suel nDep nomDepcodJefe
EMPLEADO
100 Soler Ana 10-06-65 Flores 129 3400 5 Ingeniera 800
200 Alva Juan 19-03-67 Valles 722 6200 5 Ingeniera 800
250 Jobe Alan 11-09-69 Mar 1824 3600 4 Ventas 900
300 Vall Kate 05-02-75 Jan 181 2400 4 Ventas 900
800 Com Ivan 15-03-72 Grau 485 7600 5 Ingeniera 999
900 Kori Rony 07-12-59 Lomas 18 7200 4 Ventas 999
999 Pita Ins 25-03-72 Liz 1151 9500 1 Gerencia 999
Datos del
empleado
Datos del
departamento
Cod_jefe
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
49/70
Que se busca en la normalizacinQue todo atributo (campo) dependa
totalmente de la clave, y de ningn otrocampo que no sea la clave
A B C D
Supuesto Basico: Buen conocimiento del negocio.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
50/70
Formas de Normalizacin
1FN
1NF2NF
3NFBoyce&Codd NF
4NF
5NFDKNF
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
51/70
Reglas de uso de 1ra. FN
A B C D E FC DC D
C D
A B E F A C D
Conversin a la 1FN
(Retirar grupos repetitivos )
Se descomponeen
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
52/70
NRO EMPLEADO
NOMBRE_EMPLEADOCOD_TRABAJONOM_TRABAJO
1FN
Retirar gruposrepetitivos
NRO EMPLEADONRO PROYECTO
TERMINO_PROYECTOHORAS_TRAB_PROYECTO
NRO. EMPLEADONOMBRE_EMPLEADOCOD_TRABAJONOM_TRABAJONRO_PROYECTO1TERMINO_PROYECTO_1
HORAS_TRAB_PROY_1NRO_PROYECTO2TERMINO_PROYECTO_2HORAS_TRAB_PROY_2.
.
.
Reglas de uso de 1ra. FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
53/70
OBRERO
codObr nom fechNac direc jornal codJefe oficio aosExp
GrupoGruporepetitivorepetitivo
OBRERO
codObr nom fechNac direc jornal codJefe oficio aosExp
300 Huaman Jorge 10-05-67 Surco 25 800 carpintero 3
300 Huaman Jorge 10-05-67 Surco 25 800 albail 3
300 Huaman Jorge 10-05-67 Surco 25 800 pinto r 2
350 Sulca Amrico 22-11-70 Comas 30 900 electrnico 5
Reglas de uso de 1ra. FN
OBRERO
codObr nom fechNac direc jornal codJefe
codObr codObr oficiooficio aosExp
HABILIDADES
EJEMPLO :EJEMPLO :
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
54/70
Sea el esquema de relacin R :
R (( A1 , A2 , A3 , . . . A k , Ak+1 , . . . A m , Am+1 , . . . A t , A t+1 , . . . A n-1 , An ))
x yY los subconjuntos
Se dice que Y depende funcionalmentedepende funcionalmente de X , que X determina Y
x y
Si y solo si , cada valor de X tiene asociado en todo momento unun niconico valor de Y
que X implica Ydeterminante
determinado
Dependencia Funcional
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
55/70
LIBRO ( cod_Lib, titulo, editorial )
Se puede decirque el cdigo deun librodetermina suttulo.
Aqu se dice que titulo depende funcionalmente detitulo depende funcionalmente de codLibcodLib
Este concepto de dependencia funcional tambin nosdice que el titulo es una informacin acerca del libro otambin que para algn cdigo de libro existe unnico ttulo que le corresponde .
Dependencia funcional
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
56/70
codEmp numProy nomEmp nomProy lugarProy
EMP_PROY
codEmp nomEmp
numProy { nomProy , lugarProy }Se lee :Se lee :
EMP_PROY ( codEmp, numProy, nomEmp, nomProy, lugarProy )
El valor del nmero de proyecto ( numProy ) determina de manera nica elnombre del proyecto ( nomProy ) y su lugar ( lugarProy ).
El valor de cdigo del empleado ( codEmp ) determina de manera nica elnombre de ese empleado ( nomEmp ). Para un codEmp existe un niconombre de empleado.
Dependencia funcional
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
57/70
En 2 FN dos tipos importantes de DF
codProgramador codModulo nomProgramador nomModulo horasTrab
PROGRAM
Dependencia funcional completa
Dependencia funcional parcial
Dependencia funcional parcial
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
58/70
A B C D
A B D B C
Conversin a la 2FN
(Retirar dependencias funcionales parciales)
Sedescomponeen
Regla de Uso de 2 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
59/70
NRO PROYECTO
TERMINO_PROYECTO
NRO EMPLEADONRO PROYECTO
HORAS_TRAB_PROYECTO
NRO EMPLEADONRO PROYECTO
TERMINO_PROYECTOHORAS_TRAB_PROYECTO
2FN
Retirar dependencias
parciales
Regla de Uso de 2 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
60/70
EMP_PROY
solucisoluci nn
codEmp numProy horas nomEmp nomProy lugarProy
Identificadas las dependencias,quedan definidas las nuevas relaciones
codEmp numProy horas
HORAS_TRABcodEmp nomEmp
EMPLE
numProy numProy lugarProy
PROYEC
Regla de Uso de 2 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
61/70
Suponga que se tiene la siguiente relacin R y sus atributos :
A B C
De donde se puede interpretar :C es funcionalmente dependiente de B yB es funcionalmente dependiente de A , entonces :
A B C
C es funcionalmente dependiente de A
Tenemos as unadependencia
funcional transitiva
Dependencia Funcional Transitiva
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
62/70
A B C D
A B D B C
Conversin a la 2FN(Retirar dependencias funcionales transitivas)
Sedescomponeen
Reglas de Uso de 3 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
63/70
NRO EMPLEADO
NOMBRE EMPLEADOCOD_PUESTO
COD PUESTO
NOM_PUESTO
NRO EMPLEADONOMBRE_EMPLEADOCOD_PUESTO
NOM_PUESTO
3FN
Retirar dependenciasindirectas (transitivas )
Reglas de Uso de 3 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
64/70
Normalizar el siguiente esquema de relacin :
CodEmp nomEmp sueldo numProy fechaFin
EMPLEPROY
dependencia funcional transitiva
Esta en 1FN
por que nohay gruposrepetitivos
Esta en 2FN
pues noexiste clavecompuesta
Pero ladependenciatransitivaviola la 3FN
Reglas de Uso de 3 FN
EJEMPLO :EJEMPLO :
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
65/70
codEmp nomEmp sueldo nProy
EMPLEADO
numProy fechaFin
PROYECTO
As, ya esta en 1FN por que no haygrupos repetitivos, en 2FN porque noexisten dependencias parciales sobreclaves compuestas, y en 3FN por queno existen transitividades.
As, ya esta en 1FN por que no hay
grupos repetitivos, en 2FN porque noexisten dependencias parciales sobreclaves compuestas, y en 3FN por queno existen transitividades.
Reglas de Uso de 3 FN
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
66/70
Conversin a PRIMERA FORMA NORMAL
A B C D E F G A B G
A C D
A
A C EC FD E
F
A C D A C E F
Conversin a SEGUNDA FORMA NORMAL
A B D A C
A E F A
Conversin a TERCERA FORMA NORMAL
A E F A A E A E FE
Resumen Conversiones
Ing. Williams A. MUOZ ROBLES
EJEMPLOSistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
67/70
TABLA SIN NORMALIZA
ORDEN VENTA
NUMEROORDEN
FECHA-ORDEN
NUMEROCLIENTE
NOMBRECLIENTE
DIRECCINCLIENTE
NUMEROPRODUC.
NOMBREPRODUC.
CANT.ORDEN.
PRECIOPRODUC.
TOTAL-PRODUC.
TOTALORDE
NADO
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
68/70
PRIMERA FORMA NORMALEliminar los atributos no atmicos (campos repetitivos)
ORDEN-PRODUCTO
NUMERO-ORDEN
FECHA-ORDEN
NUMERO-CLIENTE
NOMBRE-CLIENTE
DIRECCIN-CLIENTE
TOTAL-ORDEN
ORDEN VENTA
NUMERO-ORDEN
NOMBRE-PRODUCTO
PRECIO-PRODUCTO
CANTIDAD-ORDENADA
TOTAL-PRODUCTO
NUMERO-PRODUCTO
Ing. Williams A. MUOZ ROBLES
SEGUNDA FORMA NORMEli i l ib d di d l ll i i
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
69/70
Eliminar los atributos no dependientes de la llave primaria comp(dependencia funcional parcial).
NUMERO-ORDEN
FECHA-ORDEN
NUMERO-CLIENTE
NOMBRE-CLIENTE
DIRECCIN-CLIENTE
TOTAL-ORDEN
ORDEN VENTA
ORDEN-PRODUCTO
NUMERO-ORDEN
TOTAL-PRODUCTO
NUMERO-PRODUCTO
CANTIDAD-ORDENADA
NUMERO-PRODUCTO PRECIO-PRODUCTONOMBRE-PRODUCTO
PRODUCTO
Ing. Williams A. MUOZ ROBLES
TERCERA FORMA NORMAEli i l t ib t d di t d t ib t dif t l
Sistemas y Computacin UNDAC
-
7/24/2019 Curso de Base de Datos 1
70/70
Eliminar los atributos dependientes de atributos diferentes a lallave primera (dependencia funcional transitiva).
NUMERO-ORDEN
TOTAL-PRODUCTO
NUMERO-PRODUCTO
CANTIDAD-ORDENADA
NUMERO-PRODUCTO
PRECIO-PRODUCTO
NOMBRE-PRODUCTO
ORDEN- PRODUCTO PRODUCTO
NUMERO-CLIENTE
DIRECCIN-CLIENTE
NOMBRE-CLIENTE
CLIENTE
NUMERO-ORDEN
TOTAL-ORDEN
FECHA-ORDEN
NUMERO-CLIENTE
ORDEN VENTA
Ing. Williams A. MUOZ ROBLES