1 00:00:01,429 --> 00:00:07,629 Hola a todos, en este pequeño vídeo os voy a introducir a cómo funcionan las bases de datos 2 00:00:07,629 --> 00:00:11,929 o por qué se hacen las bases de datos y cómo se inicia una base de datos básica. 3 00:00:12,550 --> 00:00:13,890 Primero, fijaros en la pantalla. 4 00:00:15,429 --> 00:00:19,429 Vamos a imaginar que queremos hacer una base de datos para una academia de idiomas. 5 00:00:19,750 --> 00:00:22,510 Quieren informatizar la gestión de alumnos y cursos. 6 00:00:23,329 --> 00:00:27,269 Y cada alumno, por ejemplo, guardamos matrícula, nombre y teléfono 7 00:00:27,269 --> 00:00:32,170 y de cada curso el código de un curso, el idioma y el nivel. 8 00:00:32,429 --> 00:00:34,530 La matrícula sería como el DNI, podría valerme. 9 00:00:35,149 --> 00:00:41,890 Luego, los alumnos se pueden matricular en varios cursos, por ejemplo, matemáticas, lengua, inglés, ¿vale? 10 00:00:41,890 --> 00:00:47,549 Y un curso, aquí, puede tener varios alumnos, así que el de lengua puede tener varios. 11 00:00:48,250 --> 00:00:52,130 Luego, aparte, hay departamentos, como el departamento de matemáticas o el de biología, 12 00:00:52,369 --> 00:00:55,909 y de cada departamento guardamos el código y el nombre. 13 00:00:55,909 --> 00:01:02,729 Y luego, todos los cursos, cada curso es impartido por un profe y debemos guardar DNI y nombre. 14 00:01:03,310 --> 00:01:07,189 Vale, os voy a enseñar cómo se guardaría esa tabla en una hoja de cálculo de Excel. 15 00:01:08,489 --> 00:01:10,750 Es lo que se llaman tablas sin normalizar. 16 00:01:14,049 --> 00:01:20,909 Son datos inventados. En esta tabla, en la primera fila, voy a hacer lupa, para que se vea. 17 00:01:21,510 --> 00:01:26,409 Hemos matriculado al alumno A001, que es Laura Martínez Pérez, y tenemos el teléfono. 18 00:01:26,409 --> 00:01:30,209 Y se matricula de un curso que el código es C01 y es inglés 19 00:01:30,209 --> 00:01:33,109 Y ese curso es de nivel A2 20 00:01:33,109 --> 00:01:34,409 Fijaros aquí 21 00:01:34,409 --> 00:01:39,209 El curso tiene código idioma y nivel 22 00:01:39,209 --> 00:01:42,209 Así que el código del curso, el idioma y el nivel 23 00:01:42,209 --> 00:01:44,409 Pero además pertenece a un departamento 24 00:01:44,409 --> 00:01:46,609 Ahí he puesto el departamento 25 00:01:46,609 --> 00:01:48,810 Que en este caso, me muevo para la derecha 26 00:01:48,810 --> 00:01:52,829 Es departamento de idiomas germánicos 27 00:01:52,829 --> 00:01:54,310 Mira que es inglés y lo pone 28 00:01:54,310 --> 00:01:57,450 Luego el DNI del profesor, ¿de acuerdo? 29 00:01:57,769 --> 00:01:59,930 Y el teléfono del profesor 30 00:01:59,930 --> 00:02:01,189 Entonces, ¿qué pasa? 31 00:02:02,030 --> 00:02:03,530 Todo lo que pide aquí, ¿vale? 32 00:02:03,590 --> 00:02:06,049 El curso, el DNI, el departamento 33 00:02:06,049 --> 00:02:12,009 ¿Qué pasa? Que si luego Laura se vuelve a apuntar en otro curso 34 00:02:12,009 --> 00:02:17,289 Volvemos a poner su número de matrícula, su teléfono y el código del curso, ¿vale? 35 00:02:17,289 --> 00:02:24,169 Y luego si ese mismo curso de árabe lo hace alguien como por ejemplo Irina Popescu, ¿vale? 36 00:02:24,310 --> 00:02:40,069 Pues estamos repitiendo otra vez el código del curso, el nivel, si es el mismo, que es el mismo, el departamento, incluso el profe, porque el profe es Nadia Hassan, que está aquí, que está su DNI, su código y su teléfono y se repite aquí arriba. 37 00:02:40,069 --> 00:02:47,550 Entonces estamos repitiendo datos. No es la idea que se repitan datos, sino ahorrar en datos y que todo sea más ordenado para no equivocarnos. 38 00:02:47,710 --> 00:02:54,430 Porque imaginaos que la segunda vez que pongo el nombre de Nadia me equivoco y le pongo una S de más o el número del teléfono mal. 39 00:02:54,849 --> 00:02:58,469 La idea es comprobar que los datos se mantienen íntegros, que no se estropean. 40 00:02:58,629 --> 00:03:01,949 Entonces, ¿cómo se hace esto normalmente en una base de datos? 41 00:03:01,949 --> 00:03:07,580 Vale, fijaos que aquí tengo 34 líneas 42 00:03:07,580 --> 00:03:08,840 Vale, me voy a la página 43 00:03:08,840 --> 00:03:13,419 Y normalmente lo que se hace es separarlo en tablas 44 00:03:13,419 --> 00:03:20,449 Estas serían unas tablas separadas, ¿de acuerdo? 45 00:03:20,569 --> 00:03:25,770 Están los alumnos, los profesores, los departamentos 46 00:03:25,770 --> 00:03:30,229 Voy a hacer zoom con sus códigos, ¿vale? 47 00:03:30,550 --> 00:03:33,250 Y también están los cursos, ¿de acuerdo? 48 00:03:33,469 --> 00:03:35,629 Y también están los alumnos matriculados 49 00:03:35,629 --> 00:03:38,449 Voy a abrir otra cosa antes de que me despiste 50 00:03:38,449 --> 00:03:45,340 En separarlos en tablas, por ejemplo, en la tabla alumnos 51 00:03:45,340 --> 00:03:55,169 Lo que yo tendría son los alumnos 52 00:03:55,169 --> 00:03:57,409 Y lo mismo para cada una de las tablas 53 00:03:57,409 --> 00:03:59,250 La voy a abrir para que las veáis 54 00:03:59,250 --> 00:04:03,439 Entonces, esta es la tabla de alumnos 55 00:04:03,439 --> 00:04:05,400 Y solo guardo los nombres de los alumnos 56 00:04:05,400 --> 00:04:07,360 Para cada alumno el código 57 00:04:07,360 --> 00:04:13,500 El teléfono y nada más 58 00:04:13,500 --> 00:04:23,759 Vale, ahora vamos a buscar la de profesores. Esta es la de profesor. Lo mismo, el código DNI del profesor, los datos del profesor y los teléfonos de los profesores. 59 00:04:24,019 --> 00:04:30,600 Voy a buscar la siguiente. Los departamentos. Tengo cuatro departamentos. Germánico, Romance, Semíticos y Asiáticos. 60 00:04:30,939 --> 00:04:34,800 Y guardo el código de cada departamento y el nombre del departamento. 61 00:04:38,060 --> 00:04:45,139 Y aquí viene la primera diferencia. Estoy viendo los cursos. Tengo el código del curso, el nombre del curso y el nivel del curso. 62 00:04:45,139 --> 00:04:49,699 Pero además voy a apuntarme el código del departamento para saber a qué departamento pertenece. 63 00:04:49,779 --> 00:04:53,180 Así que cada curso debe guardar el código de su departamento. 64 00:04:53,639 --> 00:04:57,000 Y además cada curso debería guardar el código del profesor. 65 00:04:57,180 --> 00:05:02,019 Así que luego mirando en la tabla de profesores con este código podíamos saber los datos del profesor. 66 00:05:02,139 --> 00:05:10,259 Y mirando en la tabla de departamentos con este código, con el que he marcado aquí, donde el ratón, podía ver los datos del departamento. 67 00:05:10,379 --> 00:05:13,959 Y me queda, ¿cuándo se matriculan los alumnos en los cursos? 68 00:05:15,139 --> 00:05:22,699 Estas son las matrículas de los cursos. Guardo parejas. Simplemente el código del alumno, el curso, el código del alumno, el curso. 69 00:05:23,680 --> 00:05:31,759 El alumno 1, curso 5. Alumno 2, curso 1. Alumno 2, curso 3. Ahí tengo todos los alumnos y todos los cursos. 70 00:05:32,680 --> 00:05:38,490 Y si esto lo muestro en una gran tabla, sería así. 71 00:05:38,490 --> 00:05:42,329 Yo estoy viendo en verde aquí en la zona de la izquierda 72 00:05:42,329 --> 00:05:46,250 Se me ha quedado pegada una tecla y me está haciendo unos líos 73 00:05:46,250 --> 00:05:50,850 Mientras el vídeo, sí, se me ha quedado un ratón pegado 74 00:05:50,850 --> 00:05:55,310 Vale, la tabla de la izquierda, la que va de A1 a C1 son los alumnos 75 00:05:55,310 --> 00:05:58,910 Aquí tengo los profesores y aquí los departamentos 76 00:05:58,910 --> 00:06:03,290 Fijaros que los he puesto en verde porque en estas tablas no guardan datos más que de ellos mismos 77 00:06:03,290 --> 00:06:06,649 En cambio, en la tabla que tenemos aquí en el medio 78 00:06:06,649 --> 00:06:11,750 del código del curso, para cada curso 79 00:06:11,750 --> 00:06:15,089 por cierto, esto debería ser azul y lo he puesto verde 80 00:06:15,089 --> 00:06:18,910 a ver si lo puedo cambiar un momento, color cambiado 81 00:06:18,910 --> 00:06:23,449 estoy en la tabla de los cursos y quiero que os fijéis en los colores que tiene esta tabla 82 00:06:23,449 --> 00:06:28,050 en el fondo, el código, el idioma y el nivel son datos propios 83 00:06:28,050 --> 00:06:31,889 que cada curso guarda de sí mismo, en cambio el código de departamento 84 00:06:31,889 --> 00:06:35,990 y el DNI del profesor vienen de otra tabla, porque este código de departamento 85 00:06:35,990 --> 00:06:40,230 D01 es la clave de un curso que está en esta tabla 86 00:06:40,230 --> 00:06:43,990 entonces antes de poder crear un curso tendrá que haber un departamento 87 00:06:43,990 --> 00:06:47,949 con ese código, ¿de acuerdo? y una vez que creas el curso 88 00:06:47,949 --> 00:06:51,990 tienes que asignarle un profesor porque este código de profesor viene 89 00:06:51,990 --> 00:06:55,569 de aquí a la izquierda, de los DNI de los profesores 90 00:06:55,569 --> 00:07:00,089 y la última tabla de la derecha, esta, es una tabla en la que 91 00:07:00,089 --> 00:07:04,350 se guardan las parejas, lo he puesto en azul igual porque el código de matrícula 92 00:07:04,350 --> 00:07:08,310 del alumno y el código del curso vienen de otra tabla. El código 93 00:07:08,310 --> 00:07:11,810 de curso viene de aquí, de la tabla de los códigos de curso, ¿vale? 94 00:07:11,930 --> 00:07:15,750 Y la matrícula del alumno que está aquí viene de 95 00:07:15,750 --> 00:07:20,009 la izquierda de todo, de aquí, ¿de acuerdo? 96 00:07:20,149 --> 00:07:23,610 Por eso los colores, para que vierais que hay tablas 97 00:07:23,610 --> 00:07:27,850 que he puesto en verde porque los datos son suyos, no vienen de otro lugar 98 00:07:27,850 --> 00:07:32,250 y tablas que tienen campos en azul porque vienen de otro sitio, ¿vale? 99 00:07:32,250 --> 00:07:41,069 Esto hay que hacerlo para entenderlo o dibujarlo normalmente se hace un diagrama, que es lo que se ha hecho con el draw.io. 100 00:07:41,370 --> 00:07:48,230 Entonces me voy al draw.io, que lo tengo por aquí. 101 00:07:49,069 --> 00:07:52,170 En el draw.io yo puedo dibujar cada una de las tablas. 102 00:07:52,170 --> 00:07:56,490 He dibujado el alumno, el curso y el departamento. 103 00:07:56,709 --> 00:08:06,970 Y según esto, me queda alumno, el departamento, el curso, me quedan los profesores. 104 00:08:07,230 --> 00:08:08,769 Así que voy a añadir una tabla. 105 00:08:08,889 --> 00:08:11,949 Para añadir la tabla, me tengo que ir al lado de la izquierda. 106 00:08:12,110 --> 00:08:16,449 Voy a ponernos una lupa que tengo por aquí abierta, el Magnus, para que veáis lo que hay aquí. 107 00:08:16,610 --> 00:08:17,750 Yo me voy al lado de la izquierda. 108 00:08:17,750 --> 00:08:20,410 y si, vale, cuando yo estoy con el ratón 109 00:08:20,410 --> 00:08:21,810 en el lado de la izquierda vais a ver 110 00:08:21,810 --> 00:08:23,990 en la zona derecha de mi pantalla, aquí 111 00:08:23,990 --> 00:08:26,310 una lupa para que se vea 112 00:08:26,310 --> 00:08:26,850 más grande 113 00:08:26,850 --> 00:08:30,230 entonces aquí en relación de entidad 114 00:08:30,230 --> 00:08:32,250 ¿de acuerdo? hay diferentes 115 00:08:32,250 --> 00:08:34,289 diagramas 116 00:08:34,289 --> 00:08:36,960 si os fijáis 117 00:08:36,960 --> 00:08:39,700 hay diferentes cajas, cada una de las 118 00:08:39,700 --> 00:08:41,620 cajas sirve para una cosa, la primera 119 00:08:41,620 --> 00:08:43,159 caja 120 00:08:43,159 --> 00:08:45,580 es para hacer tablas, vale, voy a ver si 121 00:08:45,580 --> 00:08:47,259 haciendo lupa también se puede ver mejor 122 00:08:47,259 --> 00:08:50,840 sí, se puede ver bien, así que lo voy a hacer sin él, voy a quitar ese 123 00:08:50,840 --> 00:08:54,740 vale, entonces estas son una entidad, estas son tablas sencillas 124 00:08:54,740 --> 00:08:58,740 y estas tablas con dos claves, vale, en principio solo vamos a hacer 125 00:08:58,740 --> 00:09:02,500 tablas sencillas, y aquí están las relaciones 126 00:09:02,500 --> 00:09:07,139 relaciones de 0 a 1, obligatorias, relaciones de 0 127 00:09:07,139 --> 00:09:11,340 a muchos, vale, de muchos a muchos, obligatoria 128 00:09:11,340 --> 00:09:15,379 y en estas ahí pone opcional, vale, entonces tenéis que fijaros 129 00:09:15,379 --> 00:09:20,059 si pone opcional la participación o si pone obligatoria 130 00:09:20,059 --> 00:09:22,879 también me vale estas, de 0 a muchos opcional 131 00:09:22,879 --> 00:09:27,639 o de 1 a muchos o de 1 a obligatorio 132 00:09:27,639 --> 00:09:30,460 en general voy a coger de 1 a muchos 133 00:09:30,460 --> 00:09:35,539 entonces, un alumno, perdón, un curso 134 00:09:35,539 --> 00:09:40,590 ¿a cuántos departamentos pertenece? a 1 135 00:09:40,590 --> 00:09:44,629 entonces voy a buscar una relación que sea que un departamento 136 00:09:44,629 --> 00:09:48,230 tiene muchos cursos, así que es de 1 a muchos 137 00:09:48,230 --> 00:09:52,570 me puede llevar el aire, esta, vale, podría poner esta 138 00:09:52,570 --> 00:09:56,269 que un departamento no tiene cursos, podría no tener cursos 139 00:09:56,269 --> 00:10:00,669 un departamento, es raro, pero voy a poner de 1 a muchos, entonces lo cojo 140 00:10:00,669 --> 00:10:04,549 y el 1 va al departamento y el lado 141 00:10:04,549 --> 00:10:08,450 del muchos va al código de curso, eso es lo que me está haciendo 142 00:10:08,450 --> 00:10:15,639 en el dibujo, ahí, vale 143 00:10:15,639 --> 00:10:21,419 Es que lo que me está explicando en el dibujo es que un departamento tiene muchos cursos, ¿de acuerdo? 144 00:10:21,820 --> 00:10:24,340 Ahora, vamos a poner el profesor. 145 00:10:24,419 --> 00:10:27,259 El profesor lo pongo en la tabla que no puse antes, que es esta. 146 00:10:28,379 --> 00:10:33,580 La arrastro, la pongo aquí, aquí, ahí, ¿vale? 147 00:10:33,820 --> 00:10:39,409 Y en la tabla se llama profesor o profesores. 148 00:10:39,850 --> 00:10:45,750 Y la clave que tienen los profesores, creo que eran DNI, ¿vale? 149 00:10:45,750 --> 00:11:04,000 Y se guardaba de los profesores nombre y puedo decirle apellidos, aunque también podría ser nombre, apellidos y teléfono, ¿vale? 150 00:11:04,159 --> 00:11:07,460 Y voy a hacer un diagrama, o sea, perdón, una relación. 151 00:11:07,779 --> 00:11:11,000 Entonces, un curso, ¿cuántos profesores tiene? Solo uno. 152 00:11:11,159 --> 00:11:13,860 Y un profesor, ¿cuántos cursos puede dar? Muchos. 153 00:11:13,860 --> 00:11:16,879 Así que busco la relación de 1 a muchos 154 00:11:16,879 --> 00:11:24,159 Y en el 1 lo pongo en el DNI del profesor 155 00:11:24,159 --> 00:11:27,000 Y en el muchos lo arrastro sobre el curso 156 00:11:27,000 --> 00:11:30,840 Porque un curso puede tener muchos profesores 157 00:11:30,840 --> 00:11:34,519 Si no se ve bien aquí, que le ha pasado a un compañero, lo podéis poner aquí 158 00:11:34,519 --> 00:11:37,899 Voy a pausar y lo voy a poner bien 159 00:11:37,899 --> 00:11:44,460 Lo que he hecho para cambiarlo es que según lo he elegido aquí le he dicho que fuera recto en vez de un diagrama 160 00:11:44,460 --> 00:11:51,460 Entonces un profesor puede tener muchos cursos y cada curso tiene un solo profesor de 1 a n 161 00:11:51,460 --> 00:11:57,539 Y ya solo me queda decir que los alumnos se matriculan en cursos 162 00:11:57,539 --> 00:11:58,659 Entonces lo voy a separar un poco 163 00:11:58,659 --> 00:12:03,820 Un alumno puede tener muchos cursos y un curso puede tener muchos alumnos 164 00:12:03,820 --> 00:12:06,279 Eso es una relación de muchos a mucho 165 00:12:06,279 --> 00:12:14,519 Así que la busco por aquí, de muchos a muchos, muchos a muchos, que es esta 166 00:12:14,519 --> 00:12:18,460 Vale, la suelto y la arrastro 167 00:12:18,460 --> 00:12:25,480 Y la voy a llevar de aquí, de la matrícula de los alumnos a la matrícula de los cursos 168 00:12:25,480 --> 00:12:27,539 Ahí está, de muchos a muchos 169 00:12:27,539 --> 00:12:33,200 Entonces, esta sería mi diagrama para la base de datos 170 00:12:33,200 --> 00:12:37,340 Ahora, si os lo pongo en el lado de la izquierda 171 00:12:37,340 --> 00:13:02,899 Aquí. Y hago zoom. Ahí tenéis el diagrama. Y aquí tendríais cada una de las tablas en la base de datos. Esto es un diagrama para entenderlo, ¿de acuerdo? 172 00:13:03,279 --> 00:13:18,740 La tabla de los alumnos, que es esta. La tabla de los profesores, que es esta. La tabla del código de departamento, que es esta. Y luego la tabla del código de los cursos, que es esta. 173 00:13:18,740 --> 00:13:24,159 Y lo que he hecho aquí es demostraros cómo va a quedar luego cuando se metan en la base de datos 174 00:13:24,159 --> 00:13:26,179 Que me adelanta un poco en el vídeo, lo siento 175 00:13:26,179 --> 00:13:29,100 Y ahora voy a hacerlo en la base de datos 176 00:13:29,100 --> 00:13:36,580 Voy a abrir base en mi ordenador, LibreOffice Base 177 00:13:36,580 --> 00:13:39,159 Si os fijáis aquí arriba a la izquierda 178 00:13:39,159 --> 00:13:43,399 Y me pregunta si quiero crear una base de datos nueva o una existente 179 00:13:43,399 --> 00:13:48,080 Como es para crear esta que os ha tocado hacer, le digo crear una base de datos 180 00:13:48,080 --> 00:13:51,919 Y me pregunta si quiero registrar la base de datos 181 00:13:51,919 --> 00:13:55,559 Eso quiere decir si esa base de datos se puede usar luego en el Writer o en el Calc 182 00:13:55,559 --> 00:13:59,200 En principio no hace falta, pero por ahora yo le digo que sí 183 00:13:59,200 --> 00:14:02,720 Y me va a abrir la base de datos para editarla 184 00:14:02,720 --> 00:14:04,720 Y finalizar 185 00:14:04,720 --> 00:14:08,879 Y me pregunta cómo se va a llamar la base de datos 186 00:14:08,879 --> 00:14:19,830 Mierda, tengo que parar el vídeo 187 00:14:19,830 --> 00:14:22,230 Pues me vengo aquí 188 00:14:22,230 --> 00:14:34,970 Y la voy a guardar en aplicaciones ofimáticas y la voy a llamar Academia. 189 00:14:39,799 --> 00:14:42,919 Y voy a poner la lupa por aquí, si hace falta. 190 00:14:43,679 --> 00:14:48,320 Lo primero que voy a hacer, si os fijáis, es crear una tabla en modo diseño. 191 00:14:49,100 --> 00:14:52,259 Le voy a dar crear modo diseño y tengo que poner los campos. 192 00:14:52,379 --> 00:14:57,600 Los campos, según mi dibujo, que está aquí y aquí. 193 00:14:57,600 --> 00:15:02,240 debería crear por ejemplo una tabla alumno, así que voy a poner 194 00:15:02,240 --> 00:15:06,559 matrícula, nombre, apellidos y teléfono, así que el nombre de aquí 195 00:15:06,559 --> 00:15:14,480 sería matrícula, vale, voy a pausar el 196 00:15:14,480 --> 00:15:16,539 vídeo mientras escribo el resto de campos 197 00:15:16,539 --> 00:15:22,860 he creado los cuatro campos que estáis viendo tanto a la izquierda como a la derecha 198 00:15:22,860 --> 00:15:26,580 en la ampliación, porque es que aquí aunque yo haga lupa 199 00:15:26,580 --> 00:15:30,600 no lo voy a hacer más grande, así que pongo el magnificador, vale, y tendría 200 00:15:30,600 --> 00:15:34,259 que decidir si la matrícula es un número o no. Por defecto, él hace que todos son 201 00:15:34,259 --> 00:15:40,500 textos, ¿vale? Pero en alguna base de datos esto debería ser un entero grande. Yo, como 202 00:15:40,500 --> 00:15:45,600 estamos probando, no me hace falta y lo dejo como texto, ¿vale? Y le doy guardar y me 203 00:15:45,600 --> 00:15:50,700 va a preguntar el nombre de la base de datos. Como eran alumnos, ¿vale? Le llamo alumno. 204 00:15:51,460 --> 00:15:56,100 Normalmente se pone en plural, se pondría alumnos, ¿vale? Le voy a dejar en alumno. 205 00:15:56,100 --> 00:15:59,940 y me pregunta si quiero una clave principal 206 00:15:59,940 --> 00:16:03,220 si no le creo yo la clave principal 207 00:16:03,220 --> 00:16:04,320 me la crearía él 208 00:16:04,320 --> 00:16:06,179 voy a hacer lo que veáis 209 00:16:06,179 --> 00:16:08,460 lo que pasa cuando me crea la clave 210 00:16:08,460 --> 00:16:09,379 me dice que sí 211 00:16:09,379 --> 00:16:11,580 y fijaros 212 00:16:11,580 --> 00:16:14,620 me ha creado un campo aquí arriba 213 00:16:14,620 --> 00:16:16,779 aquí arriba a la izquierda 214 00:16:16,779 --> 00:16:18,440 que aparece con una marca 215 00:16:18,440 --> 00:16:20,320 como si fuera una llave 216 00:16:20,320 --> 00:16:20,960 lo llama id 217 00:16:20,960 --> 00:16:22,519 y es un entero grande 218 00:16:22,519 --> 00:16:24,259 eso es lo que sería una clave 219 00:16:24,259 --> 00:16:25,559 que es una llave numérica 220 00:16:25,559 --> 00:16:27,679 vigentero, como yo no quiero 221 00:16:27,679 --> 00:16:29,700 que no me hace falta porque tengo la matrícula 222 00:16:29,700 --> 00:16:30,559 voy a eliminar 223 00:16:30,559 --> 00:16:35,639 al hacer click 224 00:16:35,639 --> 00:16:36,779 perdéis la lupa 225 00:16:36,779 --> 00:16:38,940 voy a eliminar este campo 226 00:16:38,940 --> 00:16:41,559 y voy a convertir 227 00:16:41,559 --> 00:16:43,740 este en clave principal 228 00:16:43,740 --> 00:16:45,620 y entonces ya se convierte 229 00:16:45,620 --> 00:16:46,259 si os fijáis 230 00:16:46,259 --> 00:16:48,279 el id 231 00:16:48,279 --> 00:16:52,080 que no debía ser id, que debería ser 232 00:16:52,080 --> 00:16:54,159 matrícula 233 00:16:54,159 --> 00:16:58,799 se convierte 234 00:16:58,799 --> 00:17:00,779 en clave principal, vale, le doy a guardar 235 00:17:00,779 --> 00:17:33,099 ahora sí me deja, sí, vale, y ya está, vale, y ya ha creado la tabla alumnos, si yo le hago doble clic, lo que me hace es abrir una tabla para meter alumnos, en plan, en la matrícula por ejemplo, yo pondría a poner 567, en el nombre Cristina, y en apellidos Moreno Ruiz, y el teléfono lo podría dejar vacío, le doy a guardar, vale, y ya tengo guardado, 236 00:17:33,119 --> 00:17:37,859 un alumno, vale, ahora voy a crear las otras tablas 237 00:17:37,859 --> 00:17:42,440 las voy a hacer pausadas y ahora vuelvo con el vídeo 238 00:17:42,440 --> 00:17:45,859 bueno, no voy a pausar del todo, aquí igual 239 00:17:45,859 --> 00:17:49,420 modo diseño, vale, y me voy a fijar en mi dibujo 240 00:17:49,420 --> 00:17:56,390 y por ejemplo voy a hacer la de profesores y luego la de curso y luego la de 241 00:17:56,390 --> 00:17:59,950 departamento, vale, he creado la última tabla 242 00:17:59,950 --> 00:18:03,809 que todavía no le he puesto nombre, que es la de cursos 243 00:18:03,809 --> 00:18:05,849 Viene el código de idioma y nivel 244 00:18:05,849 --> 00:18:08,930 Entonces en código le voy a decir que es la clave principal 245 00:18:08,930 --> 00:18:10,289 Muy importante 246 00:18:10,289 --> 00:18:12,869 Y ahora la guardo 247 00:18:12,869 --> 00:18:15,690 Y la voy a llamar cursos 248 00:18:15,690 --> 00:18:17,690 Entonces la cierro 249 00:18:17,690 --> 00:18:25,380 Vais a ver que ya tengo aquí las cuatro tablas a la izquierda 250 00:18:25,380 --> 00:18:27,759 Y las cuatro tablas a la derecha 251 00:18:27,759 --> 00:18:31,180 Alumnos, cursos, departamento y profesores 252 00:18:31,180 --> 00:18:33,339 Ahora vienen las relaciones entre tablas 253 00:18:33,339 --> 00:18:45,220 Eso se hace arriba en herramientas y pinchando en herramientas relaciones 254 00:18:45,220 --> 00:18:47,900 Así que voy a pinchar en herramientas, relaciones 255 00:18:47,900 --> 00:18:51,799 Y lo que me muestra son las cuatro tablas que hay en mi base de datos 256 00:18:51,799 --> 00:18:59,700 Las voy a añadir todas, cada una una vez, para que aparezcan las cuatro 257 00:18:59,700 --> 00:19:30,869 Vale, lo cierro, de acuerdo, y ahí están las cuatro, voy a poner un poco más grande, alumnos, cursos y profesores, vale, yo sé que, así, así y ahí, yo sé que los cursos son de un departamento, que los profesores dan clase en un curso, vale, 258 00:19:30,869 --> 00:19:33,049 Y que los alumnos se matriculan de un curso 259 00:19:33,049 --> 00:19:35,309 Ahora viene el hecho de cómo hacer las relaciones 260 00:19:35,309 --> 00:19:37,990 No podemos hacer las relaciones arrastrando de una a otra 261 00:19:37,990 --> 00:19:38,910 No funciona así 262 00:19:38,910 --> 00:19:43,750 La manera de hacerlo es como en la tabla que vimos anteriormente 263 00:19:43,750 --> 00:19:45,349 Esta de tablas separadas 264 00:19:45,349 --> 00:19:50,529 La idea es que tú, en curso, ¿vale? 265 00:19:50,890 --> 00:19:56,450 Aparte del código del curso, lo que deberías guardar es un campo que es código de apartamento 266 00:19:56,450 --> 00:19:58,170 Para ahí guardar el código de apartamento 267 00:19:58,170 --> 00:20:02,430 Y otro que sea DNI profesor para ahí guardar el DNI del profesor 268 00:20:02,430 --> 00:20:04,569 Así que me voy a abrir aquí a las tablas 269 00:20:04,569 --> 00:20:07,750 Y voy a editar cursos 270 00:20:07,750 --> 00:20:27,569 Lo edito, a ver por qué no se ve 271 00:20:27,569 --> 00:20:35,200 Bien, ya le he dado a editar 272 00:20:35,200 --> 00:20:37,440 Me viene en, estoy en cursos, de acuerdo 273 00:20:37,440 --> 00:20:40,740 Estoy en cursos y tengo el código idioma y nivel 274 00:20:40,740 --> 00:20:42,579 Pues tengo que añadir dos campos 275 00:20:42,579 --> 00:20:48,039 Uno que sea código departamento 276 00:20:48,039 --> 00:20:58,720 y otro que sea código profesor 277 00:20:58,720 --> 00:21:02,269 y le doy guardar 278 00:21:02,269 --> 00:21:08,680 así que cuando me vuelvo a la tabla 279 00:21:08,680 --> 00:21:10,900 a herramientas, relaciones 280 00:21:10,900 --> 00:21:15,259 lo que tengo que hacer en curso 281 00:21:15,259 --> 00:21:18,980 es el ID del departamento arrastrarlo 282 00:21:18,980 --> 00:21:21,019 lo voy a poner grande para que se vea 283 00:21:21,019 --> 00:21:28,680 y lo voy a poner a la mitad para que el magnificador funcione 284 00:21:28,680 --> 00:21:42,920 Así. Me vengo aquí al departamento, cojo el ID y lo voy a arrastrar. Me lo estoy llevando. Lo arrastro, lo arrastro, lo arrastro, lo arrastro y lo suelto encima del código de departamento. 285 00:21:43,119 --> 00:21:53,000 Ahí, en código de departamento. Y eso me establece una relación. Me dice que un departamento tiene muchos cursos. 286 00:21:53,000 --> 00:21:56,339 Ahora voy a hacer lo mismo con el código del profesor 287 00:21:56,339 --> 00:22:01,160 Cojo del DNI y lo suelto encima del código del profesor 288 00:22:01,160 --> 00:22:04,339 Y eso lo que me dice es que, pongo este lado 289 00:22:04,339 --> 00:22:10,960 Que un profesor da muchos cursos y que un curso tiene un único profesor 290 00:22:10,960 --> 00:22:14,799 Ahora solo me queda relacionar los alumnos y los cursos 291 00:22:14,799 --> 00:22:19,220 Si os fijasteis aquí en las tablas separadas 292 00:22:19,220 --> 00:22:28,819 Yo lo hice para explicarlo diciendo que se hace una tabla en la que se guardan los códigos de los alumnos y los códigos de los cursos. 293 00:22:29,259 --> 00:22:32,180 Entonces necesitamos una tabla nueva en la base de datos. 294 00:22:32,940 --> 00:22:40,460 Lo guardo, lo minimizo y voy a crear una tabla nueva en modo diseño. 295 00:22:40,460 --> 00:23:06,660 Y la tabla va a tener dos campos. El código alumno y el código profesor. En esa tabla las dos deberían ser ides, pero no he conseguido averiguar cómo se hace eso en base. 296 00:23:06,660 --> 00:23:11,140 Así que por ahora, si yo no hago nada, me va a preguntar cómo la llamo 297 00:23:11,140 --> 00:23:17,549 La voy a llevar matrículas, porque lo que guardo son las matrículas 298 00:23:17,549 --> 00:23:20,650 Me dice que no hay clave principal 299 00:23:20,650 --> 00:23:23,869 Y me dice, ¿quiere crear una clave principal ahora? 300 00:23:24,150 --> 00:23:25,910 Y vale, le digo que no, a ver qué pasa 301 00:23:25,910 --> 00:23:29,009 Me la guarda, no tengo clave 302 00:23:29,009 --> 00:23:31,049 Y ahora veremos si me deja hacer lo que yo quiero 303 00:23:31,049 --> 00:23:32,950 Me vuelvo a las relaciones 304 00:23:32,950 --> 00:23:40,130 y voy a añadir la nueva tabla 305 00:23:40,130 --> 00:23:43,410 entonces si pincho aquí arriba a la izquierda 306 00:23:43,410 --> 00:23:46,509 tengo un botón que es para añadir tablas 307 00:23:46,509 --> 00:23:49,210 y la tabla que voy a añadir es la de matrícula 308 00:23:49,210 --> 00:23:52,569 hago doble clic y la he añadido 309 00:23:52,569 --> 00:23:54,849 entonces aquí están las matrículas 310 00:23:54,849 --> 00:23:59,910 en las matrículas quien se pone el código del alumno y el código del profesor 311 00:23:59,910 --> 00:24:04,650 Así que cojo el código del alumno y lo arrastro sobre el código del alumno 312 00:24:04,650 --> 00:24:06,150 Y no me deja, ¿por qué? 313 00:24:10,130 --> 00:24:11,750 Porque no hay una clave 314 00:24:11,750 --> 00:24:15,390 Dice que no coinciden los tipos 315 00:24:15,390 --> 00:24:20,730 Voy a mirar si son exactamente los dos texto o los dos número 316 00:24:20,730 --> 00:24:22,990 Acepto 317 00:24:22,990 --> 00:24:26,150 Me vuelvo a las tablas 318 00:24:26,150 --> 00:24:29,509 Voy a matrículas, le doy a editar 319 00:24:29,509 --> 00:24:30,970 Es un fallo súper típico 320 00:24:30,970 --> 00:24:32,990 vale, el código de alumno es texto 321 00:24:32,990 --> 00:24:34,630 y el de profesor también 322 00:24:34,630 --> 00:24:36,269 y ahora me voy 323 00:24:36,269 --> 00:24:37,630 anda, lo he cogido mal 324 00:24:37,630 --> 00:24:40,269 a ver, lo he cogido mal, editar 325 00:24:40,269 --> 00:24:41,029 eso está mal 326 00:24:41,029 --> 00:24:44,750 porque no es código de profesor, es código de curso 327 00:24:44,750 --> 00:24:46,809 vale, la idea es la misma 328 00:24:46,809 --> 00:24:47,289 pero 329 00:24:47,289 --> 00:24:50,950 el nombre está, eran matrículas de cursos 330 00:24:50,950 --> 00:24:52,710 vale, y ahora me cojo 331 00:24:52,710 --> 00:24:54,390 el de los cursos, lo edito 332 00:24:54,390 --> 00:24:57,740 y el código es texto 333 00:24:57,740 --> 00:24:59,000 entonces, ¿cuál es mi problema? 334 00:24:59,220 --> 00:25:00,500 que tengo que hacer clave 335 00:25:00,500 --> 00:25:03,740 voy a editar 336 00:25:03,740 --> 00:25:06,839 Y voy a decirle que el código de alumno 337 00:25:06,839 --> 00:25:09,119 Pinchando, voy a poner el magnificador 338 00:25:09,119 --> 00:25:11,500 Pinchando con el botón derecho 339 00:25:11,500 --> 00:25:14,259 En este pequeño cuadrado 340 00:25:14,259 --> 00:25:15,660 Al lado del código de alumno 341 00:25:15,660 --> 00:25:17,920 Estoy aquí, código de alumno, me pongo aquí 342 00:25:17,920 --> 00:25:20,420 Pincho, clave principal 343 00:25:20,420 --> 00:25:22,660 Y lo guardo 344 00:25:22,660 --> 00:25:24,799 No me deja hacer dos claves 345 00:25:24,799 --> 00:25:25,799 Que yo lo he intentado 346 00:25:25,799 --> 00:25:28,259 Cuando quito una clave, la otra ya no es clave 347 00:25:28,259 --> 00:25:30,980 Y no puedo seleccionar dos 348 00:25:30,980 --> 00:25:31,359 A ver 349 00:25:31,359 --> 00:25:35,160 Así, mira, seleccionando dos 350 00:25:35,160 --> 00:25:36,759 Puedo decir que las dos son clave principal 351 00:25:36,759 --> 00:25:38,400 No voy a averiguar cómo se hacía 352 00:25:38,400 --> 00:25:40,380 Vale, y le doy guardar 353 00:25:40,380 --> 00:25:44,289 Vale, entonces ahora vuelvo a las relaciones 354 00:25:44,289 --> 00:25:46,130 Que estaban aquí 355 00:25:46,130 --> 00:25:50,579 Y cojo, y la matrícula 356 00:25:50,579 --> 00:25:51,420 Del alumno 357 00:25:51,420 --> 00:25:53,440 Ahí está la voy a 358 00:25:53,440 --> 00:25:56,420 Dar a refrescar 359 00:25:56,420 --> 00:26:04,819 Me he equivocado, he añadido la tabla ahora 360 00:26:04,819 --> 00:26:06,119 A ver si ahora ya está bien 361 00:26:06,119 --> 00:26:09,380 Sí, porque ahora ya aparece como código curso 362 00:26:09,380 --> 00:26:13,460 entonces cojo la matrícula del alumno, la suelto sobre A 363 00:26:13,460 --> 00:26:20,809 lo voy a hacer con el magnificador, sin querer, fijaros, he puesto aquí una relación 364 00:26:20,809 --> 00:26:24,710 cuando me pasa, pincho y suprimo 365 00:26:24,710 --> 00:26:28,329 lo voy a poner en el magnificador para que lo veáis, veis aquí que aparece un 1 366 00:26:28,329 --> 00:26:31,849 es que he hecho como una relación consigo misma, entonces pincho en el 1 367 00:26:31,849 --> 00:26:36,809 y le doy a suprimir, vale, entonces tengo que coger el código de matrícula 368 00:26:36,809 --> 00:26:40,829 que es del alumno y arrastrarlo a la tabla de matrículas 369 00:26:40,829 --> 00:26:44,990 Y soltarlo sobre el código de matrícula 370 00:26:44,990 --> 00:26:45,690 Ahí lo suelto 371 00:26:45,690 --> 00:26:51,950 Entonces me dice que pasa cuando borro yo los alumnos y las matrículas 372 00:26:51,950 --> 00:26:54,430 Que si borra en cascada o como borra 373 00:26:54,430 --> 00:26:56,250 En principio no va a borrar de ninguna manera 374 00:26:56,250 --> 00:26:57,210 He de aceptar 375 00:26:57,210 --> 00:27:00,049 Que si borro un alumno, ¿qué pasa con su matrícula? 376 00:27:00,089 --> 00:27:00,490 Se borra 377 00:27:00,490 --> 00:27:02,910 Vale, y ahora cojo el código de curso 378 00:27:02,910 --> 00:27:06,130 Y lo arrastro sobre código de curso 379 00:27:06,130 --> 00:27:08,750 Y me pregunta lo mismo 380 00:27:08,750 --> 00:27:12,029 que esa relación, si yo algún día borro un curso 381 00:27:12,029 --> 00:27:14,609 ¿se borra la matrícula o qué pasa? 382 00:27:14,809 --> 00:27:17,690 le digo que no, que no borre, ni actualice, ni elimine 383 00:27:17,690 --> 00:27:19,990 entonces ahora lo que tenemos es esto 384 00:27:19,990 --> 00:27:22,890 voy a separar para que se vea 385 00:27:22,890 --> 00:27:31,029 y es que hay muchos cursos con muchas matrículas 386 00:27:31,029 --> 00:27:33,309 y muchos alumnos en muchas matrículas 387 00:27:33,309 --> 00:27:35,609 un alumno tiene, bueno, perdón 388 00:27:35,609 --> 00:27:37,509 Cada una de estas matrículas 389 00:27:37,509 --> 00:27:40,089 Tiene un único par 390 00:27:40,089 --> 00:27:41,869 De alumno y curso 391 00:27:41,869 --> 00:27:44,210 Vale, y lo cierro 392 00:27:44,210 --> 00:27:46,450 Que hago que no me gusta 393 00:27:46,450 --> 00:27:47,410 Pero me vale 394 00:27:47,410 --> 00:27:48,869 Lo guardo 395 00:27:48,869 --> 00:27:50,569 Y lo cierro 396 00:27:50,569 --> 00:27:52,430 Entonces, ¿qué tendría que hacer ahora yo? 397 00:27:52,789 --> 00:27:53,430 Meter datos 398 00:27:53,430 --> 00:27:56,309 Así que lo lógico sería meter datos de alumnos 399 00:27:56,309 --> 00:27:59,930 Que creo que los puedo copiar 400 00:27:59,930 --> 00:28:00,829 Y pegar 401 00:28:00,829 --> 00:28:03,150 Porque los tengo aquí detrás 402 00:28:03,150 --> 00:28:05,089 Voy a pausar y los copio y los pego 403 00:28:05,089 --> 00:28:10,789 Continúo, he ido metiendo datos de alumnos, de profesores y de departamentos 404 00:28:10,789 --> 00:28:14,430 Y ahora viene la parte en sí, como donde suele haber problemas 405 00:28:14,430 --> 00:28:18,230 Es cuando vas a meter los cursos, por ejemplo, o las matrículas 406 00:28:18,230 --> 00:28:22,630 Cuando yo meto un curso, como por ejemplo, voy a poner el magnificador 407 00:28:22,630 --> 00:28:29,930 Yo meto un curso aquí, como el C1 inglés o el C3 francés, de nivel A2 y A1 408 00:28:29,930 --> 00:28:34,049 El departamento ya tiene que existir, si no, no voy a poder poner el curso 409 00:28:34,049 --> 00:28:38,250 si no existe el departamento antes, entonces he puesto aquí unos códigos de departamento 410 00:28:38,250 --> 00:28:42,109 que ya existían, que los he puesto hace unos minutos, vale, y lo mismo el código 411 00:28:42,109 --> 00:28:45,890 de profesor, estos códigos de profesores los he puesto antes, ya existían 412 00:28:45,890 --> 00:28:49,089 entonces he podido guardar los departamentos, perdón, los cursos 413 00:28:49,089 --> 00:28:54,549 y ahora viene lo que son las matrículas, gente que se ha matriculado 414 00:28:54,549 --> 00:28:57,089 entonces pasa lo mismo aquí 415 00:28:57,089 --> 00:29:02,690 tengo parejas de código de alumno y código de curso 416 00:29:02,690 --> 00:29:06,930 Entonces el alumno 1 existe y el código de 01 de curso existe 417 00:29:06,930 --> 00:29:09,410 Si no, no podría poner esta fila 418 00:29:09,410 --> 00:29:17,390 Entonces si yo por ejemplo intento poner aquí el C04 y el alumno 4 419 00:29:17,390 --> 00:29:18,250 A ver si existe 420 00:29:18,250 --> 00:29:19,990 Ah, pues sí existe 421 00:29:19,990 --> 00:29:23,750 Voy a poner el C06 422 00:29:23,750 --> 00:29:28,650 Si pongo el C06 y no pongo el alumno, no me deja 423 00:29:28,650 --> 00:29:30,869 Porque no puede estar vacío de aceptar 424 00:29:30,869 --> 00:29:35,210 y si pongo el alumno 45, pues mira, aquí tengo un error 425 00:29:35,210 --> 00:29:38,490 porque no debería dejarme, vale, hacer esto 426 00:29:38,490 --> 00:29:41,450 y ahora le doy a cerrar y ya está 427 00:29:41,450 --> 00:29:47,009 algo he hecho mal, porque no debería dejarme meter un alumno que no existe 428 00:29:47,009 --> 00:29:51,230 vale, ya tengo todos los datos metidos y ya la siguiente parte de la práctica 429 00:29:51,230 --> 00:29:54,569 es hacer consultas, muchas gracias