You are on page 1of 37

Manual SQL Anywhere Parte I

MANUAL SQL Anywhere. Aprendiendo como crear tu base de datos en un software amigable y poderoso. El siguiente manual está orientado al aprendizaje del manejo de bases de datos en el software SQL Anywhere, ue puede ser descargado gratiutamente desde http!""www.sybase.com. #na $ez instalado el programa podemos iniciar la creaci%n de nuestra primera base de datos. A continuaci%n se detalla pasa a paso el procedimiento de creaci%n de nuestra base, creaci%n de tablas con sus atributos y por &ltimo las actualizaciones ue podremos realizar sobre nuestras tablas, como son! ⇒ SELE'( ⇒ )*SE+( ⇒ #,-A(E ⇒ -ELE(E Al ejecutar el software en cuesti%n aparecerá en nuestro ordenador el ambiente de trabajo de SQL Anywherejunto con la $entana Sybase 'entral, a la ue cerraremos en nuestro ejercicio de prueba.

La $entana nos muestra el siguiente te.to de la figura, ue nos ad$ierte ue SQL Anywhere no puede conectar con bases creadas por $ersiones anteriores del programa.

Ahora selecionamos el 0cono SQL Anywhere de la lista ue se muestra y le damos doble clic1.Luego de cerrar la /entana en cuesti%n tenemos nuestro ambiente limpio para continuar. .

dándonos la bien$enida. #na $ez seleccionado la opci%n de crear una nue$a base de datos. .Ahora en el 0cono tools daremos clic1 y $eremos desplegarse una barra con m&ltiples opciones de la cual daremos clic1 en crear basa de datos 2'reate -atabase3. se abre la siguiente $entana de diálogo.

Acontinuaci%n le damos la ruta en la ue deseamos se guarde! .Seleccionamos crear nuestra base en nuestro ordenador.

rimera4aseSQL .4uscando un file donde guardar! .ara nuestro ejemplo se ha creado el file 5i.

.

es opcional el encryptarla. .En este paso se nos pide ue habilitemos la encryptaci%n de nuestra base de datos.

. lo dejaremos en el $alor ue por default aparece 26789 bytes3.(enemos en este espacio la oportunidad de seleccionar cuanto espacio dar a mi base de datos.

.

. y el password :s l. podemos .A continuaci%n especificamos nuestro usuario y password. el usuario predeterminado 2por default3 es :-4A.

. 'onectando con la base de datos. para ello es importante el ingreso de usuario y contrase<a.seleccionar cual uier nombre distinto a este con la precauci%n de siempre recordarlos.

Luego de presionar =inish esperar un par de segundos mientras se crea.En esta $entana se muestra la informacion de nuestra base de datos. .

Estamos ahora listos para empezar a trabajar en nuestra .rimera4aseSQL.ara empezar a trabajar demos conectarnos con la base. -ando clic1 en =ile>>'onnect? . .

. 4uscamos en el file en donde la guardamos y luego >>@pen.Seleccionamos >>Star and 'onnect to a database on this computer.

Al presionar >>'reate a table. .*ue$amente $ol$emos a nuestro ambiente de trabajo para seleccionar crear nuestra primera tabla. aparecerá la siguiente $entana de diálogo.

-onde daremos nombre a nuestra tabla 2(ablaA3. A continuaci%n le damos la ruta en la ue está almecenada nuestra base de datos. .

Asignamos la cla$e primaria para nuestra tabla 2id(ablaA3. *e.t > .

Agregamos un comentario a la tabla creada.odemos agregar la columnas re ueridas a nuestra tabla. como se muestra en al gráfica a continuaci%n! . .

'omo se ha indicado podemos crear el numero de tablas deseadas en nuestra base de datos y luego $erlas todas. .

presar el tama<o en d0gitos del mismo. .4asta precionar doble clic1 sobre cual uiera de nuestras tablas para acceder a sus atributos. .ara los datos numBricos es necesario e.

ara $er el contenido de una tabla basta con presionar el 0cono -ata. Casta este momento hemos cubierto los temas necesarios para creaci%n de un a base de datos y creaci%n de tablas para la misma.. Cabiendo creado $arias .

. En SQL Anywhere para manipular datos de una base debemos abrir una $entana de diálogo donde escribir nuestras instrucciones.tablas en nuestra base. #. dedicaremos un poco mas de espacio a su estudio. )*SE+(. como se muestra en el siguiente gráfico. Manipulación De Datos En esta secci%n estudiaremos las secciones SELE'(. -ELE(E. estudiaremos ahora la manipulaci%n de la informaci%n contenida en nuestra base. esto es! >>(ools>>SQL Anywhere AD>> @pen )nteracti$e SQL.-A(E. -ebido a la complejidad de la instrucci%n SELE'( respecto a las restantes tres.

antes de hablar sobre instrucciones es importante conocer el concepto de literales.FG9 =. Literales.. Datos numéricos *@ deben estar entre comillas simples Cadenas de caracteres S) deben estar entre comillas simples Ejem lo! Literales ue deben ir entre comillas por ser cadenas de caracteres 2/er imagen3. I"SE#$ I"$%.F=loridaF.#na $ez Abierta la $entana de di%logo 2)nteracti$e SQL3 podremos codificar las instrucciones para hacer consultas.postcode3 &AL'ES 2E4779F. 4ranch 2branch*@. por simplicidad distinguiremos entre literales encerrados entre comillas simples y los ue no lo están. HennedyF.city.street.son constantes ue se utilizan en las instrucciones SQL.F#SGI6 8F3 .

este es un comando muy potente. .ara esto utilizaremos la base de datos con las tablas ue se mostraron en gráficas anteriores.traer y $isualizar datos de una base. . y alias es una abre$iatura opcional para nombre de tabla El orden de las cláusulas en la instrucci%n SELE'( no puede cambiarse. Las dos &nicas cláusulas obligatorias son las dos primerasS las restantes son opcionales. como $eremos a continuaci%n. NombreTabla es el nombre de una tabla o $ista de base de datos ya e. su formato general es el siguiente! SELE'( nue$o*ombreLL J.presi%n.presi%n'olumna JAS *ombre(abla JaliasLJ.?LO =+@5 JPCE+E J-)S()*'(KALLL MNKJe. El resultado de una consulta a una tabla es otra tabla.istente y a la ue se tenga acceso. 4R lista'olumnasLJCA/)*Q condici%nL J@+-E+ 4R lista'olumnasL ExpresiónColumna representa un nombre de columna o una e. Cay muchas $ariaciones de esta instrucci%n.Consultas simples (Query(s)) El prop%sito de la instrucci%n SELE'( consiste en e.?L condici%nL JQ+@#.

Ejem lo(! E)tracci*n de todas las columnas de todas las +ilas .to anterior! SELE'( N =+@5 StaffS Ejem lo. salary. podemos hacerlo de la siguiente manera y el resultado será el mismo ue obser$ar0amos con el te. branch*o =+@5 StaffS .tracciones de datos en SQL re uieren todas las columnas de una tabla.ara $isualizar todos los datos de una tabla de manera con$encional escribiremos! SELE'( staff*o. position. -@4. )*ame.! E)traer toda una serie de columnas es ec-+icas de todas las +ilas SELE'( staff*o. f*ame. se. f*ame. salary =+@5 StaffS .. )*ame.uesto ue muchas e.

! 'so de DIS$I"C$ En este caso trataremos con un listado en el ue se repiten datos.Ejem lo. el primer c%digo nos mostrará una tabla con duplicados 2tabla I2a33 y luego con el uso de -)S()*'( eliminaremos los datos ue se repitan. lo ue obser$aremos en la tabla I2b3! SELE'( property*o =+@5 /iewingS Ahora utilizando el comando -)S()*'( SELE'( -)S()*'( property*o =+@5 /iewingS .

salary"AD =+@5 StaffS (odos los ejemplos anteriores nos muestran como e. en nuestro caso mostraremos una lista con el salario mensual de los empleados a partir del salario anual 2simplemente di$idiendo el campo de consulta para AD3.traer todas las filas de .Ejem lo/! Cam os calculados Se trata de acceder a datos y realizar alguna operaci%n con ellos. )*ame. .odemos comparar la tabla a continuaci%n con la del ejemplo D $erificar la operaci%n de di$isi%n ue se ha realizado. f*ame. SELE'( staff*o.

una o $arias columnas de una tabla con el uso de la instrucci%n SELE'(. Ejem lo4! Condici*n de 12s3ueda 1asada en una com araci*n com uesta SELE'( N =+@5 4ranch PCE+E cityTULondonU @+ cityTUQlasgowUS . *@(.traer lo podemos hacer mediante la cláusula PCE+E. además pueden generarse predicdos mas complejos con la utilizaci%n de los operadores básicos A*-. @+. f*ame. salary =+@5 Staff PCE+E salary > A7777S En SQL están disponibles los operadores simples más conocidos. sin embrgo si necesitamos restringir las filas ue hay ue e. como $eremos en los siguientes ejemplos! Ejem lo0! Condici*n de 12s3ueda 1asada en com araci*n SELE'( staff*o. )*ame. position.

Ejem lo5! Condici*n de 12s3ueda 1asda en ran6o 78E$9EE":"%$ 8E$9EE". position ertenencia a un . f*ame. SELE'( staff*o. salary =+@5 Staff PCE+E salary 4E(PEE* D7777 A*. f*ame. )*ame.I7777S Ejem lo<! Condici*n de 12s3ueda 1asada en conjunto 7I":"%$ I". )*ame. SELE'( staff*o. position.

f*ame.=+@5 Staff PCE+E position )* 2U5anagerU. por ejemplo si buscamos la cadena EAGVF podemos utilizar el predicado! L)HE EAGVF ES'A. . SQL dispone de dos s0mbols especiales para correspondencia de patrones! ♦ V represente cual uier secuencia de cero o más caracteres.ara localizar datos en los cuales aparezca alguna cadena de caracteres en particular. address. podemos utilizar un caracter de escape.USuper$isorU3 Ejem lo=! Condici*n de 12s3ueda 1asada en corres ondencia de atrones 7LI>E:"%$ LI>E. )*ame. Si la cadena de b&s ueda incluye alguno de los dos simbolos especiales. ♦ W representa cual uier carácter indi$idual. tel*o =+@5 .E EXF Ahora s0 un ejemplo de b&s ueda por el patron EQlasgowF SELE'( owner*o. para ello se debe comprobar si la cadena de caracteres deseada aparece en alg&n lugar dentro de la columna ue estemos consultando.ri$ate@wner PCE+E address L)HE UVQlasgowVUS .

coment )S *#LLS Ejem lo((! %rdenaci*n se62n una sola columna . $iew-ate =+@5 /iewing PCE+E property*o T U.Ejem lo(?! Condici*n de 12s3ueda "'LL 7IS "'LL:IS "%$ "'LL.Q6U A*. SELE'( client*o.

=lorida.Y . )*ame.-A(E.postcode3 /AL#ES 24779.ara esto utilizaremos las siguientes instrucciones! 2)*SE+(. #. f*ame. 4ranch 2branch*o. Hennedy.street.#SGA683 . salary =+@5 Staff @+-E+ 4R salary -ES'S Actualizaciones en ase !e !atos .ara ello en la $entana SQL Statements codificamos lo siguiente! )*SE+( )*(@.G9 =.city. -ELE(E3 )nsertar campo nue$o.SELE'( staff*o.

HennedyF. puesto ue nos dice a ue .Luego de actualizada nuestra tabla podremos obser$ar como se agreg% el nue$o campo a (ablaA -e manera muy similar a lo anterior podemos actualizar datos de una columna. lo hacemos de la siguiente manera. postcodeTF+48ZE' PCE+E idTG *ota! Es de suma importancia la l0nea PCE+E idTG.-A(E 4ranch set streetT E97 =. #.

atributo modificar. es por ello ue a continuaci%n presentamos los 0conos correspondientes a cada funci%n ue realizamos en los ejercicios anteriores. )nsert #pdate . en caso de ob$iar esta l0nea el cambio se hará a todos los atributos de la tabla. lo cual ser0a un gran problemas si tenemos una tabal con mucha informaci%n importante. Si uisieramos borrar un atributo! -ELE(E from 4ranch PCE+E idTG N*o ol$idar PCE+E? 'omo es normal debe parecernos demasiado tedieso el procedimiento para modificar los atributos de nuestras tablas.

-elete .