Está en la página 1de 78

0.

PORTADA

ANEXO UNO - D

Oracle Database 10g Express Edition Manual del Participante Secretara de Finanzas Programa General Subsecretara de Administracin de Capacitacin y Direccin General del Desarrollo Instituto de Profesionalizacin de los 2010 Servidores Pblicos

Basado en: Deteccin de Necesidades de Capacitacin Duracin: 20 horas

El presente Manual forma parte del material didctico de los eventos de capacitacin que corresponden al Programa General de Capacitacin 2010, que ofrece el Instituto de Profesionalizacin de los Servidores Pblicos, mismo que fue elaborado por: Universidad Autnoma del Estado de Mxico Direccin de Tecnologas de la Informacin y Comunicaciones Ing. Denys Bustamante Fernndez Ing. Roxana Trevilla Godnez

I.

NDICE

Pgina 0. Portada ......................................................................................................................................1 I. ndice .........................................................................................................................................3 II. Carta de Bienvenida ..................................................................................................................6 III. Introduccin ...............................................................................................................................7 IV. Objetivo General .......................................................................................................................8 V. Temas y Subtemas ...................................................................................................................9 Tema I Elementos esenciales de las bases de datos ...............................................................9 1.1 Resultados del Aprendizaje ...........................................................................................9 1.2 Introduccin ...................................................................................................................9 1.2.1 Bases de Datos ...................................................................................................9 1.2.2 Oracle Database10g .........................................................................................12 1.2.3 Proceso de desarrollo de Sistemas ..................................................................12 1.3 Introduccin a la arquitectura de Oracle 10g ...............................................................14 1.3.1 Arquitectura .......................................................................................................14 1.3.2 Estructura de la base de datos .........................................................................14 1.3.3 Autenticacin en Oracle 10g .............................................................................17 1.3.4 Pgina principal .................................................................................................19 1.3.5 Navegacin en los mens .................................................................................20 Tema II Lenguaje SQL ............................................................................................................21 2.1 Resultados ...................................................................................................................21 2.2 Introduccin .................................................................................................................21 2.3 Aplicaciones del SQL ...................................................................................................21 2.3.1 Aplicaciones del SQL ........................................................................................21 2.3.2 Clasificacin de los enunciados de SQL ...........................................................21 2.3.3 Recomendaciones al escribir enunciados de SQL ...........................................22 2.3.4 Ejecucin de enunciados de SQL .....................................................................23 Tema III Enunciado de Seleccin de Datos ............................................................................25 3.1 Resultados ...................................................................................................................25 3.2 Introduccin .................................................................................................................25 3.3 Enunciado de Seleccin de Datos ...............................................................................25 3.3.1 Capacidades del Select ....................................................................................25 3.3.2 Recuperacin de datos en Oracle 10g .............................................................27 3.3.3 Sintaxis Bsica ..................................................................................................27 3.3.4 Uso de alias de columna ...................................................................................28 3.3.5 Expresiones Aritmticas ....................................................................................28 3.3.6 Definicin del valor NULL ..................................................................................29 3

3.3.7 Operador de Concatenacin .............................................................................29 3.3.8 Restriccin de datos Clusula WHERE .........................................................30 3.3.9 Clasificacin de los datos Clusula ORDER BY............................................31 3.3.10 Usando condiciones para valores NULOS .....................................................31 3.3.11 Condiciones Lgicas .......................................................................................31 3.3.12 Reglas de precedencia ...................................................................................32 Tema IV Funciones de SQL ....................................................................................................33 4.1 Resultados ...................................................................................................................33 4.2 Introduccin .................................................................................................................33 4.3 Funciones de SQL .......................................................................................................33 4.3.1 Las funciones de SQL .......................................................................................33 4.3.2 Tipos de funciones de SQL ...............................................................................34 4.3.3 Funciones de un solo rengln ...........................................................................35 4.3.4 Funciones de mltiple rengln ..........................................................................40 Tema V Obtencin de datos de Mltiples Tablas ...................................................................43 5.1 Resultados ...................................................................................................................43 5.2 Introduccin .................................................................................................................43 5.3 Obteniendo datos de distintas tablas ...........................................................................43 5.3.1 Uniendo dos o ms tablas .................................................................................44 5.3.2 Tipos de uniones ...............................................................................................46 Tema VI Subconsultas ............................................................................................................50 6.1 Resultados ...................................................................................................................50 6.2 Introduccin .................................................................................................................50 6.3 Subconsultas ...............................................................................................................50 6.3.1 Como identificar las subconsultas.....................................................................50 6.3.2 Sintaxis de las subconsultas .............................................................................51 Tema VII Manipulacin de Datos ............................................................................................53 7.1 Resultados ...................................................................................................................53 7.2 Introduccin .................................................................................................................53 7.3 Lenguaje de Manipulacin de Datos ...........................................................................53 7.3.1 Enunciados DML ...............................................................................................53 7.3.2 Enunciado INSERT ...........................................................................................53 7.3.3 Enunciado UPDATE ..........................................................................................54 7.3.4 Enunciado DELETE ..........................................................................................55 7.3.5 Enunciado MERGE ...........................................................................................55 7.3.6 Transacciones en la Base de Datos .................................................................56 Tema VIII Administracin de Bases de Datos ........................................................................58 4

8.1 Resultados ...................................................................................................................58 8.2 Introduccin .................................................................................................................58 8.3 Objetos de la Base de Datos .......................................................................................58 8.3.1 Objetos bsicos de una Base de Datos ............................................................58 8.3.2 Creacin de Tablas ...........................................................................................58 8.3.3 Las tablas en la base de datos .........................................................................59 8.3.4 Tipos de Datos ..................................................................................................60 8.3.5 Eliminacin de una Tabla ..................................................................................60 8.3.6 Validaciones en el servidor ...............................................................................61 8.3.7 Creacin de Vistas ............................................................................................62 8.3.8 Otros Objetos de la base de datos....................................................................62 8.3.9 Control de Acceso a la Base de datos ..............................................................63 VI. Conclusin Final ......................................................................................................................64 VII. Glosario ...................................................................................................................................65 VIII. Bibliografa ............................................................................................................................69 IX. Del autor ..................................................................................................................................70 X. Anexo ......................................................................................................................................72

II.

CARTA DE BIENVENIDA

Construir una administracin pblica moderna que permita impulsar el desarrollo y garantice la estabilidad institucional es uno de los objetivos del Licenciado Enrique Pea Nieto, Gobernador Constitucional del Estado de Mxico, establecida en los cimientos de Seguridad Integral dentro del Plan de Desarrollo 2005-2011. Dentro de estos se encuentra el que corresponde al de Reforma Administrativa para un Gobierno Transparente y Eficiente, el cual para realizarse tiene como estrategia la Gestin Pblica: Innovacin para la Eficiencia, cuyas principales lneas de accin se encuentran: arraigar en el servidor pblico una cultura de servicio eficiente, clida y cercana a la poblacin, bajo la perspectiva de mejora continua, fortalecer la profesionalizacin de la carrera administrativa y asegurar la continuidad de los programas gubernamentales, as como avanzar en el sistema del servicio profesional de carrera para contar con personal idneo para el ejercicio de la funcin pblica incluyendo mecanismos de ascenso y estmulos. En este sentido los eventos de capacitacin tienen como proposicin, aportar herramientas y tcnicas que apoyen el desempeo de la funcin del servidor pblico que sea traducida como complemento en generar una nueva cultura de servicio para el beneficio de cada una de las personas que forman parte de la administracin pblica estatal y en forma particular y directa a la ciudadana. El evento que se ofrece es un complemento de conocimientos y capacidades que se realiza con la finalidad de obtener mejores resultados en el desempeo personal e institucional, y con ello alentar una nueva actitud de servicio acorde con las expectativas ciudadanas y responsabilidades de la administracin pblica estatal, con el firme propsito de fortalecer la vocacin de servicio en marco de apego a la legalidad, imparcialidad en la atencin y honradez en el servicio, con el compromiso siempre firme a la ciudadana, al gobierno y a la unidad administrativa para la cual se desempea. La Secretara de Finanzas del Gobierno del Estado de Mxico, a travs de la Direccin General del Instituto de Profesionalizacin de los Servidores Pblicos dependiente de la Subsecretara de Administracin, le hace saber que es propsito permanente el que servidores pblicos como usted tengan acceso a la capacitacin deseando que el evento que hoy est por iniciar cumpla con las expectativas para lo que fue diseado.

III.

INTRODUCCIN

Oracle Database 10g Express Edition (Oracle Database XE) es una versin gratuita de una de las bases de datos del tipo relacional, Oracle ha demostrado ser una de las ms eficientes herramientas en la gestin de grandes cantidades de informacin. . Oracle Database XE es fcil de instalar y fcil de manejar. Con Oracle Database XE, se utiliza una interfaz intuitiva basada en navegador, para administrar la base de datos, crear tablas, vistas y otros objetos de esquema, los datos de importacin, la exportacin, y la vista de tabla; con esta versin la ejecucin de consultas, scripts SQL y la generacin de informes es ms intuitiva y ms amigable. Oracle Database XE incluye Oracle DB HTML 2.1, un entorno declarativo, de desarrollo grfico para crear aplicaciones web centradas en bases de datos. Adems con esta versin se puede utilizar otros productos populares de Oracle para el desarrollo de aplicaciones o incluir aplicaciones de terceros para desarrollar sus aplicaciones de robustas.

IV.

OBJETIVO GENERAL

Al finalizar el curso el participante ser capaz de disear, crear y administrar una base de datos relacional utilizando el administrador de base de datos Oracle 10g, aprender a gestionar la informacin contenida en la base de datos a travs del diseo de una interfaz grfica y aplicar las reglas de seguridad bsicas para garantizar la consistencia y confiabilidad de informacin alojada en la base de datos.

V.

TEMAS Y SUBTEMAS

Tema I Elementos esenciales de las bases de datos 1.1 Resultados del Aprendizaje El participante aprender e identificar las partes principales de la ventana de trabajo del manejador. Conocer los principios del proceso de anlisis y diseo de una base de datos relacional. 1.2 Introduccin 1.2.1 Bases de Datos Definicin de una base de datos Una base de datos es un conjunto de archivos interrelacionados entre s, cuyo propsito es servir de almacn a grandes volmenes de informacin.

Caractersticas de las base de datos Las principales caractersticas de una base de datos son las siguientes: Se componen de tablas Cada tabla es nica Una tabla es un conjunto de registros o filas Cada registro se compone de campos o columnas Un registro tiene el mismo nmero de columnas No hay un orden al guardar los registros No hay un orden al guardar las tablas La informacin puede ser almacenada o recuperada utilizando el lenguaje de consulta estndar (Structured Query Language)

Modelos de base de datos Dentro de la ciencia de la computacin a travs del tiempo se han ido definiendo distintos modelos de bases de datos, que de acuerdo a sus caractersticas inherentes cada uno de ellos ha permitido resolver los problemas de eficiencia y eficacia que rodean a la extraccin y manipulacin de datos. Los principales modelos de bases de datos pueden verse en la siguiente tabla:
Modelo Caractersticas

Jerrquico

Estructura los archivos de datos mediante padres e hijos (esquema de rbol) Los archivos de datos se encuentran definidos al mismo nivel y se mantienen relacionados todos entre s. Los archivos son organizados a travs de dimensiones, conformando al menos cubos de informacin de tres dimensiones como mnimo. La informacin de los archivos se representa mediante objetos, tal como se realiza en la programacin orientada a objetos (clases, herencia, polimorfismo etc.) Los archivos de informacin se interrelacin a travs de relaciones o reglas de asociacin.

Red

Multidimensional

Orientado a Objetos

Relacional

Visualmente los modelos pueden verse de la siguiente forma:

10

Administrador de base de datos Para poder administrar la informacin contenida en los archivos de una base de datos es indispensable disponer de un programa que permita que la bsqueda, la extraccin y manipulacin de la informacin se realice de la manera ms eficiente y que siempre garantice la consistencia y confiabilidad de la informacin, este programa se conoce como Administrador de Bases de Datos. As podemos definir al Administrador de base de datos como el software dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Es decir, es el medio por medio del cual podemos comunicarnos con la base de datos.

Caractersticas de un administrador de base de datos Las principales caractersticas de un administrador de base de datos son: Capacidad para almacenar y modificar altos volmenes de datos: el programa de be permitir registrar informacin diversa con un propsito en particular (por ejemplo, una lista de recetas o los clientes de una empresa); debe tambin facilitar las tareas de registro, actualizacin y eliminacin de los datos que contiene. Debe realizar bsquedas de los datos que almacena: debe permitir ubicar un dato de forma fcil y rpida. Por ejemplo, buscar los clientes de apellido "Gmez" que residan en la localidad cuyo cdigo postal es 50200. Permite analizar e imprimir informacin: debe permitir realizar clculos con los datos almacenados; por ejemplo, calcular qu porcentaje de las ventas totales fue realizado en la zona de Metepec. Requiere del manejo de altos volmenes de datos: debe permitir manejar con relativa facilidad grandes volmenes de datos, por ejemplo cambiar el encargado de ventas de todos los clientes de una zona. Debe compartir datos: es preciso que permita que ms de un usuario acceda simultneamente a los mismos datos. 11

1.2.2 Oracle Database10g Caractersticas de Oracle Database 10g Oracle ofrece una infraestructura robusta para la gestin de informacin para pequeas y medianas empresas, misma que es conocida como Oracle Database 10g. Esta versin dispone de todo lo necesario para crear aplicaciones. Ente sus principales caractersticas se encuentran las siguientes: Es escalable Robusta, de alta disponibilidad y de arquitectura segura Ofrece un modelo de desarrollo Permite el uso de SQL PL/SQL ,Java y XML Es gratuita Hace uso de una pgina de administracin basada en una interfaz de web muy intuitiva Permite la inclusin de lenguajes de terceros ara el desarrollo de aplicaciones

1.2.3 Proceso de desarrollo de Sistemas A partir de una necesidad de automatizacin es posible utilizar una base de datos dentro de un proceso de desarrollo de sistemas, Oracle hace referencia a las siguientes fases dentro de un ciclo normal de desarrollo:

Estrategia y anlisis Diseo Construccin y documentacin Transicin Produccin


Estrategia y anlisis: Permite definir los requerimientos y especificaciones que deber contener el sistema Diseo: Consiste en realizar el diseo de la base de datos de acuerdo a lo recabado en la fase de estrategia y anlisis. Se recomienda implementar el modelado de datos para obtener el diseo inicial de la base de datos. Construccin y documentacin: Construccin del prototipo, creacin de la base de datos, implementacin del cdigo y documentacin de las especificaciones tcnicas. 12

Transicin: Refinamiento del prototipo, realizacin de pruebas y ajustes. Produccin: Se deja el producto en operacin a cargo de los usuarios finales, se monitorea el desempeo y se realizan adecuaciones.

13

1.3 Introduccin a la arquitectura de Oracle 10g 1.3.1 Arquitectura Una base de datos de Oracle es un conjunto de datos organizados segn el modelo relacional. Donde cada servidor de Oracle est constituido por una base de datos y una instancia. Una instancia es el conjunto de estructuras de memoria (SGA) y procesos en background que se ejecutan en el servidor: Procesos de usuario: Ejecutan el cdigo de una aplicacin. Procesos de Oracle: Atienden a los procesos de usuario y realizan el mantenimiento de la BD.

1.3.2 Estructura de la base de datos Archivos de datos y espacios de tablas Oracle almacena lgicamente los datos en unas estructuras llamadas tablespaces, las cuales se almacenan fsicamente en archivos o datafiles (Archivos de datos). Una base de datos se compone de una o ms tablespaces. Cada tablespace a su vez se forma de uno o ms archivos de datos. Oracle cuenta con un perfil especial llamado SYSTEM creado automticamente durante el proceso de instalacin. Utilizado para la propia gestin de la BD Las tablespaces constituyen la ventana a travs de la cual los usuarios y diseadores de la BD ven los datos almacenados en los archivos de datos. El administrador de la base de datos es el encargado de mantener las relaciones entre las tablas y los archivos de datos.

14

Objetos Un objeto Oracle es un elemento creado y almacenado en la base de datos. Ejemplos: tablas, vistas, sinnimos, ndices, secuencias, clusters etc. Tablas: Unidad bsica de almacenamiento de datos. Consta de un nmero fijo de columnas que describen los atributos de la entidad que representa la tabla. Cada columna es de un tipo de datos y se identifica por un nombre. Sobre la tabla se pueden imponer restricciones. o Tipos de restricciones: Clave primaria (PRIMARY KEY) Valor nulo no admitido (NOT NULL) Columna exclusiva (UNIQUE) Valor por omisin (DEFAULT). Clave ajena (FOREIGN KEY). Esquema: Es el conjunto de objetos que posee una cuenta. Para referirnos a un objeto determinado deberemos indicar a que esquema pertenece: nom_esquema.nom_objeto. Vistas: Una vista es bsicamente un subconjunto de las columnas y/o filas de una tabla (u otras vistas). Se define como una consulta y es tratada como una tabla. Una vista no almacena datos, slo se almacena la consulta que la define. Secuencias: Cada secuencia genera una serie nica de nmeros. til en la generacin nica de claves. Pueden ser cclicas o crecer hasta un valor mximo

Sinnimos: Identificador alternativo para denotar un objeto. Se utilizan para: enmascarar el nombre y propietario de un objeto, dar transparencia a objetos remotos de BD distribuidas y simplificar sentencias SQL.

15

ndices: Proporcionan un acceso ms rpido a los datos. Una vez creados son mantenidos por Oracle y utilizados para la recuperacin de datos. Se pueden crear hasta un mximo de 32 columnas. Implementacin de ndices mediante B+ trees que por ser rboles balanceados igualan el tiempo de acceso a cualquier fila.

Clusters: Agrupamiento de tablas que se almacenan juntas fsicamente. Ventajas: o Se reduce el acceso a disco cuando estn involucradas esas tablas o Las columnas comunes se almacenan una sola vez.

Procedimientos, funciones, paquetes: Funciones y procedimientos son bloques de sentencias PL/SQL que se almacenan en el diccionario de datos. Se pueden agrupar procedimientos y funciones en paquetes.

Disparadores: Procedimientos que se ejecutan cuando se produce un evento en la BD. Se utilizan para aumentar la integridad referencial, conseguir mayor seguridad o mejorar las opciones de auditora. Enlaces de BD: Sirven para especificar una va de acceso a un objeto situado en una BD remota.

16

1.3.3 Autenticacin en Oracle 10g Como en cualquier otro administrador de base de datos Oracle, permite el manejo y administracin de distintos perfiles de acceso a la base de datos, con la finalidad de salvaguardar la integridad y seguridad de los objetos de la base de datos. Cuando se realiza la instalacin de Oracle 10g, en automtico se realiza la creacin de cuentas administrativas a partir de las cuales se podr realizar la administracin y creacin de nuevas usuarios. Estas cuentas son: system sys En el siguiente apartado se describirn los pasos que se deben seguir para poder autentificarse como el administrador.

Autentificndose como administrador

1. Abra la ventana de acceso de base de datos principal de la pgina: a. En Windows, desde el men Inicio, seleccione Programas (o Todos los programas), a continuacin, Oracle Database 10g Express Edition, y luego ir a la base de datos la pgina principal 2. En la ventana Base de datos de inicio una pgina, introduzca la siguiente informacin a. Nombre de usuario: system. b. Contrasea: oracle 3. Haga clic en Iniciar sesin. La base de datos Oracle XE pgina de inicio aparece.

17

Habilitar la cuenta de ejemplo Para iniciar con los ejercicios de la aplicacin, es necesario iniciar la sesin como un usuario de base de datos. Oracle Database XE viene con un usuario de base de datos de ejemplo llamada de recursos humanos. Este usuario posee un nmero de tablas de bases de datos en un esquema de ejemplo que se puede utilizar para crear aplicaciones para un departamento de Recursos Humanos. Sin embargo, por razones de seguridad, esta cuenta de usuario est bloqueada as que ser necesario desbloquear esta cuenta antes de poder construir una aplicacin de ejemplo. Para desbloquear la cuenta de usuario se debern seguir estos pasos:

1. Asegrese de que est siendo iniciado sesin como el administrador de base de datos, como se describe en la seccin anterior. 2. Haga clic en el icono de Administracin y, a continuacin, haga clic en base de datos de usuario. 3. Haga clic en el icono de esquema de recursos humanos para mostrar la informacin del usuario para recursos humanos.

4. En Administrar la base de datos de usuario, introduzca los siguientes datos: a. Contrasea y Confirmar contrasea: Introduzca la contrasea hr. b. Estado de la cuenta: Seleccione desbloqueado. c. Funciones: Asegrese de que tanto CONNECT y RECURSOS estn habilitadas.

18

5. Haga clic en Modificar usuario. 6. Cierre la sesin del usuario system 7. Inicie sesin con el usuario HR

1.3.4 Pgina principal La pgina principal del administrador, tiene una interfaz en HTLM que ha sido diseada para facilitar la navegacin entre las herramientas de administracin:

Las secciones se sta pantalla son las siguientes: Administracin-Gestin de cuentas de usuario de base de datos, administrar la memoria, el almacenamiento y las conexiones de red, supervisar la actividad de base de datos y la informacin de configuracin vista. Examinador de objetos: para ver, crear, modificar, buscar y eliminar base de datos de objetos. Uso de PL / SQL editor para editar y compilar los paquetes, procedimientos, funciones y desencadenadores tiempo que se aprovechan de los informes de errores.

19

SQL-Acceso de las siguientes herramientas de SQL: Comandos SQL-Ejecutar comandos SQL y annimo bloques PL / SQL. Ejecutar secuencias de comandos y se guarda las consultas. SQL Scripts: para crear, editar, ver, ejecutar y borrar archivos de script. Cargar y descargar scripts de su sistema de archivos local. Construir consultas SQL usando una interfaz grfica de usuario. Ver resultados de la consulta con formato y guardar las consultas. Utilidades de datos-de carga y descarga, generar DDL, ver informes de objetos, y restaurar la base de datos de objetos cados. 1.3.5 Navegacin en los mens Usted puede navegar en el Oracle Database XE en su interfaz grfica de usuario haciendo clic en los iconos grandes en la Pgina de Inicio de base de datos y en las pginas de navegacin. Al utilizar estos iconos, usted tiene dos opciones: Al hacer clic en el icono: Haga clic en el icono para ir a la pgina indicada por el nombre del icono. Es posible que tenga que hacer clic en un nmero de estos iconos, descendiendo una pgina a la vez en la jerarqua de la pgina, antes de llegar a su pgina de destino. Seleccin desde el men del icono: Haga clic en la flecha hacia abajo del lado derecho del icono para ver un men, a continuacin, seleccione una opcin en el men o desde cualquiera de sus submens.

20

Tema II Lenguaje SQL 2.1 Resultados El participante conocer las caractersticas del lenguaje SQL y aprender a las formas en cmo puede ejecutar los enunciados en la interfaz de Oracle 10g. 2.2 Introduccin Oracle ha mantenido los estndares de la industria por ello a lo largo de sus distintas versiones ha incorporado el lenguaje SQL como la herramienta de extraccin de datos oficial en sus manejadores de datos. SQL es el lenguaje non procedural para acceder a una base de datos. Este lenguaje permite estructurar comandos de instrucciones SQL para realizar distintas tareas, como recuperar datos de tablas. El lenguaje SQL se encarga de automatizar la forma de navegar la base de datos y realizar la tarea deseada. Todas las operaciones de una base de datos, incluyendo la versin de Oracle Database 10g se realizan mediante sentencias SQL. 2.3 Aplicaciones del SQL 2.3.1 Aplicaciones del SQL Con las instrucciones SQL se pueden realizar las siguientes acciones: Consultar, insertar y actualizar datos en las tablas Realizar clculos, almacenar e imprimir de los resultados de consulta 2.3.2 Clasificacin de los enunciados de SQL Las instrucciones SQL se dividen en varias categoras, de acuerdo a los estndares internacionales dictados los la American National Standars Institute (ANSI) e International Standards Oragnization (ISO): Lenguaje de manipulacin de datos (DML) Estas declaraciones de consultas, insertar, actualizar y eliminar datos en las tablas. Control de transacciones declaraciones Estas declaraciones confirmar o revertir el procesamiento de transacciones. Un grupo de cambios que realiza se conoce como una transaccin. Data Definition Language (DDL) Estas declaraciones crear, modificar, eliminar base de datos y objetos.

A continuacin se muestran los enunciados bsicos de SQL ANSI y una breve descripcin:

21

Un enunciado o instruccin consiste en parte de SQL y palabras reservadas, que tienen un significado especial en SQL y no puede ser utilizado para cualquier otro propsito.e algunas tcnicas que puede utilizar para incluir informacin en la nueva base de datos. Un ejemplo de un enunciado sera: SELECT last_name, department_id FROM employees; A partir de este captulo se describirn los principales enunciados de SQL que se consideran como los fundamentales para realizar las funciones de administracin de las bases de datos. 2.3.3 Recomendaciones al escribir enunciados de SQL Los enunciados de SQL pueden ser construidos fcilmente si se siguen las siguientes recomendaciones: Los enunciado no son sensitivos a maysculas o minsculas a menos que se especifique Los enunciados pueden ser capturados en una o ms lneas Las palabras reservadas no pueden ser divididas o abreviadas Las clusulas debern en la medida de lo posible escribirse en una nueva lneas para mejorar la lectura Se recomienda que las palabras reservadas sean escritas en maysculas y las otras palabras en minsculas

22

2.3.4 Ejecucin de enunciados de SQL En Oracle 10g es posible realizar la creacin y ejecucin de instrucciones SQL con ayuda de las herramientas conocidas como: pgina de comandos SQL, pgina Script Editor o Lnea de comandos SQL (SQL * Plus). La pgina de comandos SQL es una interfaz simple y fcil de usar. Ejecucin de instrucciones SQL en la pgina comandos SQL Para introducir y ejecutar instrucciones SQL en la pgina de comandos SQL: 1. Ingrese a la pgina principal de base de datos. Para ejecutar los ejemplos de esta gua, inicie la sesin como usuario HR con la contrasea para el HR cuenta. 2. En la pgina de base de datos, haga clic en el icono de SQL para mostrar la pgina SQL. 3. Haga clic en el icono de comandos SQL para mostrar los comandos de la pgina de SQL. 4. En los comandos de la pgina de SQL, escriba la siguiente instruccin: SELECT * FROM departments; Tenga en cuenta que las instrucciones SQL se terminan con un punto y coma (;) en los ejemplos. El punto y coma es necesaria para ejecutar las instrucciones SQL en una secuencia de comandos SQL o desde la lnea de SQL smbolo del sistema, pero es opcional en la pgina de comandos SQL. 5. Seleccionar (resaltar) la instruccin SQL que desea ejecutar, a continuacin, haga clic en Ejecutar para ejecutar la instruccin y mostrar los resultados.

23

6. Si desea guardar las instrucciones SQL para su uso futuro, haga clic en el botn Guardar. 7. En el campo Nombre, escriba un nombre para las instrucciones SQL guardado. Tambin puede introducir una descripcin opcional. Haga clic en el botn Guardar para guardar la instruccin SQL. 8. Para acceder a guardar las instrucciones SQL, haga clic en la ficha SQL guardada y seleccione el nombre de la instruccin SQL guardada que desea acceder. Desplegando la estructura de una tabla En SQL Plus es posible ver la estructura de una tabla, para ello es necesario utilizar el comando llamado DESCRIBE. Este comando mostrar las columnas y tipos de datos de una tabla. Su sintaxis es la siguiente: DESC[RIBE] tablename Por ejemplo: DESCRIBE employees;

24

Tema III Enunciado de Seleccin de Datos 3.1 Resultados El participante desarrollar las habilidades para: Crear enunciados en lenguaje SQL que le permitan realizar la seleccin de datos. 3.2 Introduccin La accin ms importante que puede llevarse a cabo en la gestin de la base de datos consiste en la posibilidad de recuperar la informacin que se tiene almacenada en ella, esta extraccin de datos es lo que hace valiosa a una base de datos pues en cualquier momento se est garantizando que la informacin es consistente y es recuperable en cualquier momento, en este captulo el participante aprender cmo es posible realizar la recuperacin de datos a partir del enunciado de seleccin de datos. 3.3 Enunciado de Seleccin de Datos El enunciado de Seleccin de datos llamado SELECT es el enunciado ms poderoso y verstil que se dispone en el lenguaje de SQL. Pues permite obtener la informacin de la base de datos respetando siempre la integridad y consistencia de la informacin.

3.3.1 Capacidades del Select El enunciado de seleccin trabaja directamente con los objetos llamados tablas de la base de datos, es importante recordar que en el modelo bidimensional las tablas se visualizan como la estructura formada por renglones y columnas, tal como se ve en la siguiente figura:

25

Con las tablas el enunciado Select permite realizar las siguientes operaciones con los registros:

Proyeccin: Seleccionar algunas columnas de una tabla Seleccin: Elegir solo algunos renglones de una tabla Join: Realizar la interseccin entre dos o ms tablas

26

3.3.2 Recuperacin de datos en Oracle 10g Para poder ejecutar un enunciado de seleccin bastar con seguir los siguientes pasos: 1. Conectarse o iniciar sesin en la consola de Oracle 2. Elegir la opcin de SQL 3. Y seleccionar la opcin de comandos de SQL 4. En la seccin del editor se deber escribir el enunciado y al terminar 5. Se deber dar un clic en el botn llamado Ejecutar para ver el resultado de la extraccin de datos

3.3.3 Sintaxis Bsica Como todo lenguaje el enunciado select debe respetar ciertas reglas sintcticas y semnticas para tener coherencia y significado, de forma tal que su sintaxis puede verse de la siguiente forma:

27

3.3.4 Uso de alias de columna Cuando se muestra el resultado de una consulta, SQL utiliza normalmente el nombre de la columna seleccionada como el ttulo de la columna. Puede cambiar un ttulo de la columna utilizando un alias de columna para hacer el ttulo ms descriptivo y fcil de entender. Se puede especificar el alias tras el nombre en la columna SELECT lista que utiliza un espacio como separador. Si el alias contiene espacios o caracteres especiales, como signo de nmero # o signo de dlar $, o si es entre maysculas y minsculas, escriba el alias entre comillas "". Ejemplo: uso de un alias de columna para una posicin descriptiva en una consulta SQL

SELECT employee_id "Employee ID number", last_name "Apellido" , FROM employees;

3.3.5 Expresiones Aritmticas Es posible modificar la forma en cmo se muestran los datos de una consulta, en especial cuando es necesario realizar algn clculo matemtico que este baso en una columna de una tabla. Para estos casos es posible utilizar operadores aritmticos, mismos que pueden afectar a una columna, un valor constante o bien utilizar operadores aritmticos. Los operadores aritmticos que se utilizan en SQL son: Operador Descripcin Suma Resta Multiplicacin Divisin

+ * /

Estos operadores pueden utilizarse en cualquier sentencia de SQL exceptuando su uso en la clusula FROM.

Precedencia de Operadores Si una expresin aritmtica contiene ms de un operador, se utilizar el orden de precedencia de operadores para que la expresin pueda ser evaluada. Dicho orden puede verse en la siguiente figura:

/
28

El orden de evaluacin ser de izquierda a derecha, de manera que: La multiplicacin tiene mayor prioridad sobre la suma y la resta El uso de parntesis forzarn a priorizar y clasificar las expresiones

Por ejemplo sin uso de parntesis: SELECT last_name, salary, 12*salary+100 FROM employees;

SELECT last_name, salary, 12*(salary+100) FROM employees;

3.3.6 Definicin del valor NULL Si un rengln de una tabla no tiene definido un valor para una columna se dice que tiene un valor nulo o NULL. Es decir un valor NULL se refiere a un dato que no se tiene disponible, que no ha sido asignado, que es desconocido o que no aplica. Es importante recalcar que un valor NULL no equivale a un valor de cero o de espacio. Se recomienda que durante el diseo de la base de datos se evite el uso de valores NULL pues en algunos casos este valor se omite en datos calculados o de conteos. Ejemplo:

SELECT last_name, salary, commission_ptc FROM employees;

SELECT last_name, salary, 12*salary*commission_ptc FROM employees;

3.3.7 Operador de Concatenacin Un operador de concatenacin permite: Unir columnas o cadenas de caracteres a otras columnas Se representa por dos barras verticales || El resultado de una concatenacin es una expresin de tipo cadena

Ejemplo: SELECT last_name||job_id AS Employees 29

FROM employees;

Uso de literales Es posible que durante el uso de enunciados de seleccin sea necesario incluir frases o constantes dentro de alguna expresin, a estas frases o constantes se les conocer como Cadenas de Literales. Por ejemplo: SELECT last_name | | es un | | job_id AS Employee Details FROM employees;

Al usar este tipo de literales se debe tomar en cuenta lo siguiente: Las cadenas de literales pueden ser incluidas en la sentencia SELECT Estas cadenas de debern estar encerradas entre comillas simples

3.3.8 Restriccin de datos Clusula WHERE La clusula WHERE utiliza operadores de comparacin para identificar las filas de una tabla especfica que cumpla con ciertas condiciones para as restringir la salida de registros Los operadores de comparacin son las enumeradas en la siguiente tabla. Operadores de Comparacin Operador =, !=, <> =,! =, <> >, >=, <, <= >,> =, <, <= BETWEEN ... AND ... LIKE IN ( ), NOT IN ( ) IN (), NOT IN () IS NULL, IS NOT NULL Definicin Prueba de igual a igual no, no es igual a Prueba de una mayor que, mayor o igual que, menor que, menor que o igual a Comprueba si hay un rango entre los valores y entre ellos dos Busca una coincidencia en una cadena, con el comodn% smbolos (cero o varios caracteres) o _ (un carcter) Revisa que los valores se encuentren dentro de una lista de valores Comprueba si un valor es nulo, no es nulo

30

3.3.9 Clasificacin de los datos Clusula ORDER BY Usted puede utilizar SELECT con la ORDER BY clusula para recuperar y mostrar registros de una tabla ordenada de (ordenar) por una columna especificada en la tabla. La columna especificada en la ORDER BY clusula no tiene por qu ser en el SELECT lista de columnas que desea mostrar. Usted puede especificar el orden de clasificacin como ASC para ascender o DESC para descender. El orden predeterminado es ascendente, lo que significa: Los valores numricos se muestran con los valores ms bajos primero, como 1 a 999. Los valores de caracteres se muestran en orden alfabtico, como un primer y ltimo Z. Los valores de fecha se muestran con la mayor brevedad primer valor, como 01-junio-93 antes del 01-junio-95. Nulo (vaco) se muestran los valores de una duracin de secuencias ascendentes y descendentes primero de secuencias. Ejemplo: SELECT * FROM employees WHERE manager_id = 122 ORDER BY employee_id; 3.3.10 Usando condiciones para valores NULOS Para obtener la lista de registros que tienen incluido un valor de nulo en alguna de sus columnas es necesario utilizar las condiciones: IS NULL o IS NOT NULL Estas condiciones evaluaran una columna con valores nulos y si esta contiene dichos valores se mostrarn datos en la pantalla. Estas condiciones debern incluirse en la clusula WHERE. Por ejemplo: SELECT * FROM employees WHERE commission_ptc IS NULL;

3.3.11 Condiciones Lgicas Una condicin lgica combina el resultado de dos condiciones para producir un resultado, estas condiciones lgicas utilizan operadores lgicos. En SQL se disponen de los siguientes operadores: AND OR NOT 31

Para la evaluacin de las condiciones lgicas los operadores basan su comportamiento en tablas de verdad, mismas que se muestran a continuacin:
AND VERDAD FALSO NULL VERDAD VERDAD FALSO NULL FALSO FALSO FALSO FALSO NULL NULL FALSO NULL

Or VERDAD FALSO NULL

VERDAD VERDAD VERDAD VERDAD

FALSO VERDAD FALSO NULL

NULL VERDAD NULL NULL

Not

VERDAD FALSO

FALSO VERDAD

NULL NULL

3.3.12 Reglas de precedencia Las reglas de precedencia determinan el orden en el que las expresiones sern evaluadas o calculadas. La tabla siguiente muestra el orden de evaluacin: Orden de evaluacin 1 2 3 4 5 6 7 8 Operador Operadores aritmticos Operadores de concatenacin Condiciones de comparacin IS [NOT] NULL, LIKE, [NOT] IN [NOT] BETWEEN Condicin NOT Condicin AND Condicin OR

Para modificar este orden ser necesario usar parntesis para cambiar su evaluacin.

32

Tema IV Funciones de SQL 4.1 Resultados Al terminar el captulo el participante ser capaz de conocer y utilizar las distintas funciones de SQL, aplicar estas funciones a enunciados del tipo SELECT. 4.2 Introduccin Las funciones constituyen el bloque bsico y ms poderoso que se dispone en SQL para manipular los datos. A lo largo de este captulo se presentarn las funciones de un rengln, de agrupacin, de tipo carcter, numricas y de fechas que permitirn manipular los datos. 4.3 Funciones de SQL 4.3.1 Las funciones de SQL Las funciones se consideran una de las caractersticas ms poderosas de SQL, ya que estas permiten realizar lo siguiente: Permiten realizar clculos sobre los datos Pueden modificar a solo un conjunto de registros Trabajan con grupos de datos Permiten dar formato a fechas y nmeros Permiten la conversin de datos

Entrada

Salida

Funcin
Ejecucin

arg 1 arg 2 arg n

Resultado

33

4.3.2 Tipos de funciones de SQL Existen dos tipos de funciones: Funciones de un solo rengln: Operan solo sobre un rengln, es decir regresaran el resultado por cada rengln afectado. Funciones de mltiple rengln: Pueden manipular grupos de renglones dando un solo resultado por grupo, estas funciones se conocen tambin como funciones de agrupacin.

Funciones
mltiple rengln

un solo rengln

El uso de las funciones deber realizarse en la clusula del SELECT, de acuerdo a la siguiente sintaxis: SELECT nombre_funcin[argumento],[columna] FROM tabla [WHERE] [ORDER BY]

34

4.3.3 Funciones de un solo rengln Este tipo de funciones trabajan de forma individual con cada rengln que sea afectado por la funcin. Este tipo de funciones pueden recibir uno o ms argumentos y regresan un solo valor para cada registro. Las funciones de un solo rengln a su vez se clasifican en las siguientes categoras:

Caracter

Generales

Funciones de un solo rengln

Nmericas

Conversin

Fecha

Funciones de tipo carcter Estas funciones trabajan con tipos de datos cadena. A continuacin se listan las funciones de esta categora y su descripcin: Funcin
LOWER

Descripcin
Convierte a minsculas

Sintaxis
LOWER(columna) Ejemplo: LOWER(Hola) = hola UPPER(columna) Ejemplo: UPPER (Hola) = HOLA INITCAP(columna) Ejemplo: INITCAP(hola)=Hola CONCAT(columna1, columna2) Ejemplo: CONCAT(Hola,amigo)= Holaamigo SUBSTR(cadena, pos_inicial, num_caracteres) Ejemplo: SUBSTR(HolaMundo,1,4)=Hola LENGTH(columna) Ejemplo: LENGTH(Hola)=4

UPPER

Convierte a maysculas

INITCAP

Capitaliza la primera letra de una cadena Concatena cadenas

CONCAT

SUBSTR

Extrae caracteres de una cadena

LENGTH

Obtiene el largo de una cadena

35

Funcin
INSTR

Descripcin
Encuentra la posicin de un carcter en una cadena Coloca el valor alineado a la derecha o a la izquierda

Sintaxis
INSTR(columna, cadena) Ejemplo: INSTR(HolaMundo, M)=5 LPAD(columna,posiciones,caracter) RPAD(columna,posiciones,caracter) Ejemplo: LPAD(salario,10,*)=*****24000 RPAD(salario,10,*)= 24000***** TRIM(carcter FROM columna) Ejemplo: TRIM(H FROM HolaAmigo)= olaAmigo REPLACE(columna, cadena_buscada,cadena_reemplazo) Ejemplo: REPLACE(HolaAmigo, Hola,Bye)=ByeAmigo

LPAD | RPAD

TRIM

Elimina el carcter de una cadena

REPLACE

Reemplaza el texto buscado en una cadena

Funciones de tipo numrico Las funciones de tipo numrico solo trabajan y devuelven resultados con datos numricos. La lista de funciones numricas son: Funcin
ROUND

Descripcin
Redondea un valor a una posicin decimal especifica Trunca el valor especificado a un decimal

Sintaxis
ROUND(columna, decimal) Ejemplo: ROUND(45.926, 2) = 45.93 TRUNC(columna, decimal) Ejemplo: TRUNC(45.926, 2)=45.92 MOD(divisor, dividendo ) Ejemplo: MOD(1600,300)=100

TRUNC

MOD

Devuelve el residuo de la divisin

Funciones de tipo fecha En Oracle las fechas se almacenan internamente en un formato numrico que representa el siglo, el ao, mes, da, hora, minuto y segundos. El formato estndar de despliegue es el DD-MM-YY, el rango de fechas vlido en Oracle va del 1 de Enero del ao 4712 A.C hasta el 31 de Diciembre del ao 9999 D.C. De manera interna Oracle almacena una fecha en el siguiente orden: Siglo 19 Ao 94 Mes 06 Da 07 Hora 5 Minuto 10 Segundo 43

En Oracle se utiliza la funcin SYSDATE para obtener la fecha y hora actual del servidor de base de datos.

36

Su sintaxis es la siguiente: SELECT SYSDATE FROM DUAL; Operaciones aritmticas con las fechas Dado que las fechas se almacenan como nmeros es posible realizar con ellas operaciones aritmticas para manipular sus valores, las operaciones que pueden realizarse con este tipo de datos son: Operacin Fecha + nmero Fecha nmero Fecha Fecha Fecha + numero /24 Resultado Fecha Fecha Nmero de das Fecha Descripcin Suma un nmero de das a una fecha Resta a una fecha un nmero de das Extrae una fecha de otra Agrega un nmero de horas a una fecha

Funciones de Fecha Las funciones de fecha que Oracle tiene implementadas son: Funcin
MONTHS_BETWEEN

Descripcin
Encuentra el nmero de meses trascurridos entre dos fechas

Sintaxis
MONTHS_BETWEEN(fecha1, fecha2) Ejemplo: MONTHS_BETWEEN(01-SEP-95, 11-Jan94) = 19.67 ADD_MONTHS(fecha,n) Ejemplo: ADD_MONTHS(11-JAN-94,6)=11-JUL-94 NEXT_DAY(fecha,char) Ejemplo: NEXT_DAY(01-SEP-95,FRIDAY)=08-SEP95 LAST_DAY(fecha) Ejemplo: LAST_DAY(01-FEC-95)=28-FEB-95 ROUND (fecha[,fmt]) Ejemplo: ROUND (25-JUL-95,MONTH) = 01-AGU-95 ROUND (25-JUL-95,YEAR) = 01-JUN-96 TRUNC(fecha[, fmt]) Ejemplo: TRUNC(25-JUL-95,MONTH) = 01-JUL-95 TRUNC(25-JUL-95,YEAR) = 01-JAN-95

ADD_MONTHS

Agrega n meses a una fecha

NEXT_DAY

Determina el siguiente da de la semana

LAST_DAY

Determina el ltimo da del mes

ROUND

Redondea una fecha

TRUNC

Regresa una porcin de una fecha

Funciones de conversin En algunos casos se requiere convertir la salida de algunas de las columnas mediante el cambio de tipo de datos, esta conversin en Oracle puede realizarse de dos formas: Conversin Implcita Conversin Explcita

37

Oracle puede convertir de manera automtica los siguientes tipos de datos: De Varchar o char a Nmero De Varchar2 o char a Fecha De nmero a Varchar2 De Fecha a Varchar2 Para aquellos casos en que se deseen realizar conversiones que no son automticas de deber recurrir a la conversin explicita, misma que se sigue de acuerdo al siguiente diagrama: TO_NUMBER TO_DATE

TO_CHAR

TO_CHAR

Funcin
TO_NUMBER

Descripcin
Convierte una cadena con dgitos en un nmero Convierte una cadena representacin de fecha en una

Sintaxis
TO_NUMBER(char,[fmt],[nlsparams]) Ejemplo: TO_NUMBER(23.5)=23.5 TO_DATE (char,[fmt],[nlsparams]) Ejemplo: TO_DATE('23-02-10','YY-MM-DD')=10/02/23 TO_CHAR (numero|fecha,[fmt],[nlsparams]) Ejemplo: TO_CHAR(SYSDATE,'MM-DD-YY')=08-02-10 TO_CHAR(253.2) = 253.2

TO_DATE

TO_CHAR

Convierte un numero o fecha en un Varchar2

Dnde fmt, corresponde a un modelo de formato de fecha. En Oracle los elementos de este formato son:

38

Elemento YYYY MM MONTH MON DY DAY DD DDD WW o w

Descripcin Ao completo Dos dgitos del mes Nombre del mes Mes abreviado en 3 letras Da de la semana abreviado en 3 letras Nombre del da de la semana Da del Mes en 2 dgitos Da del ao Semana del ao o mes

Funciones Generales Este tipo de funciones traban con cualquier tipo de dato y son utilizadas como para el manejo de excepciones. La lista de funciones es la siguiente: Funcin
NVL

Descripcin
Convierte un valor NULL c un nuevo valor

Sintaxis
NVL(expresion1, expresion2) Ejemplo: NLV(comisin,0) NVL(fecha_nacimiento,01-JAN-98) NVL(puesto, Sin puesto) NVL2(expresion1, expresion2, expresion3) Ejemplo: NVL2(comisin,comisin+100,0) NULLIF(expresion1, expresion2) Ejemplo: NULLIF(salario, bono) COALESCE(expresion1, expresion2, expresionN) Ejemplo: COALESCE(comisin, salario, 10)

NVL2

NULLIF

COALESCE

Si la espresin1 no es nula, regresa la espresin2, pero si la expresin1 es nula se regresa la expresin3 Compara dos expresiones y regresa nulo su son iguales o la primera expresin si no son iguales Regresa el primer valor no nulo de la lista

39

4.3.4 Funciones de mltiple rengln Las funciones que utilizan una entrada de mltiples renglones para obtener un solo resultado tambin se conocen como funciones de agregacin o agrupacin ya que por su naturaleza permiten manipular un grupo de datos y devolver un solo resultado.

La sintaxis para emplear este tipo de funciones es de la siguiente forma:

Como puede apreciarse las funciones de agrupacin se debern colocan en la clusula SELECT. 40

Tambin debe notarse que aparece una nueva clusula llamada Group by, misma que puede o no ser empleada segn se requiera afectar a un grupo o grupos de datos. Dado que es fcil incurrir en ciertos errores al momento de agrupar se recomienda hacer uso de la siguiente regla: Si el enunciado SELECT contiene columnas que no estn afectadas por alguna funcin de agrupacin, se deber agregar la clusula GROUP BY y listar en este rengln todas las columnas que no estn afectadas por alguna funcin de agrupacin. Por ejemplo:

Las funciones de agrupacin que Oracle dispone son las siguientes: Funcin
AVG

Descripcin
Obtiene el promedio e ignara valores nulos Cuenta el nmero de renglones

Sintaxis
AVG([Distinct | All] n ) Ejemplo: AVG(salario) COUNT({* [| Distinct | All ] expresion}) Ejemplo: COUNT(*) COUNT(id_job) COUNT(Distinct(last_name)) MAX([Distinct | All] expresion ) Ejemplo: MAX(salario) MAX(Fecha) MIN([Distinct | All] expresion ) Ejemplo: MIN(salario) MIN(Fecha) SUM([Distinct | All] expresion ) Ejemplo: SUM(salario)

COUNT

MAX

Obtiene el valor mximo, ignora los nulos

MIN

Obtiene el valor mnimo, ignora los nulos

SUM

Obtiene la suma de valores e ignora los nulos

41

Excluyendo grupos de resultados En ocasiones es necesario delimitar los grupos de datos que se obtienen de las agrupaciones, es decir, es probable que de un grupo que estn aplicando agrupaciones solo se requieran algunas de ellas, en SQL se utiliza la clusula HAVING con este propsito.

La sintaxis de esta clusula se muestra a continuacin:

Visto a modo de ejemplo:

42

Tema V Obtencin de datos de Mltiples Tablas 5.1 Resultados Al terminar este captulo el participante ser capaz de estructurar enunciados de seleccin de datos que accedan a ms de una tabla, podr identificar los datos que usualmente no se pueden obtener con las intersecciones o uniones de tablas habituales. 5.2 Introduccin El algunas ocasiones es necesario obtener informacin de ms de dos tablas, o se requiere complementar la informacin relacionada los datos de distintas tablas, para estos casos se hace uso de intersecciones entre tablas. 5.3 Obteniendo datos de distintas tablas En captulos anteriores se ha visto que el enunciado SELECT ayuda en la obtencin y desplegado de los datos contenidos en alguna tabla. Ahora se ver como este enunciado con ayuda de ndices permite unir varias tablas para obtener informacin complementaria. Este tipo de unin de tablas no es ms que una combinacin de datos, para obtenerla se necesita tener vinculadas algunos renglones entre tablas dependientes, esto se logra mediante la incorporacin de Llaves Primarias (PK) y Llaves Forneas (Fk). Grficamente esta relacin puede verse como se muestra en el siguiente diagrama:

43

5.3.1 Uniendo dos o ms tablas El unir varias tablas se vuelve una tarea til cuando se necesitan ver los datos que se almacena en varias de ellas. Por ejemplo, la tabla employees contiene informacin de los empleados y del nmero de departamento donde estn, pero no se conocen los nombres de dichos departamentos. Si deseamos obtener los datos de los empleados y del departamento deberemos unir las tablas utilizando el ID del departamento. Es decir tendremos que estructurar un enunciado con la siguiente sintaxis:

Tambin es importante considerar que al recuperar datos de varias tablas, de forma explcita (como en la grfica anterior), es necesario que se identifique explcitamente a qu tabla pertenece cada columna a fin de evitar errores de ambigedad (Esto es importante cuando las tablas contienen columnas con el mismo nombre). Al igual que en el caso del uso de alias en las columnas, es posible asignar un alias a una tabla con el fin de acelerar la escritura de los enunciados as como el de mantenerlos legibles. El uso de alias y su sintaxis puede verse en la siguiente firgura:

44

Observe el uso de alias en las tablas para identificar de forma explcita las columnas por tabla. Un alias de tabla se utiliza, en lugar del nombre de la tabla, para simplificar y reducir el tamao del cdigo SQL. Importante: Si las columnas con el mismo nombre tienen tipos de datos diferentes, se produce un error.

45

Ejemplos: SELECT employee_id, last_name, first_name, department_id, department_name, manager_id FROM employees NATURAL JOIN departments; SELECT e.employee_id, e.last_name, e.first_name, e.manager_id, department_id, d.department_name, d.manager_id FROM employees e JOIN departments d USING (department_id);

5.3.2 Tipos de uniones En SQL se han clasificado las uniones de tablas de la siguiente forma: Producto Cartesiano Equijoins Non Equijoins Outer joins

Producto Cartesiano Es la unin que resulta de omitir las condiciones o relaciones de igualdad entre dos o ms tablas. Este tipo de uniones resulta ser de un costo computacional alto debido a que los registros involucrados se combinarn entre las tablas mencionadas creando un conjunto de datos que muchas veces no tiene sentido.

46

Equijoins Son las uniones entre tablas que utilizan las llaves primarias y forneas para realizar la combinacin de registros. Este es el tipo de uniones ms comunes dentro del modelo relacional de bases de datos.

No Equijoins Son las combinaciones o uniones de tablas que no necesariamente utilizan las llaves primarias y forneas para realizar la combinacin de registros, en su lugar utilizan operadores de comparacin para obtener el conjunto de resultados. Los operadores que utiliza el no quijoin son: <=, >= y el BETWEEN

47

Outer Joins La combinacin de conjuntos como los joins tienen un detalle, si un rengln no satisface con la condicin de unin este no se mostrar en los resultados. Estos renglones comnmente se conocen como renglones perdidos, pues a pesar de que existen en las tablas estos no pueden visualizarse. En la realidad estos renglones perdidos suelen ser necesarios en la generacin de reportes, por ello Oracle ha dispuesto de un operador para que estos renglones puedan ser visualizados y mostrados al ejecutarse una seleccin de datos. Los outer joins, se clasifican en dos categoras: Outer join porla izquierda, el Outer Join por la Derecha y el Full Outer Join. La sintaxis de cada uno de estos se muestra a continuacin:

48

49

Tema VI Subconsultas 6.1 Resultados Al culminar este captulo el participante ser capaz de describir y reconocer los problemas que pueden solucionarse con una subconsulta o subquery. Y ser capaz de distinguir los distintos tipos de Subconsultas o subquerys. 6.2 Introduccin Supongamos que nos enfrentamos a la siguiente situacin: se nos ha pedido generar la lista de aquellos empleados que ganan ms que la empleada llamada Smirna. Para resolver este problemas se nota que es importante conoce cunto gana Smirna, una vez obtenido su salario ser posible identificar quienes son los que ganan ms que esta cantidad. Es as que este tipo de problemas donde se requiere conocer o identificar un valor desconocido para que al usarlo se puedan obtener datos adicionales se le conocen como problemas de subconsultas. 6.3 Subconsultas 6.3.1 Como identificar las subconsultas. Para identificar cuando podemos usar subconsultas, bastar con iniciar con un anlisis previo del problema y trataremos de dividirlo en dos secciones, que llamaremos consulta principal (Query principal) y la subconsulta (subquery). Para el ejemplo con que se inicio en el captulo podemos verlo de la siguiente manera:

50

6.3.2 Sintaxis de las subconsultas Como puede observarse, una subconsulta es un enunciado SELECT que est incluido en otro enunciado SELECT. Este tipo de enunciados son muy tiles cuando los datos que se requieren seleccionar dependen de la condicin aplicada a otra tabla. La sintaxis para usar una subconsulta es la siguiente:

Donde expresin ser la condicin que deber cumplirse de acuerdo al operador que se est utilizando. En SQL las subconsultas manejan distintos operadores de acuerdo al tipo de subconsultas que se vaya a generar, estos operadores como puede apreciarse en la ilustracin anterior se dividen en Operadores de un Registro y de Mltiples registros. Esta clasificacin de operadores corresponde a su vez de acuerdo al tipo de subconsulta que de vaya a implementar, en SQL se tienen las siguientes categoras de subconsultas:

51

La regla de oro que debe seguirse en el uso de las subconsultas es la siguiente: Utilizar operadores de un solo registro para subconsultas de un solo registro y usar operadores de varios registros para subconsultas de mltiples renglones. Algunas recomendaciones que se deben tomar en cuenta al momento de usar subconsultas son las siguientes:

52

Tema VII Manipulacin de Datos 7.1 Resultados El participante ser capaz de describir los enunciados del tipo DML, insertara datos a objetos tipo tabla, actualizar y borrara registros, combinar tablas y aprender el control de transacciones. 7.2 Introduccin Los enunciados DML son la parte esttica de SQL. Estos enunciados se utilizan para cuando se desea agregar, actualizar o borrar registros de la base de datos. Al conjunto de enunciados DML le conoceremos como una transaccin y a lo largo de este captulo aprenderemos como estructurar enunciados DML y cmo podemos controlar su ejecucin a travs de transacciones. 7.3 Lenguaje de Manipulacin de Datos 7.3.1 Enunciados DML Los enunciados de lenguaje de manipulacin de datos (DML) son los siguientes: INSERT: Permite agregar un registro UPDATE: Permite actualizar los datos de un registro DELETE: Permite eliminar registros de una tabla Estos tres enunciados permiten en realidad la gestin de informacin dentro de una base de datos. A continuacin se dar a conocer su sintaxis y sus reglas de uso. 7.3.2 Enunciado INSERT La sintaxis de este enunciado es la siguiente:

53

En los casos donde no sea necesario registrar todos los datos, el enunciado puede modificarse de la siguiente forma para que solo se registren algunas columnas:

7.3.3 Enunciado UPDATE Este enunciado permite la actualizacin de los datos de la base de datos, su sintaxis bsica es la siguiente:

54

7.3.4 Enunciado DELETE Este enunciado permite eliminar un registro de una tabla, su sintaxis es la siguiente:

Es importante sealar que se deber tener cuidado al eliminar los registros de las bases de datos, pues esta accin no permite deshacer la accin realizada de manera natural. Cuando se realice la eliminacin de los datos, es importante considerar que si se infringen las reglas de integridad referencial se originar un error de integridad al realizar la accin de eliminacin. 7.3.5 Enunciado MERGE Este enunciado permite actualizar o insertar un rengln de manera condicional en una tabla. Este enunciado es el resultado de combinar los enunciados Insert y Update al mismo tiempo, sin embargo es importante sealar que este es un enunciado determinstico y que no ser posible actualizar el mismo rengln en mltiples ocasiones con este enunciado.

55

La sintaxis del enunciado MERGE es la siguiente:

7.3.6 Transacciones en la Base de Datos El manejador de base de datos de Oracle tiene como una de sus principales tareas el de asegurar la consistencia de las transacciones que se realizan en la base de datos. Las transacciones por su parte dan flexibilidad y control cuando se cambian los datos, asegurando la consistencia de los datos si el proceso del usuario o el sistema llega a fallar. En realidad una transaccin consiste en el conjunto de enunciados DML que pueden realizar cambios sobre los datos. Una transaccin inicia cuando se detecta el primer enunciado DML y termina cuando algo de lo siguiente ocurre: Se uso un enunciado COMMIT o ROLLBACK Se ejecuto un enunciado DDL como CREATE Se utilizo un enunciado DCL Si el usuario termino sesin Si el equipo o el sistema operativo falla En Oracle existe un sistema explcito de control de transacciones, mismo que permite que el usuario o programador determine cada cuando ejecutar o cancelar una transaccin. Visualmente este sistema se ve como lo muestra la siguiente figura:

56

Tiempo

COMMIT Transaccin DELETE SAVEPOINT A INSERT UPDATE SAVEPOINT B INSERT


ROLLBACK al SAVEPOINT B ROLLBACK al SAVEPOINT A ROLLBACK

Dnde se emplean los siguientes comandos: Funcin


COMMIT

Descripcin
Termina la transaccin actual realizando todos que los cambios temporales se realicen permanentemente Coloca un punto de retorno Termina la transaccin actual descartando los cambios hechos Regresa la transaccin a un punto especfico de retorno, descarta los cambios hechos y puntos de retorno creados antes del punto de retorno.

SAVEPOINT name ROLLBACK ROLLBACK TO SAVEPOINT name

57

Tema VIII Administracin de Bases de Datos 8.1 Resultados El participante ser capaz de describir los objetos principales de una base de datos, crear tablas, conocer los tipos de datos que pueden emplearse, eliminara y destruir objetos de tipo tabla. 8.2 Introduccin Una base de datos de Oracle puede contener mltiples estructuras de datos. Cada estructura deber estar delimitada durante la fase de diseo de la base de datos. A lo largo de este captulo se abordar la descripcin de los objetos principales de las bases de datos y se ver la forma de administrarlos en el servidor de base de datos. 8.3 Objetos de la Base de Datos 8.3.1 Objetos bsicos de una Base de Datos Los objetos principales de una base de datos son: Tablas: Encargadas de almacenar los datos. Vistas: Subconjunto de datos referentes a una o ms tablas Secuencia: Generador numrico de identificadores ndice: Provee de alto desempeo a algunas consultas de SQL Sinnimo: Permite colocar nombres alternos a los objetos 8.3.2 Creacin de Tablas Antes de crear un objeto de Tipo Tabla en la base de datos es importante considerar las siguientes reglas al momento de asignarles un nombre: Deben comenzar con una letra Su nombre deber estar entre 1 y 30 caracteres de largo Debern contener los caracteres A-Z, a-z. 0-9, _ , $ y el # nicamente. No se podr utilizar un mismo nombre para dos objetos Su nombre no deber ser una palabra reservada.

Para poder crear una tabla, ser necesario utilizar el enunciado CREATE TABLE, que pertenece a la familia DCL (Data Control Language)

58

La sintaxis de este enunciado es la siguiente:

8.3.3 Las tablas en la base de datos En Oracle se pueden distinguir dos tipos de tablas: Tablas del usuario: Es una coleccin de tablas creadas por el usuario que almacenan informacin Diccionario de Datos: Es una coleccin de tablas que son creadas y en mantenimiento por el servidor de Oracle, contienen informacin de la base de datos. El usuario propietario es SYS. Oracle permite la consulta del diccionario de datos que pertenece a un usuario utilizando los siguientes objetos en un enunciado de seleccin de registros: USER_TABLES USER_OBJECTS USER_CATALOG o CAT

Un ejemplo sera: SELECT * FROM CAT;

59

8.3.4 Tipos de Datos Oracle dispone de los siguientes tipos de datos para crear las estructuras de tipo tabla en la base de datos: Tipo de Dato
VARCHAR2(size) CHAR(size) NUMBER(p,s) DATE TIMESTAMP LONG CLOB RAW (size) LONG RAW BLOB BFILE ROWID

Descripcin
Carcter de longitud variable Carcter de longitud fija Nmero de longitud variable, p= precisin, s= escala Valor de fecha y hora Fecha con fraccin de segundos Cadena de longitud variable hasta 2 GB Carcter hasta de 4 GB Dato binario de longitud dada por size, e valor mximo de size es de 2000 Dato binario de longitud variable hasta de 2GB Dato binario hasta de 4 GB Dato binario almacenado en un archivo externo hasta de 4GB Un nmero en base 64 que representa la direccin nica de cada registro en su tabla

8.3.5 Eliminacin de una Tabla Si se desea eliminar una tabla de la base de datos se deber ejecutar el comando DROP TABLE para que el objeto quede eliminado del esquema. Es importante recordar que al momento de eliminar una tabla, su informacin se pierde al mismo tiempo que los ndices que esta haya podido contener. La sintaxis del enunciado es la siguiente:

60

Algunas consideraciones al momento de eliminar una tabla son las siguientes: Ejecutar este enunciado si se desea eliminar todos la informacin de la tabla Las vistas y sinnimos relacionados a la tabla quedan en el esquema pero sern invlidos por hacer referencia a un objeto que ya no existe Si existiera alguna transaccin pendiente esta se finaliza con COMMIt Otra alternativa para eliminar el contenido de una tabla es el comando TRUNCATE, el cual solo elimina la informacin de la tabla dejando su estructura en el esquema. Al utilizar este comando no es posible deshacer la transaccin por lo que es vital mantener cuidado de ejecutar este comando. La sintaxis de TRUNCATE es la siguiente:

8.3.6 Validaciones en el servidor En Oracle existe una objeto llamado constraint que permite prevenir la entrada de datos invlidos a las tablas. Los constraints sirven para: Forzar el cumplimiento de reglas a nivel de tabla cuando se inserta, se actualiza o se borra informacin Previene el borrado de la tabla si esta tiene dependencias con otras tablas

61

Los tipos de constraints que maneja Oracle 10g son los siguientes: Constraint
NOT NULL UNIQUE

Descripcin
Especifica que la columna no puede tener valores nulos Especifica que una columna o combinacin de columnas deben tener valores nicos para todos los renglones de la tabla Identifica como nico a cada rengln de la tabla Establece una referencia fornea con otra tabla y fuerza a una relacin entre tablas Especifica una condicin que debe ser cumplida

PRIMARY KEY FOREING KEY CHECK

8.3.7 Creacin de Vistas Una vista es una tabla lgica que ha sido creada a partir de otra tabla o vista. En ella no se contiene datos como tales, es ms bien como una representacin de una ventana a travs de la cual podemos visualizar los datos. El uso de las vistas tiene ciertas ventajas tales como: Restringen el acceso a los datos, porque solo muestran datos selectivos Pueden ser utilizadas para realizar subconsultas y descomponer enunciados complicados Proveen independencia a los programadores Sin embargo es importante considerar que una vista al ser un objeto virtual este queda restringido a lo siguiente: No es posible hacer uso de enunciados DML en una vista

8.3.8 Otros Objetos de la base de datos La secuencias Una secuencia es un objeto que permite generar de forma automtica nmeros nicos, de ah que casi siempre se destine a crear llaves primarias en las tablas. La creacin de estos objetos trae beneficios contiguos ya que disminuyen el trabajo a los programadores y la asignacin de llaves primarias se vuelve ms eficiente. Dentro de las secuencias se utilizan dos Pseudocolumnas llamadas: NEXTVAL: Permite obtener el siguiente valor de la secuencia CURVAL: Obtiene el valor actual de la secuencia

62

ndices Un ndice es un objeto del esquema que puede aumentar la velocidad de extraccin de los registros mediante el uso de apuntadores. Tambin reducen la lectura y escritura al disco duro pues hacen uso de un acceso de ruta crtica. Son independientes de las tablas que indexan y el servidor automticamente les da mantenimiento para mantener en ptimo funcionamiento la base de datos. Sinnimos Para hacer referencia a una tabla que es propiedad de otro usuario se requiere colocar como prefijo el nombre de la tabla con el nombre del propietario, es decir se debe calificar al objeto para poder accederlo. El uso de sinnimos elimina esta tarea de calificar a los objetos, haciendo que el desarrollador tenga una referencia sencilla a objetos que no son de su propiedad.

8.3.9 Control de Acceso a la Base de datos Como administrador de la base de datos, es preciso mantener un control de seguridad que vigile el acceso a la base de datos. En esta versin ser posible mantener el control mediante: El control de acceso a la base de datos Dando acceso a objetos especficos de la base de datos Creando sinnimos a los objetos de la base de datos La seguridad de la base de datos esta clasificada en dos grandes categoras: seguridad del sistema y seguridad de los datos. La primera se refiere al control de acceso a la base de datos y al sistema mediante el control de usuarios y contraseas, en cambio la segunda se refiere a la seguridad sobre los objetos de la base de datos y las acciones que los usuarios pueden hacer en ellos. De manera que Oracle refiere a la seguridad mediante el uso de: Privilegios: Son los permisos autorizados para ejecutar ciertas instrucciones de SQL. El ms alto nivel se refiere al DBA de la base de datos. Esquemas: Es el conjunto de objetos como tablas, vistas y secuencias, mismo que es propiedad de un usuario. El esquema lleva el mismo nombre que el del usuario propietario.

63

VI.

CONCLUSIN FINAL

Oracle Database 10g, resulta ser uno de los administradores de base de datos relacionales ms robustos y vanguardistas, su aplicacin en las actividades diarias agilizan la gestin de datos y manejo de la informacin. Oracle 10G, cuenta entre sus principales caractersticas, la posibilidad de auto administrarse, organizarse en clusters y manejar la administracin de su almacenamiento a travs de la tecnologa Grid Computing.

64

VII.

GLOSARIO TRMINO DEFINICIN Un conjunto de objetos que puede incluir las tablas, las consultas, los formularios, los informes, las macros y los mdulos de cdigo diseados para trabajar conjuntamente para facilitar el uso de una base de datos. Generalmente, una aplicacin de base de datos se implementa en un grupo de usuarios. Una cadena que no contiene ningn carcter. Se puede usar una cadena de longitud cero para indicar que se sabe que no existe un valor para un campo. Para especificar las cadenas de longitud cero, se escribe un par de comillas dobles sin espacio entre ellas (""). Una expresin que define un comando SQL, como SELECT, UPDATE o DELETE, e incluye clusulas como WHERE y ORDER BY. Las cadenas o instrucciones SQL suelen usarse en las consultas y en las funciones de agregado. Un campo definido en una consulta que muestra el resultado de una expresin en vez de mostrar los datos almacenados. El valor se vuelve a calcular cada vez que cambia un valor de la expresin. Un campo en el rea de columna de la vista Tabla dinmica. Los elementos de los campos de columna aparecen en la parte superior de una lista de tabla dinmica. Los campos de columna internos son los ms prximos al rea de detalle; los campos de columna externos se muestran por encima de los campos de columna internos. Un campo que contiene datos resumidos en la vista Tabla dinmica o Grfico dinmico. Un campo de datos suele contener datos numricos. Un campo que resume datos del origen del registro subyacente. Un campo de totales puede usar una funcin de resumen, por ejemplo, Suma o Recuento, o una expresin para calcular los valores de resumen. Un campo que contiene un valor Null. Un campo Null no es igual que un campo que contiene una cadena de longitud cero (" ") o un campo con un valor de 0. Caracteres que se usan en las consultas y expresiones para incluir todos los registros, nombres de archivo u otros elementos que comiencen con caracteres especficos o que coincidan con un determinado modelo. Uno o ms campos de tabla (columnas) que hacen referencia al campo de clave principal o a campos de otra tabla. Una clave externa indica cmo se relacionan las tablas. 65

aplicacin de base de datos

cadena de longitud cero

cadena o instruccin SQL

campo calculado

campo de columna

campo de datos

campo de totales

campo Null

caracteres comodn

clave externa

TRMINO

DEFINICIN Uno o ms campos (columnas) cuyos valores identifican cada registro de una tabla de forma nica. Una clave principal no puede permitir valores Null y siempre debe tener un ndice nico. Una clave principal se usa para relacionar una tabla con claves externas de otras tablas. Una ubicacin dentro de una tabla de base de datos que almacena un tipo de datos en particular. El conjunto de informacin que corresponde a un determinado idioma y pas. El nombre colectivo que se le da a una tabla, objetos Recordset de tipo conjunto de registros dinmicos e instantnea, que son conjuntos de registros que se comportan como objetos. Una pregunta acerca de los datos almacenados en las tablas o una solicitud para realizar una accin en los datos. Una consulta puede unir los datos de varias tablas para que sirvan como origen de datos para un formulario o informe. Representacin grfica de cualquier parte del esquema de una base de datos. Puede ser una imagen completa o parcial de la estructura de la base de datos. Incluye tablas, las columnas que stas contienen y las relaciones entre las tablas. Una herramienta que genera un informe con informacin detallada acerca de los objetos en una base de datos. Para las relaciones que exigen la integridad referencial entre tablas, la eliminacin de todos los registros relacionados en la tabla o las tablas relacionadas cuando se elimina un registro en la tabla principal. Copiar datos y objetos de base de datos en otra base de datos, archivo de hoja de clculo o formato de archivo, de manera que otra base de datos u otro programa pueda usar los datos o los objetos de base de datos. Se pueden exportar datos a diferentes bases de datos, programas y formatos de archivo compatibles. Una consulta que toma los parmetros de entrada y devuelve un resultado como un procedimiento almacenado. Tipos: escalar (de varias instrucciones; devuelve un valor), en lnea (una instruccin; un valor de tabla que se puede actualizar) y tabla (de varias instrucciones; valor de tabla). Una funcin como Suma, Recuento, Promedio o Var que se usa para calcular totales. Una consulta que toma los parmetros de entrada y devuelve un resultado de forma similar a un procedimiento almacenado. Tipos: escalar (de varias instrucciones; devuelve un valor), en lnea (una instruccin; un valor de tabla que se puede actualizar) y tabla (de varias instrucciones; valor de tabla). Una caracterstica que acelera la bsqueda y la ordenacin en una tabla segn los valores de las claves y que exige la unicidad 66

clave principal

columna configuracin regional

conjunto de registros

consulta

diagrama de base de datos Documentador de base de datos

eliminacin en cascada

exportar

funcin

funcin de agregacin

funcin definida por el usuario

ndice

TRMINO

ndice nico

DEFINICIN en las filas de una tabla. La clave principal de una tabla se indiza automticamente. Algunos campos no se pueden indizar debido a su tipo de datos, por ejemplo objeto OLE o datos adjuntos. Un ndice que se define mediante la especificacin de la propiedad Indizado de un campo en S (sin duplicados). Un ndice nico no permitir entradas duplicadas en el campo indizado. Al configurar un campo como clave principal, el campo se define automticamente como nico. Las reglas que se siguen para mantener las relaciones definidas entre tablas al agregar, actualizar o eliminar registros. Minimizar la duplicacin de informacin en una base de datos relacional mediante el diseo eficaz de la tabla. Para normalizar la base de datos, se puede usar el asistente Analizador de tablas. Un valor que se puede especificar en un campo o usar en expresiones o consultas para indicar que faltan datos o que los datos son desconocidos. En Visual Basic, la palabra clave NULL indica un valor Null. Algunos campos, como los campos de clave principal, no pueden contener un valor Null. Un operador que se usa para comparar dos valores o expresiones. Por ejemplo, < (menor que), > (mayor que) y = (igual a). Un conjunto de atributos que especifica qu tipo de acceso tiene un usuario a los datos u objetos de una base de datos. Una asociacin que se establece entre campos comunes (columnas) de dos tablas. Puede ser una relacin uno a uno, uno a varios o varios a varios. Una asociacin entre dos tablas en la que un registro de ambas tablas puede estar relacionado con muchos registros de la otra tabla. Para establecer una relacin varios a varios, se debe crear una tercera tabla y agregarle los campos de clave principal de las otras dos tablas. Una asociacin entre dos tablas en la que el valor de la clave principal de cada registro de la tabla principal corresponde al valor del campo o los campos concordantes de un solo registro de la tabla relacionada. Una asociacin entre dos tablas en la que el valor de la clave principal de cada registro de la tabla principal corresponde al valor del campo o los campos concordantes de varios registros de la tabla relacionada. Una instruccin SQL SELECT dentro de otra consulta de seleccin o acciones. Un objeto de base de datos que almacena los datos en registros (filas) y campos (columnas). Generalmente, los datos son sobre una categora determinada de cosas, como empleados o pedidos. El proceso de comprobar si los datos especificados cumplen 67

integridad referencial

normalizar

Null

operador de comparacin permisos

relacin

relacin de varios a varios

relacin uno a uno

relacin uno a varios

subconsulta

tabla validacin

TRMINO

DEFINICIN ciertas condiciones o limitaciones. Un valor que se escribe automticamente en un campo o control cuando se agrega un nuevo registro. Puede aceptar el valor predeterminado o puede especificar un valor para reemplazarlo.

valor predeterminado

68

VIII.

BIBLIOGRAFA

Hernandez, Michael J. Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, Second Edition. Addison-Wesley Professional. 2003. Fleming, Candace C. von Halle, Barbara. Handbook of Relational Database Design. AddisonWesley Professional. 1989. Riordan, Rebecca M. Designing Effective Database Systems. Addison-Wesley Professional. 2005. Bryla Bob; Loney Kevin Oracle Database 10g Manual del administrador, McGRAWHILL/INTERAMERICANA DE ESPAA, S.A.U. 2009 http://www.oracle.com

69

IX.

DEL AUTOR

Establecida por decreto gubernamental el 21 de marzo de 1956 128 aos despus de su fundacin como Instituto Literario la Universidad Autnoma del Estado de Mxico est constituida actualmente por 19 facultades, una escuela profesional, 8 planteles de la Escuela Preparatoria, 8 unidades acadmicas desconcentradas, 12 centros de investigacin y 70 escuelas incorporadas. En este universo de trabajo, la funcin docente comprende la enseanza de 47 carreras profesionales y 2 carreras tcnicas, adems del bachillerato, que tiene dentro de la Universidad una larga tradicin. En el nivel de estudios de posgrado existen 84 programas, 37 de ellos de especializacin, 36 de maestra y 9 de doctorado. Los planteles de la Escuela Preparatoria estn ubicados en Toluca, Tenancingo, Texcoco y Amecameca, en tanto que las unidades profesionales funcionan en Temascaltepec, Atlacomulco, Amecameca, Zumpango, Texcoco, Valle de Mxico, Ecatepec y Valle de Chalco. Las escuelas incorporadas 7 de las cuales ofrecen estudios profesionales y todas bachillerato estn distribuidas en todo el estado. La universidad atiende directamente una matrcula de 38,000 estudiantes, de los cuales 15,035 cursan bachillerato, 21,037 licenciaturas y 1,928 posgrado. En el sistema incorporado estn inscritos 26,129 alumnos, por lo cual la matrcula global es de 64,130 estudiantes. En las escuelas y facultades laboran 694 profesores de tiempo completo, 187 de medio tiempo y 2,570 de asignatura, adems de 186 tcnicos acadmicos y 20 investigadores de tiempo completo. Otras modalidades de enseanza estn siendo exploradas actualmente, en funcin de la demanda de ingreso, que supera la oferta. El sistema de educacin a distancia se estableci en 1996. En el rea de investigacin, existen 339 proyectos registrados, que se realizan en facultades y centros de investigacin. La nmina actual es de 196 investigadores, de los cuales, 129 tienen estudios de maestra y 46 doctorado, y 59 pertenecen al Sistema Nacional de Investigadores. En 1998, 73 proyectos se reportaban terminados y 266 en proceso. La mayora son financiados con recursos propios y algunos tienen financiamiento externo. El centro de investigacin ms importante es el Centro Interamericano de Recursos del Agua CIRA que en su primera etapa de construccin absorbi recursos del orden de 27 millones de pesos. En el rea de difusin cultural, existen en la Universidad 47 grupos y 19 solistas que anualmente participan en 850 actividades internas y 620 externas, en promedio anual, adems de que el Centro de Actividades Culturales se imparten diferentes cursos y disciplinas artsticas. En 1996 se cre la licenciatura en Artes Plsticas, que en el futuro ser el ncleo de una escuela profesional. La Universidad edita un promedio anual de 50 libros y sostiene dos revistas, una de divulgacin cultural (La Colmena) y otra de divulgacin cientfica (Ergo Sum), que han obtenido premios nacionales entre publicaciones de su gnero. El sistema bibliotecario de la Universidad posee un acervo de 320,882 libros y 23,025 revistas, con una biblioteca central, que data de 1897 y 48 unidades de informacin, 13 de ellas conectadas a Internet, en las escuelas y facultades. Tiene la Universidad un sistema de becas de escolaridad, que en 1997-98 benefici a 13,952 estudiantes de bachillerato y licenciatura, y de becas econmicas, que en el mismo ao fueron 2,631. En la actualidad, la cifra de egresados de licenciatura es de 3,024 por ao en el campus Toluca y de 439 en las unidades profesionales desconcentradas. El nivel de posgrado tiene 277 egresados de especializacin y maestra. An no egresan doctores. 70

Las labores administrativas son desempeadas por 2,497 empleados. Para ellos y para la comunidad acadmica existen 1,747 equipos de cmputo instalados en diferentes espacios. El promedio actual es de 44 computadoras por cada mil alumnos y de 54 por cada cien profesores. La Universidad se rige por una Ley que fue promulgada el 3 de marzo de 1992 y que sustituy a la ley orgnica de 1956. Existe, adems, desde 1996, el Estatuto Universitario.

71

X.

ANEXO A continuacin se proporciona informacin relacionada con: El Servicio Pblico Bicentenario de la Independencia de Mxico Prevencin Contra Adicciones para Servidores Pblicos del Gobierno del Estado de Mxico Equidad de Gnero

El Servicio Pblico 1. Servidor Pblico Toda persona fsica que preste a una institucin pblica un trabajo personal subordinado de carcter material o intelectual, o de ambos gneros, mediante el pago de un sueldo. Comprometiendo el mximo de sus capacidades tcnicas, profesionales y personales, a efecto de coadyuvar en el cumplimiento de los fines del gobierno y sus instituciones, en beneficio de la sociedad. La sociedad aspira llegar a tener servidores pblicos con una nueva y verdadera vocacin de cultura de servicio, lo que significa asumir una conducta permanente ante el ciudadano y ante s mismo de: VOCACIN DE SERVICIO (Espritu de servicio; Deseo de superacin profesional y personal; Espritu de mejora continua; Alta auto estima; y Elevada capacidad de trabajo. 2. Trascendencia de la funcin pblica Las actividades que tiene encomendada la funcin pblica, son de cumplirlas de tal forma que dejen un precedente en beneficio a las necesidades de los ciudadanos, dentro de la historia de la sociedad y en conjunto de nuestra entidad federativa y pas. Tales que sean un ejemplo a seguir para otras sociedades. 3. Valores que orientan la actuacin del servidor pblico Legalidad Actuacin apegada a leyes, reglamentos y normas. Honradez Actuacin libre de desvos de cualquier naturaleza. Vocacin de servicio. Actuacin diligente y cordial, atenta a necesidades y prioridades del ciudadano. Eficiencia y Eficacia Grado de cumplimiento de objetivos, programas, y metas con suficiencia, calidad y racionalidad, en lo cualitativo y cuantitativo, para el usuario y la administracin pblica. Imparcialidad Actuacin y decisiones apegadas a derecho y con equidad; sin considerando a quien se pueda beneficiar o perjudicar. Lealtad Actuacin con compromiso de resguardo de la institucionalidad, orden disciplinario e imagen. 4. Expectativas ciudadanas del servidor pblico Los ciudadanos demandan no slo transparencia en el uso de los fondos pblicos, sino que estos se conviertan efectivamente en beneficios sociales. El ciudadano, usuario de los servicios pblicos, exige que se le atienda con un buen trato de manera expedita, con eficiencia y eficacia y, desde luego con honestidad. Es de esperar que este reclamo sea mayor en los prximos aos, a medida que la ciudadana incremente su participacin en el ejerci de la democracia y sobre todo por estar consciente de que su contribucin al erario pblico le da el derecho de demandar servicios de calidad.

72

5. Retos y perspectivas del servidor pblico. Dar respuesta a esta demanda ciudadana dentro del marco de las leyes que nos rigen, significa un compromiso impostergable que solo podr enfrentarse con la promocin de la nueva cultura de servicio, que haga posible la preparacin y disposicin requeridas en el servidor pblico, para que est en condiciones de satisfacer las expectativas de la sociedad. El reto es: Que el servidor pblico oriente sus esfuerzos en razn de las necesidades del usuario, de los servicios que le proporciona; Que conozca de forma especfica las demandas, requerimientos y expectativas de los ciudadanos; y Que se prepare para la funcin que realiza y se organice para servirles con eficiencia.

Profesionalizacin del servicio pblico: Solo un servidor pblico profesional ser capaz de proporcionar a la ciudadana los servicios que demanda con diligencia, honestidad, eficacia y eficiencia que sta requiere. La profesionalizacin es un medio de superacin del servidor pblico, adems de constituir un factor de permanencia productiva, ascenso y promocin dentro del servicio pblico. BICENTENARIO DE LA INDEPENDENCIA DE MXICO En el sexenio 2005-2011, el Gobernador del Estado de Mxico, Licenciado Enrique Pea Nieto, durante su discurso de Toma de Protesta, ante la Legislatura Estatal, el da 15 de septiembre de 2005, manifest que gobernar a una entidad que ha dejado huella imborrable en la historia de los mexicanos, por su aportacin a las causas nacionales, por su vitalidad humana y porque es sntesis de los retos y oportunidades que distinguen al Mxico del tercer milenio. Por lo anterior, se asumi el compromiso de cumplir con la responsabilidad histrica que nos corresponde a los mexiquenses en el siglo XXI, exaltando el ejemplo de quienes hace 96 aos, ofrendaron su vida por la independencia que hoy disfrutamos; para ello, los tres poderes fueron convocados a actuar con la misma visin que tuvieron los padres fundadores de la patria. Conmemorar el Bicentenario de la Independencia Nacional, el 150 Aniversario de la Constitucin de 1857 y el Centenario de la Revolucin Mexicana; practicando los ideales de libertad, igualdad y justicia social, por los que lucharon las generaciones de mexicanos que dieron lustre y gloria al pasado. El Programa del Bicentenario de la Independencia de Mxico, que incluye como una de sus primeras acciones promover que se le asigne a cada ao del sexenio del Licenciado Enrique Pea Nieto, el nombre de un prcer, como lo hizo la honorable legislatura, al decretar la denominacin de cada ao de la manera siguiente: 2006: AO DEL PRESIDENTE DE MXICO BENITO PABLO JUREZ GARCA Presidente de Mxico en varias ocasiones, clebre por su frase Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz. 2007: AO DE LA CORREGIDORA DOA JOSEFA ORTIZ DE DOMNGUEZ Digna representante del herosmo de la mujer mexicana, que arriesg su vida, libertad y familia por entregarse a la causa de la insurgencia y luchar contra la opresin y sojuzgamiento espaol del pueblo mexicano.

73

En 2007 tambin se conmemora el 150 Aniversario de la Constitucin de 1857, ideario de igualdad y libertad que nos leg la generacin ms brillante y heroica de la Reforma. Pilar y base para el surgimiento de una nueva Nacin. 2008: AO DEL PADRE DE LA PATRIA MIGUEL HIDALGO Y COSTILLA Quien con su generoso sacrificio ofrend su sangre por la causa de la libertad legndonos una nacin digna e independiente, movimiento emancipador del Ayuntamiento de la Ciudad de Mxico, momento histrico, que a decir de Jos Mara Luis Mora, abri el debate sobre la independencia y los derechos polticos y civiles de los mexicanos. 2009: AO DE JOS MARA MORELOS Y PAVN, SIERVO DE LA NACIN Honor al reformador social cuyo pensamiento y obra permanece en el tiempo y alienta al trabajo fecundo. Fortaleci el movimiento insurgente al frente de los caudillos Ignacio Lpez Rayn, Vicente Guerrero y Guadalupe Victoria, para consolidar la independencia de Mxico. Gnesis del liberalismo insurgente corriente ideolgica que despert la conciencia nacional para crear la patria mexicana, evolucin del espritu pblico y difusin de ideas libertarias en las provincias. 2010: AO DEL BICENTENARIO DE LA INDEPENDENCIA DE MXICO Honor y justicia a los hombres y mujeres que ofrendaron su vida en la lucha por la independencia para legarnos patria y libertad. Centenario del inicio de la Revolucin Mexicana: primer movimiento social en el mundo que constituye las bases institucionales del Mxico del siglo XXI. 2011: AO DEL CAUDILLO VICENTE GUERRERO Consumador generoso y frreo de la Independencia de Mxico, quien nos leg como premisa de mexicanidad su palabra empeada: La Patria es primero. El Bicentenario de la Independencia es la premisa que nos alienta para construir el presente y el futuro, la grandeza y el destino del Estado de Mxico, con la participacin de todos los sectores, cuya columna vertebral sea el genio creador de los patriotas que conformaron para siempre, el rostro y el perfil de un Mxico independiente y libre. Prevencin contra Adicciones para Servidores Pblicos del Gobierno del Estado de Mxico Qu son las adicciones? La adiccin, farmacodependencia o drogadiccin es un estado psicofsico causado por la interaccin de un organismo vivo con un frmaco. Desde otro punto de vista, pero siguiendo el esquema evolutivo hacia la adiccin, podemos describir cuatro etapas progresivas de la enfermedad: ETAPA 1: aprendiendo sobre el cambio de estado de nimo. Los consumidores que se inician descubren emocines. ETAPA 2: en busca del cambio de estado de nimo se comienza a buscar las sustancias que permitan esto a travs del uso planificado. ETAPA 3: La bsqueda del giro anmico se vuelve una obsesin y nica preocupacin. Se pierde la autoestima. Hay inicio de ideas suicidas. ETAPA 4: Consume para sentirse como normal. Se puede culminar en acto suicida.

74

Se entiende por prevencin laboral el conjunto de estrategias que una comunidad particular practica en su entorno laboral para anticiparse a la aparicin de fenmenos no deseados. Existen razones de ser para los programas de prevencin de adicciones en los lugares de trabajo. Las disminuciones del rendimiento en el trabajo. La posibilidad de prdida del trabajo. El costo de un Programa de Prevencin de Adicciones es ms rentable que el de enfrentar un rendimiento continuamente deteriorado, con accidentes, ausentismo, etc. A raz de lo anterior, es importante entender que: El uso indebido de alcohol y drogas crean problemas de salud. Los lugares de trabajo pueden identificar y detectar en forma precoz la problemtica adictiva. Las polticas de empresas preventivas en adicciones son base fundamental para la actuacin de ayuda y tratamiento. Las acciones de informacin, formacin y capacitacin en prevencin de adicciones son instrumentos esenciales para combatir la problemtica. Es de gran importancia la clasificacin estrictamente confidencial relativa a la problemtica adictiva de un trabajador. Es esencial la colaboracin y las comisiones consultivas entre organizaciones y trabajadores para el xito de los programas de prevencin. stas son algunas de las seales que nos indican la existencia de riesgos de consumo de drogas y/o alcohol: * Exagerada violencia. * Dificultades en la comunicacin. * Falta de compaerismo y colaboracin. * Ruptura en las relaciones laborales. * Respuestas intempestivas o inadecuadas. * No respetar horarios. * Cambios en el estado de nimo. * Retraimiento o incomunicacin. * Ausentismo reiterado. * Exagerada inseguridad o autoexigencia. * Temores infundados; idea de muerte. * Actividades inadecuadas respecto a su rol laboral. * Desgano, abulia, apata. * Ira y descontrol intenso. * Sntomas fsicos sin causa de enfermedad aparente. * Por el contrario, debemos fomentar y promover: * Dilogo. * Muestras de sentimiento de pertenencia institucional. * Actividades de recreacin, como modelo de vida sana. * Buena relacin entre los compaeros y con los superiores. * Fomentar la solidaridad. * Compartir proyectos laborales. * Gestos de respeto y tolerancia. * Integracin social. Prevencin en el hogar. La casa es el mejor lugar para proteger a los hijos de las drogas.

75

FACTORES DE PROTECCIN. La comunicacin permite alentar factores de proteccin contra las adicciones. Para comunicarnos efectivamente podemos poner en prctica tres habilidades: ESCUCHAR. Demuestra una actitud de acercamiento a tus hijos. OBSERVAR. Observa las expresiones de tus hijos para saber si estn relajados y sonren, si estn nerviosos o tensos. HABLAR. Asegrate de reconocer y elogiar las acciones que tu hijo hace bien. LMITES. Establece reglas claras para regular su conducta. AUTOESTIMA La autoestima es la opinin y la aceptacin que tenemos de nosotros mismos as como reconocimiento de nuestras cualidades y virtudes. Todos somos diferentes. Acepta a tu hijo tal como es. Aydalo a tener confianza en s mismo. Ensale a tu hijo a valorarse. Tmalo en cuenta. Deja que tu hijo exprese sus opiniones y sus sentimientos. El amor es algo que se dice y se manifiesta. Las muestras de afecto son indispensables para que tus hijos se sientan queridos. SITUACIONES DE RIESGO Las siguientes son situaciones que ponen en riesgo a nuestra familia ante el consumo de cualquier sustancia adictiva (alcohol, tabaco, drogas). Cuando en la familia o en el grupo de amigos se consumen drogas. Cuando en la casa se vive un clima de tensin y violencia. Cuando tiene dificultad para decir no y poner sus propios lmites. Cuando tiene curiosidad o necesidad de vivir emociones fuertes, as como experiencias que ponen en peligro su vida. Cuando ha abandonado la escuela o el trabajo. Cuando las drogas son fciles de conseguir. Aunque estas seales y situaciones por s solas no necesariamente conducen a la farmacodependencia, requieren de una atencin especial y pronta por parte de los padres. SNTOMAS (SEALES DE ALARMA) Ante los siguientes sntomas es fundamental que los padres acten de inmediato y con objetividad. Cuando han perdido el inters en las actividades que antes le gustaban. Cuando bajan su rendimiento en la escuela. Cuando cambian de amigos con frecuencia y repentinamente. Cuando muestran preferencias por otro tipo de actividades totalmente distintas. Cuando cambian drsticamente de aspecto (ropa, peinado, etctera). Cuando cambian sus hbitos alimenticios; estn tristes y aislados. Cuando cambian drsticamente de estado de nimo: pasan de la euforia al enojo, o inexplicablemente se vuelven agresivos. Cuando en casa se empiezan a perder objetos de valor o dinero.

76

Equidad de Gnero Defender y promover los derechos humanos es defender y promover la equidad entre hombres y mujeres y construir la igualdad en una sociedad ms justa y democrtica. Es por ello que el Gobernador del Estado de Mxico ha establecido un firme compromiso con la institucionalizacin de la perspectiva de gnero en todas las actividades de defensa y promocin de los derechos humanos. Los instrumentos internacionales de derechos humanos, especialmente de la Convencin sobre la eliminacin de todas las formas de discriminacin contra la mujer y de la Convencin Interamericana para Prevenir, Sancionar y Erradicar la Violencia Contra la Mujer as como los diversos instrumentos surgidos de las conferencias mundiales sobre la mujer., surge el compromiso de Institucionalizar la perspectiva de gnero en organismos pblicos de derechos humanos en particular. El Gobernador Lic. Enrique Pea Nieto, el 21 de noviembre de 2007, en el evento Perspectivas de Gnero y Polticas Pblicas, instruyo: Revisar el marco normativo, para poder adecuar las normas que validen la igualdad de la mujer y el hombre. Dentro de cada una de las reas de trabajo, reconocer con mayor agudeza los derechos de funcionarias y servidoras pblicas Analizar dentro de las acciones y programas de las dependencias, cules son aquellas que pudieran orientar en mejor medida para apoyar a las mujeres del Estado de Mxico. Es preciso iniciar este tema con la definicin de sexo y gnero ya que frecuentemente se confunde sexo y gnero ambos conceptos tienen significados distintos: Sexo entendido como las diferencias biolgicas, fsicas y corporales entra la mujer y el hombre, que no dependen de la voluntad personal. Gnero a las diferencias sociales entre mujeres y hombres, partiendo de los roles, creencias y valores que se les asignan culturalmente. Equidad quiere decir que mujeres y hombres tienen derecho a acceder con justicia e igualdad al uso, control y beneficio de los bienes y servicios de la sociedad, as como en la toma de decisiones en los mbitos de la vida social, econmica, poltica, cultural y familiar y de gnero. As, pues, la Equidad de Gnero, es la aceptacin de las diferencias entre los hombres y mujeres, reconociendo la diversidad sin que sta signifique razn para la discriminacin, es aceptar que todas y todos tenemos derechos y lo ideal es buscar un equilibro en el que ninguna de las partes se beneficie de manera injusta en perjuicio del otro. La igualdad entre los gneros es un derecho humano y es esencial para la consecucin de los objetivos de desarrollo. Se trata de un requisito indispensable para superar el hambre, la pobreza y las enfermedades. Igualdad entre los gneros implica igualdad en la vida pblica y poltica; El empoderamiento de las mujeres son vitales no slo para mejorar las condiciones econmicas, sociales y polticas de la sociedad en su conjunto sino para lograr una ciudadana integral y una democracia ms slida. Un elemento clave de la potenciacin de la mujer es el ejercicio de un poder de decisin en pie de igualdad con el hombre en los campos que afectan su vida (desde la familia hasta los niveles ms altos do gobierno). Aunque la representacin d la mujer en los parlamentos nacionales ha ido aumentando a un ritmo estable desde 1990, las mujeres siguen ocupando tan solo el 16% de los escaos en todo el mundo. 77

El Gobierno del Estado de Mxico, aplica la transversalizacin de la equidad de gnero, es decir, la aplicacin de la perspectiva de gnero en la estructura y funcionamiento, desde la estructura numrica (cantidad de mujeres y hombres), pasando por la forma de funcionamiento y especialmente por los procesos de toma de decisiones. Tambin hace referencia a las medidas (programas, proyectos, etctera) que el Gobierno del Estado de Mxico ejecuta o implementa hacia el exterior.. En qu nos beneficia la transversalizacin de la equidad de gnero en nuestro lugar de trabajo? Nos sirve para construir una cultura de respeto, tolerancia y no discriminacin, as como promover acciones encaminadas hacia la igualdad de oportunidades entre mujeres y hombres. Propicia un ambiente de trabajo ms agradable donde mujeres y hombres trabajan juntos para lograr que el Gobierno del Estado de Mxico sea un ejemplo de institucionalizacin de la equidad de gnero. La primera igualdad es la equidad Vctor Hugo El nico Estado estable es aquel en que todos los ciudadanos Son iguales ante la ley. Aristteles Nota: Si desea contar con ms informacin, sobre equidad de gnero consulta la siguiente pgina en Internet www.sermam.cl/pmg/documentos.php

78

También podría gustarte