Está en la página 1de 78

0.

PORTADA

ANEXO UNO - D

Oracle Database 10g Express Edition


Manual del Participante
Secretaría de Finanzas Programa General
Subsecretaría de Administración de Capacitación y
Dirección General del Desarrollo
Instituto de Profesionalización de los 2010
Servidores Públicos

Basado en: Detección de Necesidades


de Capacitación
Duración: 20 horas

1
El presente Manual forma parte del
material didáctico de los eventos de
capacitación que corresponden al
Programa General de Capacitación
2010, que ofrece el Instituto de
Profesionalización de los Servidores
Públicos, mismo que fue elaborado
por:

Universidad Autónoma del Estado de


México
Dirección de Tecnologías de la
Información y Comunicaciones

Ing. Denys Bustamante Fernández


Ing. Roxana Trevilla Godínez

2
I. ÍNDICE
Página
0. Portada ......................................................................................................................................1
I. Índice .........................................................................................................................................3
II. Carta de Bienvenida ..................................................................................................................6
III. Introducción ...............................................................................................................................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 Introducción ...................................................................................................................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 Introducción 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 Autenticación en Oracle 10g .............................................................................17
1.3.4 Página principal .................................................................................................19
1.3.5 Navegación en los menús .................................................................................20
Tema II Lenguaje SQL ............................................................................................................21
2.1 Resultados ...................................................................................................................21
2.2 Introducción .................................................................................................................21
2.3 Aplicaciones del SQL ...................................................................................................21
2.3.1 Aplicaciones del SQL ........................................................................................21
2.3.2 Clasificación de los enunciados de SQL ...........................................................21
2.3.3 Recomendaciones al escribir enunciados de SQL ...........................................22
2.3.4 Ejecución de enunciados de SQL .....................................................................23
Tema III Enunciado de Selección de Datos ............................................................................25
3.1 Resultados ...................................................................................................................25
3.2 Introducción .................................................................................................................25
3.3 Enunciado de Selección de Datos ...............................................................................25
3.3.1 Capacidades del Select ....................................................................................25
3.3.2 Recuperación de datos en Oracle 10g .............................................................27
3.3.3 Sintaxis Básica ..................................................................................................27
3.3.4 Uso de alias de columna ...................................................................................28
3.3.5 Expresiones Aritméticas ....................................................................................28
3.3.6 Definición del valor NULL ..................................................................................29
3
3.3.7 Operador de Concatenación .............................................................................29
3.3.8 Restricción de datos – Cláusula WHERE .........................................................30
3.3.9 Clasificación de los datos – Cláusula ORDER BY............................................31
3.3.10 Usando condiciones para valores NULOS .....................................................31
3.3.11 Condiciones Lógicas .......................................................................................31
3.3.12 Reglas de precedencia ...................................................................................32
Tema IV Funciones de SQL ....................................................................................................33
4.1 Resultados ...................................................................................................................33
4.2 Introducción .................................................................................................................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 renglón ...........................................................................35
4.3.4 Funciones de múltiple renglón ..........................................................................40
Tema V Obtención de datos de Múltiples Tablas ...................................................................43
5.1 Resultados ...................................................................................................................43
5.2 Introducción .................................................................................................................43
5.3 Obteniendo datos de distintas tablas ...........................................................................43
5.3.1 Uniendo dos o más tablas .................................................................................44
5.3.2 Tipos de uniones ...............................................................................................46
Tema VI Subconsultas ............................................................................................................50
6.1 Resultados ...................................................................................................................50
6.2 Introducción .................................................................................................................50
6.3 Subconsultas ...............................................................................................................50
6.3.1 Como identificar las subconsultas.....................................................................50
6.3.2 Sintaxis de las subconsultas .............................................................................51
Tema VII Manipulación de Datos ............................................................................................53
7.1 Resultados ...................................................................................................................53
7.2 Introducción .................................................................................................................53
7.3 Lenguaje de Manipulación 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 Administración de Bases de Datos ........................................................................58

4
8.1 Resultados ...................................................................................................................58
8.2 Introducción .................................................................................................................58
8.3 Objetos de la Base de Datos .......................................................................................58
8.3.1 Objetos básicos de una Base de Datos ............................................................58
8.3.2 Creación de Tablas ...........................................................................................58
8.3.3 Las tablas en la base de datos .........................................................................59
8.3.4 Tipos de Datos ..................................................................................................60
8.3.5 Eliminación de una Tabla ..................................................................................60
8.3.6 Validaciones en el servidor ...............................................................................61
8.3.7 Creación 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. Conclusión Final ......................................................................................................................64
VII. Glosario ...................................................................................................................................65
VIII. Bibliografía ............................................................................................................................69
IX. Del autor ..................................................................................................................................70
X. Anexo ......................................................................................................................................72

5
II. CARTA DE BIENVENIDA
Construir una administración pública moderna que permita impulsar el desarrollo y garantice la
estabilidad institucional es uno de los objetivos del Licenciado Enrique Peña Nieto, Gobernador
Constitucional del Estado de México, 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 Gestión Pública:
Innovación para la Eficiencia, cuyas principales líneas de acción se encuentran: arraigar en el
servidor público una cultura de servicio eficiente, cálida y cercana a la población, bajo la
perspectiva de mejora continua, fortalecer la profesionalización 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 idóneo para el ejercicio de la función
pública incluyendo mecanismos de ascenso y estímulos.

En este sentido los eventos de capacitación tienen como proposición, aportar herramientas y
técnicas que apoyen el desempeño de la función del servidor público 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 administración pública estatal y en forma particular y directa a la
ciudadanía.

El evento que se ofrece es un complemento de conocimientos y capacidades que se realiza con la


finalidad de obtener mejores resultados en el desempeño personal e institucional, y con ello alentar
una nueva actitud de servicio acorde con las expectativas ciudadanas y responsabilidades de la
administración pública estatal, con el firme propósito de fortalecer la vocación de servicio en marco
de apego a la legalidad, imparcialidad en la atención y honradez en el servicio, con el compromiso
siempre firme a la ciudadanía, al gobierno y a la unidad administrativa para la cual se desempeña.
La Secretaría de Finanzas del Gobierno del Estado de México, a través de la Dirección General del
Instituto de Profesionalización de los Servidores Públicos dependiente de la Subsecretaría de
Administración, le hace saber que es propósito permanente el que servidores públicos como usted
tengan acceso a la capacitación deseando que el evento que hoy está por iniciar cumpla con las
expectativas para lo que fue diseñado.

6
III. INTRODUCCIÓN

Oracle Database 10g Express Edition (Oracle Database XE) es una versión gratuita de una de las
bases de datos del tipo relacional, Oracle ha demostrado ser una de las más eficientes
herramientas en la gestión de grandes cantidades de información. .

Oracle Database XE es fácil de instalar y fácil 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 importación, la exportación, y la vista de tabla; con esta
versión la ejecución de consultas, scripts SQL y la generación de informes es más intuitiva y más
amigable.

Oracle Database XE incluye Oracle DB HTML 2.1, un entorno declarativo, de desarrollo gráfico
para crear aplicaciones web centradas en bases de datos. Además con esta versión se puede
utilizar otros productos populares de Oracle para el desarrollo de aplicaciones o incluir
aplicaciones de terceros para desarrollar sus aplicaciones de robustas.

7
IV. OBJETIVO GENERAL

Al finalizar el curso el participante será capaz de diseñar, crear y administrar una base de datos
relacional utilizando el administrador de base de datos Oracle 10g, aprenderá a gestionar la
información contenida en la base de datos a través del diseño de una interfaz gráfica y aplicará las
reglas de seguridad básicas para garantizar la consistencia y confiabilidad de información alojada
en la base de datos.

8
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 análisis y diseño de una base de datos relacional.

1.2 Introducción

1.2.1 Bases de Datos

Definición de una base de datos


Una base de datos es un conjunto de archivos interrelacionados entre sí, cuyo
propósito es servir de almacén a grandes volúmenes de información.

Características de las base de datos


Las principales características 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 número de columnas

• No hay un orden al guardar los registros

• No hay un orden al guardar las tablas

• La información puede ser almacenada o recuperada utilizando el lenguaje


de consulta estándar (Structured Query Language)

9
Modelos de base de datos

Dentro de la ciencia de la computación a través del tiempo se han ido definiendo


distintos modelos de bases de datos, que de acuerdo a sus características inherentes
cada uno de ellos ha permitido resolver los problemas de eficiencia y eficacia que
rodean a la extracción y manipulación de datos.
Los principales modelos de bases de datos pueden verse en la siguiente tabla:

Modelo Características

Estructura los archivos de datos mediante padres e hijos


Jerárquico
(esquema de árbol)

Los archivos de datos se encuentran definidos al mismo


Red
nivel y se mantienen relacionados todos entre sí.
Los archivos son organizados a través de dimensiones,
Multidimensional conformando al menos cubos de información de tres
dimensiones como mínimo.
La información de los archivos se representa mediante
Orientado a Objetos objetos, tal como se realiza en la programación orientada a
objetos (clases, herencia, polimorfismo etc.)
Los archivos de información se interrelación a través de
Relacional
relaciones o reglas de asociación.

Visualmente los modelos pueden verse de la siguiente forma:

10
Administrador de base de datos

Para poder administrar la información contenida en los archivos de una base de datos
es indispensable disponer de un programa que permita que la búsqueda, la extracción
y manipulación de la información se realice de la manera más eficiente y que siempre
garantice la consistencia y confiabilidad de la información, 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.

Características de un administrador de base de datos


Las principales características de un administrador de base de datos son:

Capacidad para almacenar y modificar altos volúmenes de datos: el programa de be


permitir registrar información diversa con un propósito en particular (por ejemplo, una
lista de recetas o los clientes de una empresa); debe también facilitar las tareas de
registro, actualización y eliminación de los datos que contiene.

Debe realizar búsquedas de los datos que almacena: debe permitir ubicar un dato de
forma fácil y rápida. Por ejemplo, buscar los clientes de apellido "Gómez" que residan
en la localidad cuyo código postal es 50200.

Permite analizar e imprimir información: debe permitir realizar cálculos 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 volúmenes de datos: debe permitir manejar con relativa
facilidad grandes volúmenes de datos, por ejemplo cambiar el encargado de ventas de
todos los clientes de una zona.
Debe compartir datos: es preciso que permita que más de un usuario acceda
simultáneamente a los mismos datos.

11
1.2.2 Oracle Database10g

Características de Oracle Database 10g

Oracle ofrece una infraestructura robusta para la gestión de información para


pequeñas y medianas empresas, misma que es conocida como Oracle Database 10g.
Esta versión dispone de todo lo necesario para crear aplicaciones. Ente sus
principales características 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 página de administración basada en una interfaz de web muy
intuitiva
Permite la inclusión de lenguajes de terceros ara el desarrollo de aplicaciones

1.2.3 Proceso de desarrollo de Sistemas

A partir de una necesidad de automatización 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 análisis

Diseño

Construcción y documentación

Transición

Producción

Estrategia y análisis: Permite definir los requerimientos y especificaciones que deberá


contener el sistema

Diseño: Consiste en realizar el diseño de la base de datos de acuerdo a lo recabado


en la fase de estrategia y análisis. Se recomienda implementar el modelado de datos
para obtener el diseño inicial de la base de datos.

Construcción y documentación: Construcción del prototipo, creación de la base de


datos, implementación del código y documentación de las especificaciones técnicas.

12
Transición: Refinamiento del prototipo, realización de pruebas y ajustes.

Producción: Se deja el producto en operación a cargo de los usuarios finales, se


monitorea el desempeño y se realizan adecuaciones.

13
1.3 Introducción a la arquitectura de Oracle 10g

1.3.1 Arquitectura

Una base de datos de Oracle es un conjunto de datos organizados según 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 código de una aplicación.
 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 lógicamente los datos en unas estructuras llamadas tablespaces,


las cuales se almacenan físicamente en archivos o datafiles (Archivos de datos).

Una base de datos se compone de una o más tablespaces.

Cada tablespace a su vez se forma de uno o más archivos de datos.

Oracle cuenta con un perfil especial llamado SYSTEM creado automáticamente


durante el proceso de instalación. Utilizado para la propia gestión de la BD

Las tablespaces constituyen la „ventana‟ a través de la cual los usuarios y


diseñadores 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, sinónimos, índices, secuencias, clusters etc.

Tablas:

Unidad básica de almacenamiento de datos.


Consta de un número 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 omisión (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 básicamente 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, sólo se almacena la consulta que la define.

Secuencias:

Cada secuencia genera una serie única de números.


Útil en la generación única de claves.
Pueden ser cíclicas o crecer hasta un valor máximo

Sinónimos:

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 más rápido a los datos.


Una vez creados son mantenidos por Oracle y utilizados para la recuperación
de datos.
Se pueden crear hasta un máximo de 32 columnas.
Implementación 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 físicamente.


Ventajas:
o Se reduce el acceso a disco cuando están 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 auditoría.

Enlaces de BD:

Sirven para especificar una vía de acceso a un objeto situado en una BD


remota.

16
1.3.3 Autenticación en Oracle 10g

Como en cualquier otro administrador de base de datos Oracle, permite el manejo y


administración 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 instalación de Oracle 10g, en automático se realiza la creación


de cuentas administrativas a partir de las cuales se podrá realizar la administración y
creación de nuevas usuarios.

Estas cuentas son:


system
sys

En el siguiente apartado se describirán los pasos que se deben seguir para poder
autentificarse como el administrador.

Autentificándose como administrador

1. Abra la ventana de acceso de base de datos principal de la página:


a. En Windows, desde el menú Inicio, seleccione Programas (o Todos los
programas), a continuación, Oracle Database 10g Express Edition, y
luego ir a la base de datos la página principal
2. En la ventana Base de datos de inicio una página, introduzca la siguiente
información
a. Nombre de usuario: system.
b. Contraseña: oracle

3. Haga clic en Iniciar sesión. La base de datos Oracle XE página de inicio aparece.

17
Habilitar la cuenta de ejemplo

Para iniciar con los ejercicios de la aplicación, es necesario iniciar la sesión 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 número 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 aplicación de ejemplo.

Para desbloquear la cuenta de usuario se deberán seguir estos pasos:

1. Asegúrese de que está siendo iniciado sesión como el administrador de base de


datos, como se describe en la sección anterior.
2. Haga clic en el icono de Administración y, a continuación, haga clic en base de
datos de usuario.
3. Haga clic en el icono de esquema de recursos humanos para mostrar la
información del usuario para recursos humanos.

4. En Administrar la base de datos de usuario, introduzca los siguientes datos:


a. Contraseña y Confirmar contraseña: Introduzca la contraseña hr.
b. Estado de la cuenta: Seleccione desbloqueado.
c. Funciones: Asegúrese de que tanto CONNECT y RECURSOS están
habilitadas.

18
5. Haga clic en Modificar usuario.
6. Cierre la sesión del usuario system
7. Inicie sesión con el usuario HR

1.3.4 Página principal

La página principal del administrador, tiene una interfaz en HTLM que ha sido
diseñada para facilitar la navegación entre las herramientas de administración:

Las secciones se ésta pantalla son las siguientes:

Administración-Gestión 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 información de configuración 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 anónimo 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 gráfica 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 caídos.

1.3.5 Navegación en los menús

Usted puede navegar en el Oracle Database XE en su interfaz gráfica de usuario


haciendo clic en los iconos grandes en la Página de Inicio de base de datos y en las
páginas de navegación.
Al utilizar estos iconos, usted tiene dos opciones:

Al hacer clic en el icono: Haga clic en el icono para ir a la página indicada por
el nombre del icono.
Es posible que tenga que hacer clic en un número de estos iconos,
descendiendo una página a la vez en la jerarquía de la página, antes de llegar
a su página de destino.
Selección desde el menú del icono: Haga clic en la flecha hacia abajo del lado
derecho del icono para ver un menú, a continuación, seleccione una opción en
el menú o desde cualquiera de sus submenús.

20
Tema II Lenguaje SQL

2.1 Resultados
El participante conocerá las características del lenguaje SQL y aprenderá a las formas
en cómo puede ejecutar los enunciados en la interfaz de Oracle 10g.

2.2 Introducción

Oracle ha mantenido los estándares de la industria por ello a lo largo de sus distintas
versiones ha incorporado el lenguaje SQL como la herramienta de extracción 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 versión 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 cálculos, almacenar e imprimir de los resultados de consulta

2.3.2 Clasificación de los enunciados de SQL

Las instrucciones SQL se dividen en varias categorías, de acuerdo a los estándares


internacionales dictados los la American National Standars Institute (ANSI) e
International Standards Oragnization (ISO):

Lenguaje de manipulación 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 transacción.
Data Definition Language (DDL)
Estas declaraciones crear, modificar, eliminar base de datos y objetos.

A continuación se muestran los enunciados básicos de SQL ANSI y una breve


descripción:

21
Un enunciado o instrucción consiste en parte de SQL y palabras reservadas, que
tienen un significado especial en SQL y no puede ser utilizado para cualquier otro
propósito.e algunas técnicas que puede utilizar para incluir información en la nueva
base de datos.

Un ejemplo de un enunciado sería:

SELECT last_name, department_id FROM employees;

A partir de este capítulo se describirán los principales enunciados de SQL que se


consideran como los fundamentales para realizar las funciones de administración de
las bases de datos.

2.3.3 Recomendaciones al escribir enunciados de SQL

Los enunciados de SQL pueden ser construidos fácilmente si se siguen las siguientes
recomendaciones:

Los enunciado no son sensitivos a mayúsculas o minúsculas a menos que se


especifique
Los enunciados pueden ser capturados en una o más líneas
Las palabras reservadas no pueden ser divididas o abreviadas
Las cláusulas deberán en la medida de lo posible escribirse en una nueva
líneas para mejorar la lectura
Se recomienda que las palabras reservadas sean escritas en mayúsculas y
las otras palabras en minúsculas

22
2.3.4 Ejecución de enunciados de SQL

En Oracle 10g es posible realizar la creación y ejecución de instrucciones SQL con


ayuda de las herramientas conocidas como: página de comandos SQL, página Script
Editor o Línea de comandos SQL (SQL * Plus).

La página de comandos SQL es una interfaz simple y fácil de usar.

Ejecución de instrucciones SQL en la página comandos SQL

Para introducir y ejecutar instrucciones SQL en la página de comandos SQL:

1. Ingrese a la página principal de base de datos. Para ejecutar los ejemplos de esta
guía, inicie la sesión como usuario HR con la contraseña para el HR cuenta.
2. En la página de base de datos, haga clic en el icono de SQL para mostrar la
página SQL.
3. Haga clic en el icono de comandos SQL para mostrar los comandos de la página
de SQL.
4. En los comandos de la página de SQL, escriba la siguiente instrucción:

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 línea de SQL símbolo del sistema, pero es
opcional en la página de comandos SQL.

5. Seleccionar (resaltar) la instrucción SQL que desea ejecutar, a continuación, haga


clic en Ejecutar para ejecutar la instrucción y mostrar los resultados.

23
6. Si desea guardar las instrucciones SQL para su uso futuro, haga clic en el botón
Guardar.
7. En el campo Nombre, escriba un nombre para las instrucciones SQL guardado.
También puede introducir una descripción opcional. Haga clic en el botón Guardar
para guardar la instrucción SQL.
8. Para acceder a guardar las instrucciones SQL, haga clic en la ficha SQL guardada
y seleccione el nombre de la instrucción 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 Selección de Datos

3.1 Resultados
El participante desarrollará las habilidades para: Crear enunciados en lenguaje SQL
que le permitan realizar la selección de datos.

3.2 Introducción

La acción más importante que puede llevarse a cabo en la gestión de la base de datos
consiste en la posibilidad de recuperar la información que se tiene almacenada en
ella, esta extracción de datos es lo que hace valiosa a una base de datos pues en
cualquier momento se está garantizando que la información es consistente y es
recuperable en cualquier momento, en este capítulo el participante aprenderá cómo es
posible realizar la recuperación de datos a partir del enunciado de selección de datos.

3.3 Enunciado de Selección de Datos

El enunciado de Selección de datos llamado SELECT es el enunciado más poderoso


y versátil que se dispone en el lenguaje de SQL.
Pues permite obtener la información de la base de datos respetando siempre la
integridad y consistencia de la información.

3.3.1 Capacidades del Select

El enunciado de selección 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:

Proyección: Seleccionar algunas columnas de una tabla


Selección: Elegir solo algunos renglones de una tabla
Join: Realizar la intersección entre dos o más tablas

26
3.3.2 Recuperación de datos en Oracle 10g

Para poder ejecutar un enunciado de selección bastará con seguir los siguientes
pasos:
1. Conectarse o iniciar sesión en la consola de Oracle
2. Elegir la opción de SQL
3. Y seleccionar la opción de comandos de SQL
4. En la sección del editor se deberá escribir el enunciado y al terminar
5. Se deberá dar un clic en el botón llamado Ejecutar para ver el resultado de la
extracción de datos

3.3.3 Sintaxis Básica


Como todo lenguaje el enunciado select debe respetar ciertas reglas sintácticas y
semánticas 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 título de la columna. Puede cambiar un título de
la columna utilizando un alias de columna para hacer el título más descriptivo y fácil
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 número # o signo de dólar $, o si es entre mayúsculas y minúsculas, escriba
el alias entre comillas "".

Ejemplo: uso de un alias de columna para una posición descriptiva en una consulta
SQL

SELECT employee_id "Employee ID number", last_name "Apellido" ,


FROM employees;

3.3.5 Expresiones Aritméticas

Es posible modificar la forma en cómo se muestran los datos de una consulta, en


especial cuando es necesario realizar algún cálculo matemático que este baso en una
columna de una tabla. Para estos casos es posible utilizar operadores aritméticos,
mismos que pueden afectar a una columna, un valor constante o bien utilizar
operadores aritméticos.

Los operadores aritméticos que se utilizan en SQL son:

Operador Descripción
+ Suma
- Resta
* Multiplicación
/ División

Estos operadores pueden utilizarse en cualquier sentencia de SQL exceptuando su


uso en la cláusula FROM.

Precedencia de Operadores

Si una expresión aritmética contiene más de un operador, se utilizará el orden de


precedencia de operadores para que la expresión pueda ser evaluada. Dicho orden
puede verse en la siguiente figura:

* + - /
28
El orden de evaluación será de izquierda a derecha, de manera que:

La multiplicación tiene mayor prioridad sobre la suma y la resta


El uso de paréntesis forzarán a priorizar y clasificar las expresiones

Por ejemplo sin uso de paréntesis:

SELECT last_name, salary, 12*salary+100


FROM employees;

SELECT last_name, salary, 12*(salary+100)


FROM employees;

3.3.6 Definición del valor NULL

Si un renglón 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 diseño 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 Concatenación

Un operador de concatenación permite:


Unir columnas o cadenas de caracteres a otras columnas
Se representa por dos barras verticales ||
El resultado de una concatenación es una expresión 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 selección sea necesario incluir frases
o constantes dentro de alguna expresión, 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 deberán estar encerradas entre comillas simples „‟

3.3.8 Restricción de datos – Cláusula WHERE

La cláusula WHERE utiliza operadores de comparación para identificar las filas de una
tabla específica que cumpla con ciertas condiciones para así restringir la salida de
registros

Los operadores de comparación son las enumeradas en la siguiente tabla.

Operadores de Comparación

Operador Definición
=, !=, <> =,! =, <> 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
BETWEEN ... AND ... Comprueba si hay un rango entre los valores y entre ellos dos
LIKE Busca una coincidencia en una cadena, con el comodín% símbolos
(cero o varios caracteres) o _ (un carácter)
IN ( ), NOT IN ( ) IN (), Revisa que los valores se encuentren dentro de una lista de valores
NOT IN ()
IS NULL, IS NOT NULL Comprueba si un valor es nulo, no es nulo

30
3.3.9 Clasificación de los datos – Cláusula ORDER BY

Usted puede utilizar SELECT con la ORDER BY cláusula 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 cláusula no tiene por qué ser en el
SELECT lista de columnas que desea mostrar.

Usted puede especificar el orden de clasificación como ASC para ascender o DESC
para descender.
El orden predeterminado es ascendente, lo que significa:

Los valores numéricos se muestran con los valores más bajos primero, como
1 a 999.
Los valores de caracteres se muestran en orden alfabético, 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 (vacío) se muestran los valores de una duración 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 mostrarán datos en la pantalla. Estas condiciones deberán incluirse en la
cláusula WHERE.

Por ejemplo:

SELECT *
FROM employees
WHERE commission_ptc IS NULL;

3.3.11 Condiciones Lógicas

Una condición lógica combina el resultado de dos condiciones para producir un


resultado, estas condiciones lógicas utilizan operadores lógicos. En SQL se disponen
de los siguientes operadores:

AND
OR
NOT

31
Para la evaluación de las condiciones lógicas los operadores basan su
comportamiento en tablas de verdad, mismas que se muestran a continuación:

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 NULL


FALSO VERDAD NULL

3.3.12 Reglas de precedencia

Las reglas de precedencia determinan el orden en el que las expresiones serán


evaluadas o calculadas. La tabla siguiente muestra el orden de evaluación:

Orden de evaluación Operador


1 Operadores aritméticos
2 Operadores de concatenación
3 Condiciones de comparación
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 Condición NOT
7 Condición AND
8 Condición OR

Para modificar este orden será necesario usar paréntesis para cambiar su evaluación.

32
Tema IV Funciones de SQL

4.1 Resultados

Al terminar el capítulo el participante será capaz de conocer y utilizar las distintas funciones
de SQL, aplicará estas funciones a enunciados del tipo SELECT.

4.2 Introducción
Las funciones constituyen el bloque básico y más poderoso que se dispone en SQL para
manipular los datos. A lo largo de este capítulo se presentarán las funciones de un renglón,
de agrupación, de tipo carácter, numéricas y de fechas que permitirán manipular los datos.

4.3 Funciones de SQL

4.3.1 Las funciones de SQL


Las funciones se consideran una de las características más poderosas de SQL, ya
que estas permiten realizar lo siguiente:

Permiten realizar cálculos sobre los datos


Pueden modificar a solo un conjunto de registros
Trabajan con grupos de datos
Permiten dar formato a fechas y números
Permiten la conversión de datos

Salida
Entrada
Función
arg 1
Ejecución Resultado
arg 2

arg n

33
4.3.2 Tipos de funciones de SQL

Existen dos tipos de funciones:


Funciones de un solo renglón: Operan solo sobre un renglón, es decir
regresaran el resultado por cada renglón afectado.

Funciones de múltiple renglón: Pueden manipular grupos de renglones dando


un solo resultado por grupo, estas funciones se conocen también como
funciones de agrupación.

Funciones

múltiple
un solo renglón
renglón

El uso de las funciones deberá realizarse en la cláusula del SELECT, de acuerdo a la


siguiente sintaxis:

SELECT nombre_función[argumento],[columna]
FROM tabla
[WHERE]
[ORDER BY]

34
4.3.3 Funciones de un solo renglón

Este tipo de funciones trabajan de forma individual con cada renglón que sea afectado
por la función. Este tipo de funciones pueden recibir uno o más argumentos y
regresan un solo valor para cada registro.

Las funciones de un solo renglón a su vez se clasifican en las siguientes categorías:

Caracter

Generales Funciones de Númericas


un solo
renglón

Conversión Fecha

Funciones de tipo carácter

Estas funciones trabajan con tipos de datos cadena. A continuación se listan las
funciones de esta categoría y su descripción:

Función Descripción Sintaxis


LOWER Convierte a minúsculas LOWER(columna)
Ejemplo:
LOWER(„Hola‟) = hola
UPPER Convierte a mayúsculas UPPER(columna)
Ejemplo:
UPPER („Hola‟) = HOLA
INITCAP Capitaliza la primera letra de una INITCAP(columna)
cadena Ejemplo:
INITCAP(„hola‟)=Hola
CONCAT Concatena cadenas CONCAT(columna1, columna2)
Ejemplo:
CONCAT(„Hola‟,‟amigo‟)= Holaamigo
SUBSTR Extrae caracteres de una cadena SUBSTR(cadena, pos_inicial, num_caracteres)
Ejemplo:
SUBSTR(„HolaMundo‟,1,4)=Hola
LENGTH Obtiene el largo de una cadena LENGTH(columna)
Ejemplo:
LENGTH(„Hola‟)=4

35
Función Descripción Sintaxis
INSTR Encuentra la posición de un carácter INSTR(columna, cadena)
en una cadena Ejemplo:
INSTR(„HolaMundo‟, „M‟)=5
LPAD | RPAD Coloca el valor alineado a la derecha LPAD(columna,posiciones,caracter)
o a la izquierda RPAD(columna,posiciones,caracter)

Ejemplo:
LPAD(salario,10,*)=*****24000
RPAD(salario,10,*)= 24000*****
TRIM Elimina el carácter de una cadena TRIM(carácter FROM columna)
Ejemplo:
TRIM(„H‟ FROM „HolaAmigo‟)= olaAmigo
REPLACE Reemplaza el texto buscado en una REPLACE(columna,
cadena cadena_buscada,cadena_reemplazo)

Ejemplo:
REPLACE(„HolaAmigo‟, „Hola‟,‟Bye‟)=ByeAmigo

Funciones de tipo numérico

Las funciones de tipo numérico solo trabajan y devuelven resultados con datos
numéricos. La lista de funciones numéricas son:

Función Descripción Sintaxis


ROUND Redondea un valor a una posición ROUND(columna, decimal)
decimal especifica Ejemplo:
ROUND(45.926, 2) = 45.93
TRUNC Trunca el valor a un decimal TRUNC(columna, decimal)
especificado Ejemplo:
TRUNC(45.926, 2)=45.92
MOD Devuelve el residuo de la división MOD(divisor, dividendo )
Ejemplo:
MOD(1600,300)=100

Funciones de tipo fecha

En Oracle las fechas se almacenan internamente en un formato numérico que


representa el siglo, el año, mes, día, hora, minuto y segundos.
El formato estándar de despliegue es el DD-MM-YY, el rango de fechas válido en
Oracle va del 1 de Enero del año 4712 A.C hasta el 31 de Diciembre del año 9999
D.C.

De manera interna Oracle almacena una fecha en el siguiente orden:

Siglo Año Mes Día Hora Minuto Segundo


19 94 06 07 5 10 43

En Oracle se utiliza la función 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 aritméticas con las fechas

Dado que las fechas se almacenan como números es posible realizar con ellas
operaciones aritméticas para manipular sus valores, las operaciones que pueden
realizarse con este tipo de datos son:

Operación Resultado Descripción


Fecha + número Fecha Suma un número de días a una fecha
Fecha – número Fecha Resta a una fecha un número de días
Fecha – Fecha Número de días Extrae una fecha de otra
Fecha + numero /24 Fecha Agrega un número de horas a una fecha

Funciones de Fecha

Las funciones de fecha que Oracle tiene implementadas son:

Función Descripción Sintaxis


MONTHS_BETWEEN Encuentra el número de meses MONTHS_BETWEEN(fecha1, fecha2)
trascurridos entre dos fechas Ejemplo:
MONTHS_BETWEEN(‟01-SEP-95‟, ‟11-Jan-
94‟) = 19.67
ADD_MONTHS Agrega n meses a una fecha ADD_MONTHS(fecha,n)
Ejemplo:
ADD_MONTHS(‟11-JAN-94‟,6)=‟11-JUL-94‟
NEXT_DAY Determina el siguiente día de la NEXT_DAY(fecha,‟char‟)
semana Ejemplo:
NEXT_DAY(‟01-SEP-95‟,‟FRIDAY‟)=‟08-SEP-
95‟
LAST_DAY Determina el último día del mes LAST_DAY(fecha)
Ejemplo:
LAST_DAY(‟01-FEC-95‟)=‟28-FEB-95‟
ROUND Redondea una fecha ROUND (fecha[,‟fmt‟])
Ejemplo:
ROUND (‟25-JUL-95‟,‟MONTH‟) = 01-AGU-95
ROUND (‟25-JUL-95‟,‟YEAR‟) = 01-JUN-96
TRUNC Regresa una porción de una fecha TRUNC(fecha[, „fmt‟])
Ejemplo:
TRUNC(‟25-JUL-95‟,‟MONTH‟) = 01-JUL-95
TRUNC(‟25-JUL-95‟,‟YEAR‟) = 01-JAN-95

Funciones de conversión

En algunos casos se requiere convertir la salida de algunas de las columnas mediante


el cambio de tipo de datos, esta conversión en Oracle puede realizarse de dos formas:
Conversión Implícita
Conversión Explícita

37
Oracle puede convertir de manera automática los siguientes tipos de datos:

De Varchar o char a Número


De Varchar2 o char a Fecha
De número a Varchar2
De Fecha a Varchar2

Para aquellos casos en que se deseen realizar conversiones que no son automáticas
de deberá recurrir a la conversión explicita, misma que se sigue de acuerdo al
siguiente diagrama:

TO_NUMBER TO_DATE

TO_CHAR TO_CHAR

Función Descripción Sintaxis


TO_NUMBER Convierte una cadena con dígitos en TO_NUMBER(char,[fmt],[nlsparams])
un número Ejemplo:
TO_NUMBER(‟23.5‟)=23.5
TO_DATE Convierte una cadena en una TO_DATE (char,[fmt],[nlsparams])
representación de fecha Ejemplo:
TO_DATE('23-02-10','YY-MM-DD')=10/02/23
TO_CHAR Convierte un numero o fecha en un TO_CHAR (numero|fecha,[fmt],[nlsparams])
Varchar2 Ejemplo:
TO_CHAR(SYSDATE,'MM-DD-YY')=‟08-02-10‟
TO_CHAR(253.2) = „253.2‟

Dónde fmt, corresponde a un modelo de formato de fecha. En Oracle los elementos


de este formato son:

38
Elemento Descripción
YYYY Año completo
MM Dos dígitos del mes
MONTH Nombre del mes
MON Mes abreviado en 3 letras
DY Día de la semana abreviado en 3 letras
DAY Nombre del día de la semana
DD Día del Mes en 2 dígitos
DDD Día del año
WW o w Semana del año 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:

Función Descripción Sintaxis


NVL Convierte un valor NULL c un nuevo NVL(expresion1, expresion2)
valor Ejemplo:
NLV(comisión,0)
NVL(fecha_nacimiento,‟01-JAN-98‟)
NVL(puesto, ‟Sin puesto‟)
NVL2 Si la espresión1 no es nula, regresa NVL2(expresion1, expresion2, expresion3)
la espresión2, pero si la expresión1 Ejemplo:
es nula se regresa la expresión3 NVL2(comisión,comisión+100,0)
NULLIF Compara dos expresiones y regresa NULLIF(expresion1, expresion2)
nulo su son iguales o la primera Ejemplo:
expresión si no son iguales NULLIF(salario, bono)
COALESCE Regresa el primer valor no nulo de la COALESCE(expresion1, expresion2, …,
lista expresionN)
Ejemplo:
COALESCE(comisión, salario, 10)

39
4.3.4 Funciones de múltiple renglón

Las funciones que utilizan una entrada de múltiples renglones para obtener un solo
resultado también se conocen como funciones de agregación o agrupación 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 agrupación se deberán colocan en la


cláusula SELECT.

40
También debe notarse que aparece una nueva cláusula llamada Group by, misma que
puede o no ser empleada según se requiera afectar a un grupo o grupos de datos.

Dado que es fácil incurrir en ciertos errores al momento de agrupar se recomienda


hacer uso de la siguiente regla:

Si el enunciado SELECT contiene columnas que no están afectadas por alguna


función de agrupación, se deberá agregar la cláusula GROUP BY y listar en este
renglón todas las columnas que no están afectadas por alguna función de agrupación.

Por ejemplo:

Las funciones de agrupación que Oracle dispone son las siguientes:

Función Descripción Sintaxis


AVG Obtiene el promedio e ignara valores AVG([Distinct | All] n )
nulos Ejemplo:
AVG(salario)
COUNT Cuenta el número de renglones COUNT({* [| Distinct | All ] expresion})
Ejemplo:
COUNT(*)
COUNT(id_job)
COUNT(Distinct(last_name))
MAX Obtiene el valor máximo, ignora los MAX([Distinct | All] expresion )
nulos Ejemplo:
MAX(salario)
MAX(Fecha)
MIN Obtiene el valor mínimo, ignora los MIN([Distinct | All] expresion )
nulos Ejemplo:
MIN(salario)
MIN(Fecha)
SUM Obtiene la suma de valores e ignora SUM([Distinct | All] expresion )
los nulos Ejemplo:
SUM(salario)
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 estén aplicando
agrupaciones solo se requieran algunas de ellas, en SQL se utiliza la cláusula
HAVING con este propósito.

La sintaxis de esta cláusula se muestra a continuación:

Visto a modo de ejemplo:

42
Tema V Obtención de datos de Múltiples Tablas

5.1 Resultados
Al terminar este capítulo el participante será capaz de estructurar enunciados de
selección de datos que accedan a más de una tabla, podrá identificar los datos que
usualmente no se pueden obtener con las intersecciones o uniones de tablas
habituales.

5.2 Introducción
El algunas ocasiones es necesario obtener información de más de dos tablas, o se
requiere complementar la información relacionada los datos de distintas tablas, para
estos casos se hace uso de intersecciones entre tablas.

5.3 Obteniendo datos de distintas tablas

En capítulos anteriores se ha visto que el enunciado SELECT ayuda en la obtención 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 información
complementaria.

Este tipo de unión de tablas no es más que una combinación de datos, para obtenerla
se necesita tener vinculadas algunos renglones entre tablas dependientes, esto se
logra mediante la incorporación de Llaves Primarias (PK) y Llaves Foráneas (Fk).

Gráficamente esta relación puede verse como se muestra en el siguiente diagrama:

43
5.3.1 Uniendo dos o más 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 información de
los empleados y del número de departamento donde están, 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:

También es importante considerar que al recuperar datos de varias tablas, de forma


explícita (como en la gráfica anterior), es necesario que se identifique explícitamente a
qué tabla pertenece cada columna a fin de evitar errores de ambigüedad (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 explícita las columnas
por tabla. Un alias de tabla se utiliza, en lugar del nombre de la tabla, para simplificar y
reducir el tamaño del código 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 unión que resulta de omitir las condiciones o relaciones de igualdad entre dos o
más tablas.
Este tipo de uniones resulta ser de un costo computacional alto debido a que los
registros involucrados se combinarán 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 foráneas para realizar
la combinación de registros.
Este es el tipo de uniones más 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 foráneas para realizar la combinación de registros, en su lugar utilizan
operadores de comparación para obtener el conjunto de resultados.
Los operadores que utiliza el no quijoin son: <=, >= y el BETWEEN

47
Outer Joins

La combinación de conjuntos como los joins tienen un detalle, si un renglón no


satisface con la condición de unión este no se mostrará en los resultados.
Estos renglones comúnmente 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 generación de


reportes, por ello Oracle ha dispuesto de un operador para que estos renglones
puedan ser visualizados y mostrados al ejecutarse una selección de datos.

Los outer joins, se clasifican en dos categorías: 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 continuación:

48
49
Tema VI Subconsultas

6.1 Resultados
Al culminar este capítulo 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 Introducción
Supongamos que nos enfrentamos a la siguiente situación: se nos ha pedido generar
la lista de aquellos empleados que ganan más que la empleada llamada Smirna.

Para resolver este problemas se nota que es importante conoce cuánto gana Smirna,
una vez obtenido su salario será posible identificar quienes son los que ganan más
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
análisis 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 capítulo 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 condición aplicada a otra tabla.

La sintaxis para usar una subconsulta es la siguiente:

Donde expresión será la condición 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
ilustración anterior se dividen en Operadores de un Registro y de Múltiples registros.

Esta clasificación de operadores corresponde a su vez de acuerdo al tipo de


subconsulta que de vaya a implementar, en SQL se tienen las siguientes categorías
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 múltiples renglones.

Algunas recomendaciones que se deben tomar en cuenta al momento de usar


subconsultas son las siguientes:

52
Tema VII Manipulación 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 Introducción
Los enunciados DML son la parte estática 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 transacción y a lo largo de


este capítulo aprenderemos como estructurar enunciados DML y cómo podemos
controlar su ejecución a través de transacciones.

7.3 Lenguaje de Manipulación de Datos

7.3.1 Enunciados DML

Los enunciados de lenguaje de manipulación 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 gestión de información dentro de una


base de datos.
A continuación 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 actualización de los datos de la base de datos, su sintaxis


básica 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 señalar que se deberá tener cuidado al eliminar los registros de las
bases de datos, pues esta acción no permite deshacer la acción realizada de manera
natural.

Cuando se realice la eliminación de los datos, es importante considerar que si se


infringen las reglas de integridad referencial se originará un error de integridad al
realizar la acción de eliminación.

7.3.5 Enunciado MERGE

Este enunciado permite actualizar o insertar un renglón 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 señalar que este es un enunciado determinístico y
que no será posible actualizar el mismo renglón en múltiples 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 transacción consiste en el conjunto de enunciados DML que pueden


realizar cambios sobre los datos.

Una transacción 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 sesión
Si el equipo o el sistema operativo falla

En Oracle existe un sistema explícito de control de transacciones, mismo que permite


que el usuario o programador determine cada cuando ejecutar o cancelar una
transacción. Visualmente este sistema se ve como lo muestra la siguiente figura:

56
Tiempo COMMIT

Transacción

DELETE

SAVEPOINT A

INSERT

UPDATE

SAVEPOINT B

INSERT

ROLLBACK al ROLLBACK al ROLLBACK


SAVEPOINT B SAVEPOINT A

Dónde se emplean los siguientes comandos:

Función Descripción
COMMIT Termina la transacción actual realizando
todos que los cambios temporales se
realicen permanentemente
SAVEPOINT name Coloca un punto de retorno
ROLLBACK Termina la transacción actual descartando
los cambios hechos
ROLLBACK TO Regresa la transacción a un punto
SAVEPOINT name específico de retorno, descarta los
cambios hechos y puntos de retorno
creados antes del punto de retorno.

57
Tema VIII Administración 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 Introducción
Una base de datos de Oracle puede contener múltiples estructuras de datos. Cada
estructura deberá estar delimitada durante la fase de diseño de la base de datos.
A lo largo de este capítulo se abordará la descripción 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 básicos 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 más tablas
Secuencia: Generador numérico de identificadores
Índice: Provee de alto desempeño a algunas consultas de SQL
Sinónimo: Permite colocar nombres alternos a los objetos

8.3.2 Creación 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
Deberán 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 colección de tablas creadas por el usuario que
almacenan información
Diccionario de Datos: Es una colección de tablas que son creadas y en
mantenimiento por el servidor de Oracle, contienen información 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 selección de registros:
USER_TABLES
USER_OBJECTS
USER_CATALOG o CAT

Un ejemplo sería:

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 Descripción


VARCHAR2(size) Carácter de longitud variable
CHAR(size) Carácter de longitud fija
NUMBER(p,s) Número de longitud variable, p= precisión, s= escala
DATE Valor de fecha y hora
TIMESTAMP Fecha con fracción de segundos
LONG Cadena de longitud variable hasta 2 GB
CLOB Carácter hasta de 4 GB
RAW (size) Dato binario de longitud dada por size, eñ valor máximo de
size es de 2000
LONG RAW Dato binario de longitud variable hasta de 2GB
BLOB Dato binario hasta de 4 GB
BFILE Dato binario almacenado en un archivo externo hasta de
4GB
ROWID Un número en base 64 que representa la dirección única
de cada registro en su tabla

8.3.5 Eliminación 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 información 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 información de la tabla
Las vistas y sinónimos relacionados a la tabla quedan en el esquema pero
serán inválidos por hacer referencia a un objeto que ya no existe
Si existiera alguna transacción pendiente esta se finaliza con COMMIt

Otra alternativa para eliminar el contenido de una tabla es el comando TRUNCATE, el


cual solo elimina la información de la tabla dejando su estructura en el esquema.
Al utilizar este comando no es posible deshacer la transacción 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 inválidos a las tablas.
Los constraints sirven para:
Forzar el cumplimiento de reglas a nivel de tabla cuando se inserta, se
actualiza o se borra información
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 Descripción
NOT NULL Especifica que la columna no puede tener valores nulos
UNIQUE Especifica que una columna o combinación de columnas
deben tener valores únicos para todos los renglones de la
tabla
PRIMARY KEY Identifica como único a cada renglón de la tabla
FOREING KEY Establece una referencia foránea con otra tabla y fuerza a
una relación entre tablas
CHECK Especifica una condición que debe ser cumplida

8.3.7 Creación de Vistas

Una vista es una tabla lógica que ha sido creada a partir de otra tabla o vista. En ella
no se contiene datos como tales, es más bien como una representación de una
ventana a través 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 automática números
únicos, de ahí que casi siempre se destine a crear llaves primarias en las tablas.

La creación de estos objetos trae beneficios contiguos ya que disminuyen el trabajo a


los programadores y la asignación de llaves primarias se vuelve más 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 extracción


de los registros mediante el uso de apuntadores.
También reducen la lectura y escritura al disco duro pues hacen uso de un acceso de
ruta crítica.
Son independientes de las tablas que indexan y el servidor automáticamente les da
mantenimiento para mantener en óptimo funcionamiento la base de datos.

Sinónimos

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 sinónimos 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 versión será posible mantener el
control mediante:

El control de acceso a la base de datos


Dando acceso a objetos específicos de la base de datos
Creando sinónimos a los objetos de la base de datos

La seguridad de la base de datos esta clasificada en dos grandes categorías:


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 contraseñas, 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 más 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. CONCLUSIÓN FINAL

Oracle Database 10g, resulta ser uno de los administradores de base de datos relacionales más
robustos y vanguardistas, su aplicación en las actividades diarias agilizan la gestión de datos y
manejo de la información.

Oracle 10G, cuenta entre sus principales características, la posibilidad de auto administrarse,
organizarse en clusters y manejar la administración de su almacenamiento a través de la
tecnología Grid Computing.

64
VII. GLOSARIO

TÉRMINO DEFINICIÓN
Un conjunto de objetos que puede incluir las tablas, las
consultas, los formularios, los informes, las macros y los módulos
aplicación de base de
de código diseñados para trabajar conjuntamente para facilitar el
datos
uso de una base de datos. Generalmente, una aplicación de
base de datos se implementa en un grupo de usuarios.

Una cadena que no contiene ningún carácter. Se puede usar una


cadena de longitud cero para indicar que se sabe que no existe
cadena de longitud cero un valor para un campo. Para especificar las cadenas de longitud
cero, se escribe un par de comillas dobles sin espacio entre ellas
("").

Una expresión que define un comando SQL, como SELECT,


cadena o instrucción UPDATE o DELETE, e incluye cláusulas como WHERE y
SQL 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 expresión en vez de mostrar los datos almacenados. El valor
campo calculado se vuelve a calcular cada vez que cambia un valor de la
expresión.

Un campo en el área de columna de la vista Tabla dinámica. Los


elementos de los campos de columna aparecen en la parte
superior de una lista de tabla dinámica. Los campos de columna
campo de columna
internos son los más próximos 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


campo de datos dinámica o Gráfico dinámico. Un campo de datos suele contener
datos numéricos.

Un campo que resume datos del origen del registro subyacente.


Un campo de totales puede usar una función de resumen, por
campo de totales
ejemplo, Suma o Recuento, o una expresión para calcular los
valores de resumen.
Un campo que contiene un valor Null. Un campo Null no es igual
campo Null 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
caracteres comodín
que comiencen con caracteres específicos o que coincidan con
un determinado modelo.

Uno o más campos de tabla (columnas) que hacen referencia al


clave externa campo de clave principal o a campos de otra tabla. Una clave
externa indica cómo se relacionan las tablas.
65
TÉRMINO DEFINICIÓN
Uno o más campos (columnas) cuyos valores identifican cada
registro de una tabla de forma única. Una clave principal no
clave principal 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 ubicación dentro de una tabla de base de datos que
columna
almacena un tipo de datos en particular.
El conjunto de información que corresponde a un determinado
configuración regional
idioma y país.
El nombre colectivo que se le da a una tabla, objetos Recordset
conjunto de registros de tipo conjunto de registros dinámicos e instantánea, 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 acción en los datos. Una consulta
consulta
puede unir los datos de varias tablas para que sirvan como
origen de datos para un formulario o informe.
Representación gráfica de cualquier parte del esquema de una
diagrama de base de base de datos. Puede ser una imagen completa o parcial de la
datos estructura de la base de datos. Incluye tablas, las columnas que
éstas contienen y las relaciones entre las tablas.

Documentador de base Una herramienta que genera un informe con información


de datos detallada acerca de los objetos en una base de datos.

Para las relaciones que exigen la integridad referencial entre


tablas, la eliminación de todos los registros relacionados en la
eliminación en cascada
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 cálculo o formato de archivo, de manera que
exportar 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 parámetros de entrada y devuelve un
resultado como un procedimiento almacenado. Tipos: escalar (de
función varias instrucciones; devuelve un valor), en línea (una
instrucción; un valor de tabla que se puede actualizar) y tabla (de
varias instrucciones; valor de tabla).
Una función como Suma, Recuento, Promedio o Var que se usa
función de agregación
para calcular totales.
Una consulta que toma los parámetros de entrada y devuelve un
resultado de forma similar a un procedimiento almacenado.
función definida por el
Tipos: escalar (de varias instrucciones; devuelve un valor), en
usuario
línea (una instrucción; un valor de tabla que se puede actualizar)
y tabla (de varias instrucciones; valor de tabla).
Una característica que acelera la búsqueda y la ordenación en
índice
una tabla según los valores de las claves y que exige la unicidad

66
TÉRMINO DEFINICIÓN
en las filas de una tabla. La clave principal de una tabla se indiza
automáticamente. 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 especificación de la
propiedad Indizado de un campo en Sí (sin duplicados). Un
índice único índice único no permitirá entradas duplicadas en el campo
indizado. Al configurar un campo como clave principal, el campo
se define automáticamente como único.
Las reglas que se siguen para mantener las relaciones definidas
integridad referencial
entre tablas al agregar, actualizar o eliminar registros.
Minimizar la duplicación de información en una base de datos
relacional mediante el diseño eficaz de la tabla. Para normalizar
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
Null 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
operador de
expresiones. Por ejemplo, < (menor que), > (mayor que) y =
comparación
(igual a).
Un conjunto de atributos que especifica qué tipo de acceso tiene
permisos
un usuario a los datos u objetos de una base de datos.

Una asociación que se establece entre campos comunes


relación (columnas) de dos tablas. Puede ser una relación uno a uno, uno
a varios o varios a varios.
Una asociación entre dos tablas en la que un registro de ambas
tablas puede estar relacionado con muchos registros de la otra
relación de varios a
tabla. Para establecer una relación varios a varios, se debe crear
varios
una tercera tabla y agregarle los campos de clave principal de las
otras dos tablas.
Una asociación entre dos tablas en la que el valor de la clave
principal de cada registro de la tabla principal corresponde al
relación uno a uno
valor del campo o los campos concordantes de un solo registro
de la tabla relacionada.
Una asociación entre dos tablas en la que el valor de la clave
principal de cada registro de la tabla principal corresponde al
relación uno a varios
valor del campo o los campos concordantes de varios registros
de la tabla relacionada.
Una instrucción SQL SELECT dentro de otra consulta de
subconsulta
selección o acciones.
Un objeto de base de datos que almacena los datos en registros
(filas) y campos (columnas). Generalmente, los datos son sobre
tabla
una categoría determinada de cosas, como empleados o
pedidos.
validación El proceso de comprobar si los datos especificados cumplen
67
TÉRMINO DEFINICIÓN
ciertas condiciones o limitaciones.
Un valor que se escribe automáticamente en un campo o control
valor predeterminado cuando se agrega un nuevo registro. Puede aceptar el valor
predeterminado o puede especificar un valor para reemplazarlo.

68
VIII. BIBLIOGRAFÍA

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. Addison-
Wesley Professional. 1989.
Riordan, Rebecca M. Designing Effective Database Systems. Addison-Wesley Professional. 2005.
Bryla Bob; Loney Kevin Oracle Database 10g Manual del administrador, McGRAW-
HILL/INTERAMERICANA DE ESPAÑA, S.A.U. 2009
http://www.oracle.com

69
IX. DEL AUTOR

Establecida por decreto gubernamental el 21 de marzo de 1956 –128 años después de su


fundación como Instituto Literario– la Universidad Autónoma del Estado de México está constituida
actualmente por 19 facultades, una escuela profesional, 8 planteles de la Escuela Preparatoria, 8
unidades académicas desconcentradas, 12 centros de investigación y 70 escuelas incorporadas.
En este universo de trabajo, la función docente comprende la enseñanza de 47 carreras
profesionales y 2 carreras técnicas, además del bachillerato, que tiene dentro de la Universidad
una larga tradición.

En el nivel de estudios de posgrado existen 84 programas, 37 de ellos de especialización, 36 de


maestría y 9 de doctorado.
Los planteles de la Escuela Preparatoria están ubicados en Toluca, Tenancingo, Texcoco y
Amecameca, en tanto que las unidades profesionales funcionan en Temascaltepec, Atlacomulco,
Amecameca, Zumpango, Texcoco, Valle de México, Ecatepec y Valle de Chalco. Las escuelas
incorporadas –7 de las cuales ofrecen estudios profesionales y todas bachillerato– están
distribuidas en todo el estado.
La universidad atiende directamente una matrícula de 38,000 estudiantes, de los cuales 15,035
cursan bachillerato, 21,037 licenciaturas y 1,928 posgrado. En el sistema incorporado están
inscritos 26,129 alumnos, por lo cual la matrícula 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, además de 186 técnicos académicos y 20 investigadores de tiempo completo.
Otras modalidades de enseñanza están siendo exploradas actualmente, en función de la demanda
de ingreso, que supera la oferta. El sistema de educación a distancia se estableció en 1996.

En el área de investigación, existen 339 proyectos registrados, que se realizan en facultades y


centros de investigación. La nómina actual es de 196 investigadores, de los cuales, 129 tienen
estudios de maestría y 46 doctorado, y 59 pertenecen al Sistema Nacional de Investigadores. En
1998, 73 proyectos se reportaban terminados y 266 en proceso. La mayoría son financiados con
recursos propios y algunos tienen financiamiento externo.

El centro de investigación más importante es el Centro Interamericano de Recursos del Agua –


CIRA– que en su primera etapa de construcción absorbió recursos del orden de 27 millones de
pesos.
En el área de difusión cultural, existen en la Universidad 47 grupos y 19 solistas que anualmente
participan en 850 actividades internas y 620 externas, en promedio anual, además de que el
Centro de Actividades Culturales se imparten diferentes cursos y disciplinas artísticas. En 1996 se
creó la licenciatura en Artes Plásticas, que en el futuro será el núcleo de una escuela profesional.

La Universidad edita un promedio anual de 50 libros y sostiene dos revistas, una de divulgación
cultural (La Colmena) y otra de divulgación científica (Ergo Sum), que han obtenido premios
nacionales entre publicaciones de su género.
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 información, 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 económicas, que en el mismo año fueron
2,631.

En la actualidad, la cifra de egresados de licenciatura es de 3,024 por año en el campus Toluca y


de 439 en las unidades profesionales desconcentradas. El nivel de posgrado tiene 277 egresados
de especialización y maestría. Aún no egresan doctores.
70
Las labores administrativas son desempeñadas por 2,497 empleados. Para ellos y para la
comunidad académica existen 1,747 equipos de cómputo 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 orgánica de 1956. Existe, además, desde 1996, el Estatuto Universitario.

71
X. ANEXO
A continuación se proporciona información relacionada con:
El Servicio Público
Bicentenario de la Independencia de México
Prevención Contra Adicciones para Servidores Públicos del Gobierno del Estado de
México
Equidad de Género

El Servicio Público
1. Servidor Público
Toda persona física que preste a una institución pública un trabajo personal subordinado de carácter
material o intelectual, o de ambos géneros, mediante el pago de un sueldo. Comprometiendo el máximo de
sus capacidades técnicas, 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 públicos con una nueva y verdadera vocación de cultura de
servicio, lo que significa asumir una conducta permanente ante el ciudadano y ante sí mismo de:
VOCACIÓN DE SERVICIO (Espíritu de servicio; Deseo de superación profesional y personal; Espíritu de
mejora continua; Alta auto estima; y Elevada capacidad de trabajo.
2. Trascendencia de la función pública
Las actividades que tiene encomendada la función pública, 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 país. Tales que sean un ejemplo a seguir para otras sociedades.
3. Valores que orientan la actuación del servidor público
Legalidad Actuación apegada a leyes, reglamentos y normas.
Honradez Actuación libre de desvíos de cualquier naturaleza.
Vocación de servicio. Actuación 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
administración pública.
Imparcialidad Actuación y decisiones apegadas a derecho y con equidad; sin
considerando a quien se pueda beneficiar o perjudicar.
Lealtad Actuación con compromiso de resguardo de la institucionalidad, orden
disciplinario e imagen.
4. Expectativas ciudadanas del servidor público
Los ciudadanos demandan no sólo transparencia en el uso de los fondos públicos, sino que estos se
conviertan efectivamente en beneficios sociales.
El ciudadano, usuario de los servicios públicos, 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 próximos años, a medida que la ciudadanía incremente su participación en el ejerció de la democracia
y sobre todo por estar consciente de que su contribución al erario público le da el derecho de demandar
servicios de calidad.

72
5. Retos y perspectivas del servidor público.
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 promoción de la nueva cultura de servicio,
que haga posible la preparación y disposición requeridas en el servidor público, para que esté en condiciones
de satisfacer las expectativas de la sociedad.
El reto es:
 Que el servidor público oriente sus esfuerzos en razón de las necesidades del usuario, de
los servicios que le proporciona;
 Que conozca de forma específica las demandas, requerimientos y expectativas de los
ciudadanos; y
 Que se prepare para la función que realiza y se organice para servirles con eficiencia.
Profesionalización del servicio público:
Solo un servidor público profesional será capaz de proporcionar a la ciudadanía los servicios que demanda
con diligencia, honestidad, eficacia y eficiencia que ésta requiere. La profesionalización es un medio de
superación del servidor público, además de constituir un factor de permanencia productiva, ascenso y
promoción dentro del servicio público.

BICENTENARIO DE LA INDEPENDENCIA DE MÉXICO

En el sexenio 2005-2011, el Gobernador del Estado de México, Licenciado Enrique Peña Nieto, durante su
discurso de Toma de Protesta, ante la Legislatura Estatal, el día 15 de septiembre de 2005, manifestó que
gobernará a una entidad que ha dejado huella imborrable en la historia de los mexicanos, por su aportación
a las causas nacionales, por su vitalidad humana y porque es síntesis de los retos y oportunidades que
distinguen al México del tercer milenio.

Por lo anterior, se asumió el compromiso de cumplir con la responsabilidad histórica que nos corresponde a
los mexiquenses en el siglo XXI, exaltando el ejemplo de quienes hace 96 años, ofrendaron su vida por la
independencia que hoy disfrutamos; para ello, los tres poderes fueron convocados a actuar con la misma
visión que tuvieron los padres fundadores de la patria.

Conmemorar el Bicentenario de la Independencia Nacional, el 150 Aniversario de la Constitución de 1857 y


el Centenario de la Revolución 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 México, que incluye como una de sus primeras
acciones promover que se le asigne a cada año del sexenio del Licenciado Enrique Peña Nieto, el nombre de
un prócer, como lo hizo la honorable legislatura, al decretar la denominación de cada año de la manera
siguiente:

2006: AÑO DEL PRESIDENTE DE MÉXICO BENITO PABLO JUÁREZ GARCÍA


Presidente de México en varias ocasiones, célebre por su frase “Entre los individuos, como entre las
naciones, el respeto al derecho ajeno es la paz”.

2007: AÑO DE LA CORREGIDORA DOÑA JOSEFA ORTIZ DE DOMÍNGUEZ


Digna representante del heroísmo de la mujer mexicana, que arriesgó su vida, libertad y familia por
entregarse a la causa de la insurgencia y luchar contra la opresión y sojuzgamiento español del pueblo
mexicano.

73
En 2007 también se conmemora el 150 Aniversario de la Constitución de 1857, ideario de igualdad y
libertad que nos legó la generación más brillante y heroica de la Reforma. Pilar y base para el surgimiento de
una nueva Nación.

2008: AÑO DEL PADRE DE LA PATRIA MIGUEL HIDALGO Y COSTILLA


Quien con su generoso sacrificio ofrendó su sangre por la causa de la libertad legándonos una nación digna e
independiente, movimiento emancipador del Ayuntamiento de la Ciudad de México, momento histórico, que
a decir de José María Luis Mora, abrió el debate sobre la independencia y los derechos políticos y civiles de
los mexicanos.

2009: AÑO DE JOSÉ MARÍA MORELOS Y PAVÓN, SIERVO DE LA NACIÓN


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 López Rayón, Vicente Guerrero y
Guadalupe Victoria, para consolidar la independencia de México. Génesis del liberalismo insurgente
corriente ideológica que despertó la conciencia nacional para crear la patria mexicana, evolución del espíritu
público y difusión de ideas libertarias en las provincias.

2010: AÑO DEL BICENTENARIO DE LA INDEPENDENCIA DE MÉXICO

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 Revolución Mexicana: primer movimiento social en el
mundo que constituye las bases institucionales del México del siglo XXI.

2011: AÑO DEL CAUDILLO VICENTE GUERRERO

Consumador generoso y férreo de la Independencia de México, quien nos legó como premisa de
mexicanidad su palabra empeñada: “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 México, con la participación 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
México independiente y libre.

Prevención contra Adicciones


para Servidores Públicos del Gobierno del Estado de México

¿Qué son las adicciones?


La adicción, farmacodependencia o drogadicción es un estado psicofísico causado por la interacción de un
organismo vivo con un fármaco.
Desde otro punto de vista, pero siguiendo el esquema evolutivo hacia la adicción, 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
través del uso planificado.
ETAPA 3: La búsqueda del giro anímico se vuelve una obsesión y única preocupación. 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 prevención laboral el conjunto de estrategias que una comunidad particular practica en su
entorno laboral para anticiparse a la aparición de fenómenos no deseados.
Existen razones de ser para los programas de prevención de adicciones en los lugares de trabajo.
Las disminuciones del rendimiento en el trabajo.
La posibilidad de pérdida del trabajo.
El costo de un Programa de Prevención de Adicciones es más rentable que el de enfrentar un
rendimiento continuamente deteriorado, con accidentes, ausentismo, etc.
A raíz 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 problemática adictiva.
Las políticas de empresas preventivas en adicciones son base fundamental para la actuación de
ayuda y tratamiento.
Las acciones de información, formación y capacitación en prevención de adicciones son
instrumentos esenciales para combatir la problemática.
Es de gran importancia la clasificación estrictamente confidencial relativa a la problemática adictiva
de un trabajador.
Es esencial la colaboración y las comisiones consultivas entre organizaciones y trabajadores para el
éxito de los programas de prevención.

Éstas son algunas de las señales que nos indican la existencia de riesgos de consumo de drogas y/o alcohol:
* Exagerada violencia.
* Dificultades en la comunicación.
* Falta de compañerismo y colaboración.
* Ruptura en las relaciones laborales.
* Respuestas intempestivas o inadecuadas.
* No respetar horarios.
* Cambios en el estado de ánimo.
* Retraimiento o incomunicación.
* Ausentismo reiterado.
* Exagerada inseguridad o autoexigencia.
* Temores infundados; idea de muerte.
* Actividades inadecuadas respecto a su rol laboral.
* Desgano, abulia, apatía.
* Ira y descontrol intenso.
* Síntomas físicos sin causa de enfermedad aparente.
* Por el contrario, debemos fomentar y promover:
* Diálogo.
* Muestras de sentimiento de pertenencia institucional.
* Actividades de recreación, como modelo de vida sana.
* Buena relación entre los compañeros y con los superiores.
* Fomentar la solidaridad.
* Compartir proyectos laborales.
* Gestos de respeto y tolerancia.
* Integración social.

Prevención en el hogar. La casa es el mejor lugar para proteger a los hijos de las drogas.

75
FACTORES DE PROTECCIÓN.
La comunicación permite alentar factores de protección contra las adicciones. Para comunicarnos
efectivamente podemos poner en práctica tres habilidades:
ESCUCHAR. Demuestra una actitud de acercamiento a tus hijos.
OBSERVAR. Observa las expresiones de tus hijos para saber si están relajados y sonríen, si están
nerviosos o tensos.
HABLAR. Asegúrate de reconocer y elogiar las acciones que tu hijo hace bien.
LÍMITES. Establece reglas claras para regular su conducta.

AUTOESTIMA
La autoestima es la opinión y la aceptación que tenemos de nosotros mismos así como reconocimiento de
nuestras cualidades y virtudes.
Todos somos diferentes. Acepta a tu hijo tal como es.
Ayúdalo a tener confianza en sí mismo. Enséñale a tu hijo a valorarse.
Tómalo 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 tensión y violencia.
Cuando tiene dificultad para decir no y poner sus propios límites.
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 fáciles de conseguir.
Aunque estas señales y situaciones por sí solas no necesariamente conducen a la
farmacodependencia, requieren de una atención especial y pronta por parte de los padres.

SÍNTOMAS (SEÑALES DE ALARMA)

Ante los siguientes síntomas es fundamental que los padres actúen de inmediato y con objetividad.
Cuando han perdido el interés 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 drásticamente de aspecto (ropa, peinado, etcétera).
Cuando cambian sus hábitos alimenticios; están tristes y aislados.
Cuando cambian drásticamente 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 Género

Defender y promover los derechos humanos es defender y promover la equidad entre hombres y mujeres y
construir la igualdad en una sociedad más justa y democrática. Es por ello que el Gobernador del Estado de
México ha establecido un firme compromiso con la institucionalización de la perspectiva de género en todas
las actividades de defensa y promoción de los derechos humanos.

Los instrumentos internacionales de derechos humanos, especialmente de la Convención sobre la eliminación


de todas las formas de discriminación contra la mujer y de la Convención 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 género en
organismos públicos de derechos humanos en particular.

El Gobernador Lic. Enrique Peña Nieto, el 21 de noviembre de 2007, en el evento “Perspectivas de Género y
Políticas Públicas, 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 públicas

Analizar dentro de las acciones y programas de las dependencias, cuáles son aquellas que pudieran orientar en
mejor medida para apoyar a las mujeres del Estado de México.

Es preciso iniciar este tema con la definición de sexo y género ya que frecuentemente se confunde sexo y
género ambos conceptos tienen significados distintos:

Sexo entendido como las diferencias biológicas, físicas y corporales entra la mujer y el hombre, que no
dependen de la voluntad personal.

Género 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, económica, política, cultural y familiar y de género.

Así, pues, la Equidad de Género, es la aceptación de las diferencias entre los hombres y mujeres,
reconociendo la diversidad sin que ésta signifique razón para la discriminación, 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 géneros es un derecho humano y es esencial para la consecución de los objetivos de
desarrollo. Se trata de un requisito indispensable para superar el hambre, la pobreza y las enfermedades.
Igualdad entre los géneros implica igualdad en la vida pública y política; El empoderamiento de las mujeres son
vitales no sólo para mejorar las condiciones económicas, sociales y políticas de la sociedad en su conjunto sino
para lograr una ciudadanía integral y una democracia más sólida.

Un elemento clave de la potenciación de la mujer es el ejercicio de un poder de decisión en pie de igualdad


con el hombre en los campos que afectan su vida (desde la familia hasta los niveles más altos do gobierno).
Aunque la representación 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 escaños en todo el mundo.

77
El Gobierno del Estado de México, aplica la transversalización de la equidad de género, es decir, la aplicación
de la perspectiva de género en la estructura y funcionamiento, desde la estructura numérica (cantidad de
mujeres y hombres), pasando por la forma de funcionamiento y especialmente por los procesos de toma de
decisiones.

También hace referencia a las medidas (programas, proyectos, etcétera) que el Gobierno del Estado de
México ejecuta o implementa hacia el exterior.. ¿En qué nos beneficia la transversalización de la equidad de
género en nuestro lugar de trabajo?

Nos sirve para construir una cultura de respeto, tolerancia y no discriminación, así como promover acciones
encaminadas hacia la igualdad de oportunidades entre mujeres y hombres.

Propicia un ambiente de trabajo más agradable donde mujeres y hombres trabajan juntos para lograr que el
Gobierno del Estado de México sea un ejemplo de institucionalización de la equidad de género.

La primera igualdad es la equidad

Víctor Hugo

El único Estado estable es aquel en que todos los ciudadanos

Son iguales ante la ley.

Aristóteles

Nota: Si desea contar con más información, sobre equidad de género consulta la siguiente página en Internet
www.sermam.cl/pmg/documentos.php

78