Professional Documents
Culture Documents
UNDAC
TEORA Y DISEO
DE
BASES DE DATOS
DOCENTE
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Modelo de Datos
Lgicos
Fsicos
MODELO DE DATOS
EXTERNO
* (Punto de vista de cada usuario
en particular)
GLOBAL
* (Punto de vista del conjunto de
usuarios -empresa-)
INTERNO
* (Punto de vista de la mquina)
Sistemas y Computacin
UNDAC
CONVENCIONALES O LGICOS
- Implementados en SGBD-
Jerrquico
Codasyl
Relacional
Objeto Relacional
Sistemas y Computacin
UNDAC
Valores
MODELO CONCEPTUAL
Estrutura percibida
(no formalizada)
Esquema
conceptual
DISEO LGICO
Esquema
de base
de datos
DISEO FSICO
Esquema interno
MODELO
CONCEPTUAL
SGBD
MODELO
DE BD
MODELO
INTERNO
BASE DE
DATOS
FSICA
Sistemas y Computacin
UNDAC
El Modelo Relacional
R.E. Levein y M.E. Maron por el ao de 1967.
Eddgar F. Codd en Junio de 1970 publica el artculo A Relational Model of Data
for Large Shared Data banks.
Uno de los primeros prototipos fue el Peterlee Relational Test Vehicle desarrollado
por el centro Cientfico de Peterlee.
El segundo prototipo se le llam XRM ( Extended Relational Memory) y fue de
IBM.
En 1978 se desarrollo el Q.B.E., Query By Example.
El prototipo base y ms completo fue el famoso Sistema R, desarrollado por IBM
(1980) y luego muchos ms.
Codd decidi establecer una referencia de 12 reglas para sealar cuando un SGBD
cumple con el modelo relacional o no. |
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
espec
100
Ana
Contabilidad
150
Alex
Sistemas
estudiante
250
Ins
Contabilidad
( relacin )
350
Max
Sistemas
TABLA
Ciclo = 1 al 10 (
DOMINIO )
FILAS
Sistemas y Computacin
UNDAC
Definicin de relacin
Una relacin
es denotado por : r ( R )
R(A1,A2
, ...,A
, t
, ... ,t
( filas )
,v
, ... ,v
relacin
t1
t2
t3
t4
nombre
ciclo
espec
100
Ana
Contabilidad
150
Alex
Sistemas
250
Ins
Contabilidad
350
Max
Sistemas
codEstud
Es una instancia
de un esquema
de relacin
Sistemas y Computacin
UNDAC
Comparacin de Terminologa
RELACIN
TUPLA
ATRIBUTO
GRADO
CARDINALIDAD
TABLA
FILA
COLUMNA
N DE COLUMNAS
N DE FILAS
FICHERO
REGISTRO
CAMPO
N DE CAMPOS
N DE REGISTROS
Sistemas y Computacin
UNDAC
Para
normalizacin
De Integridad Referencial
De Dependencias de los datos
Ing. Williams A. MUOZ ROBLES
( funcionales y
multivaluadas)
Sistemas y Computacin
UNDAC
Restricciones de Dominio
Los valores que forman el dominio de los atributos deben
ser atmicos.
las formas de especificar los dominios pueden ser, por
rangos de valores, datos enumerados o por tipos de datos
entre los que se incluyen enteros, reales, caracteres,
cadenas de longitud fija y cadenas de longitud variable,
adems de otros tipos especiales como son fecha, dinero,
etc
Sistemas y Computacin
UNDAC
Restricciones de Clave
Las restricciones de clave exigen que todas las tuplas de una
relacin deben ser distintas.
SUPER CLAVE
De un esquema de relacin
Sistemas y Computacin
UNDAC
Restricciones de Clave
Analizando el esquema de relacin :
ESTUDIANTE ( codigo, nombre, direc, sexo,
fechNac )
Son superclaves :
No son superclaves :
{ nombre }
{ nombre, sexo }
conjuntos
de
atributos
Sistemas y Computacin
UNDAC
Restricciones de Clave
CLAVE
De un esquema de relacin
No es clave
{ codigo, nombre }
No es clave
No es clave
{ nombre, fechNac }
Es una clave
{ codigo }
Es una clave
Sistemas y Computacin
UNDAC
Restricciones de Clave
CLAVE CANDIDATA
Es toda clave que se puede encontrar en un esquema de
relacin.
Por ejemplo, en el esquema de relacin anterior,
ESTUDIANTE ( codigo, nombre, direc, sexo, fechNac )
Son claves candidatas :
{ nombre, fechNac }
{ codigo }
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Restricciones de Clave
CLAVE PRIMARIA
Es la clave candidata que se elige por que sus valores sirven
para identificar inequvocamente a las tuplas de la relacin.
Por ejemplo, en el esquema de relacin anterior,
ESTUDIANTE ( codigo , nombre, direc, sexo, fechNac )
Especificando
clave primaria
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Valor Nulo
Se aplica cuando el valor de algn atributo dentro de una tupla en
particular sea desconocido o no corresponda. Por ejemplo
cuando en una encuesta una persona no quiso decir
su fecha de nacimiento o cuando no todas las
personas tienen telfono.
Sistemas y Computacin
UNDAC
Restriccin de Integridad
Referencial
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 que
haga referencia a una segunda relacin, deber referirse a una tupla
existente en la segunda relacin. Por ejemplo analizemos los
esquemas de relaciones empleado y departamento.
Clave FORANEA
EMPLEADO ( codEm , nom, fechNac, direc, sexo, suel, codSuper, nDep )
Clave PRIMARIA
DEPARTAMENTO ( numDep , nombre, codJefe , fechIniJefe)
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Restriccin de Integridad
Referencial
( FK ) Foreign Key
Clave FORANEA
R1
EMPLEADO
codEm
nom
fechNac
direc
Clave FORANEA
sexo suel
100
5
300
4
400
5
150
Tovar
15-07-57
Lomas 234
5400
Silva
07-03-65
Grau 935
Sierra
22-10-67
Rosas 732
Castro
12-11-72
America 912
200
4
700
Rios
04-04-70
Vicus 138
Sillars
12-11-72
America 912
9800
600
5
Nieto
25-08-73
Flores 1731
4600
4500
7200
2800
8700
codSuper nDep
400
200
700
200
Clave PRIMARIA
700
nulo
R2
400
numDep
95
92
nom
DEPARTAMENTO
codJefefe
200
fechIniJefe
Administracin
07-06-
Ingeniera
400
11-07-
Gerencia
700
14-10-
Sistemas y Computacin
UNDAC
Restriccin de Integridad
Referencial
Tabla Empleado
Cod-Emp
200
150
155
70
160
Nom-Emp
Dura nd
Portillo
Seme rene
Rojas
Rodrigue z
Cod-De pto.
2
10
4
6
10
PK
3 columnas
5 filas
FK
Tabla-De par tam e nto
2 columnas
4 filas
Cod-De pto.
Nom -Dpto.
Contabilidad
10
Re cur s os
Pr oduccin
V e ntas
PK
Sistemas y Computacin
UNDAC
Grafo Relacional
Una forma sencilla de representar el esquema relacional
es el denominado grafo relacional. Es un grafo compuesto
de un conjunto de nodos multiparticionados, donde cada nodo
representa un esquema de relacion, es decir, una tabla
de 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
Sistemas y Computacin
UNDAC
LIBRO
Cdigo
EJEMPLAR Cd_doc
PRETA
Cdigo
Ttulo
Idioma
Numero_e
Nmero_e
Nm_s
SOCIO
Nm_copias
TRATA Cdigo
Fecha_p
Nm_s
DNI
Nombre_ e
Editorial
Domicilio
TEMA Nombre_t
CONSTA
Tel
Ciudad
Pas
......
Nombre_t
Fecha_d
Direccin
Tipo_s
Tema s
Desc.
Temas p.
Sistemas y Computacin
UNDAC
Regla de Informacin
)
Debe estar a disposicin de los usuarios con el mismo lenguaje de consulta que
la base de datos.
Sintaxis lineal
Utilizacin interactiva y mediante lenguajes de programacin
Definicin de datos, manipulacin completa de datos,
Restricciones de seguridad, integridad y manejo de transacciones
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Actualizacin de vistas
)
Independencia de integridad
)
Sistemas y Computacin
UNDAC
Independencia a la distribucin
Debe existir un sublenguaje de datos que pueda soportar bases de
datos distribuidas sin alterar lso programas de aplicacin cuando se
distribuyan los datos por primera vez se redistribuyan estos
posteriormente.
No subversin
Si el sistema ofrece una interfaz de acceso a bajo nivel, dicho acceso
no se podr usar para salvar restricciones de integridad o seguridad
)
Sistemas y Computacin
UNDAC
Esttica
Modelo
relacional
Dinmica
Insercin
Borrado
Modificacin
Consulta
Lenguajes
de definicin
Lenguajes
de
manipulacin
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.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Lenguajes de Manipulacin
Relacionales
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 relaciones
de la base.
Calculo relacional
El resultado es el conjunto de constantes que hacen cierta una
determinada formula de consulta.
)
Historia:
)
Sistemas y Computacin
UNDAC
Algebra relacional
Unitarias
Seleccin
Proyeccin
Renombre
Binarias
Producto cartesiano
Unin
Diferencia
Sistemas y Computacin
UNDAC
Seleccin y Proyeccin
Supongamos la tabla:
Prestamo = (nombre_sucursal, monto, direccin)
Sistemas y Computacin
UNDAC
Seleccin
Ejemplo: si P= status>=25 tenemos
r=
Codigo
S1
S2
S3
S4
S6
S7
S8
S9
S10
Nombre
Juan Lopez
Jose Sanchez
Antonio Perez
Jose Lopez
Carmen Lopez
Julia Sanchez
Juana Perez
Luis Gomez
Maria Galvez
Ciudad
Lima
Jaen
Trujillo
Lima
Tacna
Lima
Jaen
Iquitos
Tumbes
Status
20
15
20
25
30
25
10
35
30
P (r)=
Codigo
S4
S6
S7
S9
S10
Nombre
Jose Lopez
Carmen Lopez
Julia Sanchez
Luis Gomez
Maria Galvez
Ciudad
Lima
Tacna
Lima
Iquitos
Tumbes
Status
25
30
25
35
30
Sistemas y Computacin
UNDAC
Proyeccin
r=
Codigo
S1
S2
S3
S4
S6
S7
S8
S9
S10
Nombre
Juan Lopez
Jose Sanchez
Antonio Perez
Jose Lopez
Carmen Lopez
Julia Sanchez
Juana Perez
Luis Gomez
Maria Galvez
Ciudad
Lima
Jaen
Trujillo
Lima
Tacna
Lima
Jaen
Iquitos
Tumbes
Status
20
15
20
25
30
25
10
35
30
Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
Granada
Ejemplos:
Jaen
Almeria
ciudad,status(r)= Sevilla
Status
20
15
20
25
30
25
10
35
30
Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
(r)= Almeria
ciudad
Sistemas y Computacin
UNDAC
Producto Cartesiano
Producto Cartesiano: (una relacin se define como un
subconjunto de un producto cartesiano de un conjunto
de dominios) Conecta dos entidades de acuerdo a la
definicin matemtica de la operacin.
Operador
Sistemas y Computacin
UNDAC
Producto Cartesiano
Ejemplo: supongamos
A
a1
a2
a3
a4
B
b1
b2
b2
b4
D
d1
d2
d3
A
a1
a1
a1
a2
a2
a2
a3
a3
a3
a4
a4
a4
B
b1
b1
b1
b2
b2
b2
b3
b3
b3
b4
b4
b4
D
d1
d2
d3
d1
d2
d3
d1
d2
d3
d1
d2
d3
Sistemas y Computacin
UNDAC
Otros
Sistemas y Computacin
UNDAC
B
b1
b2
b2
b4
A
a1
s= a2
a5
B
b1
b2
b5
A
a1
a2
rs= a3
a4
a5
A
r-s= a3
a4
B
b1
b2
b2
b4
b5
B
b2
b4
rs= A B
a1 b1
a2 b2
Sistemas y Computacin
UNDAC
Proyeccin
Producto
x
y
a
b
c
Unin
Diferencia
x
a
a
b
b
c
c
x
y
x
y
x
y
Sistemas y Computacin
UNDAC
Calculo relacional
De
Atributos
Tipos de
calculo
relacional
De
Dominios
Sistemas y Computacin
UNDAC
Calculo relacional
{ t / P(t) }
Conjunto de tuplas tal que P(Predicado) es verdadero en
t.
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
S
I
S
T
E
M
A
S
D
E
B
A
S
E
S
I
SISTEMAS DE BASES I
TEMA:
NORMALIZACION
Sistemas y Computacin
UNDAC
Normalizacin
Fue Codd quien en 1972 propuso el proceso de normalizacin,
as cualquier esquema de relacin se puede someter a una serie
de pruebas para certificar si pertenece o no a cierta forma normal,
que originalmente fueron tres : primera, segunda y tercera formas
normales.
Posteriormente Boyce y Codd replantearon la tercera forma
normal 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, basados
en dependencias multivaluadas y dependencias de reunin.
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Concepto
El 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 que
pueden ocurrir con los datos.
Sistemas y Computacin
UNDAC
Anomalas
Son problemas que se presentan en el manejo de
los datos, ocasionados por un mal diseo de la
base de datos. Estas anomalas pueden clasificarse
en :
Anomalas de Insercin
Anomalas de Eliminacin
Anomalas de Modificacin
Sistemas y Computacin
UNDAC
Anomala de Insercin
Aqu vemos un mal diseo, donde como se nota hay datos de
empleado y de departamento juntos.
EMPLEADO
codEm
nom
codJefe
100
Soler Ana
fechNac
direc
suel
10-06-65
Flores 129
3400
Ingeniera
800
200
Alva Juan
19-03-67
Valles 722
6200
Ingeniera
800
250
Jobe Alan
11-09-69
Mar 1824
3600
Ventas
900
300
Vall Kate
05-02-75
Jan 181
2400
Ventas
900
800
Com Ivan
15-03-72
Grau 485
7600
Ingeniera
999
900
Kori Rony
07-12-59
Lomas 18
7200
Ventas
999
999
Pita Ins
25-03-72
Liz 1151
9500
Gerencia
999
Datos del
empleado
Ing. Williams A. MUOZ ROBLES
nDep nomDep
Cod_jefe
Datos del
departamento
Sistemas y Computacin
UNDAC
Sistemas y Computacin
UNDAC
Formas de Normalizacin
1NF
2NF
3NF
Boyce&Codd NF
4NF
5NF
1FNDKNF
Sistemas y Computacin
UNDAC
CC
DD
C
E
D
Se descompone
en
Sistemas y Computacin
UNDAC
NRO EMPLEADO
NOMBRE_EMPLEADO
COD_TRABAJO
NOM_TRABAJO
1FN
Retirar grupos
repetitivos
NRO EMPLEADO
NRO PROYECTO
TERMINO_PROYECTO
HORAS_TRAB_PROYECTO
Sistemas y Computacin
UNDAC
nom
fechNac
direc
jornal
codJefe oficio
codJefe oficio
aosExp
OBRERO
codObr
nom
fechNac
direc
jornal
aosExp
300
Huaman Jorge
10-05-67
Surco
25
800
carpintero
300
Huaman Jorge
10-05-67
Surco
25
800
albail
300
Huaman Jorge
10-05-67
Surco
25
800
pintor
350
Sulca Amrico
22-11-70
Comas
30
900
electrnico
HABILIDADES
codObr
EJEMPLO :
oficio
aosExp
OBRERO
codObr
nom
fechNac
direc
jornal
codJefe
Grupo
repetitivo
Sistemas y Computacin
UNDAC
Dependencia Funcional
Sea el esquema de relacin R :
R ( A1 , A2 , A3 , . . . Ak , Ak+1 , . . . Am , Am+1 , . . . At , At+1 , . . . An-1 , An )
Y los subconjuntos
que X determina Y
que X implica Y
determinante
determinado
Sistemas y Computacin
UNDAC
Dependencia funcional
Se puede decir
que el cdigo de
un libro
determina su
ttulo.
Sistemas y Computacin
UNDAC
Dependencia funcional
EMP_PROY
codEmp
numProy
Se lee :
codEmp
nomEmp
numProy
{ nomProy , lugarProy }
Sistemas y Computacin
UNDAC
PROGRAM
Sistemas y Computacin
UNDAC
Regla de Uso de 2 FN
Conversin a la 2FN
(Retirar dependencias funcionales parciales)
Se
descompone
en
D
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
Regla de Uso de 2 FN
NRO PROYECTO
TERMINO_PROYECTO
NRO EMPLEADO
NRO PROYECTO
TERMINO_PROYECTO
HORAS_TRAB_PROYECTO
2FN
NRO EMPLEADO
NRO PROYECTO
Retirar dependencias
parciales
HORAS_TRAB_PROYECTO
Sistemas y Computacin
UNDAC
Regla de Uso de 2 FN
EMP_PROY
codEmp
numProy
lugarProy
solucin
Identificadas las dependencias,
quedan definidas las nuevas relaciones
EMPLE
codEmp
nomEmp
HORAS_TRAB
codEmp
numProy
PROYEC
horas
numProy numProy
lugarProy
Sistemas y Computacin
UNDAC
C es funcionalmente dependiente de A
Ing. Williams A. MUOZ ROBLES
Tenemos as una
dependencia
funcional transitiva
Sistemas y Computacin
UNDAC
Reglas de Uso de 3 FN
Conversin a la 2FN
(Retirar dependencias funcionales transitivas)
Se
descompone
en
Sistemas y Computacin
UNDAC
Reglas de Uso de 3 FN
NRO EMPLEADO
NRO EMPLEADO
NOMBRE_EMPLEADO
COD_PUESTO
NOM_PUESTO
NOMBRE EMPLEADO
COD_PUESTO
3FN
COD PUESTO
Retirar dependencias
indirectas (transitivas)
NOM_PUESTO
Sistemas y Computacin
UNDAC
Reglas de Uso de 3 FN
Normalizar el siguiente esquema de relacin :
EMPLEPROY
CodEmp nomEmp
sueldo
numProy
fechaFin
Esta en 1FN
por que no
hay grupos
repetitivos
Esta en 2FN
pues no
existe clave
compuesta
Pero la
dependencia
transitiva
viola la 3FN
Sistemas y Computacin
UNDAC
Reglas de Uso de 3 FN
EMPLEADO
codEmp
nomEmp
sueldo nProy
PROYECTO
numProy
As,
As,ya
yaesta
estaen
en1FN
1FNpor
porque
queno
nohay
hay
grupos
gruposrepetitivos,
repetitivos,en
en2FN
2FNporque
porqueno
no
existen
existendependencias
dependenciasparciales
parcialessobre
sobre
claves
clavescompuestas,
compuestas,yyen
en3FN
3FNpor
porque
que
no
noexisten
existentransitividades.
transitividades.
Ing. Williams A. MUOZ ROBLES
fechaFin
Sistemas y Computacin
UNDAC
Resumen Conversiones
Conversin a PRIMERA FORMA NORMAL
A
D
C
E
D
F
E
B
A
G
CC D
CC D
CB D
A
A
Ing. Williams A. MUOZ ROBLES
Sistemas y Computacin
UNDAC
EJEMPLO
TABLA SIN NORMALIZAR
ORDEN VENTA
NUMERO FECHA- NUMERO NOMBRE DIRECCIN NUMERO
ORDEN CLIENTE CLIENTE CLIENTE PRODUC.
ORDEN
NOMBRE CANT.
PRODUC. ORDEN.
Sistemas y Computacin
UNDAC
NUMEROORDEN
FECHAORDEN
NUMEROCLIENTE
NOMBRECLIENTE
DIRECCINCLIENTE
TOTALORDEN
ORDEN-PRODUCTO
NUMEROORDEN
NUMEROPRODUCTO
NOMBREPRODUCTO
PRECIOPRODUCTO
CANTIDADORDENADA
TOTALPRODUCTO
Sistemas y Computacin
UNDAC
FECHAORDEN
NUMEROCLIENTE
NOMBRECLIENTE
DIRECCINCLIENTE
ORDEN-PRODUCTO
NUMEROORDEN
NUMEROPRODUCTO
CANTIDADORDENADA
PRODUCTO
NUMEROPRODUCTO
NOMBREPRODUCTO
PRECIOPRODUCTO
TOTALPRODUCTO
TOTALORDEN
Sistemas y Computacin
UNDAC
NUMEROORDEN
FECHAORDEN
CLIENTE
NUMEROCLIENTE
TOTALORDEN
ORDEN- PRODUCTO
NUMEROORDEN
NUMEROPRODUCTO
CANTIDADORDENADA
NUMEROCLIENTE
NOMBRECLIENTE
DIRECCINCLIENTE
PRODUCTO
TOTALPRODUCTO
NUMEROPRODUCTO
NOMBREPRODUCTO
PRECIOPRODUCTO