Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
)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.