Sunteți pe pagina 1din 15

1) Crear una nueva BD en MySQL llamada CssCustom

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:

5) Abrimos el programa Navicat y creamos una nueva conexin llamada: css_custom


6) Abrimos nuestra conexin
7) Ya hemos abierto la conexin y se nos muestran las diferentes bases de datos que
contiene MySql y que podremos manipular desde Navicat:

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:

9) En el rbol de la base de datos abierta se nos muestra el contenido de la misma,


podemos observar que aparece la tabla usuario que creamos previamente, demos clic
sobre la tabla:

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:

13) Como podemos observar se ha desplegado el contenido de la tabla que con


anterioridad hemos capturado, y esto queda de la siguiente forma:

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:

Los campos son:

fk_post, fk_post, css_custom, post, id_post, restrict, restrict


por si no se alcanzan a apreciar en la imagen.
19) Ya tenemos relacionadas las dos tablas para ver si esto es correcto crearemos una
vista, para lo cual damos clic en el men View y seleccionamos la opcin new view
como se muestra en la imagen:

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:

23) Al guardar la vista nuestra herramienta genera un cdigo similar al siguiente:

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:

28) Ahora guardamos como view2 y se nos mostrar el cdigo generado:

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:

El cdigo de la vista es:

select * from usuario,post where usuario.fk_post = post.id_post


31) Guardamos nuestra vista como view3 y se nos mostrara el nuevo cdigo generado:

32) Ahora si ejecutemos esta vista y miremos lo que paso:

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.

34) Ahora seleccionamos la opcin Fields y eliminaremos el campo fk_post pues ya no


nos ser til y lo hacemos de esta manera:

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:

No olvidemos que algunas llaves primarias son de tipo: Auto incremento


36) Si ya creaste la tabla y los campos con su descripcin ahora selecciona la pestaa
foreing keys para crear las llaves forneas que quedaran as:

37) Lo siguiente es capturar en usuario_post la relacin entre el usuario y el post


quedando 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:

40) Ya podemos ejecutar nuestra vista y ver los resultados:

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

S-ar putea să vă placă și