lunes, 15 de diciembre de 2008

jueves, 27 de noviembre de 2008

SQL Safe

Sql Safe
View SlideShare presentation or Upload your own.




ELaboraron:

Arredondo Lagunes Cesar Omar
Obispo Avila Jorge Alberto
Prieto Vergara Dalila
Resenzi Usacanga Alfredo

SQL Safe

A continuacion le presentamos una herramienta independiente de Microsoft para respaldar las bases de datos en SQL

El archivo se puede descargar desde el siguiente Link:

http://mx.briefcase.yahoo.com/bc/dosequipo/lst?.dir=/Investigaciones

Elaboraron:
Arredonde Lagunes Cesar Omar
Obispo Avila Jorge Alberto
Prieto Vergara Dalila
Resendiz Uscanga Alfredo

Seguridad en SQL Server 2008 (SQL Server Security)

El archivo se puede descargar desde el siguiente Link:

http://mx.briefcase.yahoo.com/bc/dosequipo/lst?&.dir=/Investigaciones&.src=bc&.view=l

Elaboraron: TODOS

La Seguridad en SQL Server 2008

Sql Server 2008 Copia Copia
View SlideShare presentation or Upload your own.



Mecanismos de Seguridad Integrados a SQL Server 2008


Elaboraron: TODOS

Presentacion de la Lectura 10 Seguridad e Integridad de las BD; Autor: Silverchatz

Seguridad e Integridad en las Bases de Datos

Este tema es similar al de la lectura 10, solo que es una investigacion basado en otro autor; en el trabajo de el Dr. Gustavo Ricardo Vasconi

El documento se puede descargar desde el siguiente Link:

http://mx.briefcase.yahoo.com/bc/dosequipo/lst?.dir=/Lecturas

Seguridad e Integridad de las Bases de Datos:





Presentacion del Dr.Gustavo Ricardo Vasconi Catedratico de la Universidad De Carabobo.


Elaboraron Todos

domingo, 2 de noviembre de 2008

Caso de Ejemplo

Un caso de ejemplo sobre la seguridad en las BD en el Consejo Nacional de Fomento Educativo (CONAFE)

El Archivo se puede descargar desde el siguiente enlace:

http://mx.briefcase.yahoo.com/bc/dosequipo/lst?.dir=/Investigaciones&.src=bc&.view=


Elaboraron: Todos

Lectura 10: Integridad y Seguridad de las BD

Lectura 10
Integridad y Seguridad en las BD

el archivo se puede descargar desde el siguiente enlace:

http://mx.briefcase.yahoo.com/bc/dosequipo/lst?.dir=/Lecturas&.src=bc&.view=


Elaboraron: Todos

lunes, 20 de octubre de 2008

Exposicion SQL Interactivo Autor: Cabrera










































































































































































































Parte 2
































































































































































































PARTE 3






















































































































































































































PARTE 4

































































































































































































Elaboraron: Todos




































miércoles, 8 de octubre de 2008

SQL Interactivo

Introducción

Los orígenes del SQL están 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 los datos basado en el cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que más tarde sería ampliamente implementado por el SGBD experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.

El SEQUEL terminaría siendo el predecesor de SQL, siendo éste una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos SGBD relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el SQL-86 o SQL1. Al año siguiente este estándar es también adoptado por la ISO.

Sin embargo este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideraron suprimir. Así que en 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado SQL-92 o SQL2.

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

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órica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que utilizas en un lenguaje de bajo nivel orientado a registro.

SQL Interactivo

Conceptos base del lenguaje

Características

El lenguaje SQL esta formado por tres tipos de caracteres: letras, dígitos y caracteres especiales. Las letras que corresponden con el alfabeto latino tanto en mayúsculas como minúsculas A, B. C, D, E, F. G. H. I, J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y, como también a b, c, d e, f g, h, i, j, k, etc.. Los dígitos son: 1,2, 3, 4, 5, 6, 7, 8, 9. Los caracteres especiales de SQL son: espacio en blanco y los comprendidos en el cuadro siguiente:

Módulos de utilización

Dependiendo de la forma de ejecutar el lenguaje SQL, existen diferentes modos de utilización: ejecución directa o SQL interactivo, SQL incrustado o embebido, módulos SQL-cliente, SQL dinámico, procedimientos invocados externamente, rutinas invocadas por SQL y sus funciones.

Ejecución directa o SQL interactivo

Las ordenes SQL se escriben en una línea de comandos, o se crean mediante un diseño, visual que las traduce a una sentencia SQL son inmediatamente ejecutadas por el sistema. En el caso de SQL Server, este modo viene implementado con la aplicación iSQL.

Modo Incrustado

Las ordenes SQL se escriben como parte del código de otro lenguaje anfitrión, ya sea ADA, C, C++, Fortran, Pascal o PL/I, delimitando las sentencias SQL mediante separadores especiales, de modo que cada unidad de compilación este formada por un código anfitrión y SQL. Una unidad de compilación es un segmento de código ejecutable, formado por uno o más subprogramas. Ada como lenguaje anfitrión contiene los pre compiladores SQL propios de la base de datos en la que se almacenan los datos.

Módulos SQL-cliente o procedimientos almacenados

Un modulo SQL-cliente es un objeto, de modo que las ordenes SQL se compilan aparte del código anfitrión y se enlazan (linkan) todos los programas objeto tanto SQL y anfitrión, creándose un ejecutable. Los módulos SQL-cliente se asocian a una unidad de compilación en tiempo de ejecución de modo que un único modulo puede estar asociado a varias unidades de compilación. El mecanismo de asociación entre módulos y los lenguajes a los que puede asociarse un módulo y la transferencia del control de unos a otros son definidos por el fabricante.

Dinámico

En muchos casos las instrucciones SQL a ejecutar incluyen en un modulo de SQL-cliente o en una unida de compilación usando SQL incrustado. En otros casos no se conoce cuando se escriben y ejecutan las órdenes SQL durante la ejecución de un programa. Los tipos de órdenes empleados en SQL dinámico comprenden instrucciones de los siguientes tipos:

Ü Prepare: Preparan el código SQL generado para su ejecución.

Ü Deallocate: Quitan la marca de preparación de las ordenes SQL preparadas.

Ü Describe. Contiene una descripción de los parámetros de entrada/salida dinámica.

Ü Select. Devuelve un conjunto de columnas coma resultado de una consulta dinámica.

Ü Execute: Asocia los parámetros de entrada a una orden prepare de modo que pueda ejecutarse.

Ü Declare cursor. Declara un cursor o tabla en memoria.

Allocate cursor, fetch, delete, update, openclose, son ordenes que pueden ejecutarse sobre cursores.

SQL Interactivo

Las ordenes pueden ser preparadas para su ejecución y mas tarde ejecutadas una o mas veces, pudiéndose eliminar, mediante deallocate o reléase, la orden preparada cuando no se necesite ejecutar mas.

El segundo modo consiste en ejecutar las órdenes directamente, sin prepararlas.

Procedimientos invocado externamente

Los procedimientos invocados externamente son rutinas, funciones o procedimientos de SQL, que contienen órdenes de tipo CALL y una clausula de nombre de lenguaje que define un lenguaje distinto de SQL.

Palabras predefinidas

Son las palabras propias del lenguaje SQL: DELETE., FROM, WHERE, LIKE, CREATE y otros, que se desarrollan a lo largo de los siguientes capítulos.

Nombres de objetos, tablas, columnas.

Son los identificadores asignados por los programadores o usuarios a tablas, campos, variables, procedimientos, etc. La mayor parte de los nombres de objetos se definen mediante una orden CREATE. Ejemplo de nombres de objetos son: nom_cli, imp_iva, etc.

Rutinas invocadas por SQL y funciones construidas

Las rutinas invocadas por SQL pueden ser dependientes de un tipo de datos definido por el usuario (UDT), si se crea durante la ejecución. En determinadas circunstancias los prediseñados, las especificaciones de tipo SET u otros elementos SQL pueden ser dependientes de rutinas invocadas por SQL.

Para definir una rutina invocada por SQL se necesitan, entre otros elementos, el nombre de la rutina y el nombre del lenguaje en que se implementa, siendo relativamente variable su implementación de unas bases de datos comerciales a otras.

Las ordenes SQL no poseen un formato especifico. Siempre empiezan por una palabra predefinida. Para separar ordenes se emplea el punto y coma ~;). Las órdenes SQL están formadas por los siguientes elementos: palabras predefinidas, nombres de objetos creados, constantes, delimitadores, operadores y datos.

Delimitadores

Son un subconjunto de caracteres que separan elementos de una sentencia SQL: espacio, coma, punto y coma, dos puntos, igual, paréntesis, apostrofes, comillas, etc. Su empleo depende de cada sentencia y de los objetos que contiene.

Operadores

Sirven para obtener nuevos datos a partir de uno ya existente. Se pueden localizar operaciones con números aritméticas, cadenas de caracteres, fechas, campos booleanos, binarios, etc.

La procedencia de los tipos de datos permite conocer el tipo de datos obtenido cuando se efectúan operaciones entre distintos tipos. Su orden, de mayor a menor, para SQL Server es: datetime, smalltime, float, real, decimal, money, smallmoney, int, smallint, tinyint, bit, ntext~ text, image, timestamp, nvarchar, varehar, ehar~ varbinary, binary, uniqueidentificator.

Los operadores de comparación devuelven un resultado booleano como resultado. Se han definido los siguientes operadores ANSI de comparación: igual (-), distinto (~>), mayor que (>), menor que (<), mayor 0 igual que (>=, menor o igual que (=).

Datos y Nulos

Un dato es una unidad de información con sentido en si misma que se almacena en un campo, una constante o una variable. Dependiendo del contenido de la información almacenada, los daros pertenecen a diferentes tipos: cadenas de caracteres, fechas o números entre otros.

Un valor nulo (NULL) es un valor no asignable en especial a un determinado tipo de datos, cuyo significado es: no se ah definido un valor previo para este dato; el valor de este dato es desconocido. Los valores nulos se diferencian de ceros y espacios en blanco, ya que en estos últimos casos se ah asignado información a un campo o dato correspondiente por lo que ese campo no ha sido utilizado.

Expresiones y Predicados

Una expresión es una combinación de operadores y operandos. Los operandos son contenedores de información, datos, constantes y variables y se ligan unos con otros mediante operadores.

Los predicados, expresiones contenidas en órdenes de SQL, permiten expresar condiciones en diferentes órdenes, obteniéndose un valor booleano. El resultado de la evaluación varía de las condiciones para cada registro.

Los predicados se clasifican en los siguientes tipos de comparación:

BETWEEN, IN, LIKE, NULL y los cuantificados que son EXIST, UNIQUE, MATCH, OVERLAPS, SIMILAR, DISTINCT y TYPE.

Tipos de Predicados

Comparación

Especifican una comparación entre dos valores. Los predicados de comparación están formados por 3 o 4 elementos: una expresión, una operación de comparación y el valor con el que se compara así mismo una expresión que al evaluarse devuelva un valor booleano.

BETWEEN

Especifican si un valor esta comprendido en un rango. Los predicados BETWEEN esta formados por una expresión a comparar, opcionalmente las clausulas NOT, la palabra BETWEEN, las clausulas opcionales son ASYMMETRIC o SYMMETRIC que son exlcluyentes entre si y ANDA es la de comparación.

IN

Especifican si un valor esta comprendido en una lista de valores declarada, es decir, especifican una comparación cualificada. Los predicados IN están formados por una expresión a comparar, opcionalmente la clausula NOT, la palabra IN, y para especificar la lista en la que se va a comparar el valor se puede emplear una sub consulta.

LIKE

Especifican si un campo cumple un determinado patrón o secuencia de caracteres con los que se comparara.

NULL

Especifica una prueba para un valor nulo, los predicados de NULL están formados por una versión a comparar y una de las siguientes expresiones IS NULL o IS NOT NULL

Cuantificados

Es un tipo especial de comparación en el que en lugar de obtenerse un valor único como resultado de la comparación, se obtiene un conjunto de valores pertenecientes a un campo.

ALL

Cuando el resultado de la sub consulta es una tabla vacía, el valor del predicado es verdadero.

SOME/ANY

Cuando el resultado de la sub consulta es una tabla vacía, el valor de predicado es falso.

EXISTS

Especifican una prueba para un conjunto de valores. Los predicados EXISTS están formados por expresiones de EXISTS y una sub consulta de tabla. El resultado de un predicado de EXISTS si la sub consulta de la tabla no esta vacía.

UNIQUE

Especifican una prueba para comprobar la ausencia de filas duplicadas. El resultado de un predicado UNIQUE es verdadero si no hay dos filas en la tabla tales que el valor de cada fila sea nulo.

MATCH

Especifican una prueba para filas coincidentes. Los predicados MATCH están formados por la expresión de comparación.

Opcionalmente, entre MATCH y la sub consulta puede escribirse UNIQUE o bien uno de los siguientes: SIMPLE, PARTIAL o FULL.

OVERLAPS

Especifica si se producen solapes entre dos periodos de tiempo. Estos predicados están formados por una expresión a comparar, la apalabra OVERLAPS y una segunda expresión de comparación, siendo ambas expresiones de tipo de fecha y hora.

DISTINCT

Especifica si dos valores de fila son distintos. Los predicados DISTINCT están formados por una expresión a comparar, el texto IS DISTICNCT FROM y una segunda expresión de comparación. El resultado de una segunda expresión de comparación es verdadero o falso.

TYPE

Especifica una prueba de tipo de datos. Sirve para saber si una expresión de fila esta o no contenida en una lista de tipos de datos definida por el usuario. Si el resultado de evaluar la expresión de fila es nulo, el resultado de TYPE es desconocido. Si el tipo de datos de de la fila forma parte de los elementos del tipo de datos es definido por el usuario, el resultado del predicado TYPE es verdadero si no en cualquier otro caso es falso.

Predicados Opuestos And, Or, Not.

Para obtener el valor de un predicado compuestos de estos tipos, se evalúa cada parte del predicado compuesto y se siguen las reglas de la lógica proposicional, vistas en el apartado de operaciones con tipos de datos booleanos, obteniéndose un resultado verdadero, falso o desconocido.

Funciones

Funciones de Valor Numérico; son funciones que devuelven un valor numérico.

Ü POSITION

Ü CHAR_LENGHT

Ü CHARACTER_LENGTH

Ü OCTET_LENGHT

Ü BIT_LENGHT

Ü EXTRACT

Ü CARDINALTY

Ü EXP (exponent)

Ü ABS (expreison numerica)

Ü MOD (dividend, divisor)

Ü LN

Ü POWER (expression numerica base)

Ü SQRT

Ü FLOOR

La mayoría de los fabricantes, además de las funciones anteriores con ese nombre, añaden funciones trigonométricas como SIN, COS, TAN, etc.

Funciones de Cadena

Son de tres tipos: carácter, BLOB y bit.

Tipo carácter

Ü SUBSTRING

Ü UPPER

Ü LOWER

Ü TRANSLATE (conversión)

Ü TRIM

Ü OVERLAY

Tipo BLOB

Ü SUBSTRING (posición inicio)

Ü TRIM

Ü OVERLAY

Tipo Bit

Ü SUBSTRING

Funciones Fecha/hora e intervalo

Son funciones que devuelven un valor de tipo fecha/hora o intervalo respectivamente. Los paréntesis y la precisión temporal que afecta a cada función.

Ü CURRENT_DATE (devuelve fecha actual)

Ü LOCALTIME (devuelve hora local)

Ü CURRENT_TIMESTAMP (devuelve instante actual)

Ü LOCALTIMESTAMP (devuelve el instante local-actual)

Ü ABS (devuelve el valor absoluto del intervalo)

Conversión de Tipo de datos

Ü CAST (tipo de dato al que se convertirá la expresión)

Funciones de Análisis de datos.

Las funciones de análisis de datos devuelven un resultado derivado de realizar una operación sobre cierto número de filas. Estas funciones se emplean únicamente como parte de una consulta.

Son de dos tipos; funciones tabulares de datos agrupados y las funciones tabulares de ventana, las primeras agrupan datos de una tabla y calculan valores; y las segundas trabajan sobre tablas en ventanas y realizan operaciones sobre un grupo de filas.

Funciones de Agrupación de Datos.

Las funciones de agrupación de datos pueden calificarse con DISTINCT o ALL. En el caso de empelar DISTINCT, no se emplean filas redundantes para revolver el resultado de la función empleada. Las sintaxis de las funciones de agregado es: nombre de la función y una expresión que devuelve un valor de fila. Son las siguientes:

Ü COUNT (cuenta el número de filas que cumplen la expresión)

Ü SUM (suma el valor de las filas con que cumple la expresión)

Ü MAX (devuelve el mayor de las filas que cumplen la expresión)

Ü MIN (devuelve el menor de las filas que cumplen la expresión)

Ü EVERY (Devuelve el valor verdadero)

Ü ANY o SOME (devuelve el valor verdadero, si se cumple la expresión para alguna fila)

Ü VAR_POP (calcula el valor de la varianza de la población que cumple esa expresión)

Ü VAR_SAMP (calcula el valor de la varianza de la muestra que cumple la expresión)

Ü STDDEV_POP (calcula el valor de la desviación estándar de la población que cumple la expresión)

Funciones del Sistema

Son funciones implementadas por los fabricantes para facilitar las tareas a los administradores y programadores de las bases de datos, son muy variables de unos fabricantes a otros en cuanto a funcionalidad y sintaxis.

Objetos de las bases de datos

Son todos aquellos que se pueden crear en una base de datos empleando la orden CREATE de SQL, los que son definidos por los usuarios y aquellos que permiten la administración del sistema.

Palabras Reservadas

Las palabras claves en SQL son de dos tipos: reservadas y no reservadas. La lista de palabras reservadas en la versión ANSI (1999/2000) es mayor que la definida en la versión ANSI X3. Las palabras reservadas se listan para evitar su utilización para los usuarios, ya que pueden ser empleadas en nuevas versiones de SQL. En caso de tenerse que utilizar en el desarrollo de aplicaciones algunas de las palabras reservadas, es interesante incluir en esas palabras un digito o un guion subrayado y evitar que las palabras comiencen en CURRENT_, SESSION_, SYSTEM_ o TIMEZONE_ y aquellas que terminen en _LENGTH.

PALABRAS RESERVADAS

· ABSOLUTE, ACTION, ADD, ADMIN, AFTER, entre otros.

· BEFORE, BEGIN, BETWEEN, BINARY, BIT entre otros.

· CALL, CASCADE, CASCADED, CASE, CAST, entre otros.

· DATA, DATE, DAY, DEALLOCATE, DEC, entre otros.

· EACH, ELSE, END, END-EXEC, EQUALS, entre otros.

· FALSE, FETCH, FIRST, FLOAT, FOR, entre otros.

· GENERAL, GET, GLOBAL, GO, GOTO, entre otros.

· HAVING, HOST, HOUR.

· IDENTITY, IGNORE, IMMEDIATE, IN, INDICATOR, entre otros.

· JOIN.

· KEY.

· LANGUAGE, LARGE, LAST, LATERIAL, LEADING, entre otros.

· MAP, MATCH, MINUTE, MODIFIES, MODIFY, entre otros.

· NAMES, NATIONAL, NATURAL, NCHAR, NCLOB, entre otros.

· OBJECT, OF, OFF, OLD, ON, entre otros.

· PAD, PARAMETER, PARAMETERS, PARTIAL, PATH, entre otros.

· READ, READS, REAL, RECURSIVE, REF, entre otros.

· SAVEPOINT, SCHEMA, SCROLL, SCOPE, SEARCH, entre otros.

· TABLE, TEMPORARY, TERMINATE, THAN, THEN, entre otros.

· UNDER, UNION, UNIQUE, UNKNOWN, UNNEST, entre otros.

· VALUE, VALUES, VARCHAR, VARIABLE, VARYING, entre otros.

· WHEN, WHENEVER, WHERE, WITH, WITHOUT, entre otros.

· YEAR.

· ZONE.

TIPOS DE DATOS

Se define tipo de datos como un conjunto de valores. Los parámetros SQL, columnas, campos, atributos y variables son elementos de una base de datos cuyos valores pertenecen a un tipo de datos. El lenguaje SQL está formado por tres clases de tipos de datos: Predefinidos, Construidos o Compuestos y Definidos por el Usuario. Los tipos de datos Predefinidos son: carácter, binarios, bit, numéricos, booleanos y fecha/hora. Los tipos de datos Compuestos se definen empleando los constructores de tipos de datos: ARRAY o colección, REF o ROW. Los tipos Definidos por el Usuario se definen a partir de: uno de los anteriores Estándar una especificación del fabricante implementación o son definidos en una aplicación.

Los tipos de datos predefinidos de tipo carácter contienen cadenas de caracteres alfanuméricos, los de tipo numérico contienen números, los booleanos contienen valores sí, no o nulo, los tipos de datos fecha/hora contienen información temporal y los intervalos expresan un período de tiempo.

Los tipos de datos construidos se crean a partir de los tipos de datos definidos por esa categoría: array, referencia o fila. Los tipos de datos definidos por el usuario se crean a partir de tipos de datos existentes, o de aquellos tipos de datos en los que se basan los tipos de datos existentes.

CADENA DE CARACTERES

Son cadenas alfanuméricas de caracteres que contienen información de tipo texto. Son de tres tipos:

· Cadenas de Caracteres de Longitud fija:

- CHARACTER. Permiten emplear caracteres ANSI

- NATIONAL CHARACTER. Utilizan caracteres UNICODE, implementados por lo fabricantes o definidos por una aplicación a partir de cualquiera de los conjuntos de caracteres anteriores.

· Cadenas de Caracteres de Longitud Variable:

- CHARACTER VARYING. Emplean caracteres ANSI, y pueden contener cadenas vacias.

- NATIONAL CHARACTER VARYING. Utilizan caracteres UNICODE, implementados o definidos por la aplicación y pueden contener cadenas vacías.

· Cadenas de Caracteres de Gran Longitud:

- CHARACTER LARGE OBJECT. Emplean caracteres ANSI.

- NATIONAL CHARACTER LARGE OBJECT. Utilizan caracteres UNICODE, implementados o definidos por una aplicación.

NOMBRES DE CONJUNTOS DE CARACTERES

Los conjuntos de caracteres empleados más frecuentemente son:

· SQL_CHARACTER. Contiene 52 caracteres en mayúsculas y minúsculas en caracterestes latinos, los 10 digitos y 26 caracteres especiales SQL: %, :, ;, &, ´, (, ), *, +, -, ., ;, ,,

· IRV posee los mismos caracteres que SQL_CHARACTER, excepto:{ [, ], {, }, y ^

· GRAPHIC_IRV o ASCII_GRAPHIC contiene los caracteres SQL y los siguientes: !, #, $, @, \, ‘, y ~.

· LATIN contiene todos los caracteres habitualmente usados en: Alemania, Dinamarca, España, Finlandia, Francia, Holanda, Inglaterra, Irlanda, Islandia, Italia, Noruega, Portugal y Suecia.

· ASCII_FULL o ISO8BIT es el nombre dado al juego de caracteres que contiene todos los caracteres ASCII.

· UTF16, UTF8, UCS2 son juegos de caracteres Unicode.

· SQL_TEXT contiene el juego de caracteres SQL_CHARACTER y aquellos implementados por el fabricante.

OPERADORES QUE ACTÚAN SOBRE CADENAS DE CARACTERES Y DEVUELVEN CADENAS DE CARACTERES

CONCATENACIÓN. Es una operación que devuelve, en el orden dado, la cadena de caracteres resultante de la unión de n cadenas de caracteres.

SUBSTRING. Es una función de cadena de caracteres que devuelve una cadena obtenida de una cadena original, a partir de un número de inicio de posición y una longitud numérica de la cadena extraer.

SUBSTRING. Es una función empleada para expresiones, en la que se obtiene una cadena a partir de una cadena de caracteres origen, una cadena patrón y un carácter de salida. La cadena patrón debe contener dos ocurrencias del carácter de salida seguidas por dobles comillas, de modo que se subdivide de la cadena patrón en tres subpatrones: R1, R2 y R3, cada uno de los cuales debe ser una expresión. La cadena de caracteres origen se compara con los tres subpatrones descomponiéndose en tres subcadenas consecutivas S1, S2 y S3.

OVERLAY. Es una función en que se sustituye parte de una cadena de caracteres por otra subcadenas, a partir de una posición dada. Se necesitan cuatro argumentos: la cadena original, la cadena a insertar, una posición numérica inicial y una longitud de la cadena a insertar.

UPPER. Es una función que convierte las cadenas de caracteres minúsculas o tipo titulo en mayúsculas. Un carácter Unicode está en mayúsculas, minúsculas o titulo dependiendo de si el nombre del carácter incluye lower, upper o title.

LOWER. Es una función que convierte las cadenas de caracteres mayúsculas o tipo tiutlo en minúsculas.

CONVERSIÓN DE JUEGOS DE CARACTERES. Es una función implementada por los fabricantes que permite codificar una cadena de caracteres de dos bytes (Unicode) como otra de un byte (Latin1) y viceversa.

TRIM. Es una función que recorta una cadena de caracteres dada. Posee tres argumentos:

1. La cadena a la que eliminar caracteres

2. Indica si los caracteres procedentes y/o posteriores se eliminan

3. Contiene la cadena de caracteres a eliminar.

TRADUCCION DE CARACTERES. Es una función que cambia cada carácter de una cadena dada empleando una correspondencia muchos a uno o uno a uno entre dos juegos de caracteres. La correspondencia es una función externa.

OTROS OPERADORES QUE ACTÚAN SOBRE CADENAS DE CARACTERES

LENGTH. Es una función que devuelve la longitud de una cadena de caracteres dada como un valor numérico exacto en caracteres, octetos o bits, de acuerdo con el tipo de selección de valor de salida seleccionado.

POSITION. Es una función que determina la primera posición como valor exacto, si la hay, en la que una cadena de caracteres S1 está contenida en otra S2.

Predicado LIKE (o su inversa, NOT LIKE). Se ejecuta sobre tres cadenas de caracteres y devuelve un valor booleano. LIKE determina si una cadena de caracteres se ajusta o no a una cadena de patrón dada.

SIMILAR (o su inversa, NOT SIMILAR). Es una función que se ejecuta sobre tres cadenas de caracteres y devuelve un valor booleano. SIMILAR determina si una cadena de caracteres se ajusta o no a una cadena patrón dada.

OPERACIONES SOBRE LOBS

Sobre cadenas de caracteres tipo LOB se pueden realizar las operaciones: NULL, LIKE, SIMILAR, POSITION y comparaciones con operadores igual y no igual. Los tipos de datos LOBS no pueden ser utilizados para ordenar o agrupar registros, tampoco pueden emplearse en consultas con la cláusula DISTINCT o en las que se realicen operaciones de UNION, INTERSECT, Y EXCEPT, ni aparecer como criterios de comparación para formar tablas.

CADENAS BINARIAS

Las cadenas binarias son un conjunto de octetos que no poseen un juego de caracteres asociado. Las cadenas binarias son del tipo de datos BLOB. Entre cadenas binarias se pueden realizar comparaciones y concatenaciones. También se pueden emplear las funciones: SUBSTRING, OVERLAY, TRIM, LENGTH, POSITION, LIKE.

CADENA DE BITS

Las cadenas de bits son un conjunto secuencial de bits que poseen los valores 0 o 1. Este tipo de datos pueden ser de longitud constante BIT o variable BIT VARYING. Entre cadenas de bits se pueden realizar comparaciones y concatenaciones. También se pueden emplear las funciones SUBSTRING, OVERLAY, LENGTH, POSITION

NÚMEROS

Un número es cualquier valor numérico exacto o aproximado. Para definir un dato como de tipo numérico se necesita: el nombre del tipo de datos NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL o DOUBLE PRECISION, la precisión del tipo de datos numérico, su escala en caso de tipos de datos numéricos exactos y un indicador de uso de valores decimales o banarios en la precisión y escala. Se pueden realizar comparaciones entre tipos de datos numéricos, y siempre tienen signo.

La precisión de un tipo de datos numérico es un valor entero positivo que indica el número de cifras significativas en el sistema binario o decimal. La escala permite conocer el valor numérico exacto de un tipo de datos. Siempre es un entero no negativo.

Un valor numérico aproximado consta de mantisa y exponente. La mantisa es un valor numérico con signo y el exponente es un entero con signo que especifica el tamaño de la mantisa. La precisión de un valor numérico aproximado es un valor entero positivo que especifica el número de dígitos binarios significativos en la mantisa.

Cuando se almacena un valor numérico exacto o aproximado en un tipo de datos numérico exacto, el valor se convierte teniendo la precisión y escala del tipo de datos destino, truncándose o redondeándose de acuerdo con la implementación realizada para este tipo de datos del fabricante. Se pueden realizar las operaciones aritméticas habituales: Suma (+), Resta(-), Multiplicación (*), División (/) y modulo o resto de una División (%), con las restricciones y limites que defina el fabricante para cada tipo de dato numérico. Las funciones POSITION y LENGTH tiene las mismas características que son cadenas de caracteres.

TIPOS DE DATOS BOOLEANOS

El tipo de datos booleano (lógico) está formado por dos valores: Verdadero “true” y Falso “false”. El valor true es mayor que false. Si no se han definido restricciones de tipo NO NULO, hay un tercer valor: desconocido “unknown” que se asigna a valores nulos. Los operadores NOT (~), y AND (&) y OR () devuelven resultados booleanos.

El operador NOT actúan sobre valores lógicos obtiene los siguientes resultados:



Verdadero

Falso

Falso

Verdadero

Desconocido

Desconocido

TIPOS DE DATOS FECHA/HORA E INTERVALOS

Los tipos de datos fecha/hora son los siguientes: DATE, TIME, WITHOUT TIME ZONE, TIMESTAMP WITHOUT TIME ZONE, TIME WITH TIME ZONE, y TIMESTAMP WITH TIME ZONE.

Los tipos de datos duracion o interval se denominan INTERVAL y pueden ser de tipo año-mes o dia-fecha y poseen siempre signo.

Datos de tipo fecha/hora

Hay tres tipos de clases de dato de fecha y hora;

-DATE: formado por YEAR, MONTH y DAY

-HORA: formado HOUR, MINUTE y SECOND.

-INSTANTE: formado por YEAR, MONTH, DAY, HOUR, MINUTE y SECOND.

La tierra esta dividida en husos horarios, de modo que los relojes marcan la hora local que les corresponde, que es el Tiempo Coordinado Universal (UTC) mas su desplazamiento de zona horaria, que es in intervalo comprendido entre 12.59min y + 13 h 00 min.

Operaciones con fecha/hora e intervalos

Este tipo de datos fecha/hora e intervalo pueden realizarse las operaciones aritméticas suma, resta, multiplicación y división del modo que se muestra en la tabla anterior.

El operador OVERLAPS permite determinar si dos periodos se suponen en el tiempo. Para especificar un periodo se necesita un par de datos fecha/hora o un dato fecha/hora mas otro de tipo intervalo.

EXTRACT es una expresión que opera sobre tipos de datos fecha/hora o intervalos y devuelven un valor numérico exacto que representa el valor de un componente fecha/hora o del intervalo.

5.6.9 tipos definidos de usuarios

Los tipos de datos definidos por el usuario son un objeto del esquema de la base de datos que se identifican por un nombre de tipo, que ha sido definido por el usuario. Los tipos definidos por el usuario para su definición un tipo de dato predefinido se denomina de forma diferente, ya que se crean asignados un nombre a un subtipo de un tipo de dato existente, con algunos atributos predefinidos.

Cuando para definir un tipo de dato se emplea una lista de atributo, se crea un tipo de estructura. Al crear un tipo de dato definido por el usuario, además de definir sus atributos, se crean unas funciones implícitas que son partes de la interfaz del tipo de dato. Para descubrir un UDDT se necesita, entre otros argumentos: nombre que será empleado para referirse al tipo, un parámetro que indica que es tipo estructura o no, un parámetro que indica si esta ordenado o no, la forma de ordenación del tipo de dato (QUALS, FULL o NONE),, la categoría de ordenación (RELATIVE, MAP o STATE), un nombre que identifica la rutina de ordenación dependiendo de su categoría y el nombre del tipo de campo de origen o del UDDT previamente definido del que es un subtipo y si el tipo datos es instanciable o no.

Como los tipos de datos que es posible crear dependen de la implementación del fabricante, hay disparidad a la hora de su denominación y creación. Oracle denomina tipos de datos externos a los tipos de datos que no están definido por el fabricante. Microsoft, en sus herramientas SQL Server 7 y 2000 permite crear UDDT sencillo mediante el empleo de procedimientos almacenados o UDDT sencillo o complejo empleando la instrucción Type de Visual Basic.

Para gestión interna de los UDDT se define implícitamente dos funciones SQL para cada atributo: una función que devuelve el tipo de datos y otra que devuelve el tipo de estructura. Además, cuando el tipo de dato es estructura y son instanciables, poseen una función denominada constructores de métodos SQL asociados al tipo de datos.

Otros tipos de datos

Tipos columna

Un tipo de datos columnas es una secuencia pareja de nombre de campo y tipo de datos, a las que se denomina campo.

Tipos referencia

Un tipo de datos REF (referencia) es estructurado y se representa mediante una secuencia de octetos cuya longitud viene definida por el fabricante. Se pueden comparar referencias si tienen un supertipo en común.

Tipos colección

Una colección es un valor compuesto de cero o más elementos, en los que cada elemento puede ser de un tipo diferente. Las matriz es una colección ordenada en la que cada elemento esta asociado a una posición. Se puede realizar comparaciones entre matrices del mismo tipo y concatenaciones entre distintas matrices.

Tipos de datos: ANSI, SQL, Server, Oracle 8 e Informix

Con algunos matices relativos a precisión y correspondencia entre los tipos de datos de las principales bases de datos y el estándar SQL, se muestra en la tabla adjunta la relación que existe entre ellos.

Correspondencia entre tipos de datos SQL y otros lenguajes.

Correspondencia entre tipos de datos

Las tablas siguientes muestran la correspondencia entre los tipos de datos SQL y los datos de lenguajes ADA, C, COBOL; FORTRAN; PASCAL y PL/1. En estas tablas P significan precisión, S escala, L longitud, T tiempo con una precisión de una fracción de segundo, Q es calificador de intervalo y N es el tamaño definido por el fabricante para tipos estructurado.

Elaboraron: Todos


El archivo se puede descargar desde el siguiente link: http://mx.briefcase.yahoo.com/bc/dosequipo/lst?&.dir=/Lecturas&.src=bc&.view=l