Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
P. 1
smbd

smbd

Ratings:

4.0

(1)
|Views: 11,304 |Likes:
Published by api-3800751

More info:

Published by: api-3800751 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

Origenes y Evolucion[editar ]

Los or\u00edgenes del SQL est\u00e1n ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a losdatos basado en el c\u00e1lculo de predicados. Bas\u00e1ndose en estas ideas, los laboratorios deIBM definen el lenguaje

SEQUEL(Structured English QUEry Language) que m\u00e1s tarde ser\u00eda ampliamente implementado
por elSGBD experimental System R, desarrollado en1977 tambi\u00e9n por IBM. Sin embargo, fue
Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.

El SEQUEL terminar\u00eda siendo el predecesor de SQL, siendo \u00e9ste una versi\u00f3n evolucionada del
primero. El SQL pasa a ser el lenguaje por excelencia de los diversosSGBD relacionales
surgidos en los a\u00f1os siguientes y es por fin estandarizado en1986 por elANSI, dando lugar a la
primera versi\u00f3nest\u00e1ndar de este lenguaje, el SQL-86 oSQL1. Al a\u00f1o siguiente este est\u00e1ndar es
tambi\u00e9n adoptado por laISO.

Sin embargo este primer est\u00e1ndar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definici\u00f3n de almacenamiento que se consideraron suprimir. As\u00ed que en1992 se lanza un nuevo est\u00e1ndar ampliado y revisado del SQL llamado SQL-92 oSQL2.

En la actualidad el SQL es el est\u00e1ndar de facto de la inmensa mayor\u00eda de los SGBD comerciales.
Y, aunque la diversidad de a\u00f1adidos particulares que incluyen las distintas implementaciones
comerciales del lenguaje es amplia, el soporte al est\u00e1ndar SQL-92 es general y muy amplio.

El ANSI SQL sufri\u00f3 varias revisiones y agregados a lo largo del tiempo:
A\u00f1o Nombre Alias
Comentarios
1986
SQL-86SQL-87 Primera publicaci\u00f3n hecha por ANSI. Confirmada porISO en1987.
1989
SQL-89
Revisi\u00f3n menor.
1992
SQL-92SQL2
Revisi\u00f3n mayor.
1999
SQL:1999SQL2000 Se agregaron expresiones regulares, consultas recursivas (para
relaciones jer\u00e1rquicas), triggers y algunas caracter\u00edsticas orientadas a
objetos.
2003
SQL:2003
Introduce algunas caracter\u00edsticas de XML, cambios en las funciones,
estandarizaci\u00f3n del objeto sequence y de las columnas autonumericas.
(Ver Eisenberg et al.: SQL:2003 Has Been Published.)
2006
SQL:2006

ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se
puede utilizar conjuntamente con XML. Define maneras importar y
guardar datos XML en una base de datos SQL, manipul\u00e1ndolos dentro
de la base de datos y publicando el XML y los datos SQL
convencionales en forma XML. Adem\u00e1s, proporciona facilidades que
permiten a las aplicaciones integrar dentro de su c\u00f3digo SQL el uso de
XQuery, lenguaje de consulta XML publicado por el W3C (World
Wide Web Consortium) para acceso concurrente a datos ordinarios
SQL y documentos XML.

Caracter\u00edsticas generales[editar]

El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los
sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje
declarativo de alto nivel o de no procedimiento, que gracias a su fuerte base te\u00f3rica y su
orientaci\u00f3n al manejo de conjuntos de registros, y no a registros individuales, permite una alta
productividad en codificaci\u00f3n. De esta forma una sola sentencia puede equivaler a uno o m\u00e1s
programas que utilizasen un lenguaje de bajo nivel orientado a registro.

Optimizaci\u00f3n[editar ]

Como ya se dijo arriba, y como suele ser com\u00fan en los lenguajes de acceso a bases de datos de
alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qu\u00e9 es lo que se quiere y no
c\u00f3mo conseguirlo, por lo que una sentencia no establece expl\u00edcitamente un orden de ejecuci\u00f3n. El
orden de ejecuci\u00f3n interno de una sentencia puede afectar gravemente a la eficiencia del SGBD,
por lo que se hace necesario que \u00e9ste lleve a cabo una optimizaci\u00f3n antes de la ejecuci\u00f3n de la
misma. Muchas veces, el uso de \u00edndices acelera una instrucci\u00f3n de consulta, pero ralentiza la
actualizaci\u00f3n de los datos, dependiendo del uso de la aplicaci\u00f3n, se priorizar\u00e1 el acceso indexado
o una r\u00e1pida actualizaci\u00f3n de la informaci\u00f3n. La optimizaci\u00f3n difiere sensiblemente en cada
motor de base de datos y depende de muchos factores. Existe una ampliaci\u00f3n de SQL conocida
comoFSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la

l\u00f3gica difusa. Este lenguaje ha sido implementado a nivel experimental y est\u00e1 evolucionando
r\u00e1pidamente.
Lenguaje de Definici\u00f3n de datos (LDD)[editar ]

El lenguaje de Definici\u00f3n de datos, en ingl\u00e9s Data Definition Language (DDL), es el que se encarga de la modificaci\u00f3n de la estructura de los objetos de la base de datos. Existen cuatro operaciones b\u00e1sicas: CREATE, ALTER, DROP y TRUNCATE.

CREATE[editar]
Este comando crea un objeto dentro de la base de datos. Puede ser unatabla,vista, \u00edndice,trigg er,
funci\u00f3n, procedimiento o cualquier otro objeto que el motor de la base de datos soporte.
Ejemplo 1 (creaci\u00f3n de una tabla):

CREATE TABLETABLA_NOMBRE (
ci integer not null,
nombre

VARCHAR (50),
fecha_nac
DATE
NOT NULL,
PRIMARY KEY (my_field1, my_field2)
)ALTER[editar]

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar \u00edndices a una tabla, modificar un trigger, etc.

Ejemplo 1 (agregar columna a una tabla):
ALTER TABLETABLA_NOMBRE (
ADD NUEVO_CAMPO INT UNSIGNED
)DROP[editar]

Este comando elimina un objeto de la base de datos.Puede ser una tabla, vista, \u00edndice, trigger,
funci\u00f3n, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede
combinar con la sentencia ALTER.

Ejemplo 1:
DROP TABLETABLA_NOMBRE
Ejemplo 2:
ALTER TABLETABLA_NOMBRE
(
DROP COLUMNCAMPO_NOMBRE1
)TRUNCATE[editar ]

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DELETE, es que si se quiere borrar todo el contenido de la tabla, es mucho m\u00e1s r\u00e1pido, especialmente si la tabla es muy grande, la desventaja es que TRUNCATE solo sirve cuando se quiere eliminar

Activity (71)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
00010011 liked this
Pablo Guevara liked this
Roger Caamal liked this
Pablo Guevara liked this
Jesus Aguilar liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->