Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tecnologías de la información
Enero 2019
▪Existen SGBD
• comerciales: DB2, Oracle,
SQLServer
2
Funcionalidades de un SGBD
▪ Definir la base de datos: tipos de datos, estructuras y
restricciones.
▪ Construir o cargar la base de datos en un medio de
almacenamiento.
▪ Manipulación de la base de datos: consultas, generación de
reportes, inserción, eliminación y modificación de su contenido
▪ Procesamiento concurrente de un conjunto de usuarios y
programas, conservando los datos válidos y consistentes.
▪ Protección y medidas de seguridad para prevenir accesos no
autorizados.
3
MEDIO AMBIENTE DE UNA BD
4
Componentes de un sistema gestor de BD
▪ Gestor de archivos: Gestiona la asignación de espacio en la memoria del disco y de las
estructuras de datos usadas para representar información.
▪ Manejador de base de datos: Sirve de interfaz entre los datos y los programas de aplicación.
▪ Procesador de consultas: Traduce las proposiciones en lenguajes de consulta a instrucciones
de bajo nivel. Además convierte la solicitud del usuario en una forma más eficiente.
▪ Compilador de DDL: Convierte las proposiciones DDL en un conjunto de tablas que contienen
metadatos, estas se almacenan en el diccionario de datos.
▪ Archivo de datos: En él se encuentran almacenados físicamente los datos de una
organización.
▪ Diccionario de datos: Contiene la información referente a la estructura de la base de datos.
▪ Índices: Permiten un rápido acceso a registros que contienen valores específicos.
5
6
TIPOS DE USUARIOS DE UN SGBD
▪Diseñador de base de datos: define el contenido, la
estructura, las restricciones y las transacciones sobre la
BD
▪Administrador de la BD
• Autoriza los accesos a la BD
• Coordina y monitorea su uso
• Adquiere el software y recursos de hardware
• Controla el uso de la BD y monitorea la eficiencia de las operaciones
7
ventajas desventajas
• Control de redundancia de • Complejidad
datos • Tamaño
• Consistencia de datos • Costo (adicional de
• Compartición de datos hardware o para conversión
• Integridad de datos mejorada de datos)
• Seguridad mejorada • Desempeño (Velocidad)
• Uso de estándares • Impacto grande por fallas en
• Mejora del mantenimiento el gestor.
• Incrementa la concurrencia
8
Diseño de Base de Datos
9
DISEÑO DE BASES DE DATOS
▪Diseñar una BD: definir su estructura lógica y física
de tal forma que se satisfagan los requerimientos
solicitados
▪Aspectos a considerar
• Clara estructuración de la información
• Lograr objetivos de desempeño
10
OPERACIONES
▪Lenguajes:
• De definición de estructuras
de datos (Data Definition
Language)
• De manipulación de datos
(Data Manipulation Language)
11
FASES PARA EL MODELADO DE DATOS
12
PLANEACIÓN DE LA BASE DE DATOS
▪Evaluación de sistemas
manejadores de base de datos
13
FASES PARA EL MODELADO DE DATOS
14
RECOLECCIÓN Y ANÁLISIS DE
REQUERIMIENTOS
▪Identificación de
necesidades de
hardware y software
▪ Identificación de procesos de
negocio
15
Cuestionario guía
▪Nombre
▪Cargo
▪Área de Responsabilidad
▪Obligaciones principales que requieren información de la base
datos
▪¿De qué aplicaciones recibe información?
▪¿Con cuánta frecuencia recibe información?
▪¿Qué hace con esta información?
▪¿Qué precauciones de seguridad debe tomar con respecto a
la información?
▪¿Para qué aplicación proporciona datos?
▪Están contemplados cambios para alguna de sus actividades
actuales que involucren alguna de las informaciones
anteriores?
16
FASES PARA EL MODELADO DE DATOS
17
DEFINICIÓN DEL DICCIONARIO DE DATOS
▪Es un catálogo ó depósito de los
elementos de un sistema. Se
encuentran todos los
elementos que forman parte
del sistema con sus detalles y
descripciones
▪ Los elementos más
importantes son:
• Flujos de datos
• Almacenes de datos ¿Cuál es la longitud de un
• Procesos dato?
¿Qué otros nombres recibe?
¿Dónde se utiliza?
18
DICCIONARIO DE DATOS
19
DICCIONARIO DE DATOS
▪Facilitar el análisis de los detalles para evaluar y determinar
dónde efectuar cambios en el sistema (¿Son necesarias más
características? ¿Qué datos deben capturarse? ¿Cómo se
validan? ¿Cuántos datos se procesan al día?)
• Naturaleza de las transacciones
• Salida y generación de reportes
• Archivos y bases de datos existentes
• Capacidad del sistema
20
Tarea 2
▪Realizar una búsqueda de los elementos de un
diccionario de datos y describirlos
21
FASES PARA EL MODELADO DE DATOS
22
DISEÑO DE LA BASE DE DATOS
23
DISEÑO CONCEPTUAL
▪Es independiente del SMBD
24
FASES PARA EL MODELADO DE DATOS
25
EVALUACIÓN DE UN SGBD
▪Seleccionar el modelo de datos, el tipo de sistema
gestor de BD: R, OR, OO, multidimensional
▪Costos
▪Requerimientos de hardware
▪Portabilidad
▪Funcionalidades
26
FASES PARA EL MODELADO DE DATOS
27
IMPLEMENTACIÓN
▪Elaborar un prototipo
▪Efectuar mantenimiento
• Correctivo (recovery)
• Preventivo (backup)
• Monitoreo, asignación de permisos, etc
28
Modelo Entidad - Relación
29
Modelo Entidad-Relación Básico
▪Entidad: reagrupamiento de propiedades, con una
existencia propia e identificable.
• CLIENTE dotada de un nombre y una dirección.
• ARTICULO dotada de un precio unitario, de una referencia.
30
Modelo Entidad-Relación Básico
▪Relación: asociación entre varias entidades. Su
existencia está condicionada por las entidades
relacionadas.
31
Elementos dentro del modelo ER
32
Modelo Entidad - Relación
ATRIBUTO
▪Parte lógica más pequeña de información, se usa para
describir una entidad
▪Describen propiedades que posee cada miembro de un
conjunto de entidades
▪Cada entidad tiene un valor para cada atributo que lo
conforma
▪Tiene un conjunto de valores permitidos llamados
dominio
33
Modelo Entidad - Relación
▪Tipos de atributos:
• Simples: no están divididos en subpartes
34
Propiedad /Atributo
Tipos:
• Simple: color, folio, duración
• Compuesta: dirección (calle, colonia, ciudad)
35
Modelo Entidad - Relación
▪Tipos de atributos:
• Derivados: el valor para este tipo de atributo se
puede derivar de los valores de otros atributos o
entidades relacionados.
36
Modelo Entidad - Relación
ciudad provincia
calle
codpostal
dirección
fechanacim telefono
(0,3)
(0,1)
nombre EMPLEADO altura
(1,2)
nss nacionalidad
dni edad
37
Atributos Clave
▪Atributo con valor distinto para cada instancia de un
tipo de entidad
curp en EMPLEADO
▪Una clave identifica de forma única cada entidad
concreta atributo identificador
▪Notación
EMPLEADO
curp
[EN2002]
38
Atributos Clave
▪Una clave puede estar formada por
varios atributos clave compuesta
• Combinación de valores distinta para cada instancia
(nombre, fechanacim) en el tipo de entidad EMPLEADO
• Una clave compuesta debe ser mínima
▪Un tipo de entidad puede tener
más de una clave claves candidatas
Claves o Identificadores Candidatos de EMPLEADO:
• curp
• nss
• (nombre, fechanacim)
39
Atributos Clave
▪Atributo identificador principal (IP)
• Clave Principal
• Elegido (por el diseñador) de entre los identificadores candidatos
(IC), para ser el medio principal de identificación de las
instancias del tipo de entidad
• curp en EMPLEADO
▪Atributos identificadores alternativos (IA)
• Claves Alternativas
• El resto de IC’s
• nss y (nombre, fechanacim) en EMPLEADO
40
Notación para atributos clave
[EN2002]
ciudad provincia
calle
codpostal
dirección
fechanacim telefono
(0,3)
(0,1)
n-f EMPLEADO altura
(1,2)
nombre IP nacionalidad
nss
curp edad
42
Propiedad / Atributo
▪Evitar
43
Modelo Entidad - Relación
Entidad:
▪Cosa u objeto en el mundo real que es distinguible de todos
los demás objetos
▪Puede ser concreto (persona, libro) o abstracto (préstamo,
concepto, vacaciones)
▪Conjunto de entidades son aquellas del mismo tipo que
comparten las mismas propiedades, o atributos
▪ Las entidades individuales que forman parte de un conjunto
se le llama extensión del conjunto de entidades
44
Entidades
▪Una entidad que tiene un atributo llave se le
denomina entidad fuerte.
45
Entidad vs Ocurrencia
46
Relación / Asociación
▪ Asociación entre diversas entidades de un modelo. Es la
traducción de los verbos del lenguaje de la empresa.
47
Relación / Asociación
▪Es posible asociar una entidad con ella misma, se le
conoce como relación reflexiva
48
▪ Rectángulo: tipo de entidad
▪ Rombo: tipo de asociación
▪ Elipse: atributo. Los atributos llave se
subrayan
▪ Líneas: vínculos entidad-asociación,
atributo-entidad
49
Grado de un tipo de asociación
▪Número de tipos de entidad que participan en el tipo
de asociación
50
Cardinalidad
▪Representan el número mínimo y máximo de
ocurrencias de un tipo de relación.
51
Cardinalidad
▪(0, 1) la ocurrencia de una entidad puede existir sin
que participe en la relación (0) y nunca participa más
de una vez (1).
52
Cardinalidad
▪Ejemplo
• Si un departamento posee de 0 a n empleados, en la entidad
EMPLEADO aparecerán las cardinalidades (0,n); en otro sentido,
podemos suponer que un empleado tiene que pertenecer
obligatoriamente a un departamento y a lo sumo a uno, por lo
que las cardinalidades de DEPARTAMENTO serán (1,1).
(0,N) (1,1)
Empleado Pertenece Departamento
53
Cardinalidad
▪Números mínimo y máximo de instancias del tipo de
relación en las que puede intervenir una instancia del
tipo de entidad
▪Notación
• (min, max) en la línea que une entidad y relación
(0,n) (1,n)
PERSONA USA EDIFICIO
(1,1) (0,n)
POSEE
54
Cardinalidad
▪Cardinalidad de tipos de entidad recursivos
[EN2002]
superior (0,n) 1
subalterno
EMPLEADO (0,1) N JEFE DE
55
Recomendaciones para construir un modelo
ER
▪Identificar y listar las propiedades obtenidas de los
procesos del negocio.
56
Recomendaciones para construir un modelo
ER
▪Toda entidad debe participar en una relación, no es
opcional
57
Ejercicios
▪Obtener el diagrama E-R
▪Empleados (Nombre, Teléfono, Salario, Cargo)
▪Departamentos (Nombre, Localización)
58
Ejercicios
Una empresa necesita un sistema de información, los
datos que administra son los siguientes:
59
Razón de Participación
▪Especifica si toda la extensión de un tipo de entidad
participa en un tipo de relación, o sólo parte de la
extensión
▪Indica si hay dependencia en existencia de un tipo de
entidad respecto de un tipo de relación
▪Clases de participación:
• Participación total (dependencia en existencia)
• Participación parcial
60
Razón de Participación
DIRECTOR
▪Notación ACTOR
• Líneas dobles o simples 1
HA_ RODADO personaje M
N ACTUA_EN
PELICULA
film N
trabajador PELICULA
EMPLEADO
1 encargado 1
TRABAJA_EN SUPERVISA
1 sucursal N
62
Modelo Entidad-Relación Extendido
▪Aportaciones de diversos autores al modelo
Entidad-Relación «básico».
▪Permiten representar...
• Relaciones exclusivas entre sí
• Jerarquías de Especialización/Generalización
63
Relaciones Exclusivas
▪ Dos (o más) tipos de relación son exclusivos,
respecto de un tipo de entidad que participa en ambos, si cada
instancia del tipo de entidad sólo puede participar en uno de
los tipos de relación
VEHÍCULO
CONSUME GASTA
GASOIL GASOLINA
65
E/G: Subtipo de un tipo de entidad
▪ Agrupación de instancias dentro de un tipo de entidad, que debe
representarse explícitamente debido a su importancia para el
diseño o aplicación
• Subtipos del tipo de entidad VEHÍCULO:
CAMIÓN
TURISMO
AUTOBÚS
CICLOMOTOR
• Subtipos del tipo de entidad EMPLEADO:
SECRETARIO
GERENTE
COMERCIAL
68
Herencia
▪ Propiedad crucial de la especialización y la generalización
69
Especialización, Generalización y Herencia
70
Agregación
▪Una limitación del modelo E-R
es que no resulta posible
expresar relaciones entre
relaciones
71
Agregación
▪ Un empleado trabaja en una sucursal específica cubriendo un cargo
específico
72
Agregación
73
Modelo UML
▪ Lenguaje gráfico para especificar, construir y documentar
artefactos de software
74
Diagrama de Clases
▪Conjunto de clases, relaciones y dependencias
▪Clase
• Nombre
• Conjunto de atributos
• Conjunto de métodos
75
Notación UML equivalencia en ER
▪Entidad y sus atributos
76
E/R - UML
▪ En E/R un tipo de entidad representa dos cosas:
• La intensión: nombre del tipo de entidad y lista de atributos.
• La extensión: conjunto de entidades del tipo de entidad.
77
Notación UML equivalencia en ER
78
Notación UML equivalencia en ER
80
Notación UML equivalencia en ER
81
Notación UML equivalencia en ER
83
Notación UML equivalencia en ER
84
Notación UML equivalencia en ER
85
Notación UML equivalencia en ER
86
Ejemplos
87
Ejemplos
88
Ejemplos
89
Modelo relacional
90
Modelo relacional
▪Una base de datos relacional (BDR) es un conjunto de
tablas vinculadas entre sí
91
Esquema e Instancia
▪Esquema de una tabla: T = (A1,…,An), donde T es un
nombre y A1,…, An son atributos
▪La instancia de una tabla es el conjunto de tuplas que
tiene en un momento dado
92
Dominios, Tuplas, Atributos, Relaciones
▪Dominio: Conjunto de valores
▪Tupla: Lista de n valores ordenados con un dominio
dado
93
Grado y Cardinalidad
▪El grado de una tabla es el número de campos o
columnas que posee. Se define al momento de
construir una tabla.
94
Restricciones de Integridad
▪Condiciones que deberán cumplir todas las la
integridad de los datos instancias válidas de una
relación para garantizar
95
Restricción de llave
▪Llave: conjunto de atributos que identifican
unívocamente a cada tupla de una tabla
▪Si una relación tiene muchas llaves (candidatas), se
elige una como llave primaria
▪Ningún par de tuplas debe tener la misma
combinación de valores en los atributos que forman la
llave primaria
Primary
Key
96
Restricción de unicidad
▪Bajo esta restricción, un atributo sólo puede tomar
valores diferentes
97
Restricción de obligatoriedad
▪Bajo esta restricción, un atributo no debe tomar nulo como
valor. (Las relaciones deben ser diseñadas de tal forma que sus
tuplas tengan el menor número de nulos posible)
▪Una llave primaria por definición debe satisfacer esta
restricción
▪Razones para el valor nulo
• atributo no aplicable o inválido Not
• valor del atributo desconocido (puede existir)
• valor de existencia conocida, pero no indisponible null
▪Los atributos que son nulos frecuentemente pueden ser
colocados en relaciones separadas
98
Restricción de dominio
▪Bajo esta restricción, un atributo debe tomar su valor
de un conjunto predeterminado
99
Restricción de integridad referencial
▪Especificada entre dos tablas para mantener la
consistencia de los datos entre ellas.
100
▪Hay que determinar las consecuencias de la
modificación de la relación:
101
Restricciones Generales
▪Comprobar que los valores de un atributo cumplan
con una condición especificada.
Check/
Assertion
102
Convertir un modelo E-A a Relacional
▪Crear una tabla por cada entidad dándole por columnas
sus atributos simples y por llave su identificador.
▪El nombre de la entidad fuerte se convierte en el nombre
de una tabla , sus atributos simples serán sus columnas. El
atributo o los atributos identificadores servirán como llave
primaria de la tabla.
▪El nombre de la entidad débil se convierte en una tabla,
sus atributos simples serán las columnas de la tabla.
Tomará como llave primaria la llave primaria de la entidad
fuerte con la que está relacionada (estableciendo una llave
foránea).
103
Transformación de un Tipo de Entidad en una Tabla
▪Cada tipo de entidad E se transforma en el esquema de
una tabla con el mismo nombre.
104
Transformación de un Tipo de Asociación en una Tabla
▪ Un tipo de asociación A se transforma en el esquema de una tabla T
con el mismo nombre
▪ Los atributos de T son:
• Las llaves primarias de los tipos de entidad participantes en A. Su combinación
representará la llave primaria de la tabla
• Los atributos simples de A
105
Paso de atributos
▪Atributos multivaluados se convierten en una nueva
tabla, en donde la llave primaria estará compuesta por
la llave primaria de la entidad donde vive el atributo
más el atributo simple.
106
Paso de atributos
▪ Atributo compuesto.- Dos alternativas:
a) «Eliminar» atributo compuesto y considerar
todos sus componentes como columnas simples
de la tabla resultante
b)«Eliminar» los componentes y considerar el
atributo compuesto como una sola columna de
la tabla
107
Paso de atributos
▪Atributos derivados. No hay acuerdo sobre la forma
apropiada para su mapeo a modelo relacional
• Crear una tabla y una vista; en la tabla se omite el atributo, en la vista
incluir el atributo derivado y la forma en que se calcularía su valor.
108
Convertir un modelo E-A a Relacional
▪Examinar las asociaciones de cardinalidad (1,1). Para
cada una de ellas, realizar el tratamiento siguiente:
• Sea R la relación entre las entidades A y B. La cardinalidad es (1:1)
del lado de A. Integrar en la tabla que representa A la llave de B
así como las propiedades de R.
109
Cardinalidad 1:1
110
Convertir un modelo E-A a Relacional
▪Examinar las asociaciones de cardinalidad (m,n):
• Sea R la relación entre las entidades A y B. Crear una tabla cuyos
atributos son:
• Las propiedades de R.
• Los atributos llave de la tabla que representa A.
• Los atributos llave de la tabla que representa B.
111
112
113
Convertir un modelo E-A a Relacional
▪Examinar las asociaciones de cardinalidad (1:n) ó
(n:1):
114
Cardinalidad N:1
115
Ejercicio
116
Traducción de una relación n-aria
Tabla R correspondiente a V, V
E1 E2
que incluye...
– claves ajenas hacia cada clave R1 E3 R2
(0,p)
cifBanco
BANCO
118
Convertir un modelo E-A a Relacional
▪En el caso de E-A-Extendido. Generalización
119
Herencia
120
Supertipo/Subtipo
121
Consideraciones Generales
▪Nombre de columna: claros, concisos, sin abreviaturas,
uniformes.
• Malos hábitos: cont_aut, cat_id, ide_pago, fecha_nac, f_factura.
122
Consideraciones Generales
▪Especificar cuáles columnas son opcionales y cuáles
obligatorios.
• Malos hábitos: dejar todos los atributos como opcionales (a
excepción de la llave primaria)
123
Traducción de una relación binaria M:N
Nueva tabla R, que incluye... E1 V E2
– claves ajenas hacia las
claves primarias de R1 y de R2 R1 R2
R
▪ Su combinación (concatenación) forma
la clave primaria de R
– columnas correspondientes a los atributos de la relación V
[MPM 1999]
124
Traducción de una relación binaria 1:N
1) Caso general E1
1
V
N
E2
• Propagación de clave R1 R2
– En R2 se incluyen nuevas columnas...
▪ clave externa hacia la clave primaria de R1
▪ columnas para los atributos de la relación V
1.1) Participación total de E2 en V
codEstado
nombreMunicipio
Estado contiene Municipio
(1,1) (1,n) ...
125
Traducción de una relación binaria 1:N
1.2) Participación parcial de E2 en V
nomMuseo
codCuadro
PINACOTECA Expone CUADRO
(1,n) titulo
(0,1)
pintor
ciudad
sala
NULOS PERMITIDOS
Cuadro
codCuadro titulo pintor museo sala …
FK
Pinacoteca
nomMuseo ciudad …
126
Traducción de una relación binaria 1:N
2) Se cumple uno o varios de estos supuestos:
❑ La relación V tiene varios atributos propios
❑ Hay pocas ocurrencias de la relación V
❑ En el futuro la relación V se podría transformar en una M:N
* Añadir una nueva tabla R, que incluye...
– claves ajenas hacia las claves primarias de R1 y de R2
▪ Donde una clave será la clave primaria de R
▪ columnas para los atributos de V
127
Traducción de una relación binaria 1:1
1) Participación total de ambas entidades
– Si las entidades no participan en otras relaciones...
una única tabla R, que incluye...
– columnas para todos los atributos de ambas entidades
– claves de R:
▪ Clave primaria = clave primaria de R1 o de R2 (es indiferente)
▪ La otra (llave si es distinta) será alternativa (UNIQUE) y además
NOT NULL
– columnas para atributos de la relación V
nss numHistoria
PACIENTE Tiene HISTORIAL
MEDICO fechaApertura
(1,1) (1,1)
R1 R2
Propagación de clave
– La clave de la entidad con participación parcial «se propaga»
hacia la entidad con participación total → clave ajena
– Los atributos de la relación V «siguen» a la clave propagada
codEmp numDep
(1,1) (0,1)
Un empleado puede no EMPLEADO Dirige DEPARTAMENTO
dirigir ningún departamento,
o bien ser el gerente de uno nomEmp fechaInic nomDep
de ellos (desde cierta fecha, EMPLEADO codEmp nomEmp …
en la que fue nombrado FK
como tal) DEPARTAMENTO numDep nomDep codDir fechInicDir …
AK, NN NN
129
Traducción de una relación binaria 1:1
2.2) Hay pocas instancias del tipo de relación
Añadir una nueva tabla R que incluye...
– claves ajenas hacia las claves primarias de R1 y de R2
▪ una será clave primaria de R (la de participación total, si existe)
▪ la otra será clave alternativa en R (UNIQUE) y además NOT NULL
– columnas para los atributos de V (simples o componentes simples
de atributos compuestos)
codEmp nomEmp …
EMPLEADO
FK
130
Traducción de una relación binaria 1:1
2.3) Hay muchas instancias del tipo de relación
Una única relación R que incluye...
• todos los atributos de las entidades y de la relación
• la clave primaria es la clave de la entidad con participación parcial
• debe permitirse NULL en los atributos procedentes de la entidad con
participación total y de la relación
131
Traducción de una relación binaria 1:1
3) Participación parcial de ambas entidades
Añadir una nueva tabla R
• La tabla R se construye exactamente igual que en el caso (2.2)
• Evita los NULL que aparecerían si se propagara la clave de R1 a R2 o
viceversa (caso general (2.1))
lugar
nif HOMBRE(nif, ...)
nif
FK
Matrimonio
HOMBRE MUJER MATRIMONIO(esposa, esposo, fecha, lugar)
(0,1) a la antigua (0,1)
AK, NN NN NN
FK
fecha MUJER(nif, ...)
Y... ¿qué acciones de mantenimiento
de la integridad referencial debemos
imponer para (todos los casos de)
transformación de relaciones 1:1?
132
Traducción de una relación binaria reflexiva
jefe
nifEmp
EMPLEADO Es jefe de
nomEmp
subordinado
Caso 1:N
EMPLEADO nifEmp nomEmp … jefe …
FK
NULL
134
Ejercicios
▪Obtener el modelo relacional del siguiente esquema
E/R
135
Ejercicios
▪Obtener el modelo relacional del siguiente esquema
E/R
136
Normalización de
relaciones
137
Objetivo
▪Obtener un conjunto de relaciones que:
• Evite anomalías en operaciones de manipulación de datos
138
Origen y definición
▪Parte de las formas normales definidas por E.F. Codd,
formulando inicialmente las tres primeras formas
normales (1FN, 2FN, 3FN)
▪Anomalías detectadas con el uso de esas tres primeras
formas normales forzaron a restringir la última de ellas
dando lugar a la forma normal de Boyce y Codd.
(FNBC)
▪Por último, Fagin definió las dos últimas formas
normales (4FN y 5FN) buscando criterios de mejoras de
rendimientos para grandes sistemas transaccionales de
las bases de datos modernas
139
Dependencia funcional
Concepto
▪ La normalización parte del concepto de dependencia funcional.
▪ Se dice que el atributo o conjunto de atributos B depende funcionalmente
del atributo o conjunto de atributos A, y se representa como A→B , si y
sólo si cada valor de A se corresponde conceptualmente con un único
valor de B
▪ Es decir, si en cualquier instante, se conoce el valor de A podemos
conocer inmediatamente el valor de B.
▪ Las Formas Normales descomponer tablas en función de las dependencias
funcionales
Ejemplo:
PERSONAL(DNI,NOMBRE,DIRECCION,EMPRESA,SUELDO). Entre
los atributos CURP y NOMBRE existe una DF CURP→NOMBRE
140
Dependencia funcional
▪Para llevar a cabo el proceso de normalización es
aconsejable dar los siguientes pasos:
141
Dependencia funcional total
▪Se dice que el atributo Y tiene una dependencia funcional
total con el atributo X, si tiene una dependencia funcional
con X y no depende funcionalmente de ningún
subconjunto de X
▪ Ejemplo:
• (DNI.EMPRESA) NOMBRE no es total puesto que Nombre depende del
Dni únicamente. A esta dependencia se la denomina parcial.
• La dependencia funcional total sería (DNI.EMPRESA SUELDO)
142
Primera forma normal 1FN
▪Una tabla se encuentra en primera forma normal si y
sólo si los valores que componen el atributo de una
tupla son atómicos. Es decir, si contiene para cada
intersección de fila-columna un solo valor y no un
conjunto de ellos
143
Transformación a 1FN
▪Se divide la relación en dos:
• Se localizan los atributos que forman la clave principal
• Se descompone la tabla realizando dos proyecciones:
• Relación 1: Clave + atributos únicos: Tomando la tabla nueva
el nombre de la tabla original.
• Relación 2: Clave + atributos múltiples. Se crea otra tabla con
la clave y los atributos que tienen valores múltiples,
distribuyendo cada valor en una fila. La tabla que se genera
tendrá un nombre descriptivo compuesto por la abreviatura de
los atributos que la definen. La nueva clave está formada por
ambos campos
144
Primera Forma Normal: 1FN
Matricula Nombre Antigüedad Grado Cargo
Completo académico
000156565 Yesenia 5 Maestría Profesor,
Hernández Consultor
Velazquez
… … … … …
145
Segunda forma normal 2FN
▪Una tabla se encuentra en segunda forma normal si y
sólo si cumple las condiciones:
• Esta en primera forma normal
• Todo atributo secundario depende de la clave principal en su
totalidad y no de una parte de ella
146
Segunda forma normal 2FN
▪Ejemplo: Sea la siguiente tabla de personal:
• PERSONAL(CURP, EMPRESA, NOMBRE, SUELDO)
con las siguientes dependencias:
• CURP→NOMBRE
• CURP, EMPRESA→SUELDO
147
Segunda forma normal 2FN
▪Transformación a la 2FN de una tabla:
• Comprobar que se encuentra en primera 1FN.
• Se realizan dos proyecciones obteniendo dos tablas:
• Una primera tabla con la clave de la tabla inicial y todos los
atributos que tienen una dependencia funcional total con ella.
148
Tercera forma normal (3FN)
▪Ocurre cuando una tabla está en 2FN
149
Ejemplo: 3FN
150
Ejercicio
▪Normalizar la siguiente tabla
151
forma normal de Boyce-Codd (FNBC o BCFN)
▪Ocurre si una tabla está en tercera forma normal y
además todo determinante es una clave candidata.
Ejemplo:
152
Ejemplo: forma normal de Boyce-Codd
153
Dependencia multivaluada
▪Una dependencia multivaluada de una tabla con atributos
X, Y, Z de X sobre Z (es decir X->>Z) ocurre cuando los
posibles valores de Y sobre cualquier par de valores X y Z
dependen sólo del valor de X y son independientes de Z
Ejemplo:
154
cuarta forma normal (4FN)
▪Ocurre esta forma normal cuando una tabla está en
forma normal de Boyce Codd
▪y toda dependencia multivaluada es una dependencia
funcional. Para la tabla anterior la solución serían dos
tablas:
155
Quinta forma normal (5FN)
▪Es la más compleja y polémica de todas.
▪Fue definida también por Fagin
▪Es raro encontrarse este tipo de problemas cuando la
normalización llega a 4FN
https://www.youtube.com/watch?v=7_-DifqVlBI
156