You are on page 1of 6

SQL (Structured Query Lenguaje/Lenguaje de Consulta Estructurado). Antecedentes: Cuando el Dr.

Codd introdujo el concepto de Base de Datos Relacional, se dise un sistema real de gestin de bases de datos relacional, System R (diseado por IBM , el cual no era m!s "ue un prototipo, cuyo propsito era construir un Sistema Relacional utili#able para solucionar problemas reales. $ste sistema incorporaba un sublenguaje de datos "ue permit%a reali#ar cual"uier acceso a la Base de Datos, "ue se llam S$&'$( "ue posteriormente se le llam S&(. )arias modi*icaciones y adecuaciones se +an reali#ado +asta la *ec+a, y durante todo este tiempo +a ganado un reconocimiento por ser el procedimiento "ue se estima como m!s e*iciente y r!pido para manejo de consultas, presentando en sus ,ltimas -ersiones la posibilidad de estructurar .disparadores/ o .triggers/ para reali#ar ciertas acciones como respuesta a e-entos programados autom!ticamente, as% como manejo de pri-ilegios, especi*icar restricciones e implementar medidas de seguridad en el control de acceso. SQL-89 $n 0123, el Instituto 4acional 4orteamericano de 4ormali#acin (54SI public las primeras normas para la sinta6is y sem!ntica de S&(. $n 0121, el mismo organismo 54SI de*ini el S&(21, basado en el anterior, pero la de*inicin de cla-es primarias, integridad de datos, etc, pero la principal caracter%stica de esta -ersin *ue la poder utili#arse en *orma interacti-a o dentro del conte6to de una aplicacin.

SQL92 o SQL2 $n 0117, S&(817 *ue desarrollado por el comit9 t9cnico del 54SI: 4CI;S <7, "uien ten%a como responsabilidad el desarrolla de est!ndares para la sinta6is y sem!ntica de los lenguajes de bases de datos, mejorando substancialmente las -ersiones anteriores. Estandares inter edios: CL!-9" $l est!ndar S&(=C(I (C(I por Call (e-el Inter*ace , cuya implementacin m!s conocida es el est!ndar >DBC (>pen Database Connecti-ity . #S$-9% $l est!ndar S&(=?SM (?SM por ?ersistent Stored Modules , el cual especi*ica la sinta6is de la lgica procedimental de los mdulos del ser-idor de S&(. &L'-98 $l est!ndar S&(=>(B (>(B por >bject (anguage Bindings pro-ee la +abilidad de incluir comandos de S&( en programas de @a-a y est! basado en el el dri-er @DBC. SQL99 o SQL( 5l *inal de los 1A/s, los Sistemas Manejadores de Bases de Datos >rientados a >bjetos >>DBMS y los Sistemas Manejadores de Bases de Datos Relacionales (>RDBMS dejaron de estar en con*licto, cuando mejoraron las *unciones o*recidas por los >>DBMS y mejoraron sus *acilidades para soportar un lenguaje de consulta declarati-o (con la de*inicin de >&( B >bject &uery (anguage, "ue es muy parecido a S&(8C . (as principales di*erencias en estos productos actualmente se concentran en los siguientes aspectos: (os >>DBMS pro-een persistencia para los objetos creados con los lenguajes >>, como @a-a, CDD y SmalltalEF los programadores de*inen clases y crean objetos de esas clases.

$n los >RDBMS se introduce un 5?I separada (basado en S&( para manipular los datos almacenados, las de*iniciones de clase se deben GHmapearI a los tipos de datos soportados por el sistema de base de datos. $n 0111, despu9s de la secuencia de est!ndares intermedios mencionados anteriormente, es aceptado y publicado el S&(C o S&(:0111, participando en su diseo las dos organi#aciones o*icialmente acti-as en la estandari#acin de S&(: 54SI e IS> (International >rgani#ation *or Standardi#ation .
SQL 2003

$n el ao 7AAC sali un nue-o estandar de S&(, S&(:7AAC, el cual introduce la nocin de JM( y estandari#a los generadores de secuencias o -alores auto generados, esto incluye columnas "ue se utili#an como identi*icadores. S"lC incluye ?SM (?ersistent Stored Modules . 5lgunos lenguajes para bases de datos: K &B$ (&uery By $6ample . (enguaje de c!lculo de dominios.(enguaje de manipulacin de datos basado en c!lculo relacional de dominios. K Datalog (Database (ogic .8 es un lenguaje lgico desarrollado para el modelo relacional. Datalog sin recursin tiene el mismo poder e6presi-o "ue el !lgebra relacional. Datalog recursi-o permite e6presar consultas. Datalog est! basado en ?rolog, en su sinta6is, pero su sem!ntica operacional es distinta, ya "ue re"uiere de librer%as especiales para poder implementarse. K S&( (Structured &uery (anguage . (enguaje relacional est!ndar de *acto superconjunto del !lgebra relacional. Co )onentes del SQL $l lenguaje S&( est! compuesto por comandos, cl!usulas, operadores y *unciones de agregado. $stos elementos se combinan en las instrucciones para crear, actuali#ar y manipular las bases de datos.

*i)os de +atos: Re*erente a los -alores lgicos ;rue o Lalse, no son reconocidos en >R5C($, ni en S&(8 S$R)$R $6isten los campos de tipo ISI=4>I de 5CC$SSF en estos sistemas se utili#an los campos BI; "ue permiten almacenar -alores de A 0. Internamente, 5CC$SS, almacena en estos campos -alores de A 80, as% "ue todo se complica bastante, pero apro-ec+ando la coincidencia del A para los -alores L5(S$, se puede utili#ar la sinta6is siguiente "ue *unciona en todos los casos: si se desea saber si el campo es *also I... C5M?> M AI y para saber los -erdaderos IC5M?> NO AI *i)os de +atos Sin,ni os BI45RP BI; (>QIC5( (>QIC5(0 P$S4> BP;$ C>'4;$R C'RR$4CP D5;$;IM$ ;IM$ ;IM$S;5M? SI4Q($ I$$$SI4Q($ R$5( D>'B($ L(>5;2 I$$$D>'B($ 4'MB$R 4'M$RIC S<>R; SM5((I4; (>4Q I4;$Q$R I4;$Q$RR (>4QBI45RP >($>B@$C; (>4Q;$J; M$M> 4>;$ ;$J; C<5R C<5R5C;$R S;RI4Q )5RC<5R )5RI54; (4o 5dmitido )5RBI45RP B>>($54

I4;$Q$R0 5';>I4CR$M$4; M>4$P D5;$ L(>5;R L(>5;

I4;$Q$R7 I4; Q$4$R5( (>4QC<5R 5(?<54'M$RIC

)5('$

Co andos $6isten dos tipos de comandos S&(: K K (os D(( "ue permiten crear y de*inir nue-as bases de datos, campos e %ndices. (os DM( "ue permiten generar consultas para ordenar, *iltrar y e6traer datos de la base de datos. Co andos +LL: Create 5lter Drop Co andos +$L: Select Insert Delete 'pdate Consultar 5gregar registro $liminar registro Modi*icar registro crear modi*icar eliminar

Cl-usulas utili.adas en la e/aluaci,n de condiciones: Lrom (identi*icacin de las tablas "ue se utili#ar!n en la e6presin

S+ere (permite establecer una condicional dentro de una e6presin Qroup by (permite agrupar una consulta <a-ing (se utili#a con group by para aplicar un *iltro en la in*ormacin agrupada >rder by (se utili#a para ordenar el resultado de una consulta

&)eradores: 54D >R 4>; B$;S$$4 (IT$ I4 (operador lgico (operador lgico (operador lgico (se utili#a para establecer un rango o inter-alo de -alores (permite especiali#ar una condicin (especi*ica condiciones en registros o se utili#a en subconsultas

N, O, NO, OM, NM, M 0unciones de agregado o es)eciales: 5)Q C>'4; S'M M5J MI4 (obtiene el promedio (obtiene el total de registros de una tabla (obtiene el resultado de la suma de -alores de un campo (obtiene el -alor m!s alto del campo especi*icado (obtiene el -alor m!s bajo del campo especi*icado

#redicados de consultas: 5(( ;>? DIS;I4C; (regresa todos los campos de la tabla especi*icada (regresa un los primeros n registros de una tabla o de una consulta (>btiene solamente un registro con el -alor especi*icado en un campo del ($-ita repeticiones tomando en cuenta todos los campos del registro

registro, omitiendo otras tuplas "ue contengan el mismo -alor en el mismo campo DIS;I4C;R>S

Algunas reglas sint-cticas 1-sicas de SQL: (os retornos de carro, tabuladores y espacios en blanco no tienen ning,n signi*icado especial a la +ora de la ejecucin de sentencias. (as listas de objetos est!n delimitados por comas (, cuando es necesario, y se pueden utili#ar par9ntesis para agruparlos. $l (enguaje de ?rogramacin o Sistema Qestor de Base de Datos "ue permita implementar el S"l incrustado, respetar! la sinta6is de S&( en *orma general, pero pueden presentarse algunas -ariaciones. S&( no es sensible a may,sculas o min,sculas, e6cepto.en las cadenas "ue se almacenen en las tablas como -alores, y esto debe tomarse en cuenta al reali#ar operaciones de comparacin. $n S&(, las columnas de*inidas como cla-es primarias no pueden aceptar -alores nulos.

You might also like