00:00:01
bienvenidos mi nombre es víctor hugo
00:00:03
cárdenas y esta vez haremos una
00:00:05
introducción a las bases de datos ya que
00:00:09
normalmente estas son el corazón de una
00:00:12
organización
00:00:14
ya que es vital que podamos contar con
00:00:16
datos o documentación que nos devuelva
00:00:19
información en la casa por ejemplo
00:00:21
cuando necesitamos pedir una pizza y no
00:00:25
contamos con el teléfono recurrimos a
00:00:27
una guía telefónica para conseguir el
00:00:29
número telefónico de la pizzería la guía
00:00:32
telefónica es una base de datos hoy en
00:00:36
día no necesitamos memorizar todos los
00:00:38
números telefónicos de compañeros y
00:00:40
amigos simplemente en el celular tenemos
00:00:42
que apuntar el nombre de la persona y su
00:00:45
número teléfono para después buscarlo
00:00:47
nuestro celular tiene entonces una base
00:00:50
de datos
00:00:51
mejor aún en las organizaciones es vital
00:00:54
contar con la información de nuestros
00:00:56
clientes los saldos pendientes que sin
00:01:00
llevarlos en papel hoy en día en la
00:01:02
computadora provocarían que perdamos
00:01:05
dinero al no poder cobrar un saldo real
00:01:08
a un cliente
00:01:10
o en una universidad sería muy complejo
00:01:12
el llevar el récord de todas las notas
00:01:15
en las diferentes clases que ha llevado
00:01:17
un alumno aunque el proceso se llevará
00:01:21
en documentos en papel
00:01:23
ese papel sería una base de datos sin
00:01:26
embargo el localizar rápidamente a un
00:01:29
alumno en particular buscándolo dentro
00:01:32
de archivos y grandes cantidades de
00:01:34
hojas pues hoy en día sería poco
00:01:37
práctico ya que ahora contamos con la
00:01:40
computadora
00:01:42
y la computadora a su vez pues cuenta
00:01:44
con diferentes software para poder
00:01:46
guardar información en base de datos hoy
00:01:49
en día es común hablar de bases de datos
00:01:52
como device access foxx mysql server
00:01:58
oracle sql server
00:02:01
paradox de v2 entre otras pero todas las
00:02:05
bases de datos tienen el mismo principio
00:02:08
sobre el que trabajamos hoy en día
00:02:10
trabajamos con el modelo de base de
00:02:12
datos relacional
00:02:15
el modelo relacional tiene como su
00:02:18
principal y fundamental elemento
00:02:22
lo que es una entidad
00:02:25
una entidad es una cosa o un objeto en
00:02:29
el mundo real es distinguible de todos
00:02:31
los demás objetos por ejemplo conocemos
00:02:34
a simple vista la diferencia entre un
00:02:35
automóvil y una persona porque tiene
00:02:37
propiedades diferentes por lo que son
00:02:39
entidades diferentes una entidad tiene
00:02:43
un conjunto de propiedades y los valores
00:02:45
para algún conjunto de propiedades
00:02:46
pueden identificar una entidad de forma
00:02:49
inequívoca por ejemplo un número de
00:02:52
carnet puede identificar de forma
00:02:54
inequívoca a un estudiante particular en
00:02:57
la universidad
00:02:59
análogamente se puede pensar en los
00:03:01
préstamos bancarios como una entidad y
00:03:04
un número de préstamo por ejemplo el
00:03:05
préstamo de 15 en la sucursal de
00:03:08
castellana identifica inequívocamente
00:03:10
una entidad de préstamo
00:03:13
una entidad puede ser concreta como una
00:03:15
persona un libro o puede ser abstracta
00:03:18
un préstamo unas vacaciones un concepto
00:03:22
o puede ser una cosa como una factura un
00:03:26
vehículo al momento de planear una base
00:03:29
de datos debemos de pensar en las
00:03:32
entidades que participan del negocio
00:03:35
para el que vamos a hacer la base de
00:03:37
datos
00:03:39
por ejemplo para el negocio tienda
00:03:42
necesitaríamos entre otras la entidad
00:03:45
cliente la entidad producto la entidad
00:03:48
factura la entidad proveedor
00:03:52
para un hospital por ejemplo
00:03:54
necesitaríamos la entidad doctor la
00:03:57
entidad paciente la entidad de
00:03:59
enfermedad tratamiento entre otras
00:04:03
cada entidad a su vez tiene una serie de
00:04:07
propiedades como por ejemplo la entidad
00:04:10
persona la persona puede tener como
00:04:13
propiedad cabello negro des morena ojos
00:04:17
verdes de igual manera la entidad
00:04:20
cliente cuenta con atributos como el
00:04:24
código del cliente el número de
00:04:26
identificación tributaria el nombre el
00:04:29
apellido la dirección del cliente para
00:04:33
identificar la entidad y sus atributos
00:04:35
se creó entonces el modelo entidad
00:04:38
relación
00:04:40
este modelo representa con un rectángulo
00:04:44
el nombre de la entidad y con óvalos los
00:04:49
atributos de esta entidad
00:04:54
es importante establecer los valores
00:04:57
permitidos para cada atributo esos
00:05:01
valores permitidos para cada tributo se
00:05:03
conocen como dominio
00:05:06
en este ejemplo el número de celular
00:05:08
debería de permitir sólo 8 caracteres
00:05:12
separados por un guión en grupos de 4 el
00:05:17
dominio de este atributo no permitiría
00:05:19
colocar letras por ejemplo
00:05:23
mientras vamos creando las entidades que
00:05:27
participan del negocio de nuestra base
00:05:30
de datos por ejemplo en este caso una
00:05:32
tienda llega el momento en que estas
00:05:34
entidades se relacionan entre sí por
00:05:38
ejemplo para la entidad factura la
00:05:41
factura debe de ser solicitada por un
00:05:43
cliente y la información del cliente
00:05:46
está almacenada en la entidad cliente
00:05:49
para representar la relación entre dos
00:05:53
entidades
00:05:55
se utiliza un rombo el modelo entidad
00:05:59
relación se basa en que tengamos muchas
00:06:01
entidades relacionadas entre sí y la
00:06:05
forma de diagramar esto en el modelo
00:06:07
entidad relación pues es a través de
00:06:09
entidades con sus atributos y
00:06:12
relacionados entre sí para definir la
00:06:14
entidad se utilizan rectángulos para
00:06:18
definir sus atributos óvalos y para
00:06:22
definir la relación entre una entidad y
00:06:25
otra se utilizan rombos conectados todos
00:06:28
por líneas
00:06:30
pero esto tiene que convertirse en algún
00:06:32
momento en una base de datos por lo que
00:06:35
el siguiente paso es pasar del modelo
00:06:39
entidad relación al modelo relacional
00:06:42
entonces nuestro diagrama cambiará el
00:06:46
modelo entidad relación
00:06:49
donde la entidad era un rectángulo y los
00:06:52
atributos óvalos
00:06:55
a una tabla o también se le puede decir
00:06:58
relación y cada tributo se convertirá en
00:07:02
una columna
00:07:04
y al tener todas las entidades ahora
00:07:07
tablas creadas al relacionar las entre
00:07:12
sí ahora tendremos un diagrama del
00:07:16
modelo relacional de una base de datos
00:07:20
ahora al pasar al modelo relacional se
00:07:24
deben de aplicar ciertas reglas de
00:07:26
estandarización de normalización de
00:07:30
todas las tablas a este conjunto de
00:07:33
reglas se le conoce como normalización
00:07:36
de base de datos que consiste en aplicar
00:07:39
una serie de reglas a las relaciones
00:07:41
obtenidas tras el paso del modelo
00:07:43
entidad relación al modelo relacional
00:07:46
las bases de datos relacionales se
00:07:49
normalizan para evitar la redundancia de
00:07:52
los datos evitar problemas de
00:07:54
actualización de datos en las tablas y
00:07:56
para proteger la integridad de los datos
00:07:59
en este punto es importante mencionar
00:08:01
que tenemos tres tipos de integridad es
00:08:05
la integridad de dominio que como
00:08:08
dijimos anteriormente limita el conjunto
00:08:11
de datos posibles en una columna la
00:08:13
integridad de entidad que busca que cada
00:08:16
fila debe de ser única que no se permita
00:08:19
la duplicidad y la integridad
00:08:21
referencial que es cuando el atributo o
00:08:24
columna de una tabla hace referencia a
00:08:25
la información
00:08:26
otra tabla
00:08:28
en el modelo relacional es frecuente
00:08:30
llamar tabla a una relación aunque para
00:08:33
que una tabla sea considerada como una
00:08:36
relación tiene que cumplir con algunas
00:08:39
restricciones como lo son que cada tabla
00:08:42
debe de tener un nombre único que no
00:08:44
puede haber dos filas iguales que todos
00:08:47
los datos en una columna deben de ser
00:08:50
del mismo tipo para cumplir con estos
00:08:52
enunciados se crearon entonces las
00:08:56
reglas de normalización
00:08:59
qué son seis reglas
00:09:04
la primera regla de normalización dice
00:09:07
que cada fila o tu plan de una tabla
00:09:10
debe de representar una entidad y las
00:09:14
entidades deben de ser únicas por lo que
00:09:17
se debe de establecer un atributo o
00:09:20
columna que identifique de forma única
00:09:23
cada registro de la tabla esto se hace
00:09:27
estableciendo una llave primaria o clave
00:09:31
principal de la misma manera en la que
00:09:33
un contribuyente tiene un número de
00:09:36
identificación tributaria de la misma
00:09:38
manera que un estudiante tiene un número
00:09:40
de carnet único igual un vehículo tiene
00:09:43
la identificación a través del número de
00:09:46
placa de esa misma manera todas nuestras
00:09:48
tablas deben de contar con una columna
00:09:50
que identifique de forma única cada fila
00:09:54
de la tabla esto se hace estableciendo
00:09:56
una llave primaria
00:09:59
para nuestro ejemplo
00:10:02
la llave primaria en este caso será el
00:10:05
código pero la primera regla de
00:10:07
normalización también dice que los
00:10:10
atributos de una tabla deben de ser
00:10:13
atómicos esto quiere decir que un
00:10:15
atributo debe de ser indivisible en
00:10:18
nuestro ejemplo tengo el atributo nombre
00:10:21
pero en este caso existen nombres que se
00:10:25
componen de dos partes por lo que en mi
00:10:29
ejemplo
00:10:31
este atributo no se puede considerar
00:10:34
atómico ya que puede subdividirse en
00:10:37
primer nombre y segundo nombre igual con
00:10:41
los apellidos primer apellido segundo
00:10:43
apellido las direcciones en guatemala
00:10:46
están divididas en número de calle o
00:10:49
avenida en número de casa por lo que
00:10:52
dirección todavía se puede subdividir
00:10:55
aún más en este caso no podemos
00:10:57
considerar entonces atómicos a todos los
00:11:00
atributos la primera regla de
00:11:02
normalización también dice que el orden
00:11:05
de los datos no debe de ser relevante
00:11:08
por lo tanto juane lisandro que está
00:11:12
como primer dato podría muy bien estar
00:11:15
como doceavo dato o como último dato ya
00:11:20
que el orden no debe de ser importante
00:11:23
tampoco debe de afectar el orden de los
00:11:27
atributos
00:11:29
por ejemplo el atributo nombre podría
00:11:32
muy bien estar como segundo atributo
00:11:35
pero también podría estar como octavo
00:11:38
atributo sin ningún problema y salario
00:11:41
podría ser el primer atributo de la
00:11:44
tabla la posición en la que nombramos
00:11:47
los atributos no debe de ser relevante
00:11:54
la segunda regla de normalización dice
00:11:57
que primero debe de cumplir con la
00:11:59
primera regla de normalización y luego
00:12:02
toda columna que no sea llave primaria
00:12:06
debe de guardar relación directa con su
00:12:10
clave principal o llave primaria esto
00:12:13
quiere decir que en mi tabla empleado su
00:12:16
llave primaria es el código del empleado
00:12:18
que tiene relación directa con el nombre
00:12:20
del empleado que tiene relación directa
00:12:23
con el apellido del empleado que tiene
00:12:26
dirección y la zona donde vive el
00:12:29
empleado que tiene relación directa con
00:12:31
el código del departamento donde trabaja
00:12:35
el empleado pero el nombre del
00:12:38
departamento donde trabaja el empleado y
00:12:41
el jefe del departamento son información
00:12:44
no directa del empleado esta información
00:12:48
es directa de una entidad llamada
00:12:50
departamento que sería otra distinta a
00:12:54
la entidad de empleado en este caso
00:12:56
nombre del departamento guarda relación
00:12:58
con el código del departament
00:13:01
jefe del departamento guarda relación
00:13:03
con el código del departamento por lo
00:13:07
tanto estos atributos no deben de formar
00:13:10
parte de la entidad de empleado ya que
00:13:13
la segunda regla de normalización dice
00:13:16
que todos los atributos que no sean
00:13:18
llave primaria deben de guardar
00:13:20
dependencia funcional con su llave
00:13:23
primaria también tenemos que tener en
00:13:25
cuenta cuando la llave primaria de una
00:13:29
tabla sea compuesta esto quiere decir
00:13:32
que la formen dos o más atributos en
00:13:36
este ejemplo
00:13:39
de estas tres columnas o atributos de la
00:13:42
tabla para garantizar una llave única
00:13:46
necesitaríamos volver llave primaria a
00:13:50
los atributos empleado y habilidad ya
00:13:53
que juntos empleado y habilidad no
00:13:57
tienen valores duplicados ahora el
00:14:00
problema es que los atributos que no
00:14:04
sean parte de la llave primaria deben de
00:14:07
guardar relación directa con todos los
00:14:11
atributos que formen la llave primaria y
00:14:14
en este caso el lugar de trabajo se
00:14:17
puede asociar perfectamente con el
00:14:19
empleado jones pero no con su habilidad
00:14:24
por lo tanto este ejemplo no estaría en
00:14:27
segunda forma normal porque el atributo
00:14:30
que no es llave primaria no guarda
00:14:33
relación directa con todos los atributos
00:14:36
que forman la llave primaria
00:14:39
para satisfacer la segunda regla de
00:14:42
normalización tendríamos que crear
00:14:45
entonces dos tablas una empleados donde
00:14:49
también tenga el atributo del lugar
00:14:52
actual de trabajo y la llave sería el
00:14:56
nombre del empleado y otra tabla
00:14:59
habilidades de los empleados donde
00:15:01
aparezca el empleado con su respectiva
00:15:03
habilidad y en este caso tendría una
00:15:07
llave compuesta de los dos atributos de
00:15:11
esta tabla
00:15:15
regresando al ejemplo anterior podemos
00:15:19
definir aquí mismo la tercera regla de
00:15:21
normalización los atributos departamento
00:15:26
que contiene el nombre del departamento
00:15:28
y jefe de departamento que no tienen una
00:15:31
relación directa con el código del
00:15:33
empleado sino más bien la relación
00:15:36
directa es con código departamento y a
00:15:39
su vez código departamento si tiene una
00:15:42
relación directa con el código del
00:15:44
empleado se dice entonces que estos
00:15:48
atributos tienen una relación transitiva
00:15:51
con la llave primaria de esta tabla ya
00:15:54
que para relacionarse con el código del
00:15:57
empleado deben de hacerlo a través del
00:16:00
código del departamento
00:16:04
a eso se le llama dependencia transitiva
00:16:07
y pues la tercera regla de normalización
00:16:09
dice que no deben de existir
00:16:11
dependencias transitivas y que estos
00:16:14
atributos deben de ser llevados a una
00:16:17
nueva entidad por lo que separamos ahora
00:16:21
la entidad de empleado y la nueva
00:16:23
entidad departamento debe de cumplir con
00:16:26
la primera y segunda regla de
00:16:28
normalización
00:16:31
estableciendo una llave primaria y que
00:16:35
sus atributos que no son llave primaria
00:16:38
guarden relación directa con su llave
00:16:40
primaria y la entidad empleado de igual
00:16:44
forma mantiene su llave primaria y ahora
00:16:47
garantizamos
00:16:50
que todos sus atributos guardan relación
00:16:53
directa con la llave primaria
00:16:57
de hecho se dice que todo atributo que
00:17:01
no sea llave primaria debe de
00:17:03
proporcionar un hecho de la llave
00:17:06
primaria en este caso sí digo código del
00:17:09
empleado el nombre pues es un hecho del
00:17:13
empleado el apellido es un hecho del
00:17:15
empleado que se identifica a través del
00:17:17
código pero ahora también cuento con un
00:17:21
campo código del departamento
00:17:25
que hace referencia a la tabla
00:17:27
departamento para poder obtener la
00:17:30
información de que el nombre de
00:17:32
departamento es de que jefe de
00:17:34
departamento es
00:17:39
hablemos ahora de la regla normal de
00:17:41
voice con esta regla dice que debe de
00:17:44
cumplir con la tercera regla de
00:17:46
normalización y cada dependencia
00:17:48
funciona no trivial tiene una clave
00:17:52
candidata como determinante para
00:17:54
ejemplificar esto contamos con la tabla
00:17:57
empleado que tiene dos atributos únicos
00:18:02
primero el número único del empleado
00:18:08
y luego el número de identificación
00:18:10
tributaria que también es único y que
00:18:14
también puede ser la llave primaria de
00:18:17
esta tabla por consiguiente un hombre
00:18:20
tiene una dependencia funcional con el
00:18:24
número único del empleado
00:18:27
pero también tendría una dependencia
00:18:29
funcional con el número de
00:18:31
identificación tributaria del empleado
00:18:33
que también es único
00:18:36
de igual forma apellido tiene
00:18:40
dependencia funcional con el número
00:18:44
único del empleado pero también tiene
00:18:46
dependencia funcional o relación directa
00:18:49
con el número de identificación
00:18:49
tributaria del empleado que también es
00:18:53
único veamos otro ejemplo contamos ahora
00:18:57
con la tabla tutora estudiante que
00:19:00
contiene la asignación del estudiante
00:19:04
con su respectivo tutor en este caso el
00:19:07
estudiante 31.850 está asignado al tutor
00:19:12
1078 el estudiante 37 1921 también está
00:19:17
asignado al tutor 1078 el problema de
00:19:22
esta tabla es que el tutor tiene dos
00:19:26
atributos de identificación únicos
00:19:29
[Música]
00:19:31
que en este caso son el aire de tutor
00:19:34
que es único pero también el número de
00:19:36
seguro social del tutor es único por lo
00:19:40
que la dependencia funcional de haití de
00:19:42
estudiante puede ser con aire de tutor
00:19:45
pero también puede ser con el número de
00:19:47
seguro social del tutor
00:19:51
a la hora de asignar llaves primarias a
00:19:54
esta tabla tendrían que ser llaves
00:19:56
compuestas que podría ser el aire del
00:20:00
tutor y el aire del estudiante
00:20:04
o podría ser el número de seguro social
00:20:07
del tutor más el aire del estudiante
00:20:12
esto puede causar inconsistencias ya que
00:20:16
no existe un atributo único para
00:20:19
identificar al tutor aplicar la regla de
00:20:22
voice colt es simple ya que lo único que
00:20:25
tenemos que hacer es ignorar uno de los
00:20:27
atributos para nuestro ejemplo
00:20:30
deberíamos de utilizar como llave haití
00:20:34
tutor y haití de estudiante o número de
00:20:37
seguro social del tutor y estudiante
00:20:39
pero no ambos para nuestro ejemplo
00:20:42
dejaremos solo
00:20:44
haití tutor