Está en la página 1de 38

Lenguaje SQL de Bases de Datos Objeto-Relacionales, BDOR, y XML

IMPLEMENTACION DE BASE DE DATOS

DONAYRE CHACALTANA, Robert HUAMANI HUAMANCHA, Kety Gricelda ROJAS PURAY, Carlos Eugenio

VII-S1 ING. DE SISTEMAS UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA

INDICE
1. Introduccin a los Lenguajes de la Tecnologa Relacional. 2. SQL. Lenguaje de Definicin de Datos, DDL. 3. Sintaxis BNF en la creacin de una tabla.
5.1 Pre-compilacin y ejecucin de un mdulo SQL embebido en un lenguaje

anfitrin (host).
5.2 SQL. Lenguaje de Manipulacin de Datos, DML

5.3 Insertando registros. 5.4 Recuperacin de registros 5.5 Filas duplicadas. 5.6 Ordenando los resultados. 5.7 Renombras columnas. 5.8 Columnas calculadas. 5.9 Consultas con condiciones. 5.10 Contraste de comparacin. 5.11 Contrastes de rango. 5.12 Contraste de correspondencia con patrn. 5.13 Contrastes de valor nulo. 5.14 Contrastes compuestos. 5.15 Combinacin de consultas. 4. Condiciones para utilizar el operador UNION: 5. SQL. Lenguaje de Definicin de Vistas.. 6. Estndares SQL:2005 y SQL:2008 r2 7. ESTANDARES SQL Server 2008 R2 Standard Edition 8. SOCKETS 9. SQL: 2008 Norma Internacional ISO 10. SQL:2003. Modelos de Datos Objeto-Relacional y SQL/XML. 11. Tecnologa actual de Bases de Datos. 12. Tecnologas y especificaciones recientes de SQL/XML

Lenguaje SQL de Bases de Datos Objeto-Relacionales, BDOR, y XML


1. LENGUAJE DE Tecnologa relacional En los primeros das de la informtica, el proceso de la informacin se realizaba en enormes

sistemas mainframe y el acceso a los datos estaba, en gran medida, limitado a los profesionales de la TI. Las bases de datos tendan a ser de cosecha propia, y recuperar los datos de forma efectiva requera un profundo conocimiento de la base de datos. Si un usuario quera un informe especial, generalmente tena que solicitarlo a un departamento central, siempre saturado de trabajo, y que normalmente no estaba disponible a tiempo para influir sobre las decisiones.

Aunque la tecnologa relacional se desarroll originalmente en la dcada de 1970 en mainframes, continu en gran parte como proyecto de investigacin hasta sus primeras apariciones en la dcada de 1980 en miniordenadores. Con la llegada de los PCs, el mundo pas a una era de la

informtica ms "centrada en el usuario con generadores de informes ms agradables para el

usuario basados en SQL (el lenguaje de consulta introducido por la tecnologa relacional). Los usuarios ya podan producir sus propios informes y consultas ad-hoc de la base de datos, y el uso de la tecnologa relacional se dispar. El lenguaje SQL permite utilizar un lenguaje uniforme para hacer preguntas sobre una amplia variedad de datos. SQL funciona estructurando los datos de una forma muy sencilla y estndar: creacin de un lenguaje de consulta elegante con el que hacer preguntas, llevaba consigo un una tabla bidimensional con filas y columnas. Aunque este sencillo modelo de datos permita la pesado lastre. La complejidad inherente a las relaciones entre datos del mundo real no se adapta de forma natural al simple formato de filas y columnas, as que los datos a menudo se fragmentan en muchas tablas que deben unirse ("join") para llevar a cabo incluso tareas muy sencillas. Esto necesidad de hacer uniones ("join") de muchas tablas (que a menudo tienen uniones externas tienen que manejar datos complejos puede ser enorme.

provoca dos problemas: a) puede resultar muy complicado escribir las consultas debido a la complejas), y b) la carga general de proceso necesaria cuando las bases de datos relacionales

SQL se ha convertido en el estndar para la interaccin con las bases de datos y para las

herramientas de generacin de informes. Sin embargo, es importante sealar que aunque SQL ellas. Cach soporta SQL estndar como lenguaje de consulta y actualizacin utilizando una tecnologa de base de datos multidimensional mucho ms slida y se ha ampliado para incluir posibilidades de objetos.

surgi a partir de las bases de datos relacionales, no tiene porque estar restringido por

2. SQL.LENGUAJE DE DEFINICION DE DATOS (DDL) sintaxis en BNF (DDL) Un lenguaje de definicin de datos (Data Definition Language, DDL por sus siglas en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definicin de las estructuras que almacenarn los datos as como de los procedimientos o funciones que permitan consultarlos.

A diferencia de muchos lenguajes de descripcin de datos, SQL utiliza una coleccin de verbos imperativo cuyo efecto es modificar el esquema de la base de datos, aadiendo, cambiando o eliminando las definiciones de tablas y otros objetos. Estas declaraciones se pueden mezclar libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente. La declaracin ms comn es CREATE TABLE. El lenguaje de programacin SQL, el ms difundido entre los gestores de bases de datos, admite las siguientes sentencias de definicin: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos. Las principales funcionalidades de SQL como lenguaje de definicin (DDL) son la creacin, modificacin y borrado de las tablas que componen la base de datos, as como de los ndices, vistas, sinnimos, permisos, etc. que pudieran definirse sobre las mismas. Este documento introduce los comandos para el trabajo bsico con tablas.

3. Sintaxis BNF en la creacin de una tabla. CREATE [ {GLOBAL | LOCAL} TEMPORARY] TABLE <nombre de tabla> ( <definicin de columna> | <definicin de restriccin de tabla>[, <definicin de columna> | <definicin de restriccin de tabla>]);

<definicin de columna> ::= <nombre columna>{<tipo de dato>|<nombre dominio>} [<clusula de defecto>] [<restriccin de columna>] <tipo de dato>::= CHAR[ACTER] | SMALLINT | INTEGER | DECIMAL | NUMERIC | REAL | FLOAT | DOUBLE PRECISION | CHARACTER VARYING | DATE | TIME | BIT | TIMESTAMP | INTERVAL | BIT VARYING <clusula de defecto>::= DEFAULT {<literal>|<funcin de valor tiempo/fecha> | USER | SYSTEM | NULL } <restriccin de columna>::= NOT NULL | <especificacin de unicidad> |

<especificacin de referencia> | <restriccin de verificacin> <especificacin de unicidad>::= UNIQUE | PRIMARY KEY (<nombre columna> [, <nombre columna>] ) NOTA: UNIQUE se emplea para especificar las claves alternativas FOREIGN KEY (<nombre columna> [, <nombre columna>] ) REFERENCES <nombre tabla> [ (<nombre columna> [, <nombre columna>] ) ] [ { ON UPDATE | ON DELETE } CASCADE | SET NULL | SET DEFAULT ] <especificacin de referencia>::= <restriccin de verificacin>::= CHECK (<condicin de bsqueda>) NOTA: se utiliza para expresar una condicin que deben cumplir un conjunto de atributos de la tabla <definicin de restriccin de tabla>::= [<nombre de definicin de restriccin>] <especificacin de unicidad> | <especificacin de referencia> | <restriccin de verificacin>

4. PRE-COMPILACION Y EJECUCION DE UN MODULO SQL EMBEBIDO EN UN LENGUAJE ANFITRION (HOST)

5. Lenguaje de manipulacin de datos (DML). Como ya hemos comentado el lenguaje de manipulacin de datos que permite gestionar la informacin de las bases de datos. Las sentencias principales de este lenguaje son:

SELECT INSERT UPDATE DELETE

En esta unidad comenzaremos explicando la sentencia INSERT que nos permite aadir registros a nuestras tablas, de modo que luego podamos realizar nuestros ejemplos de la sentencia SELECT con los registros que vamos a aadir. 5.1 Insertando registros. La sentencia INSERT se utiliza para aadir nuevos registros a las tablas. Su sintaxis es la siguiente: INSERT INTO nombre_tabla (columna1, columna2,..., columnaN) VALUES (valor1, valor2, ..., valorN) En la sintaxis vemos que introducimos el nombre de la tabla en la que vamos a aadir las siguientes valores para las columnas que especificamos entre parntesis. La lista de valores que vamos a introducir se colocan entre parntesis despus de la sentencia VALUES. El orden debe corresponder con el de las columnas. En caso de introducir un valor no vlido en alguna de las columnas se produce un error y el registro no se aade. Vamos a aadir dos vehculos a nuestra tabla Vehculos:

En la segunda sentencia no hemos introducido las columnas en las que vamos a incluir los datos, ya que si vamos a aadir valores para todas las columnas de un registro, no es necesario indicar las columnas. Observa que los valores de cadena se introducen con comilla simple y no dobles. Debes recordar que si una columna es autoincremental no debemos especificar el valor aqu tampoco. Si todo ha ido correctamente, SQL Server nos indica el nmero de columnas que se han visto afectadas:

Vamos a aadir los registros para nuestro ejemplo: Oficinas y Empleados:

Reservas:

5.2 Recuperacin de registros. La sentencia SELECT permite obtener la informacin almacenada en nuestras tablas. Su sintaxis general es la siguiente: SELECT <columnas> FROM tablas Despus de la sentencia SELECT se introducen el nombre de las columnas a las que queremos acceder, en caso de estar consultando varias tablas se introduce primero el nombre de la tabla a la que pertenece la columna y se separa con un punto del nombre de la columna: nombre_tabla.nombre_columna Si vamos a acceder a todas las columnas de la tabla se utiliza el operador *. Seguido de la clusula FROM se introducen el nombre de las tablas a las que vamos a acceder separndolas con una coma.

Si por ejemplo queremos recoger todos los registros de nuestra tabla empleados:

Y si nos interesa nicamente los nombres y apellidos de nuestros empleados:

5.3 Filas duplicadas. Una consulta que incluye una clave primaria, los resultados obtenidos sern nico, pero si tenemos el caso de que una consulta no incluye una clave primara puede darse el caso de obtener filas repetidas.

Si por ejemplo listamos el campo codOficina de la tabla empleados obtenemos:

Si aadimos la clusula DISTINCT, evitamos la duplicacin de resultados:

5.4 Ordenando los resultados. Tenemos la posibilidad de ordenar los resultados que obtenemos mediante la clusula ORDER BY. Adems podemos indicar si deseamos que se ordene de modo ascendente (ASC) o descendente (DESC). Por defecto se ordena en modo ascendente.

Si deseamos ordenar por ms de un campo, podemos separas las expresiones de ordenacin por comas. En el siguiente ejemplo mostramos el salario y el nombre del empleado, ordenados en orden descendente por salario y en caso de coincidir por orden ascendente del nombre. Observa la posicin de las filas 6 y 7 como han quedado ordenadas al coincidir el salario:

5.5 Renombras columnas. Mediante la clusula AS, podemos utilizar en la salida de columnas de resultado, nombre distintos a los reales dados en las tablas. Lo que hacemos es dar un alas para distinguir una determinada columna con un nombre modificado. SELECT nombre_columna AS 'Nuevo_nombre' FROM tabla En el siguiente ejemplo renombramos la columna nombre con Empleado, observa como en la zona de resultados se modifica:

5.6 Columnas calculadas. Con SQL podemos utilizar columnas que son el resultado de una serie de operaciones. En el siguiente ejemplo, duplicamos el salario de los empleados y le damos el nombre de Salario2:

Tambin podemos realizar operaciones entre columnas. En este ejemplo unimos el nombre del empleado y su apellido mediante un guin:

5.7 Consultas con condiciones. La clusula WHERE permite introducir una serie de condiciones sobre los valores de los campos de los registros, para recoger slo aquellos registros que cumplan esa condicin. Estas condiciones suelen denominarse contrastes de comparacin. Tenemos los siguientes contrastes de comparacin: Contraste de Descripcin: de Comparan el valor de una expresin con el valor de otra. lmites. Comprueba si el valor se encuentra entre unos de Comprueba si el valor de una expresin

comparacin: Contraste comparacin Contrastes de rango Contrastes grupo.

pertenencia Contrastes patrn. nulo.

un pertenece a un determinado grupo.

correspondencia

de dado.

de Comprueba si los datos cumplen con un patrn

Contrastes de valor Comprueba si alguna de las columnas contiene el valor nulo.

Contraste de comparacin. Con estas condiciones SQL compara los valores dados entre dos expresiones para cada registro. Los operadores de comparacin que tenemos a nuestra disposicin son: Operador: = < > <= >= <> La sintaxis es la siguiente: SELECT <columnas> FROM <tablas> WHERE expresion1 operador expresion2 En el siguiente ejemplo se muestran todos los empleados que superen un salario mayor o igual que 1200: Descripcin: Compara si los valores son iguales. Compara si una expresin es menor que otra. Compara si una expresin es mayor que otra. Compara si una expresin es menor o igual que otra. Compara si una expresin es mayor o igual que otra. Compara si las dos expresiones son distintas.

5.8 Contrastes de rango. El contraste de rango comprueba si un valor se encuentra entre dos valores determinados. Para realizar esta comparacin contamos con la clusula Between...AND Como ejemplo vamos a mostrar aquellos empleados nacidos entre el 1 de enero de 1960 y el 31 de diciembre de 1969:

5.9 Contraste de pertenencia a un grupo. Este tipo de condicin comprueba si el valor de una determinada expresin aparece en una lista de valores determinada. Para esta tarea utilizaremos la clusula IN En el siguiente ejemplo mostramos aquellos empleados que tengan un salario que coincida con la siguiente lista de valores: {1000, 1200}

5.10

Contraste de correspondencia con patrn.

Este tipo de consultas devuelve los registros para el que el valor de una columna de texto se corresponde con una expresin dada. La clusula LIKE, permite este tipo de comparaciones, y utiliza el operador % como comodn. El smbolo % se sustituye por cualquier conjunto de caracteres. En el siguiente ejemplo mostramos aquellos trabajadores que comiencen por la letra R:

Ahora modificamos la consulta para mostrar aquellos empleados donde su apellido aparezca la letra R, sin importar donde:

Otro comodn que utiliza la clusula LIKE es el guin bajo '_' que representa la posicin de un carcter. El smbolo % permite cualquier nmero de caracteres, y toma como coincidencia la ausencia de caracteres, en cambio el smbolo '_' permite slo un nico carcter coincidente. En el siguiente ejemplo se obtienen los registros de la tabla Empleados cuyo campo Apellidos contenga una cadena donde la segunda letra sea una 'a':

5.11

Contrastes de valor nulo.

La clusula IS NULL devuelve aquellos registros que tienen una columna determinada con valor nulo, para la operacin opuesta tenemos la clusula IS NOT NULL. En el siguiente ejemplo se muestra aquellos empleados que no tienen un valor nulo en campo codOficina, es decir aquellos empleados que tienen asignada una oficina (en este caso todos).

5.12

Contrastes compuestos.

Es muy frecuente el uso de consultas que requieren ms de una condicin de bsqueda. Los operadores AND, OR y NOT, pueden combinarse para unir condiciones que utilicen las reglas de la lgicas para obtener un nico resultado. En el siguiente ejemplo se muestran aquellos empleados que tengan un salario superior a 1200 y hayan nacido antes de la fecha '01/01/1970':

5.13

Combinacin de consultas.

Mediante la clusula UNION podemos unir los resultados de dos o ms tablas en una nica tabla. En el siguiente ejemplo mostramos en una nica tabla los salarios de los empleados y los kilmetros realizados en las reservas de vehculos:

Puedes ver que toma como nombre de columna el de la primera consulta, en este caso salario. Por defecto este tipo de consultas elimina los valores duplicados, para evitar esto podemos aadir el operador ALL a la clusula UNION como ves en el siguiente ejemplo:

5.14

Condiciones para utilizar el operador UNION:

Las consultas que se utilicen con el con UNION deben tener el mismo nmero de expresiones.

Las columnas devueltas como resultado de las consultas utilizadas con el operador UNION deben ser del mismo tipo de datos, o tener la posibilidad de convertir los tipos de datos de modo implcito o explcito.

Las columnas del conjunto de resultados de una consulta debe coincidir con el orden de otra, ya que el operador UNION compara por orden.

Los nombres de columna de la tabla que obtenemos de UNION se toman de la primera consulta individual.

6. vistas en SQL
Muchas bases de datos relacionales que se utilizan en aplicaciones del mundo real tienen esquemas complejos y formados por muchas tablas. En ocasiones, es conveniente que algunos grupos o perfiles de usuarios tengan una vista parcial de ese esquema, o que tengan una visin de Precisamente para estos casos, el lenguaje SQL permite definir vistas. la misma con una estructura diferente a la del esquema que realmente est almacenado.

Una vista es esencialmente una consulta almacenada que devuelve un conjunto de resultados y a esquema, aunque realmente no lo es. 6.1 Sintaxis La sintaxis general para crear una vista es la siguiente: CREATE VIEW view_name [(column_list)] AS sentencia_select

la que se le pone un nombre. Una vista es una tabla virtual, aparece como una tabla ms del

La idea es muy simple, solamente le damos nombre (view_name) a una consulta. Opcionalmente, etiquetas en column_list. Un ejemplo Tomemos como ejemplo una aplicacin muy simple de gestin de pedidos en un supermercado virtual. El esquema relacional sera el siguiente.

los atributos de la relacin resultante de la sentencia_select pueden renombrarse mediante

en ese esquema, la informacin aparece descompuesta en tablas. Sin embargo, para un usuario en un departamento de marketing, podra ser que le fuese ms til tener la informacin de las ventas de los productos acumuladas, simplemente. CREATE VIEW resumenproductos AS select p.id, p.nombre, sum(cantidad) AS total from producto as p, lineas_pedido as l where (l.producto = p.id) group by l.producto order by total desc Despus de definir la vista, podremos utilizar resumenproductos como si fuese una tabla ms. Por ejemplo la sentencia:

select * from resumenproductos Nos devolver el resultado de la consulta que define la vista. Como segundo ejemplo, puede que una persona en Contabilidad solamente necesite el resumen una subconsulta correlacionada:

econmico de los pedidos. En ese caso, podremos definir una vista como la siguiente utilizando

CREATE VIEW resumenpedidos (usuario, nombre, pedido, fecha, total) ASSELECT LINEAS_PEDIDO c.usuario as x WHERE (x.cliente = p.cliente)

c.usuario, c.nombre, p.numpedido, p.fecha, (SELECT SUM(precio*cantidad) FROM (x.pedido=p.numpedido))FROM CLIENTES as C, PEDIDOS as PWHERE p.cliente = and

El resultado sera como el siguiente: usuario nombre agarcia jlopez jlopez Juan Lopez Juan Lopez pedido fecha 1 2 total

Ana Garcia 1

2008-11-05 40 2008-02-10 65 2008-02-11 null

Ntese que cuando un pedido no tiene lneas asociadas, aparecer un nulo en la subconsulta. La consulta puede hacerse tambin mediante agrupamiento con la siguiente consulta:

SELECT c.usuario, c.nombre, p.numpedido, p.fecha, sum(cantidad*precio) FROM clientes as c, pedidos as p, lineas_pedido as l WHERE (c.usuario = p.cliente) and (p.cliente = l.cliente) and (p.numpedido=l.pedido) GROUP BY p.cliente, p.numpedido En este caso se evita la aparicin de nulos, ya que la clusula GROUP BY no crear un subgrupo en el caso de que no haya lneas de pedido.

Lgicamente, los beneficios de las vistas se obtienen al combinar su definicin con el sistema de

permisos del gestor de base de datos. Siguiendo el ejemplo, daramos permiso a los usuarios en sobre resumenpedidos. 6.2 La representacin de las vistas

Marketing sobre la vista resumenproductos, y permisos a los usuarios de Contabilidad

Dado que las vistas aparecen como tablas, pueden aparecer en otras consultas. Es importante tener esto en cuenta cuando se estn diseando consultas, dado que puede afectar al rendimiento. Para representan internamente las vistas. ello, algunos gestores de bases de datos tienen sintaxis extendidas para controlar cmo se

Por ejemplo, MySQL tiene una clusula ALGORITHM que puede acompaarse de tres valores: MERGE,TEMPTABLE o UNDEFINED, con el siguiente significado:

Con MERGE, el texto de las sentencias que hagan referencia a una vista se fusiona con el texto de la definicin de la vista, de modo que las partes de la definicin de la vista reemplazan a las partes correspondientes de la sentencia. Con TEMPTABLE, los resultados de la vista se recuperan en una tabla temporal, que se usa despus para ejecutar la consulta.

El uso de TEMPTABLE consume un espacio temporal adicional, pero puede tener un mejor rendimiento ya que despus de hacer la copia de los datos en la tabla temporal, se usa sta y se libera la tabla o tablas originales.

7. Tipos de Datos
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinnimos vlidos reconocidos por dichos tipos de datos Tipos de datos primarios:

Tipo de Datos BINARY

Longitud 1 byte

Descripcin Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario. Valores Si/No True/False Un valor entero entre 0 y 255. Un nmero incrementado automticamente (de tipo Long) Un entero escalable entre 922.337.203.685.477,5808 y

BIT BYTE COUNTER CURRENCY

1 byte 1 byte 4 bytes 8 bytes

922.337.203.685.477,5807.

DATETIME SINGLE

8 bytes 4 bytes

Un valor de fecha u hora entre los aos 100 y 9999. Un valor en punto flotante de precisin simple con un rango de 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10-45 a 3.402823*1038 para valores positivos, y 0.

DOUBLE

8 bytes

Un valor en punto flotante de doble precisin con un rango de 1.79769313486232*10308 a -4.94065645841247*10-324

para

valores

negativos,

4.94065645841247*10-324

1.79769313486232*10308 para valores positivos, y 0. SHORT LONG LONGTEXT 2 bytes 4 bytes Un entero corto entre -32,768 y 32,767. Un entero largo entre -2,147,483,648 y 2,147,483,647.

1 byte por De cero a un mximo de 1.2 gigabytes. carcter Segn

LONGBINARY

necesite

se De cero 1 gigabyte. Utilizado para objetos OLE.

TEXT

1 byte por De cero a 255 caracteres. caracter siguiente tabla

La

recoge

los

sinonimos

de

los

tipos

de

datos

definidos:

Tipo de Dato BINARY

Sinnimos VARBINARY BOOLEAN

BIT

LOGICAL YESNO

LOGICAL1

BYTE COUNTER CURRENCY

INTEGER1 AUTOINCREMENT MONEY DATE TIME TIMESTAMP

DATETIME

SINGLE

FLOAT4 REAL FLOAT

IEEESINGLE

FLOAT8 DOUBLE

IEEEDOUBLE NUMBER NUMERIC

SHORT

INTEGER2

SMALLINT INT

LONG

INTEGER INTEGER4 GENERAL OLEOBJECT LONGCHAR MEMO NOTE ALPHANUMERIC CHAR

LONGBINARY

LONGTEXT

TEXT

CHARACTER STRING VARCHAR

VARIANT (No Admitido) VALUE

8. ESTANDARES SQL Server 2008 R2 Standard Edition Al llevar a cabo la administracin de una base de datos, tus clientes podrn notar varios ocasiona prdida de tiempo y recursos.

beneficios, ya que con esto tendrn ms estabilidad, eficacia y menos informacin duplicada, que

SQL 2008 R2 permite la administracin de una base de datos, donde encontrarn una plataforma moldeable a las necesidades de tus clientes, ya sea una pequea, mediana o gran empresa. Al genere su negocio con recursos mnimos de IT. contar con este servicio, tus clientes podrn administrar de manera eficaz toda la informacin que

SQL 2008 R2 cuenta con las siguientes versiones para satisfacer mejor las necesidades de tus clientes:

Developer Web

Express downloader Workgroup Standard Enterprise

Y las ediciones Premium incluyen:


Parallel Data Warehousing Datacenter

HP ofrece la concesin de licencias OEM para las ediciones Standard y Workgroup, al adquirir un nuevo servidor.

La versin Standard cuenta con las siguientes caractersticas:


Procesamiento de actividades complejas, con soporte bsico en StreamInsight y ahorro de tiempo

Compresin de datos, para reducir en un 60% de la cantidad de informacin almacenada Administracin de ejemplares para aplicaciones y Multi-servidores

La versin Workgrop cuenta con:


Administracin de datos de manera segura

Y la plataforma de reportes, para llevar a cabo una sincronizacin remota de alta seguridad y la administracin de aplicaciones Branch

9. SOCKETS
La edicin Standard tiene la capacidad de utilizar hasta 5 sockets y 64GB de memoria RAM, mientras que la edicin Workgroup soporta 2 sockets y 4GB de memoria RAM. Ambos pueden manejar 524 PetaBits de Informacin y ambos soportan hardware de 32 o 64 bits.

Todas las ediciones de Microsoft SQL 2008 R2 se encuentran disponibles en HP a travs de licencias por volumen. Las licencias OEM, se pueden adquirir ya sea por parte de HP o cualquiera cabo por socket o por servidor con las CALs. SQL: 2003 SQL: 2003 es la quinta revisin del lenguaje de consulta de base de datos SQL. La ltima revisin del estndar es SQL: 2008. de nuestros socios, en la compra de un Servidor ProLiant de HP. El licenciamiento se puede llevar a

El estndar SQL: 2003 hace pequeas modificaciones sobre la versin anterior, SQL: 1999(tambin conocido como SQL3), y oficialmente introduce algunas caractersticas nuevas como:

Las caractersticas relacionadas con XML Funciones de ventana Generador de la secuencia, lo que permite secuencias estandarizadas identidad de columnas (identity-columns) La nueva sentencia MERGE TABLE LIKE"

Dos nuevos tipos de columna: valores auto-generados (auto-generated values) y la

Ampliaciones de la sentencia CREATE TABLE, para permitir "CREATE TABLE AS" y "CREATE Eliminacin de los tipos de datos "BIT" y "BIT VARYING"

Documentacin disponible El estndar SQL no es de libre acceso. SQL: 2003 se pueden adquirir a partir de ISO o ANSI. A fines del proyecto est disponible como un archivo zip de Whitemarsh Information Systems Corporation. El archivo ZIP contiene una serie de archivos PDF que definen las partes de la especificacin SQL: 2003.

ISO/IEC 9075(1-4,9-11,13,14):2003 CD

ISO/IEC 9075-1:2003 Framework (SQL/Framework) ISO/IEC 9075-2:2003 Foundation (SQL/Foundation) ISO/IEC 9075-3:2003 Call-Level Interface (SQL/CLI)

ISO/IEC 9075-4:2003 Persistent Stored Modules (SQL/PSM)

ISO/IEC 9075-9:2003 Management of External Data (SQL/MED) ISO/IEC 9075-10:2003 Object Language Bindings (SQL/OLB) ISO/IEC 9075-11:2003 Information and Definition Schemas (SQL/Schemata) (SQL/JRT)

ISO/IEC 9075-13:2003 SQL Routines and Types Using the Java Programming Language ISO/IEC 9075-14:2003 XML-Related Specifications (SQL/XML)

10. SQL: 2008 Norma Internacional ISO El 17 de julio de 2008, la oficina de ISO en Ginebra comunic la aprobacin oficial de la ISO SQL:

2008 estndar, que sustituye a la actual ISO / ANSI SQL: 2003 estndar. El nuevo estndar est disponible para la compra de la ISO directamente (ya sea en PDF o en CD-ROM) en forma parcial por la parte .... aunque no es barato. Usted puede comprar el PDF en lnea de 9075:2008 Parte 2 (la Fundacin), fcilmente la mayor de las nueve partes de la norma, ya que slo 442,00 francos dlares, aunque las empresas miembros de ANSI obtener un descuento considerable (slo US $ 360,80 para la Parte 2).

suizos. La velocidad a la ANSI tienda en lnea es aproximadamente la misma en EE.UU. 451,00

Aqu est un breve resumen de las nuevas adiciones a SQL: 2008 Parte 2 (la Fundacin), que abarca la funcionalidad bsica de SQL fuera de las extensiones del lenguaje PSM (procedimientos almacenados). Estos se encuentran en "identificacin de la caracterstica" para:

B035: no extendidas nombres descriptor.

F122 y F123: extendi los mensajes de diagnstico.

F200: instruccin TRUNCATE TABLE. Ya son compatibles con SQL Anywhere.

F263: separados por comas clusulas WHEN de una expresin CASE. Esta caracterstica permite mltiples cuando los operandos que se especifica con un siguiente clusula THEN sola.

F313: una mayor instruccin MERGE. En SQL: 2008, MERGE ha sido ampliado para una condicin de bsqueda, que ofrece una mayor flexibilidad en la codificacin de los complejos MERGE para manejar conflictos de actualizacin. Todos los SQL: 2008 extensiones de MERGE ya compatibles con la versin Panorama de SQL Anywhere.

soportar mltiples clusulas coincidentes y coincidente no, cada uno acompaado por

F382: ALTER columna Tipo de datos "el tipo de datos" de forma explcita restablece el tipo de datos de cualquier columna de la tabla. F394: Caractersticas opcionales forma normal: prueba explcita de Unicode formas normales de los valores de cadena Unicode. F403: unir tablas con particiones.

F762: Nombre del catlogo actual como una variable del sistema.

F763: el nombre de CURRENT SCHEMA como una variable del sistema. regular.

F841: LIKE_REGEX predicado: concordancia de patrones utilizando una expresin XQuery F842: OCCURRENCES_REGEX funcin: una funcin de patrn de XQuery juego que cuenta los sucesos. F843: POSITION_REGEX funcin: una funcin de emparejamiento patrn de XQuery que devuelve la posicin de la cadena para el partido. F844: SUBSTRING_REGEX funcin: una funcin de subcadena utilizando patrones de XQuery. SQL Anywhere 11 es compatible con una funcin similar, REGEXP_SUBSTR, que utiliza Perl compatible con las expresiones regulares.

F845: TRANSLATE_REGEX funcin: la sustitucin de subcadena basada en la coincidencia de expresiones regulares XQuery. F846: Octeto de apoyo en las expresiones regulares. F847: no constantes expresiones regulares. F850 F855 a travs de: SQL: 2008 soporta ahora las clusulas ORDER BY en expresiones de consulta de alto nivel, subconsultas y puntos de vista, con el propsito de utilizar soportado por SQL Anywhere. FETCH FIRST (ver F856-9 abajo) clusulas dentro de cada uno. Esta funcionalidad ya est

F856 F859 a travs de: FETCH primera clusula de subconsultas, vistas y las expresiones de consulta. El SQL: 2008 sintaxis para restringir las filas de un conjunto de resultados es Anywhere soporta actualmente. FETCH FIRST, en lugar de arriba seleccione Microsoft SQL Server N equivalente que SQL

S098: funciones de agregacin sobre los tipos de matriz.

S301: clusula UNNEST mejorada de las tablas de cobro derivados (con tipos de filas).

T021: tipos de datos binary y varbinary, y los literales de cadena binaria T022: Soporte avanzado para BINARY y tipos de datos VARBINARY. T023: literales compuesto binario. T024: Los espacios en los literales binario. en SQL Anywhere 10.0.1.

T213: en lugar de los factores desencadenantes. EN VEZ de disparadores se introdujeron T285: Mejora de nombres derivados de la columna. constantes literales.

T043 y T044: T y P multiplicador multiplicador, respectivamente, para especificar T101: la determinacin de una mayor aceptacin de valores NULL }}

11. SQL:2003. Modelos de Datos Objeto-Relacional y SQL/XML. Tecnologa actual de Bases de Datos.
Usar XML en SQL Server La compatibilidad con XML est integrada en todos los componentes de SQL Server e incluye lo siguiente:

Compatibilidad con el tipo de datos XML. columnas y variables de tipo XML.

La capacidad de especificar una consulta XQuery con datos XML almacenados en Mejoras en OPENROWSET que permiten la carga masiva de datos XML.

Mejoras en la clusula FOR XML y la funcin OPENXML presentadas en SQL Server 2000. Descripcin

Tema

Representacin de tipo de Se describen las columnas de tipo XML en la base de datos AdventureWorks temas se especifican en estas columnas.

datos XML en la base de datos AdventureWorks. Las consultas con tipos de datos XML de varios Se describe el tipo de datos XML, el concepto de XML con tipo y sin tipo, y varios mtodos de tipo de datos XML.

Tipo de datos XML ndices en columnas de tipo de datos XML

Se describen los ndices XML principal y secundario de tipo XML. Se describe el concepto de la coleccin de esquemas XML, el DDL crear columnas y variables XML con tipo.

Administrar

esquemas XML en el servidor

colecciones

de

para crear, modificar o quitar la coleccin y su utilizacin para

Usar FOR XML y OPENXML Se describe la clusula FOR XML que se utiliza con la instruccin

para publicar y procesar datos SELECT para construir XML a partir de datos relacionales y XML OPENXML, y los que se pueden utilizar para consultar y dividir XML en un conjunto de filas.

Para obtener informacin acerca de la compatibilidad de XQuery en Microsoft .NET Framework, vea el tema sobre compatibilidad de XML y elaboracin de consultas XML en SQL Server que encontrar en la documentacin de .NET Framework.

El SQL/XML, o especificaciones relacionadas XML, es una extensin al estndar SQL es definido por el ISOIEC 9075-14:2003.

datos XML son introducidos, as como varias rutinas, funciones y mapeos de tipos de datos XML a SQL para proporcionar soporte para la manipulacin y almacenamiento de XML en una base de datos SQL.

Qu es SQL/XML?

QL/XML es un estndar ANSI, ISO que incorpora XML dentro del lenguaje SQL de bases de datos objeto-relacionales. SQL:2003 es el estndar para acceder y manejar datos de bases de datos objeto relacionales.

Las empresas y los usuarios necesitan integrar sus datos XML en sus bases de datos objetorelacionales, aprovechando las ventajosas facilidades de SQL. SQL/XML permite almacenar sus documentos XML en sus bases de datos objetorelacionales, para consultar dichos documentos mediante Xpath y Xquery y para publicar sus datos SQL en un formato de documentos XML FUNCIONES

-XMLELEMENT -XMLROOT

-XMLATTRIBUTES -XMLFOREST

-XMLCONCAT

-XMLNAMESPACES -XMLCOMMENT -XMLPI

-XMLDOCUMENT

-XMLAGG

12. Tecnologas y especificaciones recientes de SQL/XML

SQL with XML extensions (SQL/XML)Retrieve data as part of SQL database queries (2007) datos.

Tecnologa de IBM:

SQL/XML consiste en una coleccin de mdulos XML-related para el lenguaje SQL de bases de

SQL/XML (SQLX) : Generating XML using SQL in Oracle

Tecnologa de Oracle:

SQL/XML es una parte emergente de SQL. Describe las formas del uso de SQL en conjuncin con XML, definido por el grupo SQLX. Desde la versin 2 de Oracle 9i, se soportan diversas XSU de Oracle (XML-SQL-Utility)

caractersticas SQL/XML, que estn sometidas a cambios conforme evolucionan los estndares.

Novedades de SQLXML 4.0 SP1

Tecnologa de Microsoft:

Microsoft SQLXML 4.0 SP1 incluye varias actualizaciones y mejoras a partir de SQL Server 2008 para admitir los nuevos tipos de datos de SQL Server 2008. La versin ms reciente de SQLXML (SQLXML 4.0 SP1) ya no est incluida en SQL Server.

13. Funciones de publicacin XML

Otras funciones
XMLCOMMENT (comment content [RETURNING {CONTENT | SEQUENCE }]) Permite a la aplicacin generar comentarios XML.

XMLPI (NAME tartet {, string-expression ][RETURNING { CONTENT | SEQUENCE}]) Permite a la aplicacin crear instrucciones de procesamiento XML XMLCAST (value-expresion AS type)

Permite a la aplicacin convertir un valor (cualquier tipo XML o algn otro tipo) a uno de los tipos XML definidos en el segundo estndar.

XMLQUERY evala una expresin Xquery y devuelve el resultado a la aplicacin SQL. Al contrario que XMLCOMMENT y XMLPI, el valor devuelto por

XMLQUERY puede ser una referencia al resultado o una copia del valor