Este documento presenta un manual sobre SQL para Oracle 9i. Explica conceptos básicos como la creación y modificación de tablas, consultas SELECT simples y avanzadas, y otros objetos de base de datos como vistas e índices. También cubre temas como funciones, agrupaciones, subconsultas y transacciones. El manual proporciona sintaxis, ejemplos y notas para ayudar al lector a aprender y utilizar el lenguaje SQL.
Este documento describe las principales funciones de Oracle SQL Developer, incluyendo navegar por objetos de base de datos, ejecutar consultas SQL y PL/SQL, y crear y modificar objetos de base de datos. También permite exportar datos, crear informes, y migrar datos de otras bases de datos a Oracle.
Este documento proporciona un tutorial básico sobre el uso de Oracle SQL Developer para interactuar con una base de datos Oracle. Explica cómo conectarse a una base de datos, ejecutar sentencias SQL, crear y modificar tablas, insertar datos, generar código SQL, crear y editar secuencias, y desarrollar funciones y procedimientos almacenados, entre otras funcionalidades.
Este documento presenta un tutorial sobre el uso de Oracle SQL Developer para interactuar con una base de datos Oracle. Explica cómo conectarse a una base de datos, ejecutar sentencias SQL, crear y modificar objetos como tablas y secuencias, insertar y modificar datos, y desarrollar funciones y procedimientos almacenados mediante la depuración. El tutorial también cubre la generación de código SQL, la creación y compilación de disparadores, y la asignación de privilegios a usuarios.
Este documento proporciona instrucciones para crear una base de datos en Visual FoxPro, incluyendo la creación de tablas, índices, vistas, relaciones entre tablas y consultas SQL. Explica cómo definir campos, formatos, validaciones y valores predeterminados en las tablas, y cómo establecer relaciones uno a uno y uno a muchos entre las tablas. También cubre la creación de vistas locales y remotas, y el uso de funciones como SUM, MAX, MIN y COUNT en consultas SQL.
Este documento explica el registro de Windows (regedit), describiendo qué es, para qué se usa, cómo editarlo y las principales claves del registro. Explica que el registro almacena la configuración del sistema operativo, hardware y aplicaciones. Detalla cómo usar el editor de registro (regedit.exe) para buscar, agregar, eliminar y modificar claves, subclaves y valores. También incluye ejemplos prácticos de edición del registro para cambiar configuraciones del sistema.
Este documento proporciona una introducción al lenguaje estructurado de consultas SQL. SQL permite el acceso y la manipulación de datos almacenados en bases de datos relacionales. Se define la sintaxis básica de SQL para consultar, actualizar y definir la estructura de datos en una base de datos.
Este documento describe los diferentes tipos de objetos que se pueden encontrar en la caja de herramientas de Visual Studio. Incluye controles comunes, contenedores, menús, barras de herramientas, datos, componentes, funciones de impresión, cuadros de diálogo, interoperabilidad con WPF, visualizadores de informes y objetos del paquete de Visual Basic Powerpacks.
Este documento presenta un curso básico sobre .NET y SQL. Incluye temas como programación orientada a objetos, lenguaje UML, lenguaje SQL y lenguaje C#. También incluye ejemplos y ejercicios sobre conceptos de POO, diagramas UML, instrucciones DDL, DML y DCL en SQL, y el uso de cursores, procedimientos almacenados y desencadenadores.
Este documento describe las principales funciones de Oracle SQL Developer, incluyendo navegar por objetos de base de datos, ejecutar consultas SQL y PL/SQL, y crear y modificar objetos de base de datos. También permite exportar datos, crear informes, y migrar datos de otras bases de datos a Oracle.
Este documento proporciona un tutorial básico sobre el uso de Oracle SQL Developer para interactuar con una base de datos Oracle. Explica cómo conectarse a una base de datos, ejecutar sentencias SQL, crear y modificar tablas, insertar datos, generar código SQL, crear y editar secuencias, y desarrollar funciones y procedimientos almacenados, entre otras funcionalidades.
Este documento presenta un tutorial sobre el uso de Oracle SQL Developer para interactuar con una base de datos Oracle. Explica cómo conectarse a una base de datos, ejecutar sentencias SQL, crear y modificar objetos como tablas y secuencias, insertar y modificar datos, y desarrollar funciones y procedimientos almacenados mediante la depuración. El tutorial también cubre la generación de código SQL, la creación y compilación de disparadores, y la asignación de privilegios a usuarios.
Este documento proporciona instrucciones para crear una base de datos en Visual FoxPro, incluyendo la creación de tablas, índices, vistas, relaciones entre tablas y consultas SQL. Explica cómo definir campos, formatos, validaciones y valores predeterminados en las tablas, y cómo establecer relaciones uno a uno y uno a muchos entre las tablas. También cubre la creación de vistas locales y remotas, y el uso de funciones como SUM, MAX, MIN y COUNT en consultas SQL.
Este documento explica el registro de Windows (regedit), describiendo qué es, para qué se usa, cómo editarlo y las principales claves del registro. Explica que el registro almacena la configuración del sistema operativo, hardware y aplicaciones. Detalla cómo usar el editor de registro (regedit.exe) para buscar, agregar, eliminar y modificar claves, subclaves y valores. También incluye ejemplos prácticos de edición del registro para cambiar configuraciones del sistema.
Este documento proporciona una introducción al lenguaje estructurado de consultas SQL. SQL permite el acceso y la manipulación de datos almacenados en bases de datos relacionales. Se define la sintaxis básica de SQL para consultar, actualizar y definir la estructura de datos en una base de datos.
Este documento describe los diferentes tipos de objetos que se pueden encontrar en la caja de herramientas de Visual Studio. Incluye controles comunes, contenedores, menús, barras de herramientas, datos, componentes, funciones de impresión, cuadros de diálogo, interoperabilidad con WPF, visualizadores de informes y objetos del paquete de Visual Basic Powerpacks.
Este documento presenta un curso básico sobre .NET y SQL. Incluye temas como programación orientada a objetos, lenguaje UML, lenguaje SQL y lenguaje C#. También incluye ejemplos y ejercicios sobre conceptos de POO, diagramas UML, instrucciones DDL, DML y DCL en SQL, y el uso de cursores, procedimientos almacenados y desencadenadores.
El documento proporciona una descripción de las principales ventanas y herramientas de Visual Studio. Incluye el Explorador de soluciones, el Cuadro de herramientas, la Propiedades y la Lista de errores. También describe once controles comunes como Button, CheckBox, DateTimePicker y MonthCalendar, incluyendo sus propiedades y métodos más importantes.
El documento describe los controles comunes de Visual Basic, incluyendo etiquetas, cuadros de texto y botones de comando. Detalla las propiedades, eventos y métodos asociados con el control de etiqueta, que permite mostrar texto estático. También presenta un ejemplo de cómo cambiar los estilos de fuente de una etiqueta en respuesta a eventos de botón.
1) Visual Basic 6.0 presenta un entorno de desarrollo integrado con varias ventanas como el formulario, explorador de proyectos, caja de herramientas y ventana de propiedades. 2) Un proyecto contiene los diferentes elementos de un programa como formularios, módulos y reportes. 3) Los formularios son las ventanas de la interfaz y pueden ser independientes (SDI) o hijos de un formulario principal MDI.
El documento habla sobre el uso de PDO (PHP Data Objects) para acceder y gestionar bases de datos de forma independiente al sistema gestor utilizado. PDO proporciona una interfaz común para realizar consultas y obtener datos de diferentes bases de datos sin cambiar la sintaxis. El documento explica los conceptos básicos de PDO como las clases PDO, PDOStatement y PDOException y sus métodos para conectarse a bases de datos, preparar y ejecutar consultas, y manejar excepciones.
Este documento describe el desarrollo de una aplicación web bancaria utilizando el patrón MVC en PHP. Explica cómo crear clases para los objetos Titular y Cuenta, conectar la aplicación a una base de datos PostgreSQL, e implementar funcionalidades básicas como registrar, actualizar y buscar titulares. También incluye detalles sobre las vistas, controladores y rutas de navegación de la aplicación.
Este documento proporciona una guía sobre cómo usar la aplicación MySQL Workbench para crear un diagrama del esquema relacional de una base de datos. Explica cómo crear tablas, atributos, claves primarias, claves foráneas, índices y vistas, así como cómo generar y modificar las sentencias SQL correspondientes.
El documento presenta una introducción a MySQL, explicando que es un lenguaje de programación para trabajar con bases de datos relacionales y permite crear, modificar y consultar bases de datos. Luego explica algunos comandos básicos como show databases para ver las bases de datos existentes, create table para crear tablas, insert para agregar registros y select para consultar datos.
Visual Basic permite crear interfaces gráficas de usuario de forma visual mediante objetos prefabricados en lugar de código. Se basa en el lenguaje BASIC pero incluye cientos de instrucciones y funciones relacionadas con las interfaces gráficas de Windows. Los principiantes pueden crear aplicaciones útiles con pocas palabras clave, mientras que los profesionales pueden realizar cualquier tarea posible en otros lenguajes de Windows.
El documento describe los pasos para crear un esquema de base de datos relacional, incluyendo la transformación de un modelo conceptual ER a un modelo lógico relacional, la creación de tablas, índices, restricciones y la aplicación de reglas de integridad relacional. Explica cómo crear tablas mediante la sentencia CREATE TABLE, especificando nombres, tipos de datos y restricciones de columnas y tablas. También cubre parámetros de almacenamiento y reglas para nombres de objetos de base de datos.
El documento describe el lenguaje de consulta estructurado SQL y cómo usarlo en Visual Basic 6.0. SQL es un lenguaje estándar utilizado por todas las bases de datos para manipular y consultar datos. El documento explica comandos SQL como SELECT, INSERT, UPDATE y DELETE, así como cómo crear una base de datos y escribir consultas SQL en Visual Basic 6.0 usando objetos como Data y MSFlexGrid.
Este documento proporciona instrucciones para crear una base de datos y tablas en Visual FoxPro, incluyendo la definición de campos, índices, relaciones entre tablas, y reglas de integridad referencial. También explica cómo crear vistas locales y remotas mediante consultas SQL para seleccionar y organizar datos de una o más tablas.
Este documento describe los pasos para instalar y ejecutar Visual Basic 6.0, así como la elaboración de un proyecto simple para sumar dos números enteros. Explica cómo crear la interfaz gráfica del usuario colocando etiquetas, cajas de texto y botones, y programar la lógica para realizar la suma y mostrar el resultado al hacer clic en un botón.
Este documento explica los conceptos básicos del lenguaje SQL, incluyendo sus comandos (SELECT, INSERT, UPDATE, DELETE), cláusulas (FROM, WHERE) y operadores lógicos. También describe cómo crear y consultar una base de datos en Visual Basic 6.0 utilizando SQL.
Este documento contiene 33 preguntas sobre SQL que abarcan conceptos como las partes de SQL (DDL, DML, DCL), motores de almacenamiento, tipos de datos, cláusulas como ON DELETE y ON UPDATE, diferencias entre sentencias como TRUNCATE y DELETE, y operaciones JOIN. También incluye preguntas sobre configuración de servidores MySQL y creación de usuarios.
El documento describe el lenguaje de definición de descripciones (DDL) de MPEG-7, que proporciona las reglas para crear sistemas de descripción y descriptores. También describe las herramientas de SQL Server como SQL Server Management Studio y sqlcmd que permiten administrar bases de datos y ejecutar consultas SQL. Finalmente, explica sentencias básicas de SQL como SELECT y cómo crear funciones en SQL.
El documento describe los objetos de la caja de herramientas de Visual Studio 2008 que permiten agregar controles a los formularios. Explica elementos como etiquetas, botones, cuadros de lista y de texto, así como paneles y contenedores que organizan los controles. También cubre componentes adicionales como conjuntos de datos, impresión, diálogos y visualización de informes.
Este documento describe cómo generar reportes para una aplicación web utilizando Ireport y JSP. Explica cómo configurar el entorno de desarrollo, crear una base de datos de ejemplo, diseñar un reporte en Ireport utilizando diferentes bandas como title, pageHeader y detail, y establecer una conexión a la base de datos para extraer datos e incluirlos en el reporte.
Este documento describe los pasos para crear y configurar un proyecto nuevo en el software PCB Design Protel DXP, incluyendo la creación de una hoja esquemática nueva, la configuración del archivo esquemático, y los pasos para dibujar un circuito esquemático de un multivibrador astable usando componentes como transistores y resistencias.
Introduccion a las macros y vba en office 2010aliesti
Este documento introduce las macros en Microsoft Office 2010. Explica que una macro es una serie de instrucciones almacenadas para automatizar tareas repetitivas. Las macros se graban y ejecutan en VBA (Visual Basic para Aplicaciones) y se pueden crear botones u otras formas de ejecutarlas. También cubre temas de seguridad de macros y cómo acceder a las herramientas de programación en VBA.
Este documento describe los controles comunes de Visual Basic, incluyendo botones, casillas de verificación, listas desplegables, barras de progreso, botones de opción, cuadros de texto enriquecidos y otros. Cada control tiene propiedades y métodos específicos que permiten personalizar su apariencia y comportamiento para facilitar el desarrollo de aplicaciones.
Este documento presenta un manual sobre SQL para Oracle 9i. Explica brevemente la historia del lenguaje SQL desde su creación en 1970 por E.F. Codd y su adopción como estándar por IBM y posteriormente por organismos como ISO y ANSI. A continuación describe la estructura básica del lenguaje SQL y conceptos como tablas, esquemas, tipos de datos y operaciones básicas como inserción, actualización y borrado de datos.
Este documento presenta un manual de SQL para Oracle 9i. Explica brevemente la historia del lenguaje SQL y su evolución desde 1970 cuando E.F. Codd publicó su modelo de base de datos relacional. Luego describe la estructura básica del lenguaje SQL y conceptos como tablas, esquemas, tipos de datos, consultas SELECT, objetos de base de datos y consultas avanzadas. El manual servirá como guía de referencia para aprender a utilizar el lenguaje SQL en Oracle.
El documento proporciona una descripción de las principales ventanas y herramientas de Visual Studio. Incluye el Explorador de soluciones, el Cuadro de herramientas, la Propiedades y la Lista de errores. También describe once controles comunes como Button, CheckBox, DateTimePicker y MonthCalendar, incluyendo sus propiedades y métodos más importantes.
El documento describe los controles comunes de Visual Basic, incluyendo etiquetas, cuadros de texto y botones de comando. Detalla las propiedades, eventos y métodos asociados con el control de etiqueta, que permite mostrar texto estático. También presenta un ejemplo de cómo cambiar los estilos de fuente de una etiqueta en respuesta a eventos de botón.
1) Visual Basic 6.0 presenta un entorno de desarrollo integrado con varias ventanas como el formulario, explorador de proyectos, caja de herramientas y ventana de propiedades. 2) Un proyecto contiene los diferentes elementos de un programa como formularios, módulos y reportes. 3) Los formularios son las ventanas de la interfaz y pueden ser independientes (SDI) o hijos de un formulario principal MDI.
El documento habla sobre el uso de PDO (PHP Data Objects) para acceder y gestionar bases de datos de forma independiente al sistema gestor utilizado. PDO proporciona una interfaz común para realizar consultas y obtener datos de diferentes bases de datos sin cambiar la sintaxis. El documento explica los conceptos básicos de PDO como las clases PDO, PDOStatement y PDOException y sus métodos para conectarse a bases de datos, preparar y ejecutar consultas, y manejar excepciones.
Este documento describe el desarrollo de una aplicación web bancaria utilizando el patrón MVC en PHP. Explica cómo crear clases para los objetos Titular y Cuenta, conectar la aplicación a una base de datos PostgreSQL, e implementar funcionalidades básicas como registrar, actualizar y buscar titulares. También incluye detalles sobre las vistas, controladores y rutas de navegación de la aplicación.
Este documento proporciona una guía sobre cómo usar la aplicación MySQL Workbench para crear un diagrama del esquema relacional de una base de datos. Explica cómo crear tablas, atributos, claves primarias, claves foráneas, índices y vistas, así como cómo generar y modificar las sentencias SQL correspondientes.
El documento presenta una introducción a MySQL, explicando que es un lenguaje de programación para trabajar con bases de datos relacionales y permite crear, modificar y consultar bases de datos. Luego explica algunos comandos básicos como show databases para ver las bases de datos existentes, create table para crear tablas, insert para agregar registros y select para consultar datos.
Visual Basic permite crear interfaces gráficas de usuario de forma visual mediante objetos prefabricados en lugar de código. Se basa en el lenguaje BASIC pero incluye cientos de instrucciones y funciones relacionadas con las interfaces gráficas de Windows. Los principiantes pueden crear aplicaciones útiles con pocas palabras clave, mientras que los profesionales pueden realizar cualquier tarea posible en otros lenguajes de Windows.
El documento describe los pasos para crear un esquema de base de datos relacional, incluyendo la transformación de un modelo conceptual ER a un modelo lógico relacional, la creación de tablas, índices, restricciones y la aplicación de reglas de integridad relacional. Explica cómo crear tablas mediante la sentencia CREATE TABLE, especificando nombres, tipos de datos y restricciones de columnas y tablas. También cubre parámetros de almacenamiento y reglas para nombres de objetos de base de datos.
El documento describe el lenguaje de consulta estructurado SQL y cómo usarlo en Visual Basic 6.0. SQL es un lenguaje estándar utilizado por todas las bases de datos para manipular y consultar datos. El documento explica comandos SQL como SELECT, INSERT, UPDATE y DELETE, así como cómo crear una base de datos y escribir consultas SQL en Visual Basic 6.0 usando objetos como Data y MSFlexGrid.
Este documento proporciona instrucciones para crear una base de datos y tablas en Visual FoxPro, incluyendo la definición de campos, índices, relaciones entre tablas, y reglas de integridad referencial. También explica cómo crear vistas locales y remotas mediante consultas SQL para seleccionar y organizar datos de una o más tablas.
Este documento describe los pasos para instalar y ejecutar Visual Basic 6.0, así como la elaboración de un proyecto simple para sumar dos números enteros. Explica cómo crear la interfaz gráfica del usuario colocando etiquetas, cajas de texto y botones, y programar la lógica para realizar la suma y mostrar el resultado al hacer clic en un botón.
Este documento explica los conceptos básicos del lenguaje SQL, incluyendo sus comandos (SELECT, INSERT, UPDATE, DELETE), cláusulas (FROM, WHERE) y operadores lógicos. También describe cómo crear y consultar una base de datos en Visual Basic 6.0 utilizando SQL.
Este documento contiene 33 preguntas sobre SQL que abarcan conceptos como las partes de SQL (DDL, DML, DCL), motores de almacenamiento, tipos de datos, cláusulas como ON DELETE y ON UPDATE, diferencias entre sentencias como TRUNCATE y DELETE, y operaciones JOIN. También incluye preguntas sobre configuración de servidores MySQL y creación de usuarios.
El documento describe el lenguaje de definición de descripciones (DDL) de MPEG-7, que proporciona las reglas para crear sistemas de descripción y descriptores. También describe las herramientas de SQL Server como SQL Server Management Studio y sqlcmd que permiten administrar bases de datos y ejecutar consultas SQL. Finalmente, explica sentencias básicas de SQL como SELECT y cómo crear funciones en SQL.
El documento describe los objetos de la caja de herramientas de Visual Studio 2008 que permiten agregar controles a los formularios. Explica elementos como etiquetas, botones, cuadros de lista y de texto, así como paneles y contenedores que organizan los controles. También cubre componentes adicionales como conjuntos de datos, impresión, diálogos y visualización de informes.
Este documento describe cómo generar reportes para una aplicación web utilizando Ireport y JSP. Explica cómo configurar el entorno de desarrollo, crear una base de datos de ejemplo, diseñar un reporte en Ireport utilizando diferentes bandas como title, pageHeader y detail, y establecer una conexión a la base de datos para extraer datos e incluirlos en el reporte.
Este documento describe los pasos para crear y configurar un proyecto nuevo en el software PCB Design Protel DXP, incluyendo la creación de una hoja esquemática nueva, la configuración del archivo esquemático, y los pasos para dibujar un circuito esquemático de un multivibrador astable usando componentes como transistores y resistencias.
Introduccion a las macros y vba en office 2010aliesti
Este documento introduce las macros en Microsoft Office 2010. Explica que una macro es una serie de instrucciones almacenadas para automatizar tareas repetitivas. Las macros se graban y ejecutan en VBA (Visual Basic para Aplicaciones) y se pueden crear botones u otras formas de ejecutarlas. También cubre temas de seguridad de macros y cómo acceder a las herramientas de programación en VBA.
Este documento describe los controles comunes de Visual Basic, incluyendo botones, casillas de verificación, listas desplegables, barras de progreso, botones de opción, cuadros de texto enriquecidos y otros. Cada control tiene propiedades y métodos específicos que permiten personalizar su apariencia y comportamiento para facilitar el desarrollo de aplicaciones.
Este documento presenta un manual sobre SQL para Oracle 9i. Explica brevemente la historia del lenguaje SQL desde su creación en 1970 por E.F. Codd y su adopción como estándar por IBM y posteriormente por organismos como ISO y ANSI. A continuación describe la estructura básica del lenguaje SQL y conceptos como tablas, esquemas, tipos de datos y operaciones básicas como inserción, actualización y borrado de datos.
Este documento presenta un manual de SQL para Oracle 9i. Explica brevemente la historia del lenguaje SQL y su evolución desde 1970 cuando E.F. Codd publicó su modelo de base de datos relacional. Luego describe la estructura básica del lenguaje SQL y conceptos como tablas, esquemas, tipos de datos, consultas SELECT, objetos de base de datos y consultas avanzadas. El manual servirá como guía de referencia para aprender a utilizar el lenguaje SQL en Oracle.
Este documento presenta un manual de SQL para Oracle 9i. Explica la historia y estructura del lenguaje SQL, así como comandos básicos como la creación de tablas, inserción y consulta de datos, y objetos de base de datos como vistas e índices. También cubre temas avanzados como subconsultas y consultas de agrupación.
1) El documento describe conceptos básicos de programación como funciones, arreglos y cadenas de texto en C#. Explica que una función es un bloque de código que puede o no devolver un valor y que las funciones ayudan a organizar y reutilizar el código.
2) También define los arreglos como conjuntos de datos del mismo tipo ordenados secuencialmente e indica que en C# los arreglos son objetos con propiedades como Length.
3) Por último, resume que una cadena de texto es una secuencia de caracteres que representa información y que las caden
Este documento trata sobre la programación en el lenguaje CUPL. Introduce los conceptos básicos del lenguaje como la notación, la estructura de un programa CUPL con el encabezamiento, declaración de pines y cuerpo principal. Explica cómo definir ecuaciones combinacionales, tablas de verdad y máquinas de estado en CUPL. También incluye dos ejemplos de aplicaciones: control de volumen y control de barrera de aparcamiento.
Este documento presenta el código HDL para un decodificador BCD a 7 segmentos. Describe la interfaz del decodificador, incluyendo las entradas, salidas y funciones. Explica conceptos clave como palabras reservadas, vectores, funciones y case statements. Finalmente, los estudiantes proporcionan conclusiones sobre las similitudes entre la programación HDL y los lenguajes de alto nivel como Java.
Este documento presenta la Unidad 4 sobre estructuras de control en lenguaje C. Introduce las estructuras selectivas (if, if-else, switch) y repetitivas (while, for, do-while), explicando su semántica y sintaxis. Incluye ejemplos de problemas resueltos con cada estructura y su codificación correspondiente. El objetivo es que los estudiantes aprendan a diseñar algoritmos que incluyan cualquier tipo de estructura de control y puedan codificarlos en C.
C++ es un lenguaje de programación orientado a objetos creado en los años 70 como una extensión del lenguaje C, añadiendo características como la programación orientada a objetos. El lenguaje ha evolucionado a lo largo de los años con la publicación de estándares en 1989 y 1998, y sigue siendo ampliamente utilizado hoy en día para el desarrollo de software
Este documento proporciona información sobre scripts en Ubuntu. Explica qué es un script, los pasos para crear uno, incluyendo identificar el shell, agregar comandos y comentarios, y hacerlo ejecutable. También cubre variables, comandos condicionales como if/then/else y ejemplos de scripts condicionales como una calculadora básica y comparar números.
Este documento describe diferentes estructuras de control en Transact SQL como IF, CASE, WHILE y GOTO. También explica conceptos como transacciones, autorizaciones, desautorizaciones y sublenguajes especializados como SQL hospedado y SQL/CLI para interactuar con bases de datos desde lenguajes de programación.
secciones .tablas y referencias bibliograficas pamelaaucancela
Este documento describe las secciones, tablas de contenido, tablas de ilustraciones y referencias bibliográficas en Microsoft Word. Explica que las secciones permiten establecer formatos de página diferentes y cómo insertar y eliminar saltos de sección. También cubre cómo crear tablas de contenido y de ilustraciones de manera automática y manual, y cómo actualizarlas y cambiar su formato. Por último, detalla cómo crear bibliografías y citas con estilos predeterminados.
Este documento describe las principales sentencias SQL para manipular y definir datos en una base de datos relacional. Explica sentencias DML para manipular datos como SELECT, INSERT, DELETE y UPDATE; sentencias DDL para definir datos como CREATE TABLE y ALTER TABLE; y sentencias DCL para controlar acceso como GRANT y REVOKE. También resume sublenguajes como SQL hospedado y SQL/CLI que permiten el acceso a bases de datos desde lenguajes de programación.
Este documento presenta un manual sobre el uso del programa Weka. Weka es una colección de algoritmos de aprendizaje automático desarrollados en Java que permite realizar tareas como clasificación, clustering, selección de características y más. El documento explica cómo instalar Weka, el formato de archivo .arff utilizado por Weka para almacenar datos, y las diferentes interfaces que ofrece Weka, incluyendo Simple CLI, Explorer, Experimenter y Knowledge Flow.
Este documento presenta un manual sobre el uso del programa Weka. Weka es una colección de algoritmos de aprendizaje automático desarrollados en Java que permite realizar tareas como clasificación, clustering, selección de características y más. El documento explica cómo instalar Weka, el formato de archivo .arff utilizado por Weka para almacenar datos, y las diferentes interfaces que provee Weka incluyendo Simple CLI, Explorer, Experimenter y Knowledge Flow.
Este documento presenta información sobre sentencias de control en bases de datos y SQL. Explica que las sentencias de control permiten modificar el flujo de un programa mediante ciclos y condicionales. También cubre sentencias de control de transacciones como COMMIT, ROLLBACK, y LOCK TABLE. Por último, introduce conceptos como SQL hospedado, SQL/CLI y sublenguajes especializados.
El documento describe las estructuras de control repetitivas en C++. Explica tres tipos de bucles: for, while y do-while. El bucle for se utiliza cuando se sabe de antemano el número de repeticiones y consta de una inicialización, condición y expresión de incremento/decremento. El bucle while repite instrucciones mientras se cumpla una condición. El bucle do-while repite instrucciones al menos una vez y luego evalúa una condición.
Este documento ofrece una introducción a la programación en Python. Explica que Python es un lenguaje de programación de alto nivel con una sintaxis clara y legible. Describe conceptos básicos como variables, tipos de datos, operadores, cadenas, control de flujo con instrucciones condicionales como if/elif/else y bucles como for y while. El documento es útil para aprender los fundamentos de la programación en Python.
Este documento proporciona una introducción a la programación en C#. Cubre las características principales de C#, como su capacidad para crear aplicaciones de escritorio, web y móviles. También describe las herramientas de desarrollo como Visual Studio y .NET, y explica conceptos básicos como variables, operadores, condicionales y bucles.
Este documento explica cómo crear listas de acrónimos usando el paquete glossaries de LaTeX. Se describe la sintaxis básica, incluyendo la carga del paquete, la creación de una lista de acrónimos y su uso en el texto. Para generar la lista de acrónimos se debe compilar el documento siguiendo los pasos de latex, makeglossaries y latex de nuevo.
Trabajo en clase 1. modulo ii manejo de encuestasEdgar Sandoval
El taller se enfocará en aplicar conocimientos de TIC para montar una emisora de radio en la universidad y realizar un análisis de mercado utilizando tecnología. Los estudiantes trabajarán en grupos para diseñar una encuesta en Google Docs y Drive sobre preferencias de radio e intereses temáticos de al menos 30 usuarios, registrando los datos en Excel. Luego compartirán los informes finales a través de plataformas como SlideShare o Issuu para su evaluación.
El documento presenta el proyecto "Aprendizaje Personalizado 3.0" para crear una plataforma de e-learning para profesores de educación superior. El proyecto se presenta a un concurso público del Ministerio de Educación de España. El proyecto será implementado por Aprendizaje Personalizado 3.0, una empresa con experiencia en formación y soluciones de e-learning. El proyecto tendrá una duración de 2 meses y capacitará a los profesores en el uso de herramientas TIC para la enseñanza.
La herramienta Exportar permite a los usuarios exportar datos de su cuenta de Google a otro servicio. Los usuarios pueden exportar elementos como contactos, calendarios, fotos y más a plataformas compatibles como iCloud y Outlook. La exportación mantiene los datos privados y seguros durante el proceso.
La nube ofrece ventajas como escalabilidad, bajo costo de entrada, facilidad de acceso desde cualquier lugar, mantenimiento y actualizaciones automáticas del proveedor, pago por uso, seguridad y respaldo integrados.
El documento presenta un resumen del plan estratégico de una organización. Propone reaprender los conceptos básicos de la estrategia a través de un video de YouTube y cita la fuente de información para la creación de estrategias.
Este documento proporciona instrucciones para instalar y configurar el portal web Pioneros I+D utilizando el sistema de gestión de contenidos Joomla. Incluye información sobre instalar Xampp y Joomla, crear usuarios, gestionar plantillas, módulos, categorías y artículos, y configurar el menú principal y el buscador. El objetivo es orientar a quienes implementen el portal web sobre las herramientas disponibles para administrar los contenidos.
Este documento describe varias plataformas web 2.0 y aplicaciones en la nube, incluyendo Dropbox para sincronización de archivos, Twiki para trabajo colaborativo, y Zoho para manejo de información y toma de decisiones empresariales. También menciona plataformas como WordPress para blogs, SlideShare para presentaciones, y Flickr para compartir fotografías.
Exportacion e importacion de los datos en oracleEdgar Sandoval
Este documento proporciona una guía de 8 pasos para crear bases de datos locales en Oracle, incluida la creación de usuarios, tablas y la inserción de datos. Luego explica cómo exportar la estructura y los datos de la base de datos a un archivo mediante la línea de comandos y cómo volver a importar el archivo para restaurar la base de datos.
Este documento proporciona una guía de las funciones básicas de Excel, incluyendo funciones matemáticas, estadísticas, de fecha y hora, y de texto. Describe funciones como SUM, MAX, LEFT, RIGHT, CONCATENATE, ABS y más, explicando sus usos a través de ejemplos. También explica conceptos clave como el número de serie de Excel para fechas.
Este documento discute la necesidad de que las empresas incorporen los factores ambientales en sus estrategias empresariales. Explica que aunque las empresas han tomado acciones para minimizar riesgos ambientales, tales acciones han sido reactivas y no estratégicas. Argumenta que debido a conceptos como el desarrollo sostenible, los factores ambientales están influyendo cada vez más en el entorno empresarial y deben ser considerados a nivel estratégico. Propone que para lograr esto, la información ambiental debe llegar a los máximos órgan
Este taller tiene como objetivo definir los conceptos de software y sistema operativo, identificar qué sistema operativo y software tiene la PC del estudiante. El estudiante debe buscar definiciones de estos términos, verificar el hardware y software instalado en su computadora, e incluir esta información en un informe con su nombre y código. Adicionalmente, se proveen instrucciones para verificar el software e hardware instalado revisando el panel de control y menú de programas del sistema operativo.
El ritual de paso a la adultez de los indios Cherokee implicaba que el padre vendara los ojos de su hijo adolescente y lo dejara solo en el bosque durante toda la noche, sin poder pedir ayuda, para que sobreviviera los sonidos aterradores de la noche y así convertirse en hombre; sin embargo, el padre en realidad permanecía cerca protegiéndolo sin que él lo supiera, al igual que Dios protege a los creyentes aunque no puedan verlo.
Este documento describe los requisitos para una propuesta de investigación, un proyecto de investigación y un documento final de investigación según la Norma Técnica Colombiana NTC 1486. La propuesta debe incluir el tema, título, descripción del problema, justificación, objetivo general, alcance y recursos. El proyecto requiere un título, definición del problema, objetivos, marco teórico, metodología, cronograma y recursos. El documento final presenta los resultados e incluye introducción, metodología, resultados, discus
Este documento presenta la asignatura Bases de Datos, que forma parte de la carrera de Ingeniería de Sistemas. El objetivo general es permitir al estudiante modelar el mundo real en un modelo lógico de datos y almacenar y recuperar información de bases de datos mediante lenguajes estándares como SQL. La asignatura abarca temas como modelo entidad-relación, modelo relacional, lenguaje SQL y bases de datos relacionales. Se evalúa a través de talleres, pruebas escritas y ejercicios prácticos
Este documento presenta el plan de estudios para el curso de Informática Básica en la Facultad de Ciencias de la Educación y la Recreación de la Universidad Central del Valle del Cauca. El curso cubre temas como la estructura lógica de la computadora, redes e internet, procesadores de texto, hojas de cálculo y presentaciones electrónicas. Los objetivos son enseñar el uso de hardware y software para apoyar el trabajo académico y profesional y desarrollar habilidades con herramientas ofimáticas
Instalación De PáGina Web En Servidor LinuxEdgar Sandoval
Este documento proporciona un proceso de 10 pasos para instalar y configurar un servidor web en Linux. Primero, se debe instalar software como Virtual PC, Putty y WinSCP. Luego, se configura la IP del servidor Linux, se instala y ejecuta el servicio Apache HTTP, y se verifica que la página funcione ingresando la IP en un explorador. Finalmente, se copian los archivos de la página web al directorio del servidor usando WinSCP y se comprueba que se hayan copiado correctamente.
Este documento proporciona un proceso de 10 pasos para crear una copia de seguridad de un equipo HP Compaq dc5700 usando la herramienta Backup and Recovery Manager. El proceso incluye ejecutar la herramienta, seleccionar la opción de crear un nuevo punto de restauración, ingresar datos de identificación para la copia, seleccionar la unidad local como destino, excluir archivos opcionales, y confirmar que la copia se haya creado satisfactoriamente en la ubicación seleccionada.
Este documento proporciona un manual de 29 pasos para instalar CentOS 5 en una máquina virtual. Explica cómo eliminar particiones existentes, crear nuevas particiones para /boot, raíz, swap y /home, configurar la red con una dirección IP fija, establecer la contraseña del usuario root, e instalar todos los paquetes. Finalmente reinicia el sistema para completar la instalación de CentOS 5.
Este documento presenta un contexto sociotécnico de la Web 2.0. Define la Web 2.0 como una red social basada en la participación y la colaboración de los usuarios. Explica algunas de las tecnologías clave como las redes sociales, los blogs y las wikis. Finalmente, analiza el contexto social en el que surgió la Web 2.0, incluyendo el aumento de la banda ancha y la popularización de las redes sociales.
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA, crea y diseña el ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Esta actividad de aprendizaje lúdico se ha diseñado para ocultar gráficos representativos de las disciplinas olímpicas del pentatlón. La intención de esta actividad es, promover la ruptura de patrones del pensamiento de fijación funcional, a través de procesos lógicos y creativos, como: memoria, perspicacia, percepción (geométrica y conceptual), imaginación, inferencia, viso-espacialidad, toma de decisiones, etcétera. Su enfoque didáctico es por descubrimiento y transversal, ya que integra diversas áreas, entre ellas: matemáticas (geometría), arte, lenguaje (gráfico), neurociencias, etc.
Marketing responsable - Ética y Responsabilidad Social Empresarial
Manual de Oracle Sql
1. Manual de SQL
para Oracle 9i
Manual de referencia
Autor: Jorge Sánchez (www.jorgesanchez.net) año 2004
e-mail: info@jorgesanchez.net
Este trabajo está protegido bajo una licencia de Creative Commons del
tipo Attribution-NonCommercial-ShareAlike.
Para ver una copia de esta licencia visite:
http://creativecommons.org/licenses/by-nc-sa/2.0/
o envíe una carta a:
Creative Commons, 559 Nathan Abbott Way, Stanford, California
94305, USA.
3. Los contenidos de este documento están protegidos bajo una licencia de Creative Commons del
tipo Attribution-Noncomercial-Share Alike. Con esta licencia:
Eres libre de:
• Copiar, distribuir y mostrar este trabajo
• Realizar modificaciones de este trabajo
Bajo las siguientes condiciones:
Attribution (Reconocimiento). Debe figurar siempre el autor
original de este trabajo
Noncommercial (No comercial). No puedes utilizar este trabajo
con propósitos comerciales.
Share Alike (Compartir igual). Si modificas, alteras o construyes
nuevos trabajos a partir de este, debes distribuir tu trabajo con una
licencia idéntica a ésta
• Si estas limitaciones son incompatible con tu objetivo, puedes contactar con el
autor para solicitar el permiso correspondiente
• No obstante tu derecho a un uso justo y legítimo de la obra, así como derechos
no se ven de manera alguna afectados por lo anteriormente expuesto.
Esta nota no es la licencia completa de la obra, sino una traducción del resumen en formato
comprensible del texto legal. La licencia original completa (jurídicamente válida y pendiente de
su traducción oficial al español) está disponible en http://creativecommons.org/licenses/by-nc-
sa/2.0/legalcode
4.
5. índice
índice.............................................................................................. 5
notas previas.................................................................................. 7
introducción.................................................................................... 9
Historia del lenguaje SQL..................................................................... 9
estructura del lenguaje SQL................................................................ 12
normas de escritura ........................................................................... 12
tablas ........................................................................................... 13
esquemas de usuario y objetos ........................................................... 13
creación de tablas ............................................................................. 13
orden DESCRIBE ............................................................................... 14
orden INSERT.................................................................................... 14
consultar las tablas del usuario........................................................... 14
borrar tablas ..................................................................................... 14
tipos de datos ................................................................................... 15
modificar tablas................................................................................. 18
valor por defecto ............................................................................... 19
restricciones ...................................................................................... 19
consultas SELECT .......................................................................... 27
capacidades ..................................................................................... 27
sintaxis sencilla .................................................................................. 27
cálculos ............................................................................................ 27
condiciones....................................................................................... 28
ordenación ....................................................................................... 31
funciones .......................................................................................... 31
obtener datos de múltiples tablas........................................................ 39
agrupaciones .................................................................................... 43
subconsultas ..................................................................................... 46
combinaciones especiales .................................................................. 48
comandos internos en SQL e iSQL*Plus ....................................... 50
variables de sustitución ...................................................................... 50
comando SET.................................................................................... 51
encabezado y pie de informe.............................................................. 52
5
6. Manual de SQL para Oracle 9i
notas previas
COLUMN .........................................................................................53
BREAK...............................................................................................54
COMPUTE ........................................................................................55
DML .............................................................................................. 59
introducción ......................................................................................59
inserción de datos ..............................................................................59
actualización de registros....................................................................60
borrado de registros ...........................................................................61
comando MERGE ..............................................................................61
transacciones.....................................................................................63
objetos de la base de datos ......................................................... 65
vistas.................................................................................................65
secuencias.........................................................................................67
índices ..............................................................................................69
sinónimos..........................................................................................70
consultas avanzadas .................................................................... 73
consultas con ROWNUM....................................................................73
consultas sobre estructuras jerárquicas.................................................73
subconsultas avanzadas......................................................................76
consultas de agrupación avanzada......................................................77
6
7. notas previas
En este manual en muchos apartados se indica sintaxis de comandos. Esta sintaxis sirve
para aprender a utilizar el comando, e indica la forma de escribir dicho comando en el
programa utilizado para escribir SQL.
En el presente manual la sintaxis de los comandos se escribe en párrafos sombreados
de gris con el reborde en gris oscuro. Ejemplo:
SELECT * | {[DISTINCT] columna | expresión [alias], ...}
FROM tabla;
Otras veces se describen códigos de ejemplo de un comando. Los ejemplos se escriben
también con fondo gris, pero sin el reborde. Ejemplo:
SELECT nombre FROM cliente;
Los ejemplos sirven para escenificar una instrucción concreta, la sintaxis se utiliza para
indicar las posibilidades de un comando. Para indicar la sintaxis de un comando se usan
símbolos especiales. Los símbolos que utiliza este libro (de acuerdo con la sintaxis que se
utiliza normalmente en cualquier documentación de este tipo) son:
PALABRA Cuando en la sintaxis se utiliza una palabra en negrita, significa que es
un comando que hay que escribir literalmente.
texto El texto que aparece en cursiva sirve para indicar que no hay que escribirle
literalmente, sino que se refiere a un tipo de elemento que se puede utilizar en el
comando. Ejemplo:
SELECT columna FROM tabla;
El texto columna hay que cambiarlo por un nombre concreto de columna (nombre,
apellidos,...) , al igual que tabla se refiere a un nombre de tabla concreto.
[] (corchetes). Los corchetes sirven para encerrar texto que no es obligatorio en el
comando, es decir para indicar una parte opcional.
| (barra vertical). Este símbolo (|) , la barra vertical, indica opción, es decir que se
puede elegir entre varias opciones
... (puntos suspensivos) Indica que se puede repetir el texto anterior en el
comando continuamente (significaría, y así sucesivamente)
{} (llaves) Las llaves sirven para indicar opciones mutuamente exclusivas pero
obligatorias. Es decir, opciones de las que sólo se puede elegir una opción, pero de
las que es obligado elegir una. Ejemplo:
SELECT { * | columna | expresión }
FROM tabla;
7
8. Manual de SQL para Oracle 9i
notas previas
El ejemplo anterior indicaría que se debe elegir obligatoriamente el asterisco o un nombre
de columna o una expresión. Si las llaves del ejemplo fueran corchetes, entonces
indicarían que incluso podría no aparecer ninguna opción.
8
9. introducción
Historia del lenguaje SQL
El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: quot;Un
modelo de datos relacional para grandes bancos de datos compartidosquot;. Ese libro
dictaría las direcrices de las bases de datos relacionales. Apenas dos años después IBM
(para quien trabajaba Codd) utiliza las directrices de Codd para crear el Standard
English Query Language (Lenguaje Estándar Inglés para Consultas) al que se
le llamó SEQUEL. Más adelante se le asignaron las siglas SQL (aunque en inglés se
siguen pronunciando SEQUEL, en español se le llama esecuele).
Poco después se convertía en un estándar en el mundo de las bases de datos avalando
por los organismos ISO y ANSI. Aún hoy sigue siendo uno de los estándares más
importantes de la industria informática.
Actualmente el último estándar es el SQL del año 1999 que amplió el anterior estándar
conocido como SQL 92. El SQL de Oracle es compatible con el SQL del año 1999 e incluye
casi todo lo dictado por dicho estándar.
SQL*Plus
Para poder escribir sentencias SQL al servidor Oracle, éste incorpora la herramienta
SQL*Plus. Toda instrucción SQL que el usuario escribe, es verificada por este programa. Si
la instrucción es válida es enviada a Oracle, el cual enviará de regreso la respuesta a la
instrucción; respuesta que puede ser transformada por el programa SQL*Plus para
modificar su salida.
Para que el programa SQL*Plus funcione en el cliente, el ordenador cliente debe haber
sido configurado para poder acceder al servidor Oracle. En cualquier caso al acceder a
Oracle con este programa siempre preguntará por el nombre de usuario y contraseña.
Estos son datos que tienen que nos tiene que proporcionar el administrador (DBA) de la
base de datos Oracle.
Para conectar mediante SQL*Plus podemos ir a la línea de comandos y escribir el
texto sqlplus. A continuación aparecerá la pantalla:
9
10. Manual de SQL para Oracle 9i
tablas
En esa pantalla se nos pregunta el nombre de usuario y contraseña para acceder a la base
de datos (información que deberá indicarnos el administrador o DBA). Tras indicar esa
información conectaremos con Oracle mediante SQL*Plus, y veremos aparecer el símbolo:
SQL>
Tras el cual podremos comenzar a escribir nuestros comandos SQL. Ese símbolo puede
cambiar por un símbolo con números 1, 2, 3, etc.; en ese caso se nos indica que la
instrucción no ha terminado y la línea en la que estamos.
Otra posibilidad de conexión consiste en llamar al programa SQL*Plus indicando
contraseña y base de datos a conectar. El formato es:
slplus usuario/contraseña@nombreServicioBaseDeDatos
Ejemplo:
slplus usr1/miContra@inicial.forempa.net
En este caso conectamos con SQL*Plus indicando que somos el usuario usr1 con
contraseña miContra y que conectamos a la base de datos inicial de la red forempa.net. El
nombre de la base de datos no tiene porque tener ese formato, habrá que conocer como es
el nombre que representa a la base de datos como servicio de red en la red en la que
estamos.
versión gráfica de SQL*Plus
Oracle incorpora un programa gráfico para Windows para utilizar SQL*Plus. Se puede
llamar a dicho programa desde las herramientas instaladas en el menú de programas de
Windows, o desde la línea de programas escribiendo sqlplusw. Al llamarle aparece esta
pantalla:
Como en el caso anterior, se nos solicita el nombre de usuario y contraseña. La cadena de
Host es el nombre completo de red que recibe la instancia de la base de datos a la que
queremos acceder en la red en la que nos encontramos.
También podremos llamar a este entorno desde la línea de comandos utilizando la
sintaxis comentada anteriormente. En este caso:
slplusw usuario/contraseña@nombreServicioBaseDeDatos
10
12. Manual de SQL para Oracle 9i
tablas
En esa pantalla en el apartado Introducir Sentencias, se escribe la sentencia que
deseamos enviar. El botón Ejecutar hace que se valide y se envíe a Oracle.
Se pueden almacenar sentencias SQL usando el botón Examinar y cargar sentencias
previamente guardadas mediante Cargar archivos de comandos.
estructura del lenguaje SQL
SELECT. Se trata del comando que permite realizar consultas sobre los datos de la
base de datos. Obtiene datos de la base de datos.
DML, Data Manipulation Language (Lenguaje de manipulación de
datos). Modifica filas (registros) de la base de datos. Lo forman las instrucciones
INSERT, UPDATE, MERGE y DELETE.
DDL, Data Definition Language (Lenguaje de definición de datos).
Permiten modificar la estructura de las tablas de la base de datos. Lo forman las
instrucciones CREATE, ALTER, DROP, RENAME y TRUNCATE.
Instrucciones de transferencia. Administran las modificaciones creadas por las
instrucciones DML. Lo forman las instrucciones ROLLBACK, COMMIT y
SAVEPOINT
DCL, Data Control Language (Lenguaje de control de datos). Administran
los derechos y restricciones de los usuarios. Lo forman las instrucciones GRANT y
REVOKE.
normas de escritura
En SQL no se distingue entre mayúsculas y minúsculas. Da lo mismo como se
escriba.
El final de una instrucción lo calibra el signo del punto y coma
Los comandos SQL (SELECT, INSERT,...) no pueden ser partidos por espacios o
saltos de línea antes de finalizar la instrucción. El intérprete SQL plus indicas
Se pueden tabular líneas para facilitar la lectura si fuera necesario
Los comentarios en el código SQL comienzan por /* y terminan por */
12
14. Manual de SQL para Oracle 9i
tablas
orden DESCRIBE
El comando DESCRIBE, permite obtener la estructura de una tabla. Ejemplo:
DESCRIBE proveedores;
Y aparecerán los campos de la tabla proveedores.
orden INSERT
Permite añadir datos a las tablas. Más adelante se comenta de forma más detallada. Su
sintaxis básica es:
INSERT INTO tabla [(columna1 [, columna2...])]
VALUES (valor1 [,valor2]);
Indicando la tabla se añaden los datos que se especifiquen tras el apartado values en un
nuevo registro. Los valores deben corresponderse con el orden de las columnas. Si no es
así se puede indicar tras el nombre de la tabla y entre paréntesis. Ejemplo:
INSERT INTO proveedores(nombre, CIF)
VALUES (‘Araja SA’,’14244223Y’);
consultar las tablas del usuario
En el diccionario de datos hay una entrada que permite consultar las tablas de cada
usuario. Esa entrada es USER_TABLES. De forma que SELECT * FROM
USER_TABLES obtiene una vista de las tablas del usuario actual. Hay diversas columnas
que muestran datos sobre cada tabla, entre ellas la columna TABLES_NAME muestra el
nombre de la tabla.
borrar tablas
La orden DROP TABLE seguida del nombre de una tabla, permite eliminar la tabla en
cuestión.
Al borrar una tabla:
Desaparecen todos los datos
Cualquier vista y sinónimo referente a la tabla seguirán existiendo, pero ya no
funcionarán (conviene eliminarlos)
Las transacciones pendientes son aceptadas (COMMIT)
Sólo es posible realizar esta operación si se es el propietario de la tabla o se posee el
privilegio DROP ANY TABLE
El borrado de una tabla es irreversible, y no hay ninguna petición de confirmación,
por lo que conviene ser muy cuidadoso con esta operación.
14
16. Manual de SQL para Oracle 9i
tablas
Conviene poner suficiente espacio para almacenar los valores. En el caso de los
VARCHAR, Oracle no malgasta espacio por poner más espacio del deseado ya que si el
texto es más pequeño que el tamaño indicado, el resto del espacio se ocupa.
números
El tipo NUMBER es un formato versátil que permite representar todo tipo de números. Su
rango recoge números de entre 10-130 y 9,99999999999 * 10128. Fuera de estos rangos
Oracle devuelve un error.
Los números decimales (números de coma fija) se indican con NUMBER(p,s), donde
p es la precisión máxima y s es la escala (número de decimales a la derecha de la coma).
Por ejemplo, NUMBER (8,3) indica que se representan números de ocho cifras de
precisión y tres decimales. Los decimales en Oracle se presenta con el punto y no con la
coma.
Para números enteros se indica NUMBER(p) donde p es el número de dígitos. Eso es
equivalente a NUMBER(p,0).
Para números de coma flotante (equivalentes a los flota o double de muchos
lenguajes de programación) simplemente se indica el texto NUMBER sin precisión ni
escala.
precisión y escala
La cuestión de la precisión y la escala es compleja. Para entenderla mejor, se muestran
estos ejemplos:
Formato Número escrito por el usuario Se almacena como…
NUMBER 345255.345 345255.345
NUMBER(9) 345255.345 345255
NUMBER(9,2) 345255.345 345255.36
NUMBER(7) 345255.345 Da error de precisión
NUMBER(7,-2) 345255.345 345300
NUMBER(7,2) 345255.345 Da error de precisión
En definitiva, la precisión debe incluir todos los dígitos del número (puede llegar hasta 38
dígitos). La escala sólo indica los decimales que se respetarán del número, pero si es
negativa indica ceros a la izquierda del decimal.
tipo LONG
Se trata de un tipo de datos que actualmente se mantiene por compatibilidad. Se
recomienda encarecidamente utilizar en su lugar el tipo CLOB (que se comentará más
adelante). En cualquier caso este tipo permite almacenar textos de hasta 2 GB de tamaño.
Pero no puede formar clave, ni índice, ni ser parte de la cláusula WHERE, ni GROUP BY,
ni SELECT con DISTINCT, ni pueden ser UNIQUE y sólo puede haber un campo de este
tipo en una misma tabla entre otras limitaciones.
16
18. Manual de SQL para Oracle 9i
tablas
modificar tablas
cambiar de nombre
La orden RENAME permite el cambio de nombre de cualquier objeto. Sintaxis:
RENAME nombreViejo TO nombreNuevo
borrar contenido de tablas
La orden TRUNCATE TABLE seguida del nombre de una tabla, hace que se elimine el
contenido de la tabla, pero no la tabla en sí. Incluso borra del archivo de datos el espacio
ocupado por la tabla.
Esta orden no puede anularse con un ROLLBACK.
modificar tablas
La versátil ALTER TABLE permite hacer cambios en la estructura de una tabla.
añadir columnas
ALTER TABLE nombreTabla ADD(nombreColumna TipoDatos
[Propiedades]
[,columnaSiguiente tipoDatos [propiedades]...)
Permite añadir nuevas columnas a la tabla. Se deben indicar su tipo de datos y sus
propiedades si es necesario (al estilo de CREATE TABLE).
Las nuevas columnas se añaden al final, no se puede indicar otra posición.
borrar columnas
ALTER TABLE nombreTabla DROP(columna);
Elimina la columna indicada de manera irreversible e incluyendo los datos que contenía.
No se puede eliminar la última columna (habrá que usar DROP TABLE).
modificar columna
Permite cambiar el tipo de datos y propiedades de una determinada columna. Sintaxis:
ALTER TABLE nombreTabla MODIFY(columna tipo [propiedades]
[columnaSiguiente tipo [propiedades] ...]
Los cambios que se permiten son:
Incrementar precisión o anchura de los tipos de datos
Sólo se puede reducir la anchura si la anchura máxima de un campo si esa columna
posee nulos en todos los registros, o todos los valores so o no hay registros
18
20. Manual de SQL para Oracle 9i
tablas
Las restricciones tienen un nombre, se puede hacer que sea Oracle el que les ponga
nombre, pero entonces será críptico. Por eso es mejor ponerle uno mismo.
Los nombres de restricción no se pueden repetir para el mismo esquema, por lo que es
buena idea incluir de algún modo el nombre de la tabla, los campos involucrados y el tipo
de restricción en el nombre de la misma. Por ejemplo pieza_id_pk podría indicar que el
campo id de la tabla pieza tiene una clave principal (PRIMARY KEY).
prohibir nulos
La restricción NOT NULL permite prohibir los nulos en una determinada tabla. Eso obliga
a que la columna tenga que tener obligatoriamente un valor para que sea almacenado el
registro.
Se puede colocar durante la creación (o modificación) del campo añadiendo la palabra
NOT NULL tras el tipo:
CREATE TABLE cliente(dni VARCHAR2(9) NOT NULL);
En ese caso el nombre le coloca Oracle. La otra forma (que admite nombre) es:
CREATE TABLE cliente(dni VARCHAR2(9)
CONSTRAINT dni_sinnulos NOT NULL(dni));
valores únicos
Las restricciones de tipo UNIQUE obligan a que el contenido de uno o más campos no
puedan repetir valores. Nuevamente hay dos formas de colocar esta restricción:
CREATE TABLE cliente(dni VARCHAR2(9) UNIQUE);
En ese caso el nombre de la restricción la coloca el sistema Oracle. Otra forma es:
CREATE TABLE cliente(dni VARCHAR2(9) CONSTRAINT dni_u UNIQUE);
Esta forma permite poner un nombre a la restricción. Si la repetición de valores se refiere
a varios campos, la forma sería:
CREATE TABLE alquiler(dni VARCHAR2(9),
cod_pelicula NUMBER(5),
CONSTRAINT alquiler_uk UNIQUE(dni,cod_pelicula) ;
La coma tras la definición del campo cod_pelicula hace que la restricción sea
independiente de ese campo. Eso obliga a que, tras UNIQUE se indique la lista de campos.
Los campos UNIQUE son las claves candidatas de la tabla (que habrán sido detectadas
en la fase de diseño de la base de datos).
clave primaria
La clave primaria de una tabla la forman las columnas que indican a cada registro de la
misma. La clave primaria hace que los campos que la forman sean NOT NULL (sin
posibilidad de quedar vacíos) y que los valores de los campos sean de tipo UNIQUE (sin
posibilidad de repetición).
Si la clave está formada por un solo campo basta con:
20
22. Manual de SQL para Oracle 9i
tablas
Esta definición de clave secundario es idéntica a la anterior, sólo que no hace falta colocar
el texto FOREIGN KEY.
La integridad referencial es una herramienta imprescindible de las bases de datos
relacionales. Pero provoca varios problemas. Por ejemplo, si borramos un registro en la
tabla principal que está relacionado con uno o varios de la secundaria ocurrirá un error, ya
que de permitírsenos borrar el registro ocurrirá fallo de integridad (habrá claves
secundarios refiriéndose a una clave principal que ya no existe).
Por ello Oracle nos ofrece dos soluciones a añadir tras la cláusula REFERENCES:
ON DELETE SET NULL. Coloca nulos todas las claves secundarias relacionadas
con la borrada.
ON DELETE CASCADE. Borra todos los registros cuya clave secundaria es igual
que la clave del registro borrado.
Si no se indica esta cláusula, no se permite el borrado de registros relacionados.
El otro problema ocurre si se desea cambiar el valor de la clave principal en un registro
relacionado con claves secundarias. En muchas bases de datos se implementan soluciones
consistentes en añadir ON UPDATE CASCADE o ON UPDATE SET NULL. Oracle no
implementa directamente estas soluciones. Por lo que hay que hacerlo de otra forma. Las
soluciones son:
Implementar un TRIGGER para que cuando se actualice el registro se actualicen las
claves secundarias (el mecanismo de funcionamiento es parecido al que se muestra
en el siguiente párrafo).
Añadir un registro igual que el que se quiere cambiar en la tabla principal, pero con
el nuevo valor de la clave. Mediante una instrucción UPDATE actualizar a ese valor
de clave todos los registros de la tabla secundaria cuyo valor coincida con la antigua
clave. Finalmente borrar el registro en la tabla principal con el valor antiguo de la
clave.
La sintaxis completa para añadir claves foráneas es:
CREATE TABLE tabla(lista_de_campos
CONSTRAINT nombreRestriccion FOREIGN KEY (listaCampos)
REFERENCES tabla(clavePrincipalRelacionada)
[ON UPDATE {SET NULL | CASCADE}]
);
Si es de un solo campo existe esta alternativa:
CREATE TABLE tabla(lista_de_campos tipos propiedades,
nombreCampoClaveSecundaria
CONSTRAINT nombreRestriccion
REFERENCES tabla(clavePrincipalRelacionada)
[ON UPDATE {SET NULL | CASCADE}]
);
22
24. Manual de SQL para Oracle 9i
tablas
borrar restricciones
Sintaxis:
ALTER TABLE tabla
DROP PRIMARY KEY | UNIQUE(campos) |
CONSTRAINT nombreRestricción [CASCADE]
La opción PRIMARY KEY elimina una clave principal (también quitará el índice UNIQUE
sobre las campos que formaban la clave. UNIQUE elimina índices únicos. La opción
CONSTRAINT elimina la restricción indicada.
La opción CASCADE hace que se eliminen en cascada las restricciones de integridad
que dependen de la restricción eliminada. Por ejemplo en:
CREATE TABLE curso(
cod_curso CHAR(7) PRIMARY KEY,
fecha_inicio DATE,
fecha_fin DATE,
tItulo VARCHAR2(60),
cod_siguientecurso CHAR(7),
CONSTRAINT fecha_ck CHECK(fecha_fin>fecha_inicio),
CONSTRAINT cod_ste_fk FOREIGN KEY(cod_siguientecurso)
REFERENCES curso ON DELETE SET NULL);
Tras esa definición de tabla, esta instrucción:
ALTER TABLE curso DROP PRIMARY KEY;
Produce este error:
ORA-02273: a esta clave única/primaria hacen referencia
algunas claves ajenas
Para ello habría que utilizar esta instrucción:
ALTER TABLE curso DROP PRIMARY KEY CASCADE;
Esa instrucción elimina la clave secundaria antes de eliminar la principal.
También produce error esta instrucción:
ALTER TABLE curso DROP(fecha_inicio);
ERROR en línea 1:
ORA-12991: se hace referencia a la columna en una restricción
de multicolumna
24
26. Manual de SQL para Oracle 9i
tablas
Columna Tipo de datos Descripción
CONSTRAINT_TYPE VARCHAR2(1) Tipo de restricción:
C. De tipo CHECK o NOT NULL
P. PRIMARY KEY
R. FOREIGN KEY
U. UNIQUE
TABLE_NAME VARCHAR2(30) Nombre de la tabla en la que se encuentra la
restricción
En el diccionario de datos hay otra vista que proporciona información sobre restricciones,
se trata de USER_CONS_COLUMNS, en dicha tabla se muestra información sobre las
columnas que participan en una restricción. Así si hemos definido una clave primaria
formada por los campos uno y dos, en la tabla USER_CONS_COLUMNS aparecerán dos
entradas, una para el primer campo del índice y otra para el segundo. Se indicará además
el orden de aparición en la restricción. Ejemplo:
OWNER CONSTRAINT_NAME TABLE_NAME COLUMN_NAME POSITION
JORGE EXIS_PK EXISTENCIAS TIPO 1
JORGE EXIS_PK EXISTENCIAS MODELO 2
JORGE EXIS_PK EXISTENCIAS N_ALMACEN 3
JORGE PIEZA_FK EXISTENCIAS TIPO 1
JORGE PIEZA_FK EXISTENCIAS MODELO 2
JORGE PIEZA_PK PIEZA TIPO 1
JORGE PIEZA_PK PIEZA MODELO 2
En esta tabla USER_CONS_COLUMNS aparece una restricción de clave primaria sobre la
tabla existencias, esta clave está formada por las columnas (tipo, modelo y n_almacen) y
en ese orden. Una segunda restricción llamada pieza_fk está compuesta por tipo y modelo
de la tabla existencias. Finalmente la restricción pieza_pk está formada por tipo y modelo,
columnas de la tabla pieza.
Para saber de qué tipo son esas restricciones, habría que acudir a la vista
USER_CONSTRAINTS.
26
27. consultas SELECT
capacidades
Sin duda el comando más versátil del lenguaje SQL es el comando SELECT. Este comando
permite:
Obtener datos de ciertas columnas de una tabla (proyección)
Obtener registros (filas) de una tabla de acuerdo con ciertos criterios (selección)
Mezclar datos de tablas diferentes (asociación, join)
sintaxis sencilla
SELECT * | {[DISTINCT] columna | expresión [[AS] alias], ...}
FROM tabla;
Donde:
*. El asterisco significa que se seleccionan todas las columnas
DISTINCT. Hace que no se muestren los valores duplicados.
columna. Es el nombre de una columna de la tabla que se desea mostrar
expresión. Una expresión válida SQL
alias. Es un nombre que se le da a la cabecera de la columna en el resultado de esta
instrucción.
Ejemplos:
/* Selección de todos los registros de la tabla clientes */
SELECT * FROM Clientes;
/* Selección de algunos campos*/
SELECT nombre, apellido1, apellido2 FROM Clientes;
cálculos
aritméticos
Los operadores + (suma), - (resta), * (multiplicación) y / (división), se pueden utilizar para
hacer cálculos en las consultas. Cuando se utilizan como expresión en una consulta
SELECT, no modifican los datos originales sino que como resultado de la vista generada
por SELECT, aparece un nueva columna. Ejemplo:
SELECT nombre, precio,precio*1.16 FROM articulos
27
28. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Esa consulta obtiene tres columnas. La tercera tendrá como nombre la expresión utilizada,
para poner un alias basta utilizar dicho alias tras la expresión:
SELECT nombre, precio, precio*1.16 AS precio_con_iva
FROM articulos;
Los nombres pueden llevar espacios si se ponen con comillas dobles:
SELECT nombre, precio, precio*1.16 AS quot;precio con ivaquot;
FROM articulos;
Esas comillas dobles cumplen otra función y es la de hacer que se respeten las mayúsculas
y minúsculas del nombre (de otro modo el nombre de la columna aparece siempre en
mayúsculas
La prioridad de esos operadores es: tienen más prioridad la multiplicación y división,
después la suma y la resta. En caso de igualdad de prioridad, se realiza primero la
operación que esté más a la izquierda. Como es lógico se puede evitar cumplir esa
prioridad usando paréntesis; el interior de los paréntesis es lo que se ejecuta primero.
Cuando una expresión aritmética se calcula sobre valores NULL, el resultado de la
expresión es siempre NULL.
concatenación
El operador || es el de la concatenación. Sirve para unir textos. Ejemplo:
SELECT tipo, modelo, tipo || '-' || modelo quot;Clave Piezaquot;
FROM piezas;
El resultado puede ser:
TIPO MODELO Clave Pieza
AR 6 AR-6
AR 7 AR-7
AR 8 AR-8
AR 9 AR-9
AR 12 AR-12
AR 15 AR-15
AR 20 AR-20
AR 21 AR-21
BI 10 BI-10
BI 20 BI-20
BI 38 BI-38
BI 57 BI-57
condiciones
Se pueden realizar consultas que restrinjan los datos de salida de las tablas. Para ello se
utiliza la cláusula WHERE. Esta cláusula permite colocar una condición que han de
cumplir todos los registros, los que no la cumplan no aparecen en el resultado.
28
30. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
BETWEEN
El operador BETWEEN nos permite obtener datos que se encuentren en un rango. Uso:
SELECT tipo,modelo,precio FROM piezas
WHERE precio BETWEEN 3 AND 8;
Saca piezas cuyos precios estén entre 3 y 8 (ambos incluidos).
IN
Permite obtener registros cuyos valores estén en una lista:
SELECT tipo,modelo,precio FROM piezas
WHERE precio IN (3,5, 8);
Obtiene piezas cuyos precios sea 3, 5 u 8, sólo uno de esos tres.
LIKE
Se usa sobre todo con textos, permite obtener registros cuyo valor en un campo cumpla
una condición textual. LIKE utiliza una cadena que puede contener estos símbolos:
Símbolo Significado
% Una serie cualquiera de caracteres
_ Un carácter cualquiera
Ejemplos:
/* Selecciona nombres que empiecen por S */
SELECT nombre FROM personas WHERE nombre LIKE 'A%';
/*Selecciona las personas cuyo apellido sea Sanchez, Senchez,
Stnchez,...*/
SELECT apellido1 FROM Personas WHERE apellido1 LIKE 'S_nchez';
IS NULL
Devuelve verdadero si una expresión contiene un nulo:
SELECT nombre,apellidos FROM personas
WHERE telefono IS NULL
Esa instrucción selecciona a la gente que no tiene teléfono
Precedencia de operadores
A veces las expresiones que se producen en los SELECT son muy extensas y es difícil saber
que parte de la expresión se evalúa primero, por ello se indica la siguiente tabla de
precedencia:
30
32. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Sólo veremos las primeras (más adelante se comentan las de varias filas).
funciones de caracteres
conversión del texto a mayúsculas y minúsculas
Son:
Función Descripción
LOWER(texto) Convierte el texto a minúsculas (funciona con los
caracteres españoles)
UPPER(texto) Convierte el texto a mayúsculas
INITCAP(texto) Coloca la primera letra de cada palabra en
mayúsculas
funciones de transformación
Función Descripción
RTRIM(texti) Elimina los espaciosa la derecha del texto
LTRIM(texto) Elimina los espacios a la izquierda que posea el
texto
TRIM(texto) Elimina los espacios en blanco a la izquierda y la
derecha del texto y los espacios dobles del
interior.
TRIM(caracteres Elimina del texto los caracteres indicados. Por
ejemplo TRIM('h' FROM nombre) elimina las
FROM texto)
haches de la columna nombre que estén a la
izquierda y a la derecha
SUBSTR(texto,n[,m]) Obtiene los m siguientes caracteres del texto a
partir de la posición n (si m no se indica se cogen
desde n hasta el final).
LENGTH(texto) Obtiene el tamaño del texto
INSTR(texto, textoBuscado Obtiene la posición en la que se encuentra el texto
buscado en el texto inicial. Se puede empezar a
[,posInicial [, nAparición]])
buscar a partir de una posición inicial concreta e
incluso indicar el número de aparición del texto
buscado.
Ejemplo, si buscamos la letra a y ponemos 2 en
nAparición, devuelve la posición de la segunda
letra a del texto).
Si no lo encuentra devuelve 0
REPLACE(texto, Buscar el texto a buscar en un determinado texto
textoABuscar, y lo cambia por el indicado como texto de
reemplazo
textoReemplazo)
LPAD(texto, anchuraMáxima, Rellena el texto a la izquierda (LPAD) o a la
derecha (RPAD) con el carácter indicado para
caracterDeRelleno)
ocupar la anchura indicada.
RPAD(texto, anchuraMáxima,
Si el texto es más grande que la anchura indicada,
32
34. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Función Descripción
signo (el resultado también es un entero)
VSIZE(valor) Tamaño en bytes que gasta Oracle en almacenar
ese valor
funciones de trabajo con nulos
Permiten definir valores a utilizar en el caso de que las expresiones tomen el valor nulo.
Función Descripción
NVL(valor,sustituto) Si el valor es NULL, devuelve el valor sustituto;
de otro modo, devuelve valor
NVL2(valor,sustituto1, Variante de la anterior, devuelve el valor
sustituto1 si valor no es nulo. Si valor es nulo
sustituto2)
devuelve el sustituto2
NULLIF(valor1,valor2) Función que devuelve nulo si el valor1 y el valor2
sean iguales. En el caso de que no lo sean
devuelve el valor1
COALESCE(valor1,valor2 Devuelve el valor1 si no es nulo; si lo es devuelve
el valor2 si no es nulo. Si son nulos el 1 y el 2
[,valor3...])
devuelve el tres si este no es nulo, y así
sucesivamente
funciones de fecha
Las fechas se utilizan muchísimo en todas las bases de datos. Oracle proporciona dos tipos
de datos para manejar fechas, los tipos DATE y TIMESTAMP. En el primer caso se
almacena una fecha concreta (que incluso puede contener la hora), en el segundo caso se
almacena un instante de tiempo más concreto que puede incluir incluso fracciones de
segundo.
Hay que tener en cuenta que a los valores de tipo fecha se les pueden sumar números y
se entendería que esta suma es de días. Si tiene decimales entonces se suman días, horas,
minutos y segundos. La diferencia entre dos fechas también obtiene un número de días.
intervalos
Los intervalos son datos relacionados con las fechas en sí, pero que no son fechas. Hay dos
tipos de intervalos el INTERVAL DAY TO SECOND que sirve para representar días, horas,
minutos y segundos; y el INTERVAL YEAR TO MONTH que representa años y meses.
Para los intervalos de año a mes los valores se pueden indicar de estas formas:
/* 123 años y seis meses */
INTERVAL '123-6' YEAR(4) TO MONTH
/* 123 años */
INTERVAL '123' YEAR(4) TO MONTH
/* 6 meses */
INTERVAL '6' MONTH(3) TO MONTH
La precisión en el caso de indicar tanto años como meses, se indica sólo en el año.
34
36. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Función Descripción
NEXT_DAY(fecha,día) Indica cual es el día que corresponde a añadir a la
fecha el día indicado. El día puede ser el texto
'Lunes', 'Martes', 'Miércoles',... (si la configura-
ción está en español) o el número de día de la
semana (1=lunes, 2=martes,...)
LAST_DAY(fecha) Obtiene el último día del mes al que pertenece la
fecha. Devuelve un valor DATE
EXTRACT(valor FROM fecha) Extrae un valor de una fecha concreta. El valor
puede ser day (día), month (mes), year (año), etc.
GREATEST(fecha1, fecha2,..) Devuelve la fecha más moderna la lista
LEAST(fecha1, fecha2,..) Devuelve la fecha más antigua la lista
ROUND(fecha [,'formato'] Redondea la fecha al valor de aplicar el formato a
la fecha. El formato puede ser:
'YEAR' Hace que la fecha refleje el año
completo
'MONTH' Hace que la fecha refleje el mes
completo más cercanoa la fecha
'HH24' Redondea la hora a las 00:00 más
cercanas
'DAY
TRUNC(fecha [formato]) Igual que el anterior pero trunca la fecha en lugar
de redondearla.
funciones de conversión
Oracle es capaz de convertir datos automáticamente a fin de que la expresión final tenga
sentido. En ese sentido son fáciles las conversiones de texto a número y viceversa.
Ejemplo:
SELECT 5+'3' FROM DUAL /*El resultado es 8 */
SELECT 5 || '3' FROM DUAL /* El resultado es 53 */
También ocurre eso con la conversión de textos a fechas. De hecho es forma habitual de
asignar fechas.
Pero en diversas ocasiones querremos realizar conversiones explícitas.
TO_CHAR
Obtiene un texto a partir de un número o una fecha. En especial se utiliza con fechas (ya
que de número a texto se suele utilizar de forma implícita.
fechas
En el caso de las fechas se indica el formato de conversión, que es una cadena que puede
incluir estos símbolos (en una cadena de texto):
Símbolo Significado
YY Año en formato de dos cifras
36
38. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Símbolo Significado
0 Posición del número (muestra ceros)
S En esa posición se coloca el signo del número
(tanto el negativo como el positivo)
$ Formato dólar
L Símbolo local de la moneda
C Símbolo internacional de moneda (según la
configuración local de Oracle)
D Posición del símbolo decimal (en español, la
coma)
G Posición del separador de grupo (en español el
punto)
RN Numeración romana en mayúsculas
rn Numeración romana en minúsculas
PR Se muestran los negativos entre símbolos < y >
. Posición del decimal
, Posición del separador de miles
TO_NUMBER
Convierte textos en números. Se indica el formato de la conversión (utilizando los mismos
símbolos que los comentados anteriormente).
TO_DATE
Convierte textos en fechas. Como segundo parámetro se utilizan los códigos de formato de
fechas comentados anteriormente.
funciones condicionales
CASE
Es una instrucción incorporada a la versión 9 de Oracle que permite establecer
condiciones de salida (al estilo if-then-else de muchos lenguajes). Sintaxis:
CASE expresión WHEN valor1 THEN resultado1
[ WHEN valor2 THEN resultado2 ....
...
ELSE resultadoElse
]
END
El funcionamiento es el siguiente:
1> Se evalúa la expresión indicada
38
40. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
tablas que se pueden relacionar mediante un campo. Ese campo es el que permite integrar
los datos de las tablas.
Por ejemplo si disponemos de una tabla de empleados cuya clave es el dni y otra tabla
de tareas que se refiere a tareas realizadas por los empleados, es seguro (si el diseño está
bien hecho) que en la tabla de tareas aparecerá el dni del empleado para saber qué
empleado realizó la tarea.
producto cruzado o cartesiano de tablas
En el ejemplo anterior si quiere obtener una lista de los datos de las tareas y los
empleados, se podría hacer de esta forma:
SELECT cod_tarea, descripcion_tarea, dni_empleado,
nombre_empleado
FROM tareas,empleados;
La sintaxis es correcta ya que, efectivamente, en el apartado FROM se pueden indicar
varias tareas separadas por comas. Pero eso produce un producto cruzado, aparecerán
todos los registros de las tareas relacionados con todos los registros de empleados.
El producto cartesiano a veces es útil para realizar consultas complejas, pero en el caso
normal no lo es. necesitamos discriminar ese producto para que sólo aparezcan los
registros de las tareas relacionadas con sus empleados correspondientes. A eso se le llama
asociar (join) tablas
asociando tablas
La forma de realizar correctamente la consulta anterior (asociado las tareas con los
empleados que la realizaron sería:
SELECT cod_tarea, descripcion_tarea, dni_empleado,
nombre_empleado
FROM tareas,empleados
WHERE tareas.dni_empleado = empleados.dni;
Nótese que se utiliza la notación tabla.columna para evitar la ambigüedad, ya que el
mismo nombre de campo se puede repetir en ambas tablas. Para evitar repetir
continuamente el nombre de la tabla, se puede utilizar un alias de tabla:
SELECT a.cod_tarea, a.descripcion_tarea, b.dni_empleado,
b.nombre_empleado
FROM tareas a,empleados b
WHERE a.dni_empleado = b.dni;
Al apartado WHERE se le pueden añadir condiciones encadenándolas con el operador
AND. Ejemplo:
SELECT a.cod_tarea, a.descripcion_tarea
FROM tareas a,empleados b
WHERE a.dni_empleado = b.dni AND b.nombre_empleado='Javier';
40
42. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Sintaxis:
SELECT tabla1.columna1, tabla1.columna2,....
tabla2.columna1, tabla2.columna2,...
FROM tabla1, tabla2
WHERE tabla1.columnaRelacionada(+)=tabla2.columnaRelacionada
Eso obtiene los registros relacionados entre las tablas y además los registros no
relacionados de la tabla2. Se podría usar esta otra forma:
SELECT tabla1.columna1, tabla1.columna2,....
tabla2.columna1, tabla2.columna2,...
FROM tabla1, tabla2
WHERE tabla1.columnaRelacionada=tabla2.columnaRelacionada(+)
En ese caso salen los relacionados y los de la primera tabla que no estén relacionados con
ninguno de la primera.
sintaxis SQL 1999
En la versión SQL de 1999 se ideó una nueva sintaxis para consultar varias tablas. La
razón fue separar las condiciones de asociación respecto de las condiciones de selección de
registros. La sintaxis completa es:
SELECT tabla1.columna1, tabl1.columna2,...
tabla2.columna1, tabla2.columna2,... FROM tabla1
[CROSS JOIN tabla2]|
[NATURAL JOIN tabla2]|
[JOIN tabla2 USING(columna)]|
[JOIN tabla2 ON (tabla1.columa=tabla2.columna)]|
[LEFT|RIGHT|FULL OUTER JOIN tabla2 ON
(tabla1.columa=tabla2.columna)]
Se describen sus posibilidades
CROSS JOIN
Utilizando la opción CROSS JOIN se realiza un producto cruzado entre las tablas
indicadas
NATURAL JOIN
Establece una relación de igualdad entre las tablas a través de los campos que tengan el
mismo nombre en ambas tablas:
SELECT * FROM piezas
NATURAL JOIN existencias;
42
44. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
En el apartado GROUP BY, se indican las columnas por las que se agrupa. La función de
este apartado es crear un único registro por cada valor distinto en las columnas del grupo.
Si por ejemplo agrupamos en base a las columnas tipo y modelo en una tabla de
existencias, se creará un único registro por cada tipo y modelo distintos:
SELECT tipo,modelo
FROM existencias
GROUP BY tipo,modelo;
Si la tabla de existencias sin agrupar es:
TI MODELO N_ALMACEN CANTIDAD
AR 6 1 2500
AR 6 2 5600
AR 6 3 2430
AR 9 1 250
AR 9 2 4000
AR 9 3 678
AR 15 1 5667
AR 20 3 43
BI 10 2 340
BI 10 3 23
BI 38 1 1100
BI 38 2 540
BI 38 3
La consulta anterior creará esta salida:
TI MODELO
AR 6
AR 9
AR 15
AR 20
BI 10
BI 38
Es decir es un resumen de los datos anteriores. Los datos n_almacen y cantidad no están
disponibles directamente ya que son distintos en los registros del mismo grupo. Sólo se
pueden utilizar desde funciones (como se verá ahora). Es decir esta consulta es errónea:
SELECT tipo,modelo, cantidad
FROM existencias GROUP BY tipo,modelo;
SELECT tipo,modelo, cantidad
*
ERROR en línea 1:
ORA-00979: no es una expresión GROUP BY
44
46. Manual de SQL para Oracle 9i
comandos internos SQL e iSQL*Plus
Pero Oracle devolvería este error:
WHERE SUM(Cantidad)>500
*
ERROR en línea 3:
ORA-00934: función de grupo no permitida aquí
La razón es que Oracle calcula primero el WHERE y luego los grupos; por lo que esa
condición no la puede realizar al no estar establecidos los grupos.
Por ello se utiliza la cláusula HAVING, que se efectúa una vez realizados los grupos. Se
usaría de esta forma:
SELECT tipo,modelo, cantidad, SUM(Cantidad)
FROM existencias
GROUP BY tipo,modelo
HAVING SUM(Cantidad)>500;
Eso no implica que no se pueda usar WHERE. Esta expresión sí es válida:
SELECT tipo,modelo, cantidad, SUM(Cantidad)
FROM existencias
WHERE tipo!='AR'
GROUP BY tipo,modelo
HAVING SUM(Cantidad)>500;
En definitiva, el orden de ejecución de la consulta marca lo que se puede utilizar con
WHERE y lo que se puede utilizar con HAVING:
Pasos en la ejecución de una instrucción de agrupación por parte del gestor de bases de
datos:
1> Seleccionar las filas deseadas utilizando WHERE. Esta cláusula eliminará
columnas en base a la condición indicada
2> Se establecen los grupos indicados en la cláusula GROUP BY
3> Se calculan los valores de las funciones de totales (COUNT, SUM, AVG,...)
4> Se filtran los registros que cumplen la cláusula HAVING
5> El resultado se ordena en base al apartado ORDER BY.
subconsultas
Se trata de una técnica que permite utilizar el resultado de una tabla SELECT en otra
consulta SELECT. Permite solucionar problemas en los que el mismo dato aparece dos
veces.
46