1 00:00:00,050 --> 00:00:06,209 En este vídeo vamos a ver cómo crear las tablas en SQL para este esquema de base de datos. 2 00:00:06,809 --> 00:00:11,490 Bueno, este es el ejercicio de repaso sobre el que hemos visto la solución 3 00:00:11,490 --> 00:00:20,010 y sobre el modelo relacional que acabamos de ver, que como veis está perfectamente modificado 4 00:00:20,010 --> 00:00:28,329 para que las claves ajenas se lean bien y toda la tabla se pueda ver correctamente, 5 00:00:28,329 --> 00:00:31,629 que cada una de las tablas se vea correctamente. 6 00:00:31,629 --> 00:00:39,429 Para generar ese esquema, las sentencias de creación le damos a Generar DDL. 7 00:00:39,429 --> 00:00:48,170 Escogemos la versión de la base de datos que nosotros tenemos trabajada, que en este 8 00:00:48,170 --> 00:00:56,369 caso es la 21c, que nosotros vamos a trabajar con el oracle database 21c, con la Xpress 9 00:00:56,369 --> 00:01:03,229 edición pero eso no hay que decirlo pero nos valdría cualquier otro pero es mejor ya decirle 10 00:01:03,229 --> 00:01:11,010 cuál es nuestra versión cuando le doy a generar y aceptamos con todo lo que tiene sin tocar 11 00:01:11,010 --> 00:01:19,269 absolutamente nada se va a generar un montón de sentencias y cláusulas sql que tendría yo que 12 00:01:19,269 --> 00:01:27,790 escribir para que se puedan crear vamos a entender lo que sea en el caso estos son comentarios vale 13 00:01:27,790 --> 00:01:32,769 estos que empiezan con dos líneas es un comentario de toda la línea por eso sale en un gris más claro 14 00:01:32,769 --> 00:01:42,189 porque no lo va a ejecutar en ningún caso pero le dice quién lo ha generado en qué momento qué fecha 15 00:01:42,189 --> 00:01:48,409 y para qué base de datos se ha hecho vale y no hay errores si hubiera habido errores también te 16 00:01:48,409 --> 00:01:56,530 Te saldría aquí cuáles son los errores y te saldría en el sitio donde está el error cuál es el que hay para que puedas arreglar. 17 00:01:57,390 --> 00:01:58,989 En este caso, ¿qué hace? 18 00:01:59,450 --> 00:02:07,209 Con cada una de las tablas que tenemos en el modelo relacional, en orden alfabético va a ir haciendo un create tab. 19 00:02:07,469 --> 00:02:09,270 ¿Qué es la cláusula create tab? 20 00:02:09,430 --> 00:02:13,229 La que te permite crear la estructura tabla dentro de la base de datos. 21 00:02:13,930 --> 00:02:17,090 A cada tabla se le da un nombre que es único. 22 00:02:17,090 --> 00:02:23,129 en este caso camareros y una serie de atributos con sus restricciones 23 00:02:23,129 --> 00:02:28,629 en el caso de camareros solo tiene un atributo que es el atributo persona 24 00:02:28,629 --> 00:02:35,930 que es de tipo bar chart 2.9, es decir, esto si nosotros no lo hubiéramos definido bien 25 00:02:35,930 --> 00:02:44,729 lo tendríamos que escribir porque si yo ejecuto el create table sin decir cuál es el tipo de datos 26 00:02:44,729 --> 00:02:49,689 Pues entonces me daría un error al ejecutarlo 27 00:02:49,689 --> 00:02:57,110 Test en este caso va a ser de tipo alfabético y además haré la restricción obligatoria 28 00:02:57,110 --> 00:03:01,810 La restricción obligatoria se traduce en SQL poniendo not null 29 00:03:01,810 --> 00:03:04,349 Es decir que no admite valores null 30 00:03:04,349 --> 00:03:07,150 Esto es como se ha traducido el obligatorio 31 00:03:07,150 --> 00:03:09,430 ¿Y ahora qué viene aquí abajo? 32 00:03:09,430 --> 00:03:15,469 El alter table es una cláusula para modificar la estructura de tabla. 33 00:03:15,889 --> 00:03:19,750 Lo que va a hacer es cambiar la definición de esta tabla. 34 00:03:19,949 --> 00:03:25,210 ¿Qué es lo que hace? Añade, es añadir una restricción. 35 00:03:26,210 --> 00:03:35,530 Esa restricción es una restricción de clave primaria y lo que hace es definir al atributo persona como clave primaria. 36 00:03:35,530 --> 00:03:42,550 es posible que en otros sitios veáis que al lado de not null ponen primary key y esa es la forma de definirla 37 00:03:42,550 --> 00:03:49,669 es correcta también, esta también y esto como lo ha generado automáticamente si queréis cambiarlo lo cambiáis 38 00:03:49,669 --> 00:03:55,129 aquí podríais cambiar todo lo que queráis porque este es un fichero editable 39 00:03:55,129 --> 00:04:03,770 si yo quiero borrar algo lo puedo borrar, pero si lo borro por ejemplo ese not null me daría error 40 00:04:03,770 --> 00:04:09,270 y si quiero modificar cualquiera de las cosas que veo aquí lo puedo hacer 41 00:04:09,270 --> 00:04:14,409 también crea una carta de platos que tiene una serie de atributos 42 00:04:14,409 --> 00:04:17,889 todos obligatorios y cada uno con su tipo de datos 43 00:04:17,889 --> 00:04:23,490 veis los que pone 6 es en lugar de poner 6,0 que lo omite y es correcto 44 00:04:23,490 --> 00:04:29,910 estaría también poner 6,6,0 cualquiera de los dos es correcto 45 00:04:29,910 --> 00:04:37,810 Y los cambios en mi carpeta guardaría el fichero DDL que sería definir. 46 00:04:40,769 --> 00:04:42,709 De esta manera lo guardo. 47 00:04:43,629 --> 00:04:45,649 Y te dice que lo ha guardado correctamente. 48 00:04:45,649 --> 00:04:58,509 Quiere decir que para seguir viéndolo lo podría buscar en mi editor de aquí. 49 00:04:59,250 --> 00:05:04,009 Puedo ver dentro del editor, como veis, es exactamente editado. 50 00:05:04,009 --> 00:05:09,959 Quiero que vayamos hacia el final 51 00:05:09,959 --> 00:05:12,360 Todas las tablas las ha creado de la misma manera 52 00:05:12,360 --> 00:05:16,439 Crea la tabla y luego le añade la clave primaria 53 00:05:16,439 --> 00:05:18,980 Mirad que cuando está formada por varios atributos 54 00:05:18,980 --> 00:05:22,639 Pues simplemente se pone cada uno de los atributos separado por comas 55 00:05:22,639 --> 00:05:25,639 ¿Cómo se define? Lo sabe él 56 00:05:25,639 --> 00:05:28,920 Yo solamente lo que tengo que hacer es reconocer 57 00:05:28,920 --> 00:05:31,899 Qué es lo que hace cada una de estas sentencias 58 00:05:31,899 --> 00:05:41,100 Vale, al final vamos a ver que ha rellenado una serie de modificaciones de la tabla 59 00:05:41,100 --> 00:05:45,839 Os recordáis que camarero era la primera y le va a añadir la restricción 60 00:05:45,839 --> 00:05:50,279 Le va a añadir la restricción foreign key 61 00:05:50,279 --> 00:05:52,779 ¿Cuál es foreign key? La de clave ajena 62 00:05:52,779 --> 00:05:55,060 ¿Y qué hace? ¿Cómo se define? 63 00:05:55,480 --> 00:05:58,680 Pues se dice que añade esta restricción de clave ajena 64 00:05:58,680 --> 00:06:03,259 que es sobre el atributo personas de la tabla camarero 65 00:06:03,259 --> 00:06:07,699 y hace referencia a la tabla personal 66 00:06:07,699 --> 00:06:11,779 y concretamente al campo DNI que es el campo clave 67 00:06:11,779 --> 00:06:15,180 Nosotros al haber definido las claves ajenas 68 00:06:15,180 --> 00:06:21,540 en esta, pues directamente la ha definido sobre el DNI 69 00:06:21,540 --> 00:06:24,800 y eso lo ha hecho él de forma automática 70 00:06:24,800 --> 00:06:32,300 y así con cada una de las tablas ha definido eso automáticamente 71 00:06:32,300 --> 00:06:35,819 y al final te da un resumen y te dice cuántas tablas ha creado 72 00:06:35,819 --> 00:06:41,399 cuántos índices, cuántas modificaciones de tabla 73 00:06:41,399 --> 00:06:45,560 y otra serie de elementos que podía haber creado que en este caso no 74 00:06:45,560 --> 00:06:50,329 si he hecho algún cambio le doy a guardar 75 00:06:50,329 --> 00:06:53,209 y este fichero me lo puedo llevar a la base de datos 76 00:06:53,209 --> 00:06:56,850 y ejecutarlo tal cual como veremos en otros vídeos 77 00:06:56,850 --> 00:06:57,889 CC por Antarctica Films Argentina