1) Crear una nueva BD en MySQL llamada CssCustom2) Seleccionar
la BD CssCustom3) 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_custom6) 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, restrictpor 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