Sei sulla pagina 1di 10

SQL 3

1. ¿Qué es SQL3?

El SQL3 es una extensión del estándar de

bases de datos SQL92 que incluye soporte

para la administración de bases de datos

orientadas a objetos.

 SQL3 es un estándar para productos y no un

producto en sí.

 El SQL3 está fuera de la tradición de administración de Bases de datos, pero

está dentro de la de pensamiento de objetos. La meta de los comités que

trabajan en el SQL3 ha sido describir un estándar que logre la compatibilidad

con el SQL92. Esto significa que todas las características y funciones del

SQL92 también funcionan con el SQL3.

 El SQL3 es una facilidad de base de datos relacional con características de

objetos agregadas, en comparación con una nueva facilidad de bases de datos

orientadas a objetos.
En el SQL3 se incorporan tres (3) grupos de nuevas ideas, para que sea completo

desde el punto de vista computacional:

1.1.- Soporte para tipos de datos abstractos (ADT).

Es una estructura que define el usuario, la cual es equivalente a un

objeto OOP.

1.2.- Mejoras a las definiciones de las tablas.

El SQL3 amplía la definición de las tablas de muchas maneras:

 Las tablas SLQ3 tiene un identificador de renglones, el cual es un

identificador único de cada renglón de una tabla. Éste es igual a una llave

sustituta.

 Definición de tres tipos de tablas: CONJUNTO (no tiene renglones

duplicados), MULTICONJUNTO (puede tener renglones duplicados) y

LISTA (tiene un orden definido por una o más columnas).

1.3.- Extensiones a las construcciones de lenguaje.

Se añaden instrucciones de lenguaje que hacen posible desarrollar una

lógica de un renglón a la vez dentro del mismo SQL, lo que lo hace cada

vez más parecido a un lenguaje de programación tradicional.

Características del SQL3

 Tipos Base Extended

 Tipos ROW.

 Tipos definidos por el usuario.


 Rutinas definidas por el usuario.

 Subtipos y supertipos.

 Subtablas y supertablas.

 Tipos de referencia y la identidad del objeto.

 Tipos Colección.

Tipos base extended

 Video

 Imágenes

 AudioTexto

 Espacial

 Temporal

 Geográfica

 Página web

Nuevos Tipos de Datos

 Boolean

 CLOB (Objeto Caracter Grande)

 BLOB (Objeto Binario Grande)

Existe una declaración CREATE TYPE que les permite a los usuarios crear sus

propios tipos con su correspondiente instrucción DROP TYPE.

A su vez SQL 3 introduce dos nuevos operadores de agregado:

 EVERY - not ALL

 ANY
Nuevo predicado:

 SIMILAR

SELECT ALL FROM TABLE WHERE NAME SIMILAR TO ’(SQL-(86|89|92|99))|

(SQL(1|2|3))’

Tipos Collection

 List: Colección ordenada. Permite Duplicados.

 Array: Una dimensión única.

 Conjunto: Colección desordenada, sin duplicados.

 Multiset: Colección desordenada, permite duplicados.

Entre otras características se pueden mencionar:

 Consultas recursivas (recursión lineal).

 Mejora de la seguridad: roles.

 Disparadores como reglas activas: inserción, borrado y actualización

 Facilidades para BBDD distribuidas.

 Estructuras de control.

2. Ejemplos de sentencias y tipos de datos en SQL3.


2.1.- Ejemplos con el uso de campos Boolean.

2.2- Ejemplos con el uso de campos CLOB y BLOB.

2.3- Ejemplos con el uso de campos ARRAY.

2.4- Ejemplos con el uso de campos ROW.

2.5- Ejemplos con el uso de campos UDT.

2.6.-Ejemplo del uso de Triggers.

2.1- Ejemplos con el uso de campos Boolean.

En esta imagen podemos ver, que en SQL2, se trataba de emular este tipo de

campos, los diseñadores de BD, se las ingeniaban con campos enteros a los

cuales les asignaban 0 ó 1 , o con campos de texto, en donde se le asignaban

valores como "Sí" ó "No", entre otros.

Con la llegada del SQL3, ya se pueden usar los campos booleanos directamente,

sin ningún tipo artimaña para su manipulación.

Con este Create podemos observar cómo se

crea una tabla de inventario, con una serie

de campos y entre ellos definimos el campo


nacional como boolean.

Con este Select podemos observar

como se condiciona la selección de

los registros al colocarle que el

campo nacional = TRUE, con lo cual estaríamos seleccionado solo los productos

nacionales.

2.2- Ejemplos con el uso de campos CLOB y BLOB.

En esta imagen podemos ver, que como en SQL2, NO existían este tipo de

campos, los diseñadores de BD, se las ingeniaban con campos de texto, en donde

se le asignaban valores como la ruta en donde se encuentra la imagen y el nombre

de la misma, ó simplemente el nombre de la imagen y se destinaba un sitio

especifico para el almacenamiento de estas.

Con la llegada del SQL3, llegan los campos CLOB y BLOB, con los cuales podemos

almacenar extensas cadenas de textos e imágenes dentro de la base de datos.

Eso si, esto a acarreado una gran discusión entre los DBA, ya que algunos

prefieren seguir usando la metodología anterior, debido a: 1. Lo complicado de

manejar este tipo de campos. 2. Por lo que el almacenar las imágenes hace crecer

el tamaño de la base de datos.


Y los que si quieren usarlos, alegando, que de esta manera se mantiene la

integridad de los datos de la base de datos, ya que al tener la imagen almacenada

dentro, evita que si alguien elimina alguna imagen del disco, la integridad de los

datos se perdería.

Con este Create podemos observar cómo se crea

una tabla de documentales, con una serie de campos

y entre ellos definimos los campos resumen y

texto_doc como CLOB y el campo video_doc como

BLOB. En los dos primeros almacenaríamos el resumen del documental y en el

segundo, toda la información acerca del mismo, así como en el campo BLOB,

almacenaríamos el video del documental.

Con este Select podemos observar cómo,

con simplemente escribir un comando

conocido, podemos acceder a la

información almacenada.

2.3- Ejemplos con el uso de campos ARRAY.


En esta imagen podemos ver, que como en SQL2, NO existían este tipo de

campos, cuando un diseñador necesitaba almacenar la cantidad de piezas que se

vendían mensualmente de algún producto, creaba un campo para cada valor de

mes, tal como se observa en la imagen anterior.

Con la llegada del SQL3, llega el campo

Array, en el cual se puede almacenar varios

valores dentro de sí mismo, tal cual como si

se tratara de una variable tipo arreglo, en

la imagen podemos observar como en SQL3 solo se requiere de un solo campo

para reproducir lo deseado en el ejemplo con SQL2.Complementando el ejemplo

anterior, tendríamos:Con este Create podemos ver cómo se crea una tabla de

documentales, además de los campos mencionados anteriormente, ahora le

agregamos el campo autores que es un arreglo de 10, en el cual podríamos

almacenar hasta 10 autores de cada documental.Con este Insert podemos

observar cómo haríamos para ingresar los valores dentro del campo Array.

Con este Select podemos ver cómo haríamos

para seleccionar el primer valor del campo Array.

2.4- Ejemplos con el uso de campos Row.


En esta imagen podemos ver, que en SQL2, para almacenar los nombres y apellidos

por separado de una persona, se creaba un campo para cada uno y luego se hacia

referencia al que se necesitara.

Con la llegada del SQL3, llegan los campos ROW, con los cuales podemos crear

campos estructurados, y como podemos observar en la imagen, solo creamos un

campo, el cual contendra de manera separada cada uno de los datos de la persona.

Con este Create

podemos observar

como se crea una

tabla de clientes, en

donde tenemos el

campo nombre como ROW. Allí vemos como luego se tiene eldesglose de los nombres

y apellidos del cliente.

Con este Select podemos

observar como luego hacemos refrencia a una parte del campo nombre, en este caso

al primer apellido del cliente.

2.5- Ejemplos con el uso de campos UDT.

Con este Create Type podemos observar como

se crea una typo definido por el usuario.

Con este Create podemos observar como

se crea una tabla de clientes en donde su

campo nombre es del tipo del que acabamos de crear con anterioridad.Con este

Insert podemos observar como se almacenan los valores dentro de la tabla que posee

un campo definido por el

usuario.
7.6- Ejemplo del uso de Triggers.

Con esta imagen podemos observar como se crea un trigger en la tabla empleados,

de tal manera de que cada vez que alguien intente insertar o actualizar el salario de

una persona y dicho salario sea menor que el salario mínimo establecido, el trigger

establecerá que se cambie al mínimo.

Potrebbero piacerti anche