Sie sind auf Seite 1von 61

USANDO SQL EN BASE DE Ooo

mepgkun@hotmail.com

Utilizaremos comandos SQL para crear una base de datos en BASE de OOo a la cual llamaremos EM !ESA "E#. Es necesario tener conocimientos b$sicos tanto de Base de Ooo como de comandos SQL para poder seguir el e%ercicio. Lo primero creamos en Base de Ooo la base de datos EM !ESA "E#. Luego procedemos a crear la tabla Empleados & para ello 'amos al men( de Base ) *erramientas+SQL...

Esto nos abre la 'entana E%ecutar comando SQL& en comando a e%ecutar colocamos las instrucciones necesarios para la creaci,n de la tabla& tal como lo apreciamos en la imagen siguiente )

La tabla EM LEA"OS la crearemos con un campo .dEmpleados el cual sera nuestra Lla'e rimaria / rimar0 1e02. Ademas de ello crearemos columnas para 3ombres& Apellido aterno& Apellido Materno& "irecci,n& 4iudad& ro'incia& Email& 5el67ono 0 Beeper. Luego de colocadas todas las instrucciones SQL& damos clic sobre el bot,n E%ecutar& si no ha e8istido ning(n error deber$ 9uedar como la imagen de aba%o )

En Estado se lee ) 4omando e%ecutado satis7actoriamente& lo cual nos indica 9ue hemos logrado crear la tabla Empleados. "amos clic sobre 4errar. Luego 'ol'emos sobre el men( 0 damos clic sobre :er+Actualizar 5ablas.

odemos apreciar en la imagen de arriba& 9ue se 'e el icono de la tabla EM LEA"OS& la cual creamos con instrucciones SQL.

<

Ahora 'amos a modi7icar la tabla Empleados& haremos 9ue la columna 5el67ono tenga la Limitaci,n /4onstraints2 U3.QUE. ara ello aperturamos la 'entana E%ecutar comando SQL 0 tipeamos la instrucci,n SQL tal como se aprecia en la imagen de aba%o )

"amos clic sobre E%ecutar )

= podemos apreciar en la imagen de arriba 9ue el comando se ha e%ecutado satis7actoriamente. >

Ahora crearemos la segunda tabla PagosEmpleados & para ello abrimos la 'entana E%ecutar comando SQL 0 colocamos el siguiente c,digo en comando a e%ecutar

Una 'ez colocado el c,digo hacemos clic sobre E%ecutar

odemos apreciar en la imagen de arriba 9ue el comando ha sido e%ecutado ?

satis7actoriamente. *emos creado la 5abla agosEmpleados con las siguientes columnas ) .d de empleado& uesto& #echa de inicio del contrato de traba%o& 5asa de pago& #echa del ultimo pago& Sueldo 0 Bono. :amos luego a :er+Actualizar 5ablas.

Al hacer clic sobre Actualizar 5ablas& 'eremos el icono de la tabla A@OSEM LEA"OS 9ue hemos creado. Ahora 'amos a crear una Lla'e e8terna /#O!E.@3 1E=2 en la columna A

.dEmpleado la cual 'a a estar re7erida con la columna .dEmpleados de la tabla EM LEA"OS& para ello aperturamos nue'amente la 'entana E%ecutar comando SQL& 0 escribimos el siguiente c,digo

"amos clic sobe E%ecutar )

5al como apreciamos en la imagen de arriba hemos creado una Lla'e E8terna para la columna .dEmpleado de la tabla A@OSEM LEA"OS. B

4rearemos ahora la tabla 4L.E35ES& para ello aperturaremos la 'entana E%ecutar comando SQL 0 escribiremos el siguiente c,digo en comando a e%ecutar )

Una 'ez colocado los comandos damos clic sobre E%ecutar )

:emos 9ue nos indica 9ue el comando se ha e%ecutado satis7actoriamente.

4rearemos ahora la tabla O!"E3ES& para ello aperturaremos la 'entana E%ecutar comando SQL 0 escribiremos el siguiente c,digo en comando a e%ecutar )

En la imagen de arriba podemos 'er el c,digo incluido en comando a e%ecutar& luego de ello& hacemos clic sobre E%ecutar

4omo apreciamos en la imagen de arriba el comando se ha e%ecutado satis7actoriamente. D

#inalmente crearemos la tabla !O"U45OS& para ello aperturaremos la 'entana E%ecutar comando SQL 0 escribiremos el siguiente c,digo en comando a e%ecutar )

En la imagen de arriba podemos 'er el c,digo incluido en comando a e%ecutar& luego de ello& hacemos clic sobre E%ecutar )

4omo apreciamos en la imagen de arriba el comando se ha e%ecutado satis7actoriamente. -E

Ahora nos dirigimos al men( :er+Actualizar 5ablas

Al hacer clic sobre Actualizar 5ablas

Los iconos de las nue'as tablas agregadas se mostraran como en la imagen de arriba.

--

Ahora 'amos a crear un par de Lla'es E8ternas & la primera sobre la columna .d4Lientes de la tabla O!"E3ES& relacionada a la columna .d4lientes de la tabla 4L.E35ES.

.ntroducido el c,digo en comando a e%ecutar& hacemos clic sobre E%ecutar.

-;

:emos en la imagen de arriba 9ue la creaci,n de la primera Lla'e e8terna /#oreign 1e02 se ha logrado satis7actoriamente. Ahora crearemos la segunda Lla'e e8terna sobre la columna .d roductos de la tabla O!"E3ES& re7erida a la columna .d roductos de la tabla !O"U45OS.

5ipeado el c,digo en comandos a e%ecutar damos clic sobre E%ecutar

4on lo cual habremos creado la segunda Lla'e e8terna. -<

:eamos ahora como esta 9uedando nuestra base de datos para ello 'amos a *erramientas+!elaciones

Al dar clic sobre !elaciones& podremos 'er el cuadro de relaciones creadas entre tablas.

->

Luego de haber completado la creaci,n de las tabla de nuestra base de datos ahora pasaremos a incluir los datos dentro de las tabla& para ello empezaremos con la tabla EM LEA"OS. !ealizaremos una modi7icaci,n pre'ia en la tabla EM LEA"OS& la columna "irecci,n la ampliaremos a <A caracteres&para ello aperturamos la 'entana e%ecutar comando SQL 0 tipeamos el siguiente c,digo )

Listo ahora hacemos clic sobre E%ecutar 0 la columna "irecci,n 9uedara modi7icada& 7inalmente hacer clic sobre :er+Actualizar 5ablas. Empecemos a colocar los datos en la tabla EM LEA"OS )

-?

-A

-B

-C

-D

;E

;-

Una 'ez concluidos de insertar los datos de la tabla EM LEA"OS& damos clic sobre :er+Actualizar 5ablas & 0 luego abrimos la tabla EM LEA"OS.

;;

:eamos ahora la tabla A@OSEM LEA"OS& para ello 'eamos los organigramas por o7icina de la empresa )

;<

Empecemos a introducir datos en la tabla A@OSEM LEA"OS.

Se e%ecuta sin problemas el comando para introducir datos para la primera 7ila& ahora al tratar de introducir la segunda 7ila )

Al tratar de introducir los datos de la segunda 7ila& introducimos como ;>

.dEmpleado el 'alor >;& el mismo 9ue no 7igura como .dEmpleado en la tabla de EM LEA"OS& esto origina 9ue Base& nos indi9ue 9ue la integridad relacional de la base de datos no se ha cumplido& por lo 9ue no e%ecuta el comando introducido e indica el error. El campo .dEmpleados de la tabla A@OSEM LEA"OS es una Lla'e e8terna respecto al campo .dEmpleados de la tabla EM LEA"OS&el cual es una Lla'e primaria& por lo 9ue no podemos introducir en la tabla A@OSEM LEA"OS& en la columna .dEmpleados& un .d 9ue no e8ista en la 5abla Empleados& columna .dEmpleados. Modi7i9uemos el .dEmpleado colocando ; 9ue es el correcto.

:emos 9ue ahora si hemos podido introducir los datos de la segunda 7ila sin problemas. Otra obser'aci,n es acerca de 3ULL& esta la emplearemos cuando no ha0a datos 9ue introducir en las columnas.

;?

;A

;B

;C

#inalizada la inserci,n de datos en la tabla A@OSEM LEA"OS& la tabla debe mostrarse como sigue )

;D

asemos ahora a crear la tabla 4L.E35ES )

<E

<-

Una 'ez 7inalizada la inserci,n de datos en la tabla 4L.E35ES & esta debe 9uedar como sigue )

!ecordemos 9ue en la tabla 4L.E35ES& la columna .d4lientes es la Lla'e primaria o principal. Antes de continuar& hemos cometido un error al insertar el eFmail de 5ecsur <;

S.A. En 'ez de @gmail.com debe ser tec@gmial.com por lo 9ue procedamos a corregirlo.

.ntroducimos los comandos para la actualizaci,n del correo electr,nico tal como 'emos en la imagen de arriba& luego de lo cual se habr$ corregido el error.

<<

Ahora procedamos a introducir los datos a la tabla !O"U45OS.

<>

<?

<A

4on este ultimo dato hemos completado la tabla !O"U45OS& 'eamos como 9ueda )

<B

asemos a llenar los datos de la ultima tabla O!"E3ES )

Obser'amos 9ue al tratar de introducir el comando de la 7igura de arriba Base no lo ha e%ecutado 0 nos indica 9ue ha0 una 'iolaci,n a la integridad relacional de la base de datos& esto por9ue tenemos 9ue tener en consideraci,n 9ue la columna ."4lientes de la tabla O!"E3ES es una Lla'e e8terna para la columna .d4lientes de la tabla 4L.E35ES& 0 esta tabla tiene solo hasta el numero -; en la columna .d4lientes& por lo 9ue no es posible introducir el -< dentro de la columna .d4lientes de la tabla O!"E3ES. 4olo9uemos el numero < en 'ez del -< 0 'eremos 9ue 0a no tenemos problemas 0 el comando se e%ecutara satis7actoriamente.

<C

<D

>E

>-

4on la cual habremos 7inalizado la introducci,n de datos en la tabla O!"E3ES. La cual debe 9uedar como sigue )

*abiendo 7inalizado la parte de introducci,n de datos en las tablas de la Empresa "E# & 'amos ahora a pasar a realizar consultas sobre los datos contenidos en ellas.

>;

Que es una consulta? Una consulta es un an$lisis dentro de una base de datos usando la declaraci,n s9l SELE45. Una consulta se utiliza para e8traer datos de una base de datos de una 7orma legible de acuerdo a un pedido del usuario. ara hacer una consulta en Base de OOo& hacemos clic sobre el icono 4onsultas 0 luego sobre 4rear consulta en 'ista SQL...

Luego de hacer clic sobre 4rear consulta en 'ista SQL& se nos apertura la 'entana de edici,n de consultas SQL siguiente )

A9uG& una 'ez introducidos los comandos para la consulta& hacemos clic ><

sobre el icono E%ecutar consulta. Empecemos ahora con las primeras consultas sobre nuestra base de datos Empresa "E#. Queremos una relaci,n de nuestros clientes en la cual 7igure su correo electr,nico.

5ipeamos el c,digo SQL tal como se aprecia en la 7igura de arriba& luego de lo cual hacemos clic sobre el icono E%ecutar consulta.

odemos apreciar en la imagen de arriba el resultado de la consulta. >>

Si deseamos guardar la consulta& debemos hacer clic sobre el icono @uardar situado en la parte superior iz9uierda& esto apertura una 'entana en la 9ue se nos pregunta por el nombre 9ue tendr$ la consulta.

Si damos clic sobre Aceptar una 'ez de introducido el nombre de la consulta en la 'entana @uardar como& esta se guardara.

>?

Ahora deseamos una relaci,n de los empleados de nuestra empresa 9ue traba%an en la ciudad de .lo.

:emos pues 9ue tenemos B traba%adores en nuestra sucursal de .lo. @uardemos ahora la consulta como 3ombres Apellido at .lo EM LEA"OS.

>A

Ahora deseamos un listado de nuestros productos 9ue tengan un costo menos a -EE unidades monetarias.

:emos 9ue tenemos cuatro productos 9ue tienen un costo menor a las -EE unidades monetarias. @uardamos ahora la consulta.

>B

Ahora deseamos un listado de los nombres de los puestos 9ue e8isten en la empresa.

:emos pues 9ue e8isten siete di7erentes categorias en los puestos de traba%o de la Empresa "E#. Ahora guardemos la consulta.

>C

Ahora deseamos un listado con todas las ordenes de compra emitidas el <E de Hunio del ;E-E.

Ahora guardamos la consulta.

>D

Ahora deseamos una relaci,n en donde 7iguraran todos los empleados de la Empresa "E# ordenados de acuerdo al sueldo /de ma0or a menor sueldo2.

@uardamos la consulta.

?E

Ahora deseamos una 'ista de todos a9uellos empleados 9ue no reciben Bono

4omo 'emos en la consulta ha0 -- empleados 9ue no tienen ning(n Bono. @uardamos ahora la consulta.

?-

Ahora 9ueremos a'eriguar los productos de la Empresa "E# 9ue tienen un costo entre las ?EE 0 -EEE unidades monetarias.

Seg(n apreciamos e8isten tres productos cu0o costo se encuentra dentro del rango solicitado& ahora pasemos a guardar la consulta.

?;

Ahora 9ueremos saber los nombres de las empresas asG como la direcci,n de las mismas de nuestros clientes en las ciudades de Lima 0 3asca.

:emos en la consulta el nombre asG como la direcci,n de la empresas 9ue son nuestros clientes en las ciudades de Lima 0 3asca. @uardamos la consulta.

?<

Ahora deseamos conocer a cuanto asciende el total de la planilla de nuestros empleados.

La planilla de nuestra empresa asciende a la cantidad de -<E&EEE unidades monetarias. Ahora 'eremos a cuanto asciende el total de bonos 9ue pagamos por la planilla de empleados.

El total 9ue pagamos por bonos asciende a >&CEE unidades monetarias

?>

La consulta siguiente sera la de a'eriguar a cuanto asciende el total de pagos a realizar por los sueldos mas los bonos.

:emos 9ue el total de la planilla considerando sueldos mas bonos asciende a la suma de -<>&CEE unidades monetarias. @uardamos la consulta.

??

En las siguientes consultas 'amos a obtener el sueldo promedio& el sueldo m$8imo asG como el sueldo mGnimo de la empresa )

El sueldo promedio de la empresa es de A&?EE unidades monetarias.

El sueldo m$8imo es de D&?EE unidades monetarias.

?A

El mGnimo sueldo pagado en la empresa es de ?&?EE unidades monetarias. Ahora deseamos una consulta 9ue nos muestre por un lado los nombre de nuestros empleados 0 por otro el cargo 9ue ocupan en la empresa.

?B

ara esta consulta hemos utilizado dos tablas EM LEA"OS 0 A@OSEM LEA"OS& de la tabla EM LEA"OS hemos utilizado las columnas 3ombres& Apellido at 0 ApellidoMat& de la tabla A@OSEM LEA"OS hemos utilizado la columna uesto. odemos apreciar en la imagen de arriba los comandos utilizados para ello. Luego sal'amos la consulta )

?C

Ahora necesitamos a'eriguar el numero total de empleados 9ue tenemos por cada ciudad en donde tenemos sucursales. ara ello hacemos la siguiente consulta )

En la imagen de arriba podemos 'er el resultado de la consulta en Lima tenemos B empleados& en 3asca tenemos A empleados 0 en .lo tenemos B empleados.

IQue hemos 'istoJ Se ha creado una base de datos utilizando SQL en Base OOo& luego se han introducido los datos 0 7inalmente hemos e7ectuado consultas 'arias. ara a9uellos 9ue desean un tutorial sobre Base e8clusi'amente & pueden descargarlo de la siguiente direcci,n ) http)++KKK.>shared.com+document+?"eOoKB#+BASEL4OM O3E35EL"EL OOoL !.ME!A.html http)++KKK.>shared.com+document+Onr3.3mE+BASEL4OM O3E35EL"ELO OoLSE@U3"A.html ara a9uellos 9ue deseen un tutorial sobre SQL e8clusi'amente & pueden ?D

descargarlo de la siguiente direcci,n ) http)++KKK.>shared.com+7ile+1p =hEz"+SQLL4OMMA3"L !A45.4AS.html http)++KKK.>shared.com+7ile+mMh*4g#.+SQLL4OMMA3"L !A45.4AS;.ht ml La direcci,n electr,nica para ba%ar la base de datos Empresa "E# es ) http)++KKK.>shared.com+7ile+MKCo5Stg+EM !ESAL"E#.html Mi correo electr,nico ) mepgkun@hotmail.com

AE