Documente Academic
Documente Profesional
Documente Cultură
2) Seleccionar la BD CssCustom
3) Crear una tabla llamada usuario con la siguiente estructura:
create table usuario(
id_nombre int(10) not null primary key,
nombre char(250) not null,
correo char(250) not null,
direccion char(250) not null,
telefono char(16) null,
usuario char(50) not null,
password char(50) not null);
Tecleamos desc usuario para mostrar la estructura de la tabla
4) Insertamos los siguientes datos en la tabla usuario desde NAVICAT o MySQL con el
comando Insert:
8) Lo que a nosotros nos interesa por ahora es la base de datos que creamos en
MySQL css_custom, nos situamos sobre ella y damos clic derecho y seleccionamos la
opcin Open data base como se muestra a continuacin:
10) Como Podemos ver del lado derecho aparece la misma tabla y en la parte de
encima varias opciones seleccionemos la opcin design table:
11) Bueno si recordamos un poco veremos que el resultado que se nos muestra lo
habamos obtenido antes con el comando Desc usuario en la consola de MySql, solo
que de una manera primitiva. La forma grfica en la que trabaja Navicat nos da cierta
facilidad sobre el diseo de nuestra tabla.
12) Recordamos que para observar el contenido de la tabla desde MySQL tenamos que
recurrir al comando select * from usuario y se nos desplegaba el contenido de la tabla;
con esta herramienta basta seleccionar la opcin open table o dar doble clic sobre la
tabla, como se muestra en la siguiente imagen:
14) Bien en el semestre anterior solo utilizamos llaves primarias, ahora utilizaremos
llaves forneas y aprenderemos a crear referencias de uno a uno y de uno a muchos,
lo cual resulta ser muy sencillo con Navicat, por el momento adelantmonos editando
la tabla usuario donde agregaremos un nuevo campo que llamaremos fk_post, con
este campo haremos referencia a la nueva tabla que crearemos llamada post. Primero
que nada seleccionamos la tabla usuario y damos clic en la opcin Design Table y
agregamos el nuevo campo como se muestra a continuacin:
15) En la imagen anterior el campo de llave primaria aparece sealado con un color
verde y sufri una modificacin, si observas bien la parte de abajo he habilitado la
opcin de auto incremento, por otro lado el nuevo campo aparece de color rojo. En
MySQL creamos la tabla usuario tecleando el cdigo:
1. create table usuario(
2. id_nombre int(10) not null primary key,
3. nombre char(250) not null,
4. correo char(250) not null,
5. direccion char(250) not null,
6. telefono char(16) null,
7. usuario char(50) not null,
8. password char(50) not null);
Esto implica una mayor inversin de tiempo para nosotros, adems de que la sintaxis
debe escribirse correctamente, pero con Navicat se crean de manera grfica, slo es
necesario dar clic en la opcin New Table como se muestra a continuacin:
16) Una vez que presionamos la opcin new table aparecer el asistente donde
capturaremos los nombre, tipos y opciones de nuestros campos, tal como se muestra
en la siguiente imagen:
17) Una vez capturados los datos da clic en la opcin Save aparecer un recuadro
donde pondrs el nombre de la tabla, en nuestro caso ser post.
18) Ahora se mostrara la creacin de una relacin uno a uno (1:1) mediante la
creacin de una llave fornea. Lo que tenemos que hacer es seleccionar la tabla
usuario y dar clic en la opcin Design Table, una vez que nos encontremos en el
asistente de diseo damos clic en la pestaa Foreing Keys y llenamos los datos como
se muestra a continuacin y damos clic en guardar:
20) Aparece el asistente de vistas y un rea que esta remarcada con amarillo
representa el rea de edicin donde escribiremos las sentencias para filtrar los datos
entre ambas tablas:
21) Nosotros escribiremos sentencias SQL breves que despus Navicat transformara a
otras ms especficas, empecemos tecleando esta:
22) Damos clic en la opcin Save y en el recuadro que aparece tecleamos view1:
24) Con la sentencia Select * from usuario, como recordar, sigue para desplegar toda
la informacin contenida en la tabla usuario para ver que despus podamos realizar
filtrados ms especficos entre las dos tablas, y esto es lo que muestra la sentencia
anterior:
25) Como apreciamos no tenemos datos en el campo fk_post por tanto tendremos que
capturarlos, pero como nuestra llave fornea depende de la tabla post primero
tenemos que capturar datos en la tabla post y quedara de la siguiente forma:
26) Una vez rellenada la tabla proseguimos con el llenado del campo fk_post de la
tabla usuario:
27) Los datos que capturemos debern existir en la tabla post de lo contrario cuando
queramos guardar nos marcar un error. Ahora crearemos una segunda vista siguiendo
los pasos que se mencionaron anterior mente para crear la vista1 y ponemos el
siguiente cdigo:
29) Para proseguir y mirar resultados nos disponemos a ejecutar la vista2 dando doble
clic sobre la misma y nos arrojara el siguiente resultado:
30) Como podemos ver nos arroj demasiados datos siendo que solo tenemos dos
usuarios y por tanto deberan de aparecer solo 2 registros, para solucionar esto
utilizaremos la clusula where para filtrar solo los datos que coincida con lo que
buscamos, podemos editar la view2 pero mejor crearemos una nueva para seguir
practicando:
33) Como podemos observar se nos muestran solo dos registros y en los cuales he
sealado con verde los campos con los que se han enlazado cada uno de los registros
de las diferentes tablas. Pero esto hasta ahora es solo para practicar pues una consulta
de este tipo no nos sirve para nada, anteriormente capturamos 4 registros en la tabla
post y solo 2 en la tabla usuario, pero
Qu pasara si un usuario tiene asignado ms de un post y queremos que se
nos muestre esto?, claro que no podramos hacer dicha peticin realidad puesto que
la relacin establecida es de 1:1.
Solucin: Lo que se tiene que hacer es crear una tercera tabla donde incorporaremos
dos lleves forneas, pero antes tenemos que eliminar ciertas cosas, empecemos con la
llave fornea fk_post en la tabla usuario.
Entramos en el asistente de diseo, seleccionamos la pestaa foreing keys, y damos
clic en la opcin delete foreign key.
35) Como ya eliminamos los campos y llaves que no utilizaremos ms procedemos con
la creacin de la nueva tabla, la cual llamaremos usuario_post y quedar constituida
de la siguiente forma:
38) Lo que hice en la tabla anterior fue asignar al usuario 1 (custom) los post 1,2,3 y
al usuario2 (usuario) solo el post 4 por lo que al realizar nuestra 4 vista y al ejecutarla
se debern mostrar 4 registros y cada uno con la condicin establecida. Creemos la
siguiente vista:
39) La guardamos con el nombre de view4 y nos mostrar el cdigo generado por
nuestra herramienta:
41) Como podemos observar los datos que se generaron si son los esperados a cada
usuario se le asign el post que escribi, bueno por ultimo desechemos todas las vistas
no funcionales:
Hasta aqu hemos terminado con la creacin de base de datos, tablas, registros y
consultas con la herramienta Navicat