Вы находитесь на странице: 1из 34

SQL

Lenguaje de Consulta Estructurado

- Es un lenguaje de cuarta generacin (4GL). - Lenguaje declarativo de acceso a bases de datos relacionales que permite realizar diversos tipos de operaciones en stas.

- Explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en stos ltimos. - Manejo del lgebra y el clculo relacional permitiendo efectuar consultas con el fin de recuperar de una forma sencilla informacin de inters de una base de datos, as como tambin hacer cambios sobre ella.

- Es un lenguaje declarativo de " alto nivel " , que permite una alta productividad en codificacin y la orientacin a objetos. - De esta forma una sola sentencia puede equivaler a uno o ms programas que utilizas en un lenguaje de bajo nivel orientado a registro.

1986 1989

SQL-86 (SQL-87) SQL-89

Primera Publicacin Revisin Menor

1992 SQL-92 (SQL Revisin Mayor 2) 1999 SQL1999 - Expresiones Regulares (SQL2000) - Consultas Recursivas - Caracteristicas Orientadas a Objetos

2003

SQL2003

- Caracteristicas XML - Cambios en las Funciones - Estandarizacin del objeto Sequence y columnas autonumricas Introduccin total XML - ORDER BY - INSTEAD OF - TRUNCATE

2006 2008

SQL2006 SQL2008

Resulta relevante para que el Tcnico en Administracin cumpla su rol como usuario de los sistemas o como integrante del equipo de desarrollo que conozca algunos conceptos bsicos vinculados al tema Bases de Datos.

Datos Entidades Claves primarias y forneas Relaciones Restricciones de integridad referencial Metadatos

Datos son hechos conocidos que pueden registrarse y que tienen un significado implcito .
Ramez Elmasri y Shamkant B. Navathe

Ejemplo:
Pueden constituir datos los nombres, nmeros telefnicos y direcciones de personas que conocemos.

3256789

Jos Martnez
Sarand 100

Kli@adinet.com.uy

18 de Julio 1880

Una entidad es todo aquello de lo cual interesa guardar datos, por ejemplo: clientes, facturas, productos, empleados. En el Modelo de Entidad-Relacin que se presenta, se observa que las entidades estn formadas por atributos o campos referidos a un mismo tema que interesa almacenar.

CLIENTES cuenta con los atributos: Cdigo de Cliente, Nombre, Apellido, Domicilio, Telfono.

Cada entidad tiene una clave primaria o campo llave que identifica unvocamente al conjunto de datos. Cuando en una entidad figura la clave primaria de otra entidad, sta se denomina clave fornea. Las entidades se relacionan entre s a travs de las claves forneas.

CLAVES PRIMARIAS Cdigo de Cliente es la clave primaria de Cliente. A cada cliente se le asocia un cdigo y a cada cdigo le corresponde un cliente. Asimismo, Nmero de Factura y Cdigo de Producto son claves primarias de Facturas y Productos respectivamente.

CLAVES FORNEAS Son claves forneas en Facturas Cdigo de Cliente y Cdigo de Producto. Clientes se relaciona con Facturas a travs del Cdigo de Cliente que figura en ambas tablas y con Productos mediante el Cdigo de producto.

RESTRICCIONES DE INTEGRIDAD REFERENCIAL E de Clientes en F ct r s debe cumplir ue exist Facturas exista en Clientes ue sea clave primaria
-Cdi -Cdi

de Pr duct Facturas debe cumplir ue exista en ue sea clave primaria Pr duct s

Retomando la Definicin de Base de Datos (1), la cual seala que sta ...es un conjunto de datos relacionados entre s y que tienen un significado implcito , se observa en la imagen que los datos de las tablas se relacionan a travs de las claves y que stos tienen el significado implcito que se les atribuye en dicho contexto.

Metadatos son datos acerca de los datos presentes en la base de datos.


Ejemplo metadatos El tipo de datos puede ser Numrico,
alfabtico, fecha, lgico (S /NO).
Longitud 4 20 .......

Dato Num Nombre .....

Tipo Numrico Alfabtico ......

La longitud indica la cantidad mxima de caracteres que puede asumir el dato.

Ejemplo de Restriccin de Dominio:


Num >0 y <9999

Es el que se encarga de la modificacin de la estructura de los objetos de la base de datos. Existen cuatro operaciones bsicas: - CREATE - ALTER - DROP - TRUNCATE

Este comando crea un objeto dentro de la base de datos. Ejemplo: CREATE TABLE 'TABLA_NOMBRE' ( 'CAMPO_1' DOCUMENTO, 'CAMPO_2' APELLIDO-NOMBRE-EDAD )

Este comando permite modificar la estructura de un objeto Ejemplo: ALTER TABLE 'TABLA_NOMBRE' ( ADD NUEVO_CAMPO INT UNSIGNED )

Este comando elimina un objeto de la base de datos


Ejemplo: ALTER TABLE ''TABLA_NOMBRE'' ( DROP COLUMN ''CAMPO_NOMBRE1'' )

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE slo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clusula WHERE

Ejemplo: TRUNCATE TABLE ''TABLA_NOMBRE1''

Est l se e

r it l

sult

t s

t s.

entenci s: - SELECT

La sentencia SELECT es una sentencia de consulta, esta devuelve el contenido de la base de datos correspondiente con las condicicones introducidas en la llamada SELECT. Esta sentencia permite aadir varias opciones: Where: En esta clausula se puede especificar cualquier condicin que filtre los resultados devueltos de una tabla. Order by: Permite ordenar los resultados ascendentemente (ASC) o descendentemente (DESC) a travs de un campo Group by: Agrupa los datos mediante un atributo o columna, se utiliza para funciones principalmente.

Comodines * Sustituye a todos los campos % Sustituye a cualquier cosa o nada dentro de una cadena _ Sustituye un solo carcter dentro de una cadena Operadores matemticos > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que <> Distinto = Igual Operadores lgicos AND NOT OR

Like Selecciona los registros cuyo valor de campo se asemeje, no teniendo en cuenta maysculas y minsculas. In y Not In Da un conjunto de valores para un campo para los cuales la condicin de seleccin es (o no) valida Is Null y Is Not Null Selecciona aquellos registros donde el campo especificado esta (o no) vaco. Between...And Selecciona los registros comprendidos en un intervalo Distinct Selecciona los registros no coincidentes Desc Clasifica los registros por orden inverso

Funciones: Sum(campo) Calcula la suma de los registros del campo especificado Avg(Campo) Calcula la media de los registros del campo especificado Count(*) Nos proporciona el valor del numero de registros que han sido seleccionados Max(Campo) Nos indica cual es el valor mximo del campo Min(Campo) Nos indica cual es el valor mnimo del campo

Funciones: Sum(campo) Calcula la suma de los registros del campo especificado Avg(Campo) Calcula la media de los registros del campo especificado Count(*) Nos proporciona el valor del numero de registros que han sido seleccionados Max(Campo) Nos indica cual es el valor mximo del campo Min(Campo) Nos indica cual es el valor mnimo del campo

Select clientes.apellidos, clientes.email From clientes,pedidos Where pedidos.fecha like '25/02/00' And pedidos.id_cliente= clientes.id_cliente Esta sentencia consulta en la tabla los campos apellidos y email de los clientes siempre que la fehca del pedido sea 25/02/00 relacionando el id de cliente de la tabla pedidos con el id de cliente de la tabla clientes. En resumen recoge el apellido y email de los clientes que han realizado un pedido en la fecha indicada.

Este lenguaje er ite la consulta odificaci n de datos contenidos en la ase de datos, es decir, solo trabaja con el contenido no con la estructura de la base de datos.

Sentencias: - I SERT - UP ATE - ELETE

La sentencia INSERT crea uno o varios registros en una tabla de una base de datos. Cada llamada a INSERT agrega datos en una sola tabla. Los valores introducidos deben ser iguales al nmero de columnas y cumplir con las restricciones de cada columna, si una columna no se especifica se le agrega el valor por omisin. Cuando se comete un error de sintaxis o se salta una restriccin es devuelto un error.

Agregacin simple de valores: INSERT INTO cli (nombre, edad) VALUES ('Pedro', '19'); Si se introducen todos los valores de la tabla se puede abreviar sin especificar las columnas: INSERT INTO cli VALUES ('Pedro', '19'); Tambin es posible agregar varias filas en un mismo INSERT: INSERT INTO cli VALUES ('Pedro', '19'), ('Antonio', '25');

Se pueden copiar columnas de registros de otra tabla anidando un SELECT: INSERT INTO clientesvalencia ( [nombre], [ciudad] ) SELECT [nombre], [ciudad] FROM cli WHERE ciudad IN ('Valencia') Para copiar un registro completo: INSERT INTO clientesvalencia SELECT * FROM cli WHERE ciudad IN ('Valencia')

La sentencia UP ATE reali a la funci n de actuali ar o odificar los alores de registros a creados anterior ente. Para actuali ar los registros de la tabla cliente deter inando ediante la edad los ayores de edad: UP ATE cli SET ayoredad ERE edad '17'; 'SI'

La sentencia DELETE borra uno o varios registros de una tabla. Para borrar todos los registros de la tabla de los clientes que viven en Valencia: DELETE FROM cli WHERE ciudad = 'Valencia' Para borrar toda la tabla: DELETE FROM cli

- http://es.wikipedia.org/wiki/SQL - http://www.desarrolloweb.com/articulos/267.php