ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Lenguaje Estructurado de Consulta SQL

Richard SiteTrabajo24 de Junio de 2016

12.284 Palabras (50 Páginas)533 Visitas

Página 1 de 50

Lenguaje Estructurado de Consulta

SQL

Descripción: En este módulo se proporcionarán los elementos necesarios para el desarrollo de consultas a la base de datos utilizando el lenguaje nativo SQL.

Objetivo: El participante utilizará el lenguaje SQL para extraer la información necesaria en el desarrollo de las aplicaciones en su entorno de trabajo a través de la elaboración de las consultas que se puedan requerir y de la programación de los procedimientos a utilizar, así mismo, entenderá la ventaja de conocer las normas ANSI SQL vistas anteriormente y la sintaxis de las principales instrucciones del SQL dentro de la migración de consultas y procedimientos de un RDBMS a otro.


Índice.

INTRODUCCIÓN.        

I.        DEFINICIÓN DE DATOS.        

I.1 Tipos de datos del sistema        

I.2 El valor Nulo        

I.3 Tablas        

I.3.1 Convención de nombres        

I.3.2. Creación de tablas        

I.3.3. Eliminación de tablas        

I.3.4. Modificación de tablas        

I.4 Reglas        

I.5 Defaults        

I.6 Llaves e Índices        

I.6.1. Llaves primarias.        

I.6.2. Llaves foráneas.        

I.6.3. Creación de índices.        

I.6.4 Eliminación de índices        

II.        MANIPULACIÓN DE DATOS.        

II.1 Selección, proyección y join.        

II.1.1. Selección (Restricción).        

II.1.2. Proyección.        

II.1.3. Unión.        

II.1.4. Producto Cartesiano        

II.1.5. Join        

II.2 Selección de datos.        

II.2.1. Cláusula SELECT        

II.2.2. Cláusula FROM.        

II.2.3. Cláusula WHERE.        

II.2.4. Cláusula GROUP BY        

II.2.5. Cláusula HAVING        

II.2.6. Cláusula ORDER BY        

II.3. Inserción de datos.        

II.3.1. Cláusula INSERT.        

II.3.2. Cláusula INTO.        

II.3.3. Cláusula VALUES.        

II.4. Eliminación de registros.        

II.4.1. Cláusula DELETE.        

II.4.2. Cláusula FROM        

II.4.3. Cláusula WHERE        

II.5. Actualización de datos.        

II.5.1. Cláusula UPDATE.        

II.5.2. Cláusula SET.        

II.5.3. Cláusula WHERE.        

II.6. Vistas.        

II.6.1. Creación de vistas        

II.6.2. Eliminación de Vistas        

II.6.3. Consideraciones        

II.7. Definición de privilegios.        

III.        FUNCIONES DE UTILIDAD.        

III.1. Funciones para datos de tipo carácter.        

III.2. Funciones matemáticas.        

III.3. Funciones para datos tipo fecha.        

IV.        MANEJO DE TRANSACCIONES.        

IV.1. Commit y Rollback.        

IV.2. Commit y Rollback por fases.        

V.        ESTRUCTURAS DE CONTROL DE FLUJO.        

V.1. IF-THEN-END IF        

V.2. IF-THEN-ELSE-END IF        

V.3. FOR LOOP        

V.4. WHILE LOOP        

V.5. ETIQUETAS        

VI.        PROCEDIMIENTOS ALMACENADOS.        

VI.1. Declaración de variables.        

VI.2. Creación de procedimientos.        

VI.3. Ejecución de procedimientos.        

VI.4. Eliminación de procedimientos.        

VI.5. Paso de parámetros.        

VII.        TRIGGERS.        

VII.1. Características.        

VII.2. Creación.        

VII.3. Eliminación.        

VIII.        CURSORES.        

IX.        JOINS INTERNOS.        

X.        JOINS EXTERNOS        

XI.        OPERACIONES DE CONJUNTOS        


INTRODUCCIÓN.

SQL (Structured Query Language; Lenguaje Estructurado de Consulta)  es un lenguaje de consulta para bases de datos, siendo adoptado como estándar de la industria en 1986. Desde entonces se han realizado revisiones al estándar para incorporar nueva funcionalidad conforme la industria de las bases de datos lo va requiriendo. Una de las revisiones más importantes fue la de 1992, conocida como ANSI SQL92.

Actualmente la versión soportada por la mayoría de las bases de datos es el ANSI SQL99 también conocido como SQL3.

La ventaja de la adopción del ANSI SQL, es que los diversos RDBMS (Relational DataBase Management System; Sistema Manejador de Bases de Datos Relacional) tienen que acoplarse al estándar, permitiendo así una mayor compatibilidad entre ellos. Esto implica que conociendo una variante del SQL, se tienen los conocimientos necesarios para poder utilizar otros RDBMS: MS SQL Server, Oracle, Sybase, Interbase, MySQL, PostgreSQL, DB2, etc.

Aunque los distintos fabricantes tratan de acoplarse al estándar ANSI SQL, es cierto que cada uno implementa funcionalidades extra que le dan un valor agregado a su producto pero sacrificando un poco la compatibilidad, por lo cual se podrán notar ciertas diferencias entre distintos RDBMS.

SQL es un lenguaje fácil de entender ya que su estructura utiliza palabras en inglés, lo que lo hace fácil de aprender y utilizar y las instrucciones se enfocan a qué buscar, dejando al RDBMS la tarea de cómo recuperar la información.

Los componentes del SQL son:

DDL (Data Definition Language; Lenguaje de Definición de Datos). Permite crear, modificar y eliminar estructuras de datos como: tablas, bases de datos, índices, etc.

DML (Data Manipulation Language; Lenguaje de Manipulación de Datos). Permite consultar, insertar, modificar y eliminar datos de las tablas.

DCL (Data Control Language; Lenguaje de Control de Datos). Permite establecer los privilegios de acceso a los datos, en otras palabras, establece la seguridad de la base de datos.

La información presentada con respecto a los manejadores de bases de datos relacionales está basada en las siguientes versiones:

MySQL 4.1

PostgreSQL 8.0

Oracle 10i

Sybase XI

MS SQL Server 2000

Si se tiene una versión diferente es recomendable consultar la documentación del RDBMS correspondiente.

  1. Definición de datos.

Antes de comenzar a trabajar con SQL, es necesario conocer los elementos que intervienen en la definición de la información en una base de datos, para poder manipularla de manera adecuada.

La tabla es el elemento fundamental de una base de datos relacional, la cual consiste de una serie de renglones (registros) que representan la información. Cada renglón está dividido en columnas (campos) los cuales deben de tener un tipo de dato establecido.

I.1 Tipos de datos del sistema

Cada columna dentro de una tabla debe tener asociado un tipo de dato, siendo la labor del diseñador de la base de datos, el de encontrar el mejor tipo de dato que satisfaga las necesidades de almacenamiento y recuperación de cierta información.

Los tipos de datos que se manejan en una base, pueden variar ligeramente entre diferentes RDBMS, sin embargo el estándar ANSI, asegura que cierto tipo de datos estará presente en cualquier RDBMS asegurando así la compatibilidad.

Algunos RDBMS implementan sinónimos para los tipos de datos, de manera que puedan cumplir con el ANSI SQL99, sin embargo internamente son convertidos a un tipo de dato que si esté soportado. Por ejemplo MS SQL Server acepta el tipo de dato DOUBLE PRECISION pero lo convierte y maneja como un FLOAT

En la siguiente tabla se muestra en la primera columna, el tipo de dato como se especifica en el ANSI SQL y en las demás columnas se indica el tipo de datos equivalente que cumple con dicho estándar.

Tipo en SQL99

MySQL

PostgreSQL

Oracle

Sybase

Ms SQL Server

Descripción

tinyint

 tinyint

 

tinyint

tinyint

 

smallint

smallint

smallint

smallint (lo convierte a number)

smallint

smallint

Entero con signo de 2 bytes

int, integer

int,integer

integer

int (lo convierte a number)

int

int

Entero con signo de 4 bytes

float()

float

float()

float

float

Número de punto flotante

double

 double

 double precision

double precision (lo convierte a float)

double precision

Double precision (se convierte en float)

Número Doble

real

 

 real

real (Lo convierte a float)

real

real

Número Real

numeric(p,d)

numeric(p,d)

numeric(p,d)

number(p,d)

numeric(p,d)

decimal(p,d)

Numérico con precisión p y d decimales

character varying(n)

varchar(n)

varchar(n)

varchar2(n)

varchar(n)

varchar(n)

Carácter de longitud variable

char, character(n)

char(n) 

char(n)

char(n)

char(n)

char(n)

Cadena de caracteres de longitud fija

date

date

date

Fecha sin hora del día

time

time

time

Hora del día

timestamp

timestamp

timestamp

date

datetime

datetime

Fecha y hora del día

boolean

boolean

bit

bit

Valor booleano

blob

blob

bytea

blob

image

image

Binary large object

clob

text

text

clob

text

text

Character large object

Interval

 

interval

Intervalo de tiempo

...

Descargar como (para miembros actualizados) txt (89 Kb) pdf (785 Kb) docx (114 Kb)
Leer 49 páginas más »
Disponible sólo en Clubensayos.com