1
00:00:00,350 --> 00:00:02,860
Bueno muy bien vamos a comenzar en esta clase.

2
00:00:03,030 --> 00:00:10,180
Vamos a estar viendo la normalización de tablas dentro de nuestra base de datos.

3
00:00:10,420 --> 00:00:15,840
Lo que tenemos que tener en cuenta primeramente es que existen varias ventajas a la hora de normalizar

4
00:00:15,840 --> 00:00:17,150
nuestras tablas.

5
00:00:17,250 --> 00:00:23,940
Una de las ventajas es que se evitan problemas en la inserción en el borrado y en la modificación de

6
00:00:23,940 --> 00:00:29,970
datos y también si en un futuro se amplían las tablas habrá menos cambios en la estructura de nuestra

7
00:00:29,970 --> 00:00:31,500
base de datos.

8
00:00:31,500 --> 00:00:38,460
También por consiguiente tendremos menos modificaciones en los procesos que se ejecuten a través de

9
00:00:38,460 --> 00:00:46,110
una interface de usuario en la que debamos mostrar determinada información así que vamos a comenzar

10
00:00:46,110 --> 00:00:49,290
con la primera forma normal y esta.

11
00:00:49,360 --> 00:00:57,270
Esta primera forma normal dice que una tabla está en primera forma normal si y sólo si todos sus campos

12
00:00:57,390 --> 00:01:02,280
es decir atributos contienen valores atómicos.

13
00:01:02,280 --> 00:01:10,260
Esto quiere decir que cada atributo de la tabla deberá tener un único valor para cada ocurrencia de

14
00:01:10,260 --> 00:01:16,110
la entidad es decir que no se van a permitir grupos repetitivos qué queremos decir con esto queremos

15
00:01:16,110 --> 00:01:21,840
decir que no serán permitidos registros con valores duplicados.

16
00:01:21,840 --> 00:01:28,050
Por lo tanto lo que tendremos que hacer en ese caso es identificar cada registro de manera unívoca es

17
00:01:28,050 --> 00:01:30,750
decir de una única forma.

18
00:01:30,750 --> 00:01:37,170
Entonces vamos a revisar el ejemplo que tenemos aquí debajo de nuestra tabla de pacientes que está sin

19
00:01:37,170 --> 00:01:38,240
normalizar.

20
00:01:38,430 --> 00:01:46,520
Tenemos el campo nombre tenemos el campo país tenemos el campo y de médico y el campo médico estos campos

21
00:01:46,530 --> 00:01:52,560
los que nos dicen con qué médico se atendió determinado paciente.

22
00:01:52,620 --> 00:01:57,230
Vamos a revisar entonces si esta tabla está en primera forma normal.

23
00:01:57,510 --> 00:02:06,450
Fíjese tenemos el campo nombre donde tenemos los valores Juan Carlos Carlos Andrés Juan Sánchez y Juan

24
00:02:06,450 --> 00:02:09,490
Sánchez también ambos del país México.

25
00:02:09,600 --> 00:02:17,880
Entonces estamos repitiendo dos registros aquí porque el paciente Juan Sánchez se atendió con el médico

26
00:02:18,240 --> 00:02:24,190
López Mónika y estamos repipi en otro registro más abajo con los mismos valores.

27
00:02:24,270 --> 00:02:30,410
Esto puede ocurrir porque podemos tener dos personas que se llama Juan Sánchez del mismo país.

28
00:02:30,410 --> 00:02:36,270
Sí bueno la primera forma normal no permite estas repeticiones por lo tanto vamos a tener que agregar

29
00:02:36,600 --> 00:02:43,840
un identificador de registro para poder identificar cada registro de manera unívoca.

30
00:02:43,980 --> 00:02:48,270
Vamos a bajar un poquito a ver cómo resolvimos este problema.

31
00:02:48,390 --> 00:02:57,810
Bueno la solución fue colocar un campo de pacientes y el cual hemos definido como Pragma ariki y hemos

32
00:02:57,810 --> 00:03:00,650
identificado a cada paciente con una Heydi diferente.

33
00:03:00,690 --> 00:03:10,110
Fíjese el paciente Juan Carlos tiene Leidi uno el paciente Carlos Andrés tiene el Heydi dos y así sucesivamente

34
00:03:10,380 --> 00:03:17,760
a medida que vayamos agregando registros en la tabla cada paciente estará identificado unívocamente

35
00:03:18,120 --> 00:03:26,040
por la columna es decir por el campo y de pacientes si con esto solucionamos la primera forma normal

36
00:03:26,370 --> 00:03:35,040
que nos dice que no podemos tener grupos repetitivos de registro entonces vamos a analizar ahora si

37
00:03:35,040 --> 00:03:37,490
esta tabla está en segunda forma normal.

38
00:03:37,560 --> 00:03:44,100
La segunda forma normal dice que una tabla está en segunda forma normal si y sólo si esta en primera

39
00:03:44,100 --> 00:03:44,810
forma normal.

40
00:03:44,820 --> 00:03:51,660
Por supuesto y todos los atributos no clave dependen por completo de la clave primaria.

41
00:03:51,660 --> 00:03:57,680
Qué quiere decir esto quiere decir que cada atributo no clave debe depender.

42
00:03:57,690 --> 00:04:05,850
Es decir debe tener una relación directa con el campo y de paciente que es en nuestro caso la primarily

43
00:04:06,360 --> 00:04:14,980
entonces vamos a revisar si vamos a revisar el campo nombre depende del campo para el maniquí y de paciente.

44
00:04:14,980 --> 00:04:24,110
Sí depende porque es el paciente desde el nombre del paciente el campo país depende de la maniquí sí

45
00:04:24,180 --> 00:04:33,660
porque es el país donde pertenece el paciente del campo y de médico y depende de campo y de paciente.

46
00:04:33,660 --> 00:04:41,700
No no depende porque es el Heydi del médico que atendió al paciente si no tiene una relación directa

47
00:04:41,940 --> 00:04:44,730
con el campo médico sucede lo mismo.

48
00:04:44,760 --> 00:04:50,480
Sí porque no depende de la clave primaria hay paciente.

49
00:04:50,520 --> 00:04:54,270
Entonces esta tabla no están segunda forma normal.

50
00:04:54,270 --> 00:05:03,160
Por consiguiente tampoco está en Tercera forma normal pero vamos a revisar lo que dice la tercera forma

51
00:05:03,160 --> 00:05:07,100
normal para ver qué campos cumplen esta regla.

52
00:05:07,210 --> 00:05:15,050
Vamos a repasar la tercera forma normal nos dice que una tabla está en Tercera forma normal si sólo

53
00:05:15,100 --> 00:05:23,410
si están de una forma normal y sus atributos no clave son independientes entre sí entonces esto quiere

54
00:05:23,410 --> 00:05:31,990
decir que los valores de los atributos dependen solo de la clave primaria y no dependen de otro atributo

55
00:05:32,200 --> 00:05:33,250
no clave.

56
00:05:33,340 --> 00:05:41,770
Entonces decimos que el valor del atributo no debe depender del valor de otro atributo no clave.

57
00:05:41,950 --> 00:05:47,860
Entonces para revisar si esta tabla no cumple alguna de estas definiciones de la tercera forma normal

58
00:05:48,190 --> 00:05:55,780
si vamos a revisar si por ejemplo el campo médico y el campo médico fíjense que tienen una relación

59
00:05:55,780 --> 00:06:04,660
directa entre entre ellos es decir que vamos a suponer que nosotros queremos cambiar el Heydi del médico

60
00:06:04,660 --> 00:06:11,920
de esta tabla si en vez de uno aquí le tenemos que colocar el valor 2 por ejemplo si el valor 2 corresponde

61
00:06:11,920 --> 00:06:19,000
al médico López Mónika entonces si yo quiérete le coloco 2 pues entonces automáticamente le tengo que

62
00:06:19,000 --> 00:06:27,670
cambiar el nombre del médico tengo que quitar el nombre pero Juan y reemplazar el nombre López Mónica

63
00:06:27,670 --> 00:06:37,780
Bueno a eso apunta la tercera forma normal es decir que no existan atributos no clave que dependan de

64
00:06:37,780 --> 00:06:45,310
otro atributo que tampoco es clave si como es este caso el campo de médico depende del campo médico.

65
00:06:45,340 --> 00:06:48,940
Si uno cambia debo cambiar el otro.

66
00:06:49,030 --> 00:06:57,010
Entonces para ello para que esta tabla también esté en Tercera forma normal debo quitar estos dos campos

67
00:06:57,340 --> 00:07:04,140
de la tabla si estos campos aquí no deben estar y de médico y médico los tenemos que quitar.

68
00:07:04,270 --> 00:07:12,400
Entonces vamos a continuar para ver cómo normalizamos esta tabla de paciente en Segunda y Tercera forma

69
00:07:12,400 --> 00:07:13,360
normal.

70
00:07:13,360 --> 00:07:18,800
Hemos quitado los campos de médico y médico y el campo.

71
00:07:18,960 --> 00:07:27,460
País de paso lo hemos codificado con la nomenclatura internacional de países de tres caracteres.

72
00:07:27,670 --> 00:07:35,410
Esto es para que no tengamos que colocar la descripción completa del país sino que colocamos su codificación

73
00:07:35,830 --> 00:07:37,090
internacional.

74
00:07:37,180 --> 00:07:44,260
Entonces a raíz de esto se desprende que debemos crear una tabla de países también para continuar con

75
00:07:44,260 --> 00:07:45,810
la normalización.

76
00:07:45,960 --> 00:07:54,880
Si la tabla siguiente que se desprende de la normalización es la tabla país si hemos definido un campo

77
00:07:54,970 --> 00:08:03,830
de país ariki si con la codificación internacional de cada país y una descripción del país donde allí

78
00:08:03,830 --> 00:08:13,780
sí tenemos la descripción extendida de cada país también como producto de esta normalización hemos creado

79
00:08:13,780 --> 00:08:22,300
la tabla médico en la cual le hemos asignado un campo médico primarily con los valores que estaban asignados

80
00:08:22,390 --> 00:08:26,440
en la tabla paciente y le hemos colocado un nombre del médico.

81
00:08:26,460 --> 00:08:32,640
Si un campo adicional donde tenemos el nombre y apellido del médico en el cual tenemos el médico Pere

82
00:08:32,650 --> 00:08:42,250
Joan y la doctora López Mónica y también como producto de esta normalización si se desprende la creación

83
00:08:42,250 --> 00:08:52,210
de una tabla que relaciona estos pacientes sí con los médicos es decir qué relación tenemos si habíamos

84
00:08:52,210 --> 00:09:01,280
dicho que en la tabla paciente teníamos los médicos con los que se había atendido ese paciente.

85
00:09:01,720 --> 00:09:09,340
Entonces la relación que tenemos entre ellos dos es un turno entonces a raíz de eso se desprende que

86
00:09:09,430 --> 00:09:13,140
necesitamos crear una tabla de turnos.

87
00:09:13,510 --> 00:09:23,100
Hemos creado la tabla turno paciente e iremos asignado un auditor no para de Mariquita y hemos asignado

88
00:09:23,110 --> 00:09:32,280
los pacientes que teníamos en la tabla de pacientes y con un campo de paciente 1 2 3 4 y el turno también

89
00:09:32,290 --> 00:09:33,750
1 dos tres cuatro.

90
00:09:33,850 --> 00:09:40,630
Y hemos asignado los Heydi médicos que estaban en nuestra tabla de pacientes entonces de esta manera

91
00:09:40,940 --> 00:09:51,220
si tenemos que realizar un cambio en nuestra tabla de turno sí porque por ejemplo decimos que para determinado

92
00:09:51,220 --> 00:09:56,950
turno tenemos que cambiar el Heydi médico si tenemos que colocar otro porque necesitamos realizar una

93
00:09:56,950 --> 00:10:01,790
modificación en ese turno tenemos que hacer aquí es venir la tabla.

94
00:10:01,900 --> 00:10:11,390
Turno paciente y cambiar el Heydi correspondiente al médico que estamos necesitando actualizar y no

95
00:10:11,390 --> 00:10:19,490
necesitamos colocar el nombre del médico o nada por el estilo solo colocamos Leydi médico lo actualizamos

96
00:10:19,490 --> 00:10:22,610
con el correspondiente y listo.

97
00:10:22,700 --> 00:10:29,900
Eso sería todo lo que hay que hacer entonces este proceso de normalización lo que nos permite es tener

98
00:10:30,050 --> 00:10:38,660
las tablas bien determinadas por entidades es decir lo que tenemos en cada una de las tablas son datos

99
00:10:39,020 --> 00:10:45,760
que dependen directamente de su Pragma ariki y de su llave primaria.

100
00:10:45,770 --> 00:10:53,180
Entonces como le decía al comienzo de la clase cualquier reestructuración que surja en un futuro con

101
00:10:53,180 --> 00:10:59,240
este tipo de tablas no vamos a tener ningún problema porque vamos a agregar los campos que sean necesarios

102
00:10:59,600 --> 00:11:06,470
y no habrá mayores problemas en la estructura general de nuestra base de datos.
