tarea2

146
COMPARACIÓN ENTRE DIFERENTES SMBD INTEGRANTES ENRÍQUEZ TORRES GUADALUPE DEL PILAR PALESTINO SOTO RAQUEL TORRES RIVERA MARÍA ANGÉLICA VÁZQUEZ WANDESTRAND MATEO FACULTAD: ADMINISTRACIÓN, ADMINISTRACIÓN TURISTICA Y SISTEMAS OMPUTACIONALES ADINISTRATIVOS. CARRERA: Lic. Sistemas Computacionales Administrativos. EXPERIENCIA: Base de Datos. BLOQUE: 5 Universidad Veracruzana

Upload: mateo-antonio

Post on 14-Dec-2014

5.798 views

Category:

Technology


9 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Tarea2

COMPARACIÓN ENTRE DIFERENTES SMBD

INTEGRANTES:ENRÍQUEZ TORRES GUADALUPE DEL PILAR

PALESTINO SOTO RAQUEL

TORRES RIVERA MARÍA ANGÉLICA

VÁZQUEZ WANDESTRAND MATEO ANTONIO

FACULTAD:ADMINISTRACIÓN, ADMINISTRACIÓN

TURISTICA Y SISTEMAS OMPUTACIONALES ADINISTRATIVOS.

CARRERA:Lic. Sistemas Computacionales

Administrativos.

EXPERIENCIA:Base de Datos.

BLOQUE:5

SALÓN:C002

Universidad Veracruzana

Page 2: Tarea2

1

SMBD EQUIPO 11 13/12/09

FACULTAD:ADMINISTRACIÓN, ADMINISTRACIÓN

TURISTICA Y SISTEMAS OMPUTACIONALES ADINISTRATIVOS.

CARRERA:Lic. Sistemas Computacionales

Administrativos.

EXPERIENCIA:Base de Datos.

BLOQUE:5

SALÓN:C002

Page 3: Tarea2

2

SMBD EQUIPO 11 13/12/09

Introducción    DB2 UNIVERSAL DATABASE (DB2 UDB)    DB2 (R) Universal Database, es una base de datos universal. Es completamente escalable, veloz y confiable. Corre en modo nativo en casi todas las plataformas, como Windows NT (R), Sun Solaris, HP-UX, AIX(R), OS/400 y OS/2(R).     Características y funciones:   DB2 UDB es el producto principal de la estrategia de Data Management de IBM. DB2 UDB es un sistema para administración de bases de datos relacionales (RDBMS) multiplataforma, especialmente diseñada para ambientes distribuidos, permitiendo que los usuarios locales compartan información con los recursos centrales.  

Historia:   DB2 UDB no es un producto nuevo. Fue construido en base a dos productos incluidos en el DB2 de AIX en el año 1994: DB2 Common Server, que para propósitos generales incluía funciones avanzadas para el mercado de servidores de bases de datos, con soporte de hardware SMP y OLTP; y el DB2 Parallel Edition, que fue desarrollado para soportar aplicaciones de gran escala, como Data Warehousing y Data Mining.   Integridad:    DB2 UDB incluye características de integridad, asegurando la protección de sus datos aún en caso de que los sistemas sufran un colapso; y de seguridad, permitiendo realizar respaldos en línea con distintos grados de granularidad, sin que esto afecte la disponibilidad de acceso a los datos por parte de los usuarios.   Múltiples usos:    Provee la capacidad de hacer frente a múltiples necesidades, desde procesamiento transaccional de misión crítica (OLTP), hasta análisis exhaustivo de los datos para el soporte a la toma de decisiones (OLAP).   Escalabilidad:    Sus características distintivas de escalabilidad le permiten almacenar información en un amplio rango de equipos, desde una PC portátil hasta un complejo ambiente de mainframes procesando en paralelo.  

Page 4: Tarea2

3

SMBD EQUIPO 11 13/12/09

  Web enabled para E-business:    Incluye tecnología basada en Web que permite generar aplicaciones en sus Intranets y responder a las oportunidades de negocios disponibles en Internet. Además, DB2 UDB provee soporte a Java.     Facilidad de instalación y uso:    La primera versión de DB2 para NT fue reconocida en el mercado como una base de datos muy poderosa, pero difícil de instalar y usar. En esta versión (DB2 UDB), IBM agregó muchas herramientas gráficas para facilitar el uso tanto de usuarios, como administradores y desarrolladores. Incluye guías para operaciones como instalación, configuración de performance, setup, etc. Además, se agregaron herramientas para facilitar las tareas de integración con otras bases de datos, tecnologías de networking y desarrollo de aplicaciones.     Universalidad:    DB2 UDB es, además, la única base de datos realmente universal: es multiplataforma (16 plataformas - 10 no IBM), brinda soporte a un amplio rango de clientes, soporta el acceso de los datos desde Internet y permite almacenar todo tipo de datos incluyendo texto, audio, imágenes y video o cualquier otro definido por el usuario.     Funciones complementarias    Conectividad    Las herramientas de conectividad permiten acceder a los datos más allá de donde ellos se encuentren. El slogan 'cualquier cliente, a cualquier servidor, en cualquier red' está completamente sustentado por la funcionalidad que sus herramientas ofrecen. EL DB2 Connect le permiten acceder a sus datos de DB2 en mainframe o AS/400, desde Windows NT, Windows 95 / 98, OS/2 o cualquiera de los Unix soportados. Además, el producto Datajoiner posibilita acceder de forma única y transparente a los datos residentes en Oracle, Sybase, Informix, Microsoft SQL Server, IMS, VSAM y otros.   Data Warehousing    DB2 UDB provee la infraestructura necesaria para soportar el proceso de toma de decisiones en cualquier tamaño y tipo de organización. Es el producto dirigido a resolver la problemática a nivel departamental (Data Marts), ya que un único producto provee la capacidad para acceder a datos en Oracle, Sybase, Informix,

Page 5: Tarea2

4

SMBD EQUIPO 11 13/12/09

Microsoft SQL Server, VSAM o IMS, además de la familia DB2. Permite de forma totalmente gráfica acceder, transformar y distribuir los datos automáticamente y sin programar una línea de código.     Data Mining    DB2 UDB posibilita el análisis orientado al descubrimiento de información escondida en los datos, realizando modelización predictiva, segmentación de la base de datos, análisis de vínculos, o detección de desviaciones. Incluye las siguientes técnicas: clustering (segmentación), clasificación, predicción, descubrimiento asociativo, descubrimiento secuencial de patrones y secuencias temporales. Todas las técnicas mencionadas permiten realizar segmentación de clientes, detección de fraudes, retención de clientes, ventas cruzadas, etc. Integridad Referencial Restricciones Las restricciones son reglas que el administrador de la base de datos establece.Hay tres tipos de restricciones. 

Restricción Única. Es una regla que prohíbe que haya valores duplicados en una o en más columnas en una tabla. La restricción de un único valor y las claves primarias no son tomadas como restricciones. Por ejemplo: una restricción única podría definirse para identificar a un proveedor, y asegurarse de esta forma que no haya un mismo identificador para dos proveedores.

  Restricción Referencial. Es una regla lógica sobre valores en una o en

más columnas, en una o más tablas. Por ejemplo, un conjunto de tablas que comparten información sobre los proveedores de una empresa. Ocasionalmente, el nombre de un proveedor podría cambiar. Este tipo de restricciones permite que se actualicen ese grupo de tablas, permitiendo resultados que puedan ocasionar la pérdida de información del proveedor.

Una tabla de Control de Restricciones: Es un grupo de restricciones que se agregan a los datos de una tabla específica. Por ejemplo: Se podría definir el sueldo de un empleado, tal que nunca deba ser menor a $200. -Estos tipos de integridad referencial pueden ser activados o no.

  Restricciones preferenciales  La integridad referencial es el estado en el que todas las claves foráneas de una base de datos deben ser válidas. Una clave foránea es una columna o un grupo de columnas en una tabla cuyos valores son necesarios para poder referenciar a una clave primaria o un único valor de una fila de la tabla de la cual se desprende.

Page 6: Tarea2

5

SMBD EQUIPO 11 13/12/09

La restricción referencial es la regla que permite que una clave foránea sea válida solamente si: 

Ellas se aparecen como valores de una clave de la tabla maestra o Algún componente de la clave foránea es nulo.

 La tabla que contiene la clave maestra, se define como “Tabla Padre” de la integridad referencial, y la tabla que contiene la clave foránea se llama “dependiente”. Esta restricción referencial es opcional y puede definirse con el comando CREATE TABLE y ALTER TABLE. Esta restricción se fuerza por el Administrador de la base de datos durante la ejecución de los comandos INSERT, DELETE, ALTER TABLE ADD CONSTRAIST Y SET CONSTRAITS. Esto es puesto en práctica eficazmente al realizar la declaración. Nota: La integridad referencial, las restricciones de control y los triggers pueden combinarse durante la ejecución. Conceptos 

Clave Maestra:Es la clave principal o clave única de una restricción preferencial. Fila maestra:Es la fila que tiene al menos una fila dependiente. Tabla maestra o Padre:La tabla que es “ Padre” en por lo menos una restricción referencial. Esta tabla puede ser definida como “Padre” en un número arbitrario de restricciones referenciales. Una tabla “Padre” puede ser también una tabla dependiente. Tabla dependiente. Es aquella tabla que depende de al menos una restricción referencial. Una tabla dependiente puede ser también una tabla “Padre”. Tabla descendente:

Una tabla es descendente de una tabla T, si esta es dependiente de T. Fila descendente:Una fila descendente de una fila F, si esta es dependiente de F. Ciclo referencialEs un conjunto de restricciones referenciales, tal que cada tabla es descendente de si misma. Fila Auto-referenciada:

Page 7: Tarea2

6

SMBD EQUIPO 11 13/12/09

Es la fila que es Padre de ella misma. Tabla auto-referenciada.Es la tabla que es padre y dependiente en la misma restricción referencial. RULE-INSERT (Regla de inserción) La regla de inserción en una restricción referencial significa que al colocar un valor no nulo como clave foránea, este debe coincidir con algún valor de la clave “Padre” en la tabla de la cual esta depende. El valor en una clave foránea, es nulo si algún componente es nulo. Esta regla está implícita cuando se especificó la clave foránea. UPDATE RULE. (Regla de actualización) La regla de actualización de una restricción referencial se especifica al definir dicha restricción. Las opciones son NO ACTION y RESTRICT. Las reglas de actualización se aplican cuando una fila de la tabla Padre o una fila de la tabla dependiente se actualizan. En caso de una fila padre, cuando un valor de la columna de la clave es actualizada  

Si alguna fila en la tabla dependiente concuerda con el original de la clave, esta actualización se rechaza cuando la regla de actualización esta en RESTRICT.

  Si alguna fila en la tabla dependiente no tiene su correspondiente “clave

Padre” cuando el comando de actualización se completó, esta actualización se rechaza si la regla se encuentra en NO ACTION.

 En caso de una fila dependiente.  

La regla de actualización está implícita cuando la clave foránea se especifica como NO ACTION significa que un valor no nulo que se actualice, debe corresponder a algún valor de la “clave padre” o de la “tabla padre”, cuando el comando de actualización se ejecuta.

   DELETE RULE. (Regla de eliminación.) Esta regla se específica cuando la restricción referencial se define. Las opciones son NO ACTION, RESTRICT, CASCADE, or SET NULL. 

Page 8: Tarea2

7

SMBD EQUIPO 11 13/12/09

SET NULL puede especificarse solo si alguna columna de la clave foránea admite valores nulos.Esta regla se aplica cuando una fila de la tabla es eliminada. Más precisamente, cuando una fila de la tabla padre se intenta borrar y esta tiene filas dependientes en tablas dependientes. Supongamos “P” es la “tabla padre” “D” sea la tabla dependiente “p” sea la fila padre que es objeto de eliminar y propagar así su eliminación a las filas dependientes. Si la regla de eliminación se determina como: 

RESTRICT or NO ACTION; ocurre un error y las filas no son eliminadas.

CASCADE; La operación de eliminación se propaga de la fila dependiente “p” a “D”.

  SET NULL; cada valor que es factible de anular en la columna

correspondiente a la clave foránea de la tabla “D” es puesto como NULO.  Cada restricción referencial en el cual una tabla es padre, tiene sus propias reglas de eliminación. Y todas las reglas de eliminación son utilizadas para determinar el resultado de una operación de borrado. De esta forma, una fila no puede eliminarse si tiene dependientes y se restringe con RESTRICT o NO ACTION, o la eliminación en cascada de cualquiera de sus dependientes con las reglas RESTRICT or NO ACTION. Eliminar una fila de la tabla Padre “P” que involucra a otras tablas y puede afectar a las filas de esas tablas se guía según el siguiente criterio: 

Si la tabla “D” que es dependiente entre “P” y la regla es RESTRICT or NO ACTION, “D” está involucrada en la operación, pero no es afectado por la operación.

  Si la tabla “D”, que depende de “P” y la regla es SET NULL, “D” está

involucrada en la operación, y las filas “D” pueden actualizarse durante la operación.

  Si la tabla “D”, es dependiente de “P” y la regla de eliminación se indica

como CASCADE, “D” está incluida en la operación y las filas de “D” pueden eliminarse durante la operación.

  Si las filas “D” son eliminadas, la operación de eliminado en “P” se dice que

se extendió a “D”. Si “D”, también es una tabla Padre, las acciones descriptas en esta lista, a su vez, se aplican a los dependientes de “D”.

 

Page 9: Tarea2

8

SMBD EQUIPO 11 13/12/09

 Cualquier tabla en la que se pueda involucrar una operación de eliminado en “P”, se dice que está conectada para eliminado a “P”. Así, una tabla se dice que está conectada para eliminado a una tabla “P”, si esta es dependiente de “P” o una tabla dependiente que se encuentra con indicación de operaciones en cascada de “P”. Tabla de Restricciones    Hay tres tipos de restricciones:   Ÿ Una restricción única o unique constraint  es un modelo que excluye valores duplicados en uno o más columnas dentro de una tabla. Unique y clave primaria son los soportes de singular constraints. Por ejemplo, un singular constraint puede ser definido sobre el identificador proveedor (supplier identifier) dentro de la tabla proveedora (supplier table) para garantizar que el mismo identificador proveedor (suppler identifier) no esta siendo dado a dos proveedores.   Ÿ Una restricción referencial o referential constraint es una norma lógica sobre los valores en una o más columnas y en una o más tablas. Por ejemplo, un conjunto de tablas comparten información sobre proveedores de una corporación.    

De vez en cuando, el nombre de un proveedor cambia. Una restricción referencial (Referential constraint) puede ser definido declarando que él ID del proveedor en la tabla debe estar unido a un proveedor ID en la información del proveedor. Este constraint previene de inserciones, modificaciones o eliminaciones que permitan de otra manera resultar en perdida de información de proveedores. (supplier information).  

Ÿ Una tabla de control de restricciones table check constraint establece restricciones en la inserción de datos a una tabla específica. Por ejemplo, se puede definir el nivel de salario para un empleado que nunca debe ser menor que $ 20.000 cuando el salario es agregado o modificado en la tabla que contiene la información personal.   Referential y table check constraints pueden ser cambiados a on u off. Cargando una larga cantidad de datos dentro de la base de datos en un momento típico para cambiar a off la verificación de la puesta en marcha de una restricción.   Restricción Única   Un unique constraint es la regla que permite que un solo valor de la clave sea válido en una tabla .  Unique constraints es opcional y puede ser definida en el create table o alter table usando la opción de clave primaria o la opción de unique. La columna especificada

Page 10: Tarea2

9

SMBD EQUIPO 11 13/12/09

en un unique constraint debe ser definida como no nula. El unique index es usado por el administrador de base de datos para reforzar la unicidad de la clave durante los cambios a la columna de la unique constraint.   La tabla puede tener números arbitrarios de restricciones únicas, con más de una restricción única definida como clave primaria. La tabla puede no tener más que una restricción única en el mismo set de columnas.   La restricción única que es referenciada como una clave foránea de una referential constraint es llamada como clave pariente.   Cuando una restricción única es definida en la opción create table, un unique index es automáticamente creado por el administrador de base de datos y designado como primary or unique system-required index.   Cuando la restricción única es definida en el opción alter table y un indexado existe en la misma columna, ese indexado es designado como unique and system.requied. Si tal indexado no existe, el unique index es automáticamente creado por el administrador de base da datos y designado como primary or unique system-required index.     Note que existe una diferencia entre definir una restricción única y crear un único índice.    Tabla de Control de Restricciones (Table Check Constraints)   Una Table check constraints es una norma que especifica el valor permitido en una o más columnas de cada fila de una tabla. Son opcionales y pueden ser definidas usando la sentencia SQL create table y alter table. La especificación de table check constraints es un formulario de restricciones de una condición de búsqueda. Una de las restricciones es que el nombre de la columna en la table check constraint de la tabla T debe identificar a la columna de T.   La tabla puede tener un número arbitrario de table check constraints. Son forzadas cuando:  

- una fila se agrega dentro de la tabla - una fila de la tabla se modifica

 El table check constraint se ve obligada por la aplicación a condiciones de búsqueda para cada fila que es agregada o modificada. Un error ocurrirá si el resultado de la condición de búsqueda es falso para alguna fila. Cuando una o mas table check constraints son definidas con el comando ALTER TABLE para una tabla con datos existentes, los datos existentes son verificados

Page 11: Tarea2

10

SMBD EQUIPO 11 13/12/09

nuevamente por la nueva condición antes que ALTER TABLE suceda. La tabla puede ser puesta en estado de verificación pendiente, el que permitirá ingresar datos sin verificarlos. El SET CONSTRAINT es usado para poner la tabla dentro del estado pendiente de verificación. Esto es también usado para abreviar la verificación de cada fila de la restricción nuevamente. Funciones Incorporadas Hay numerosas nuevas funciones incorporadas en el UDB de DB2. Esta sección mostrara solo unos cortos ejemplos de las funciones que están disponibles para ser usadas. Funciones Aritméticas Hay abundantes nuevas funciones en UDB de DB2. Las siguientes SQL demuestran muchas de las nuevas funciones matemáticas que están disponibles para el usuario.  VALUES ('SQRT(2) ',SQRT(2)), ('EXP(2) ',EXP(2)), ('SIN(.5) ',SIN(.5)), ('COS(.5) ',COS(.5)), ('TAN(1) ',TAN(1)), ('LOG(57) ',LOG(57)), ('ATAN(0) ',ATAN(0)), ('RAND() ',RAND()), ('CEIL(4.3) ',CEIL(4.3)), ('FLOOR(3.6)',FLOOR(3.6)), ('QUARTER() ',QUARTER(CURRENT DATE)), ('WEEK() ',WEEK(CURRENT DATE)) Funciones de texto  Existen algunas funciones mas que manejan texto. Note que estas son algunos ejemplos de las funciones que están disponibles   VALUES ('REPEAT("*",5) ',REPEAT('*',5)), ('LTRIM(" *") ',LTRIM(' *')), ('LCASE("ABCDEF") ',LCASE('ABCDEF')), ('REPLACE("x1x1x","1","2") ',REPLACE('x1x1x','1','2')), ('MONTHNAME(CURRENT DATE),MONTHNAME (CURRENT DATE ('DAYNAME(CURRENT DATE) ',DAYNAME(CURRENT DATE))   Funciones Soundex  

Page 12: Tarea2

11

SMBD EQUIPO 11 13/12/09

Las funciones soundex toman como un argumento un string de caracteres o retorna un valor de 4-bytes que representan el sonido del string. Por supuesto, esta función es altamente dependiente del idioma ingles, por lo tanto puede no ser necesariamente el retorno correcto en otro idioma. Sin embargo, una función como esta es muy utilizada cuando esta intentando encontrar un valor que suene como algo. El siguiente ejemplo lista todos los empleados de la compañía que tengan nombres que suenen similares.     SELECT A.LASTNAME, B.LASTNAME FROM EMPLOYEE A, EMPLOYEE B WHERE SOUNDEX(A.LASTNAME) = SOUNDEX(B.LASTNAME) AND A.LASTNAME <> B.LASTNAME   Funciones Soundex (2° ejemplo)

En este ejemplo de Soundex, se está buscando gente de la compañía que

tenga un apellido que suene parecido al “SMITH”     SELECT LASTNAME FROM EMPLOYEE WHERE SOUNDEX(LASTNAME) = SOUNDEX('SMITH')

Funciones definidas por el usuario

  Las funciones definidas por el usuario son extensiones a lo que ya está creado en las funciones del lenguaje SQL. Las funciones creadas por el usuario pueden ser:

 

Page 13: Tarea2

12

SMBD EQUIPO 11 13/12/09

-Función escalar, la cual devuelve un valor cada vez que se la invoca  

-Función columna, donde se pasa un conjunto de valores y devuelve un valor único para el conjunto  

-Función tabla, que devuelve una tabla   Una función definida por el usuario del tipo escalar o en columna registrada en la base de datos puede ser referenciada en el mismo contexto que cualquier función predefinida   Una función definida por el usuario del tipo de tabla registrada en la base de datos puede ser referenciada solo en el FROM de la cláusula SELECT   Una función definida por el usuario se invoca con su nombre, seguido de los argumentos entre paréntesis (if any)   Los argumentos de la función deben corresponder en número y posición con los parámetros especificados en la función definida por el usuario como fueron registrados en la base de datos. En resumen, los argumentos deben ser del tipo de datos correspondientes a los parámetros definidos.   El resultado de la función es, como en la cláusula RETURN, especificado cuando la función definida por el usuario fue registrada. La cláusula RETURN determina si una función es del tipo tabla o no.   Si la cláusula NOT NULL CALL fue especificada (o está por defecto) cuando la función fue registrada, y si algún argumento es nulo, entonces el resultado es nulo. Para las funciones del tipo tabla, esto significa el retorno de una tabla sin registros (tabla vacía).    

Page 14: Tarea2

13

SMBD EQUIPO 11 13/12/09

 Ejemplos:   Supongamos que una función escalar llamada ADDRESS fue escrita para

extraer la dirección de un formato de script. La función ADDRESS recibe un argumento CLOB y devuelve un VARCHAR(4000). El siguiente ejemplo muestra la llamada a la función ADDRESS   SELECT EMPNO, ADDRESS(RESUME) FROM EMP_RESUME

WHERE RESUME_FORMAT = 'SCRIPT'   Supongamos que tenemos una tabla T2 con una columna numérica A y la

función ADDRESS del ejemplo anterior. El siguiente ejemplo demuestra la intención de invocar a la función ADDRESS con un argumento incorrecto.

  SELECT ADDRESS(A) FROM T2

  Un error (SQLSTATE 42884) aparece porque no hay una función con el mismo nombre y con un parámetro correcto desde el argumento.   Supongamos que una función del tipo tabla WHO fue escrita para devolver

información sobre las sesiones en la máquina del servidor que estaban activas en el momento de la ejecución. El siguiente ejemplo muestra la llamada de WHO en una cláusula FROM.

  SELECT ID, START_DATE, ORIG_MACHINE FROM TABLE( WHO() ) AS QQ WHERE START_DATE LIKE 'MAY%'   Los nombres de columna de la tabla WHO() están definidos en el estado de CREAR FUNCION

Page 15: Tarea2

14

SMBD EQUIPO 11 13/12/09

  Tablas de Funciones.  Una función de tabla es una UDF externa la cual entrega en una tabla del SQL en la cual ese es referenciado. Una tabla de función referenciada es solo valida en una cláusula FROM de un SELECT. Donde usando la tabla de funciones, se observa lo siguiente:   Aun cuando una tabla de función entrega una tabla, la interfase física entre el

DB2 y la UDF es one-row-at-a-time (una fila a la vez). Hay tres tipos de formas de llamar una tabla de función: OPEN, FETCH y CLOSE. El mismo mecanismo call-type que puede ser usado para funciones escalares es usado para distinguir estos llamados.

  La interfase estándar usada entre DB2 y las funciones escalares definidas por

usuarios se extiende hasta acomodarse en la tabla de funciones. El SQL-result se repite por tabla de función, en cualquier instancia correspondiendo a una columna que puede ser retornada con lo que definimos una cláusula RETURNS TABLE de la CREATE FUNCTION. El argumento SQL-result-ind asimismo se repite, cualquiera de las instancias relatadas se corresponden con la instancia SQL-result.

  No todos los resultados de las columnas definidas en la cláusula RETURN de

la CREATE FUNCTION de la tabla de función tienen que ser retornadas. La clave DBINFO de CREATE FUNCTION, y correspondiendo al argumento habilitado dbinfo, la optimización que solo estas columnas necesitan para una tabla en particular referenciada  ser retornada.

  Los valores de las columnas individuales retornadas conformen con el formato

a los valores retornados para funciones escalares.  

La CREATE FUNCTION para una tabla de función tiene una CARDINALITY n específica. Esta especificación se define para informar al optimizador del DB2 del tamaño aproximado del resultado de modo que el optimizador pueda tomar mejores decisiones cuando la función es referenciada.

   

Anidar o Establecer Tablas de Expresión Tablas de Expresión

Una tabla de expresión crea una tabla de resultados temporales desde una simple consulta. Además de estas refinan la tabla de resultados.Por ejemplo, una tabla de expresión podría ser una consulta que selecciona a todos los directores de los departamentos críticos y otras especificaciones, como

Page 16: Tarea2

15

SMBD EQUIPO 11 13/12/09

aquellos que tienen más de 15 años de experiencia y trabajan en las oficinas de la sucursal New York. Tablas de Expresión Común

Una tabla de estas características se relaciona con querer tener una vista temporal dentro de una consulta compleja y puede ser referenciada en otros lugares dentro de la misma consulta. Por ejemplo, en lugar de la vista, se evita creando una vista. Cualquier uso de una tabla específica de expresión común dentro de una consulta compleja comparte la misma vista temporal.  El uso recursivo de la tabla común de expresión dentro de una consulta puede ser usado para soportar aplicaciones tales como conteo de materiales, sistemas de reservación aéreo y planeamiento de una red. Usando la recursividad del nombre de una tabla común de expresión podremos usar la misma tabla de resultados en cualquier momento. Estos son diferentes desde una vista, con la cual podemos determinar el resultado de la tabla para cualquier referencia con posibilidad de diferentes resultados. El aprovechamiento del uso y una mejor performance son equivalentes a aquellas con tablas de expresión anidadas. La performance puede ser mejorada por la reutilización del resultado del set de una tabla de expresión común cuando las referencias múltiples son hechas dentro del fullselect.Por ejemplo, en el seguimiento de consultas se utiliza el mismo resultado de la tabla dos veces. WITH DTSUM (WORKDEPT, AVGSAL) AS (

SELECT WORKDEPT, AVG(SALARY) FROM EMPLOYEEWHERE EDLEVEL > :hv1GROUP BY WORKDEPT) D1,

SELECT D1.WORKDEPT, D1.AVGSAL, D2.WORKDEPT, D2.AVGSALDTSUM D2WHERE D1.AVGSAL > 1.1 * D2.AVGSAL;  En esta consulta se lista un par de departamentos, donde los empleados considerados en cualquier departamento han logrado algún mínimo nivel de educación, y donde el salario promedio del primer departamento sea mimo el 10% mayor que el salario promedio del segundo departamento. En cualquier ejecución de la consulta se puede especificar diferentes niveles de educación mínimo. Para ejecutar cualquier resultado utilizando vistas, una vista diferente podría haber sido creada para cualquier nivel de educación requerida.

Page 17: Tarea2

16

SMBD EQUIPO 11 13/12/09

OUTER JOIN   Es un tipo de consulta en donde aparecen todos los datos de las tablas aunque no estén cumpliendo las condiciones de join. Es diferente del join convencional o inner join pues aparecen las filas no macheadas con la otra tabla.   Existen 3 tipos de outer join:  

El outer join izquierdo incluyendo las filas de la tabla izquierda que no están macheadas con valores de la tabla derecha. A estas filas se le asigna el valor nulo por la información perdida.

  El outer join derecho incluye filas de la tabla derecha que no estan

macheadas con valores de la tabla izquierda. A estas filas se le asigna el valor nulo por la información perdida.

  El outer join completo incluye ambas clases de filas.

 El inner join puede lograrse como tablas cruzadas de producto (combinando cada fila de la tabla izquierda con todas las filas de la tabla derecha) manteniendo solamente las filas donde la condición de join es verdadera.  La tabla resultante puede perder filas de una o ambas tablas utilizadas. Outer joins incluye el inner join y preserva esas filas perdidas. Los join pueden estar anidados dentro de otros joins. El orden generalmente va de izquierda a derecha, pero depende de las condiciones requeridas por los joins.  Resultados de operaciones entre T1 y T2: 

El resultado de T1 INNER JOIN T2 consiste en los pares de filas donde la condición del join es verdadera.

  El resultado de T1 LEFT OUTER JOIN T2 consiste en los pares de filas

donde la condición del join es verdadera y por cada fila sin par de T1, la concatenación de esa fila con la fila nula de T2.

  El resultado de T1 RIGHT OUTER JOIN T2 consiste en las filas pares

donde la condición del join es verdadera y, por cada fila sin par de T2 la concatenación de esas filas con las filas nulas de T1.

  El resultado de T1 FULL OUTER JOIN T2 consiste en las filas pares y por

cada fila sin par de T2, la concatenación de esas filas con las filas nulas de T1, y por cada fila sin par de T1, la concatenación de esas filas con las filas nulas de T2.

  

Page 18: Tarea2

17

SMBD EQUIPO 11 13/12/09

Todas las columnas de T1 y T2 permiten valores nulos. Ejemplo: TEACHERS

NAME RANK

Ms.Redding

Assoc.Prof

Mr.Glenn

Assist.Prof.

Ms. Barnes Full Prof.Mrs.Plummer

Assoc.Prof.

  COURSES 

QUARTER SUBJECT TEACHER

ENROLLMAN

Fall 96 Math 101 Mr.Glenn 40

Fall 96English 280 Ms.Redding 30

Fall 96Science 580 Ms.Redding 33

Fall 96Physics 405

Mrs.Plummer 28

Fall 96 Latin 237 Mr.Glenn 20

Fall 96German 130 Staff 31

Winter 96French 140 Ms. Barnes (null)

WITHInnerjoin(name, rank, subject, enrollment) AS

(SELECT t.name, t.rank, c.subject, c.enrollmentFROM teachers AS t, courses AS cWHERE t.name =c.teacherAND c.quarter = ´Fall 96´),

Teacher_only(name, rank) AS(SELECT name, rankFROM teachers

EXCEPT ALLSELECT name, rankFROM innerjoin),

Page 19: Tarea2

18

SMBD EQUIPO 11 13/12/09

Course_only(subject, enrollment) AS(SELECT subject, enrollmentFROM coursesWHERE quarter = ´Fall 96´ EXCEPT ALL SELECT subject, enrollment FROM innerjoin)  

SELECT name, rank, subject, enrollmentFROM innerjoin UNION ALL SELECT name,

rank, CAST(NULL AS Varchar(20)) AS subject,

CAST(NULL AS Interger) AS enrollmentFROM teacher_onlyUNION ALL SELECT CAST(NULL AS Varchar(20)) AS name,

CAST(NULL AS Interger) AS rank, subject, enrollment

FROM course_only El resultado de este outer join es el siguiente

   

     

                     

TRIGGERS EN DB2 

Triggers 

NAME RANKSUBJE

ENROLLMENT

Mr.Glenn

Assist.Prof.

Math 101 40

Mr.Glenn

Assist.Prof.

Latin 237 20

Mrs.Plummer

Assoc.Prof.

Physics 405 28

Ms.Redding

Assoc.Prof.

English 280 30

Ms.Redding

Assoc.Prof.

Science 580 33

Ms. Barnes Full Prof.

German 130 31

Page 20: Tarea2

19

SMBD EQUIPO 11 13/12/09

Triggers se define como un conjunto de acciones que se ejecutan, o se disparan, como por ejemplo eliminar, insertar o actualizar una tabla. Cuando este tipo de operación en SQL se ejecuta, consideramos que el TRIGGER está activado. Los triggers pueden usarse en conjunto con restricciones referenciales o restricciones de control para dar fuerza a las reglas de integridad de los datos. También pueden usarse TRIGGERS para actualizar otras tablas, automáticamente pueden generarse valores, actualizar, insertar filas, e invocar funciones que realicen tareas de control. Los TRIGGERS son un mecanismo muy utilizado para enfatizar las reglas de integridad definidas por DBA (por ejemplo el sueldo no puede aumentarse más de un 10%). Usar TRIGGERS ubica a la lógica para enfatizar las reglas de negociación de datos en una base de datos. Esta lógica utilizada en todas las tablas implicará un fácil mantenimiento posterior, y que no sea necesario cambiar los programas de aplicación cuando se cambie la lógica de la misma.   Los TRIGGERS son opcionales y se definen mediante la instrucción CREATE TRIGGER.   Hay varios criterios que se deben de tener en cuenta al crear un TRIGGER, que se utilizará para determinar cuándo un TRIGGER debe activarse.  

En una tabla se define la tabla que llamaremos objeto para la cual el TRIGGES se utilizará.

  El evento que se ejecutará se lo hace en SQL y esta modificará la tabla.

Las operaciones pueden ser: borrar, insertar o actualizar.  

El “Triggers activation time” define cuando el trigger debe ser activado.   En la declaración del trigger deberá incluir cuáles serán las filas que afectará. Cuáles de la tabla están siendo borradas, insertadas o actualizadas. El “Trigger granularity” define si las acciones que ejecute se realizarán una vez para la declaración, o una vez para cada una de las filas para las cuales se definió. 

Page 21: Tarea2

20

SMBD EQUIPO 11 13/12/09

La acción del Trigger consiste en una condición de búsqueda opcional y un conjunto de declaraciones en SQL que se ejecutarán cada vez que el Trigger se active. Las declaraciones de SQL solo se ejecutarán si la condición de búsqueda es verdadera. Cuando el tiempo en que el Trigger debe activarse es anterior al evento mismo, la acción de activarlo debe incluir las declaraciones de selección de las variables y las señales de condición de SQL. Cuando el tiempo en que se debe activar el Trigger es posterior al mismo evento, el activarlo puede incluir declaraciones de selección, borrado, actualización, insertar o señales de condición del SQL. El activar un Trigger puede referirse a un conjunto de valores que serán afectados en ciertas filas de la tabla. Esto es posible a través del uso de variables. Estas variables usan el nombre de las columnas de la tabla y con un indicador que marca si se refiere a un viejo valor ( antes de modificar) o un nuevo valor ( después de modificar) . El nuevo valor puede cambiarse utilizando el comando SET transition variable antes de actualizar o modificar. Otra forma de referenciarse a valores en un grupo de filas es utilizando tablas transitorias que operan en forma similar a las variables. Varios Trigger pueden especificarse para una combinación de tablas, eventos o tiempos en que deben activarse. El orden en que los Triggers se ejecutarán será el mismo en el que fueron creados. Por lo tanto, el Trigger recientemente creado será el último en activarse. La activación de in Trigger puede generar una cascada de Triggers. Esto sucede si el resultado de ejecutar algún Trigger produce que se active otro o incluso se active a si mismo.   Distintos SQL Hay algunos comandos adicionales de SQL que hacen mucho más fácil la codificación. A continuación mostraremos algunos ejemplos: 

1. 1. CASE Un CASE ayuda para el caso en el que tenga que cambiar valores en una entrada o salida.Supongamos que tiene una tabla con los tamaños de las remeras (S, M, L) y quiere que se vean como Small, Medium, Large en la salida. Ud. puede hacerlo usando el CASE para cambiar el valor de salida. También puede usar el CASE si quisiera convertir valores (como SMALL) en S para un insert. SELECT LASTNAME, SALARY,

Page 22: Tarea2

21

SMBD EQUIPO 11 13/12/09

CASE WHEN SALARY <= 20000 THEN 'Poor' WHEN SALARY <= 25000 THEN 'Fair' WHEN SALARY <= 30000 THEN 'Average' WHEN SALARY <= 35000 THEN 'Good' WHEN SALARY <= 40000 THEN 'Excellent' ELSE 'Outstanding' END AS COMPENSATION_LEVEL FROM EMPLOYEE

ORDER BY SALARY  

2. 2. Cláusula AS   La cláusula AS se usa cuando se asigna un nombre a un cálculo. Puede ser usada para dar un nombre significativo a un cálculo en una columna de SQL, pero también puede ser usada para evitar errores. Para ordenar un cálculo, se necesitaba dar el número relativo de la columna en la cláusula ORDER BY. Ej:

SELECT SALARIO + COMISION FROM EMPLEADOS ORDER BY 1   Ahora se puede asignar un nombre a este cálculo y usar este nombre en el ORDER BY:  

SELECT SALARIO + COMISION AS PAGO FROM EMPLEADOS ORDER BY PAGO   Esto puede permitir muchos errores en el SQL   SELECT APELLIDO, SALARIO + PREMIO AS PAGO

FROM EMPLEADOS ORDER BY PAGO

 

 

Hardware Soportado en DB2

 En esta sección veremos los siguientes entornos de hardware sobre los cuales funciona DB2 : 

Partición simple sobre un único procesador ( uniprocesador ) Partición simple con múltiples procesadores ( SMP : Single Partition with

Multiple Processors  ) Distintas configuraciones de Partición múltiple :

Page 23: Tarea2

22

SMBD EQUIPO 11 13/12/09

Particiones con un procesador ( MPP : Múltiple Partitions with one Processor  )

Particiones con múltiples procesadores ( cluster of SMPs ) Particiones lógicas de base de datos, también conocidas

como Nodos Lógicos Múltiples (MLN: Multiple Logical Nodes ) en la edición paralela de DB2 para la versión 1 de AIX.

    A continuación en cada ambiente de hardware, se describen las consideraciones respecto de la capacidad y escalabilidad: 

    La Capacidad se refiere al número de usuarios y aplicaciones accedidas a la base de datos, la cual está en gran parte determinada por la capacidad de memoria, agentes, locks, entradas-salidas y administración del almacenamiento.

    La Escalabilidad se refiere  a la habilidad que posee la base de datos de expandirse y continuar exhibiendo las mismas características operacionales y tiempos de respuesta.

 

Partición Simple sobre un Único Procesador 

    Este entorno se basa en memoria y disco, conteniendo una única CPU. Este ambiente ha sido denominado de diversas maneras : base de datos aislada ( standalone database ), base de datos cliente/servidor ( client/server database ), base de datos serial ( serial database ), sistema uniprocesador ( uniprocessor system ), y entorno nodo simple/ no paralelo ( single node/non-parallel ). 

  La base de datos en este ambiente sirve para cubrir todas las necesidades de un departamento o de una pequeña oficina de una empresa donde los datos y los recursos del sistema (incluyendo un único procesador o CPU) son administrados por un único administrador de la base. 

Capacidad y Escalabilidad

    A este ambiente se le pueden agregar más discos. Al tener uno o más servidores de entrada-salida para más de  un disco permite que más de una operación de entrada-salida ocurra al  mismo tiempo.

     Un sistema de procesador único está limitado por la cantidad de espacio en disco que pueda manejar dicho procesador. Sin embargo, como la carga de trabajo aumenta,  una sola CPU puede llegar a ser insuficiente para satisfacer las peticiones solicitadas por los usuarios, aun sin importar cuantos discos y/o memoria  adicional hayan sido agregados. 

Page 24: Tarea2

23

SMBD EQUIPO 11 13/12/09

    Si se ha alcanzado la máxima capacidad o escalabilidad, se podría considerar cambiarse a un sistema de partición única con múltiples procesadores. A continuación se describe esta configuración. 

Partición Simple con Múltiples Procesadores

Este entorno se compone de varios procesadores de igual potencia dentro de la misma máquina, llamándose a este ambiente Sistema Simétrico Multiprocesador (symmetric multi-processor o SMP). Los recursos tales como espacio de disco y memoria son compartidos. En esta máquina se encuentran más discos y memoria en comparación a una base de datos de partición simple, en el ambiente de procesador único.

Este entorno es de fácil administración, debido a que todo está ubicado en una sola máquina y además  los discos y  memoria están compartidos. 

Con varios procesadores disponibles, diferentes operaciones de la base de datos pueden ser completadas significativamente más rápido que en bases de datos asignadas a un solo procesador. DB2 también puede dividir el trabajo de una consulta simple entre los procesadores disponibles para mejorar la velocidad de procesamiento.

    Otras operaciones de la base de datos, tales como el resguardo (backup) y creación de índices sobre datos existentes pueden también aprovechar la  ventaja de trabajar con múltiples procesadores.

Capacidad y Escalabilidad

    En este entorno se pueden agregar más procesadores. Sin embargo, es posible que los distintos procesadores traten de acceder al mismo dato en el mismo tiempo, lo cual generara la aparición de limitaciones a medida que las operaciones de su negocio se incrementen. Con discos y memoria compartidos, se puede efectivamente compartir todos los datos de la base. 

Una aplicación en un procesador puede estar accediendo un dato al mismo tiempo que otra aplicación lo hace en otro procesador, causando así que la segunda aplicación espere para acceder a ese dato. 

    Se puede incrementar la capacidad de entrada-salida de la partición de la base de datos asociada a un procesador, así como también el número de discos. También se pueden establecer servidores de entrada-salida para repartir las solicitudes de entrada-salida. Al tener uno o más servidores de entrada-salida para cada disco permite que una o más operaciones de entrada-salida tengan lugar al mismo tiempo.

Page 25: Tarea2

24

SMBD EQUIPO 11 13/12/09

    Si se ha alcanzado la máxima capacidad o escalabilidad, se puede considerar la idea de cambiar la base a un sistema de partición múltiple, descrito a continuación. 

Distintas Configuraciones de Particiones Múltiples 

    Además de los entornos antes mencionados, se puede dividir la base de datos en particiones múltiples, cada una en su propia máquina. Y  además varias máquinas con particiones múltiples de una base de datos pueden ser agrupadas.

    Esta sección describe las siguientes configuraciones de particiones posibles: 

Particiones en sistemas cada uno con un procesador. Particiones en sistemas cada uno con múltiples procesadores. Particiones lógicas de base de datos.

 Particiones con un Procesador.

 En este entorno existen varias particiones de base de datos, cada una de las cuales sobre su propia máquina y con su propio procesador, memoria y discos. Una maquina consiste de una CPU, memoria, y disco con todas las maquinas conectadas mediante una instalación de comunicación. Otros nombres dados a este entorno son los siguientes : cúmulo ( cluster ), cúmulo de uniprocesadores ( cluster of uniprocessors ), entorno de procesamiento masivo en paralelo ( massively parallel procesing o MPP ),  o configuración compartido-nada ( shared-nothing configuration ). El último nombre refleja exactamente el arreglo de recursos en este ambiente.    A diferencia de un entorno SMP (Sistema Simétrico Multiprocesador), un entorno MPP (Particiones Múltiples con un procesador) no tiene discos ni memoria compartidos. El entorno MPP elimina las limitaciones introducidas al compartir memoria y disco.     Un entorno de base de datos particionado permite  que una base de datos continué siendo un conjunto lógico mientras que físicamente está dividida a través de más de una partición. Para los usuarios y/o aplicaciones, la base de datos puede ser utilizada como un todo y el hecho de que los datos están particionados es transparente. El trabajo a ser realizado con los datos puede ser dividido para cada administrador de base de datos, de esta forma cada administrador de la base de datos en cada partición, trabaja sobre su propia parte de la base de datos.  Capacidad y Escalabilidad    En este entorno se pueden agregar más particiones de base de datos (nodos) a la configuración. En algunas plataformas, por ejemplo RS/6000, el máximo es de 512 nodos. Sin embargo, podría existir un problema practico relacionado con la administración de tal número de máquinas e instancias.     Si se ha llegado a la máxima escalabilidad y capacidad, se puede considerar la opción de migrar a un sistema donde cada partición posea múltiples procesadores. A continuación describimos esta configuración. 

Page 26: Tarea2

25

SMBD EQUIPO 11 13/12/09

 Particiones con Múltiples Procesadores  Como alternativa de una configuración en la cual cada partición  tiene un procesador único, se puede utilizar una en la cual una partición posea múltiples procesadores. A esto se lo denomina Cúmulo SMP (SMP Cluster).     Esta configuración combina las ventajas de un SMP  y el paralelismo de un MPP.   Esto significa que una consulta (query)  puede ser realizada en una partición simple a través de múltiples procesadores. Además esto implica que una consulta (query) puede ser hecha en paralelo a través de particiones múltiples. 

Capacidad y Escalabilidad    En este entorno se pueden adicionar más particiones a la base de datos, como vimos en la sección anterior. También se pueden agregar más procesadores a las particiones existentes en la base de datos.  Particiones Lógicas de Base de Datos     La partición lógica de una base de datos se diferencia de una partición física en que no se logra el control de la máquina entera. A pesar de que la maquina comparte sus recursos, la partición no lo hace. Esto significa que los procesadores son compartidos pero no lo son el/los discos y la memoria. 

    Una razón lógica para utilizar particiones lógicas es la de brindar escalabilidad.  El administrador de base de datos múltiple que se ejecuta en particiones lógicas múltiples, puede hacer un uso más completo de los recursos disponibles  que un administrador de una base simple de datos. Se gana mayor escalabilidad sobre una maquina SMP mediante la adición de particiones, particularmente en aquellas maquinas con varios procesadores. 

    Mediante la partición de la base de datos, se puede administrar y recuperar cada partición por separado. 

    Nótese también que la habilidad de tener dos o más particiones coexistiendo en la misma maquina ( sin importar el número de procesadores) permite una mayor flexibilidad al diseñar configuraciones avanzadas de disponibilidad y estrategias para hacer frente a caídas del sistema.

 

Resumen del Paralelismo mejor Adaptable a cada Entorno de Hardware 

 La siguiente tabla resume los tipos de paralelismo que mejor se adaptan a los diferentes entornos de hardware. 

Entorno de Hardware Paralelismo I/O

Paralelismo Inter-ConsultaParalelismo Intra-

Paralelismo Inter-ConsultaParalelismo Inter.-

Page 27: Tarea2

26

SMBD EQUIPO 11 13/12/09

Partición Partición

Partición Simple,   Único Procesador   Si No No

Partición Simple,   Múltiples Procesadores   ( SMP )  

Si Si No

Particiones Múltiples,   Un Procesador ( MPP )   Si No Si

Particiones Múltiples,   Múltiples Procesadores   ( cúmulos de SMPs o cluster of SMPs )  

Si Si Si

Particiones Lógicas de Base de Datos   Si Si Si

 Herramientas de Administración

Desde el punto de vista del administrador de base de datos, el DB2 incluye una larga lista de herramientas DBA. Además de esto hay: utilidades para B/R, reorganizador, importar/exportar y alta velocidad de llamadas, están incluidas y pueden ser ejecutadas a través de un objeto GUI Browser.    DB2 Administración de Servidores El DB2 administración de servidores (DAS) es una instancia de DB2 que habilita administración remota de servidores DB2. Esta instancia es creada y usada en una forma similar a cualquier instancia de DB2. Puede tener una sola DAS sobre su máquina. Asistente para la Configuración de clientes El asistente de configuración de clientes nos ayuda a manejar las conexiones de las bases de datos con servidores de base de datos remotas.  Este puede correr bajo servidores OS/2 y Windows NT, así como el cliente corre bajo OS/2, Windows NT y Windows 95. Con el asistente de configuración de clientes usted podrá:  

Page 28: Tarea2

27

SMBD EQUIPO 11 13/12/09

Definir conexiones a base de datos de modo que éstas pueden ser utilizadas por aplicaciones. Existen 3 métodos:

 o Examinar la red por base de datos disponibles y seleccionar una. El

cliente automáticamente se configura para esa base de datos. o Usar los perfiles de acceso a base de datos que provee el

administrador para definir automáticamente las conexiones. o Configuración manual de conexiones a base de datos para modificar

algunos parámetros de conexión requeridos.  

Remover base de datos catalogados o modificar sus propiedades.  

Testear la conexión con la base de datos identificada en su sistema para asegurarse que puede establecerse la conexión con el servidor que necesita.

  Enlazar aplicaciones a una base de datos seleccionando utilidades o

enlazar archivos de una lista.  

Establecer conexiones con servidores DRDA si la conexión DB2 está instalada.

   Administrador El administrador es usado para monitorear y cambiar el mejoramiento de aplicaciones que corren a través de la base de datos.   Consiste en dos partes:  

Una utilidad de frente-final  

Un dominio   Cuando arranca el administrador, se ejecuta el comando de inicio del administrador de utilidades de front-end, quienes ejecutan el dominio. Por default, el dominio es iniciado sobre toda partición en una base de datos particionada, pero se puede también usar la utilidad front-end para iniciar un dominio simple de una partición específica para monitorear la actividad a través de la partición de base de datos encontrados allí. O un dominio puede monitorear la actividad sobre una partición-simple de base de datos. Además un administrador de dominio colecciona estadísticas sobre las aplicaciones que corren a través de la base de datos.  

Page 29: Tarea2

28

SMBD EQUIPO 11 13/12/09

Estas son chequeadas a través de reglas que pueden ser especificadas en el archivo de configuración del administrador aplicado a esa base de datos específica. El administrador actúa de acuerdo a éstas reglas. Por Ej.: una regla puede indicar que la aplicación está usando demasiados recursos.  En éste caso el administrador puede cambiar las prioridades de la aplicación o forzarla a dejar la base de datos, de acuerdo con las instrucciones específicas en el archivo de configuración del administrador. Si la acción asociada con ésta regla cambia las prioridades de la aplicación, el administrador cambia las prioridades del solicitante sobre la partición de la base de datos en la que el administrador detecta la violación de recurso.  Si la acción asociada con la regla es de forzar la aplicación, ésta será forzada siempre que el administrador que ha detectado la violación del recurso esté corriendo sobre el nodo coordinador de la aplicación o en un entorno particionado de la base de datos. El administrador también almacena (logs) cualquier acción que tome, se pueden consultar éstos archivos log para rever las acciones tomadas por el administrador.   SmartGuides Éstas son parte de las herramientas de administración de DB2 y nos guían a través de las tareas de administración. Las siguientes están habilitadas:  

Creación de base de datos: ayuda sobre la creación de base de datos, asignación de almacenamientos y selección de las opciones básicas más óptimas. Para invocarla, chiquear sobre el icono de database en el Control Center y seleccionar Create-new.

  Creación de espacio de tablas: ayuda a crear nuevos espacios de tablas y

configurar las opciones básicas de almacenamiento óptimo. Para invocarlo chiquear sobre el icono de Table Space en el Control Center, y seleccionar Create ->Table Space usando Smartguide.

  Creación de Tablas: ayuda a diseñar columnas (usando planillas de

columnas pre-definidas si se desea), crear una clave primaria para la tabla y asignar la tabla a uno o más espacios. Para invocarla chiquear sobre el icono de Table en el Control Center y seleccionar Create ->Table usando Smartguide.

  Backup de Base de datos: hace preguntas básicas sobre la información de

las bases de datos la disponibilidad de las bases de datos, las restricciones de baja horaria y requisitos de recuperabilidad. Esto sugiere un plan de backup, creación de scripts de trabajo y su schedules. Para invocarlo

Page 30: Tarea2

29

SMBD EQUIPO 11 13/12/09

chiquear el icono que representa alguna de sus base de datos en el Control Center y seleccionar Backup -> database usando Smartguide.

  Recupero de base de datos: ayuda sobre el proceso de recuperación de

base de datos. Para invocarlo chiquear sobre el icono que representa una de sus base de datos en el Control Center y seleccionar Backup -> database usando Smartguide.

  Optimización de la configuración: hace preguntas sobre la base de datos,

su información y los propósitos del sistema y entonces sugiere nuevos parámetros de configuración para la base de datos y automáticamente las aplica a las base de datos si se desea. Para invocarlo chiquear en el icono que representa una de su base de datos en el Control Central y seleccione optimización de la configuración.

 Estándares Soportados en DB2

   La UDB DB2 se adapta muy bien a los estándares industriales haciéndola muy integrable con otros productos IBM y también con aquellos que no lo son. La UDB DB2 soporta estándares API incluyendo ANSI SQL92E, Microsoft OBDC y JAVA/JDBC.   Con respecto a las aplicaciones de tipo cliente, se tienen procedimientos almacenados y funciones definidas por el usuario a través de VisualAge. Esto nos da una amplia elección de desarrollo de aplicaciones y herramientas finales para ser elegidas por los usuarios.

Page 31: Tarea2

30

SMBD EQUIPO 11 13/12/09

La UDB DB2 también puede ser integrada con servicios de seguridad para administrar servidores de nombre y direcciones. DB2 también soporta SNMP y puede ser monitoreada desde cualquier Sistema de Administración de Servers de IBM. 

Para poder establecer una comunicación con otras bases de datos relacionales, la UDB DB2 soporta la Arquitectura de Base de Datos Relacional (DRDA). Esta arquitectura también incluye el Servidor de Aplicaciones (AS) y gracias a ella DB2  puede correr sobre TCP/IP  en forma nativa, haciendo más fácil la implementación de un entorno abierto de redes. 

 

La UDB DB2 también incluye las siguientes innovaciones en SQL, que satisfacen los requerimientos:  

SOPORTE DE AUTORIZACION ADICIONAL.

Las siguientes funciones han sido agregadas para soportar autorizaciones:

Privilegio de ACTUALIZACION (UPDATE) del nivel de columna.  Privilegio de REFERENCIAS (REFERENCES) del nivel de columna.  Comando WITH GRANT OPTION en GRANT (para tablas, vistas y

columnas). Privilegios PUBLICOS (PUBLIC) para SQL estático y vistas.

Page 32: Tarea2

31

SMBD EQUIPO 11 13/12/09

SOPORTE DE TIPOS DE DATOS REALES.

Un dato de precisión simple con coma flotante utilizando el comando REAL es soportado por DB2.

DECLARACIONES  DE CREACION DE ESQUEMA (CREATE SCHEMA) Y ELIMINACION DE ESQUEMA (DROP SCHEMA).Una declaración de CREACION DE ESQUEMA (CREATE SCHEMA) y de  ELIMINACION DE ESQUEMA (DROP SCHEMA). son soportadas en DB2. Esto permite tener privilegios asociados con el control del esquema de la base de datos, en la cual los usuarios pueden crear, alterar o eliminar objetos del esquema. 

 

SOPORTE PARA RESTRICCIONES UNICAS.

DB2 también soporta restricciones únicas (unique constraints ), las cuales se indican a continuación : 

Soporte para uno o mas restricciones UNICAS sobre las tablas, en adición a las CLAVES PRIMARIAS. -Las claves foráneas pueden referirse a restricciones únicas. 

El chequeo de las restricciones únicas se realiza en diferido al finalizar la declaración.

Los nombres de las restricciones especificadas pueden ser utilizados como nombre índices (también aplicable a las claves primarias).

Las RESTRICCIONES UNICAS y las CLAVES PRIMARIAS de tablas de partición múltiple incluyen la CLAVE DE PARTICION. 

CONVERSION NUMERICA Y ARITMETICA  AMIGABLE Una aritmética y conversión numérica amigable para asignar variables, permite que una consulta sea llevada a cabo y proporcione algunos resultados aunque los times de ciertos datos no hayan podido ser evaluados. Esta función favorece la compatibilidad con ciertos sistemas como ser OS/390. 

Page 33: Tarea2

32

SMBD EQUIPO 11 13/12/09

Page 34: Tarea2

33

SMBD EQUIPO 11 13/12/09

El Base de Datos Oracle (comúnmente conocido como Oracle RDBMS o simplemente Oracle) Es una sistema de gestión de base de datos (RDBMS) producido y comercializado por Oracle Corporation. A partir de 2009, Oracle mantiene una presencia importante en base de datos informática.[1]

Larry Ellison y sus amigos y ex compañeros de trabajo Bob Miner y Ed Oates comenzó la consultoría de desarrollo de software Laboratorios (SDL) en 1977. SDL desarrollado la versión original del software de Oracle. El nombre Oracle proviene del nombre en clave de un CIAproyecto financiado por la Ellison había trabajado en tiempo empleado anteriormente por Ampex.[2]

Las estructuras físicas y lógicas

Un sistema de base de datos Oracle - identificado por un sistema alfanumérico de identificación o SID[3] - Comprende al menos un ejemplo de la solicitud, junto con el almacenamiento de datos. Un ejemplo - identificado persistentemente por un número de instancias (o ID de activación: SYS.V_ $ DATABASE.ACTIVATION #) - comprende un conjunto de sistema operativo los procesos de y memorialas estructuras que interactúan con el almacenamiento. Los procesos típicos incluyen PMON (el monitor de proceso) y SMON (el monitor de sistema).

Los usuarios de las bases de datos Oracle se refieren a la memoria del servidor de lado la estructura como el SGA (Sistema Global Area). El SGA normalmente tiene caché información como los datos de los amortiguadores, SQL comandos, y la información del usuario. Además de almacenamiento, la base de datos consiste en línea logs de reconstitución (o registros), que mantienen transaccionales la historia. Procesos a su vez puede Archivo los registros de rehacer en línea en los registros de archivo (sin conexión rehacer los registros), que constituyen la base (si es necesario) para la recuperación de datos y para algunas formas de replicación de datos.

Si el Oráculo administrador de base de datos ha puesto en marcha Oracle RAC (Real Application Clusters), luego de varias instancias, por lo general en los diferentes servidores, Se adhieren a una central matriz de almacenamiento. Este escenario ofrece ventajas tales como un mejor rendimiento, escalabilidad y redundancia. Sin embargo, el apoyo se hace más complejo, y muchos sitios no utilicen RAC. En la versión 10g, grid computing recursos compartidos, donde presentó una instancia puede utilizar (por ejemplo) CPU de los recursos de otro nodo (equipo) en la cuadrícula.

El SGBD Oracle puede almacenar y ejecutar procedimientos almacenados y funciones dentro de sí mismo. PL / SQL De procedimiento de extensión de Oracle Corporation (propiedad de SQL), O el lenguaje orientado a objetos Java puede invocar objetos de código de este tipo y / o proveer las estructuras de programación para escribirlos.

Page 35: Tarea2

34

SMBD EQUIPO 11 13/12/09

Almacenamiento

El Oracle RDBMS almacenes de datos, lógicamente, en la forma de tablespaces y físicamente en forma de datos de archivos. Tablespaces puede contener varios tipos de los segmentos de memoria, Tales como segmentos de datos, índice segmentos, etc segmentos a su vez comprenden una o más extensiones. Extensión formada por grupos de bloques contiguos de bloques de datos. Los bloques de datos forman las unidades básicas de almacenamiento de datos.

Gestión de base de datos Oracle pistas de su de almacenamiento de datos informáticos con la ayuda de la información almacenada en el SISTEMA de tablas. El SISTEMA de tablas contiene la diccionario de datos - Y con frecuencia (por defecto) índices y agrupaciones. Un diccionario de datos se compone de una colección especial de tablas que contiene información sobre todos los usuariosobjetos en la base de datos. Desde la versión 8i, el RDBMS Oracle también apoya la "gestión local" de tabla que puede almacenar la información de la gestión del espacio en mapas de bits en sus propios cabeceras más que en el SISTEMA de tablas (como sucede con el valor predeterminado "diccionario-administrado" de tablas).

Los archivos de disco

Los archivos de datos

En el nivel físico, archivos de datos comprende uno o más bloques de datos, Donde el tamaño de bloque de puede variar entre archivos de datos.

Archivos de datos puede ocupar espacio preasignado en el sistema de archivos de un servidor de computadora, utilizar disco sin procesar directamente, o existen dentro de ASM volúmenes lógicos.[4]

Los archivos de control de

Tamaño de los archivos de control El tamaño de los archivos de control se rige por los siguientes parámetros:

* Maxlogfiles   * Maxlogmembers   * MAXLOGHISTORY   * MaxInstances   * Control_file_record_keep_time

Esquema

Convenios de base de datos Oracle se refieren a grupos definidos de propiedad de objetos (en general asociados con nombre de usuario un "") como esquemas.

Page 36: Tarea2

35

SMBD EQUIPO 11 13/12/09

La mayoría de las instalaciones de la base de datos Oracle que tradicionalmente venía con un esquema predeterminado llamado SCOTT. Después de que el proceso de instalación ha creado las tablas de ejemplo, el usuario puede iniciar sesión en la base de datos con el nombre de usuario Scott y la contraseña Tiger. El nombre de la SCOTT de esquema se originó con Bruce Scott, uno de los primeros empleados de Oracle (en ese entonces los laboratorios de desarrollo de software), que tenía un gato llamado Tiger.[5]

Oracle Corporation ha de hacer hincapié en el uso de la SCOTT de esquema, ya que utiliza algunas de las características de las versiones más recientes de Oracle. Los más recientes ejemplos proporcionados por Oracle Corporation referencia el defecto de recursos humanos o los esquemas de la OE.

Otros esquemas predeterminados[6] incluyen:

SYS (estructuras de base de datos esenciales básicos y servicios públicos) SISTEMA (estructuras de base de datos más básicos y los servicios

públicos, y cuenta con privilegios) OUTLN (utilizado para almacenar metadatos almacenados lineamientos

para consulta estable-los planes de ejecución del optimizador.[7]

BI, Septiembre, HR, OE, PM, Y SH (ejemplos de esquemas de expansión [8]

que contiene datos y estructuras más que los mayores SCOTT el diagrama).

Arquitectura de memoria

Sistema Global Area

Artículo principal: Sistema Global Area

Cada instancia de Oracle utiliza un Sistema Global Area o SGA - una memoria compartida zona - para almacenar sus datos y control de la información.[9]

Cada instancia de Oracle asigna en sí misma un SGA cuando se inicia y de-que asigna a la parada del tiempo. La información en el SGA se compone de los siguientes elementos, cada uno de los cuales tiene un tamaño fijo, establecido en la instancia de inicio:

la caché del búfer de base de datos: Esto almacena el más reciente de los datos utilizados bloques. Estos bloques pueden contener datos modificados todavía no se escriben en el disco (a veces conocidos como "bloques sucia"), sin modificar los bloques, bloques o escriben en el disco desde la modificación (a veces conocidos como bloques limpios). Debido a que el buffer cache mantiene los bloques basados en una mayoría de los usados recientemente el algoritmo, los topes más activas permanecen en la memoria para reducir la E / S y para mejorar el rendimiento.

Page 37: Tarea2

36

SMBD EQUIPO 11 13/12/09

rehacer el búfer de registro: este tiendas rehacer las entradas - un registro de los cambios realizados en la base de datos. La instancia escribe rehacer búferes de registro al registro de rehacer lo más rápida y eficiente posible. El registro de rehacer las ayudas en caso de recuperación en caso de un fallo del sistema.

de la piscina compartida: la zona de las tiendas de SGA-estructuras de memoria compartida, tales como zonas comunes de SQL en la caché de biblioteca y de información interna en el diccionario de datos. Una cantidad insuficiente de memoria asignada a la piscina comunitaria puede causar degradación del rendimiento.

Caché de la Biblioteca

El caché de la biblioteca[10] tiendas de SQL compartido, almacenamiento en caché el árbol de traducción y el plan de ejecución de cada sentencia SQL única.

Si varias aplicaciones cuestión la misma instrucción SQL, cada aplicación puede acceder a la zona de SQL compartido. Esto reduce la cantidad de memoria necesaria y reduce el tiempo de procesamiento utilizado para analizar y planificar la ejecución.

Caché de diccionario de datos

El diccionario de datos comprende un conjunto de tablas y vistas que el mapa de la estructura de la base de datos.

Oracle bases de datos almacenan la información aquí sobre la estructura lógica y física de la base de datos. El diccionario de datos contiene información tal como:

la información del usuario, tales como los privilegios del usuario las restricciones de integridad definidas para las tablas de la base de datos los nombres y tipos de datos de todas las columnas en las tablas de base

de datos información sobre el espacio asignado y utilizado para los objetos de

esquema

La instancia de Oracle con frecuencia acceso al diccionario de datos con el fin de analizar SQL. La operación de Oracle depende de fácil acceso a los datos de diccionario: cuellos de botella en el diccionario de datos afectan a todos los usuarios de Oracle. Debido a esto, los administradores de bases de datos debe asegurarse de caché que el diccionario de datos[11] tiene suficiente capacidad para almacenar en caché los datos. Sin suficiente memoria para los datos de la caché de diccionario, los usuarios ven una degradación de rendimiento grave. La asignación de memoria suficiente para la piscina comunitaria donde la memoria caché de diccionario de datos reside se opone a estos problemas de rendimiento en particular.

Page 38: Tarea2

37

SMBD EQUIPO 11 13/12/09

Programa de Área Global de

El Área de Programa Global de[12][13] o la memoria del PGA de la zona de una instancia de Oracle contiene datos y control de la información para el servidor de Oracle procesos.

El tamaño y el contenido de la PGA depende de las opciones de servidor de Oracle instalado. Esta área se compone de los siguientes componentes:

pila-espacio: la memoria que contiene las variables de la sesión, matrices, etc.

período de sesiones de información: a menos que utilice el servidor de multiproceso, las tiendas de ejemplo, su período de sesiones de información en la PGA. (En un servidor multiproceso, el período de sesiones de información va en el SGA.)

SQL privado de la zona: una zona en la PGA, que contiene información como la de obligar a las variables y topes de tiempo de ejecución.

espacio de clasificación: una zona en la PGA, que contiene información sobre las clases, se une a hash, etc

Proceso de arquitecturas de

Procesos de Oracle

El Oracle RDBMS típicamente se basa en un grupo de procesos que se ejecutan simultáneamente en el fondo e interactuar para supervisar y acelerar las operaciones de base de datos. Los grupos de acción típica podría incluir algunos de los procesos individuales siguientes - (mostrado junto con su nomenclatura abreviada):[14]

los procesos de archivador (ARCN) proceso de control (ckpt) * REQUERIDO * coordinador-de-proceso de las colas de trabajos (CJQn): genera

dinámicamente los procesos de trabajo esclavo para las colas de escritor de base de datos de procesos (DBWn) * * REQUERIDO los procesos de despachador (Dnnn): servidor múltiple de procesos, en

nombre de los usuarios de de memoria Process Manager (MMAN): se utiliza para tareas de bases de

datos internas como de gestión automática de memoria compartida proceso de registro de escritor (LGWR) * * REQUERIDO de registro y escritura de red del servidor (LNSn): transmite rehacer los

registros de datos en entornos de la Guardia lógico proceso de coordinador de espera (LSP0): controles de Data Guard

registro de la aplicación proceso de recuperación de los medios de comunicación (MRP): proceso

de recuperación independiente de servidor

Page 39: Tarea2

38

SMBD EQUIPO 11 13/12/09

de memoria proceso de monitor (MMON): proceso para el problema de la detección automática, auto-ajuste y recopilación de datos estadísticos[15]

de memoria el seguimiento del proceso de luz (MMNL): recopila y almacena automática de carga de trabajo Repository (AWR) los datos de

esclavos mmon (Mnnnn - M0000, M0001, etc): los esclavos de fondo del proceso de MMON[16]

proceso de proceso de monitor (PMON) * REQUERIDO * proceso spawner (PSP0): genera los procesos de Oracle cola de monitor de procesos (QMNn) proceso recuperador (RECO) remoto proceso de servidor de archivos (RFS) los procesos del servidor compartido (Snnn): servir el cliente solicita proceso de monitoreo del sistema (SMON) * * REQUERIDO

Los procesos de usuario, las conexiones y sesiones de

La terminología de base de datos de Oracle distingue diferente ordenador de ciencia términos en los que describe cómo los usuarios finales interactuar con la base de datos:

usuario los procesos de impliquen la invocación de la aplicación de software[17]

de una conexión se refiere a la vía que une un proceso de usuario a una instancia de Oracle[18]

sesiones consisten de conexiones específicas a una instancia de Oracle.[19]

Cada período de sesiones dentro de una instancia tiene un identificador de sesión o "SID"[20] (distinct from the system-identifier SID).

De concurrencia y de bloqueo

Bases de datos Oracle de control de acceso simultáneo a los datos de los recursos con cerraduras (alternativamente, documentada como "encola"[21] ). Las bases de datos también utilizan "cerraduras" - los mecanismos de serialización de bajo nivel para proteger a las estructuras de datos en el área global del sistema.[22]

Configuración

Los administradores de bases de datos de control de muchas de las variaciones de sintonizables en una instancia de Oracle a través de los valores en un archivo de parámetros.[23] Este archivo, en su forma predeterminada ASCII ("pfile"), normalmente tiene un nombre del formato <SID-name> init. ora. The default binary equivalent server paramater file ("spfile") (dynamically reconfigurable to some extent)[24] por defecto el formato <SID-name> SPFile. ora. Dentro de un entorno basado en SQL, los puntos de vista V $ PARAMETER[25] y SPPARAMETER V $[26]

dar acceso a la lectura de valores de parámetros.

Internacionalización

Page 40: Tarea2

39

SMBD EQUIPO 11 13/12/09

El software Oracle Database viene en versiones de 63 idiomas (entre ellos las variaciones regionales, tales como Inglés americano y británico Inglés). Las variaciones entre las versiones de cubrir los nombres de los días y meses, abreviaturas, símbolos de tiempo, tales como AM y A.D., y la clasificación.[27]

Oracle Corporation ha traducido Oracle Database error mensajes en árabe, catalán, chino, checo, danés, neerlandés, Inglés, finlandés, francés, alemán, griego, hebreo, húngaro, italiano, japonés, coreano, noruego, polaco, portugués, rumano, ruso, eslovaco, español, sueco, tailandés y turco.[28]

Oracle Corporation ofrece a los desarrolladores de bases de datos con las herramientas y mecanismos para la internacionalización de la producción de aplicaciones de bases de datos: se refiere internamente como "globalización".[29]

Historia

Corporativo / timeline técnica

1977: Larry Ellison y amigos fundaron los Laboratorios de Desarrollo de Software.

1979: SDL cambió su nombre a la empresa "Relational Software, Inc." (RSI) y presentó su producto Oracle V2 como uno de los primeros disponibles comercialmente el sistema de bases de datos relacionales. La versión no apoyó transacciones, Pero la aplicación de base SQL funcionalidad de consultas y une. (RSI nunca lanzó una versión 1 - lugar de llamar a la primera versión la versión 2 como truco de marketing.)[30]

1982: RSI a su vez, cambió su nombre, llegando a ser conocido como "Oracle Corporation"[31] alinearse más estrechamente con su producto estrella.

1983: La empresa Oracle lanzó la versión 3, que se había re-escrito con el Lenguaje de programación C y que el apoyo COMMIT y ROLLBACK funcionalidad para las transacciones. La versión 3 soporta la plataforma se extendía desde el actual Digital VAX / VMS los sistemas para incluir Unix entornos.[31]

1984: Oracle Corporation Oracle lanzó la versión 4, que apoyó lectura de la coherencia.

1985: Oracle Corporation Oracle lanzó la versión 5, que apoyó el cliente-servidor modelo - una señal de las redes cada vez más disponibles a mediados de la década de 1980.

1986: Oracle versión 5.1 comenzó a apoyar distribuidos consultas. 1988: Oracle RDBMS, versión 6 se llegó con el apoyo de PL / SQL

incrustado en Oracle Forms V3 (versión 6 no podía almacenar PL / SQL en la base de datos propiamente dicha), a nivel de fila bloqueo y caliente copias de seguridad.[32]

1989: Oracle Corporation entró en el productos de aplicación mercado y ha desarrollado su ERP de producto, (más tarde a formar parte de la Oracle E-Business Suite), Basado en la base de datos relacional Oracle.

Page 41: Tarea2

40

SMBD EQUIPO 11 13/12/09

De 1990: la liberación de Aplicaciones de Oracle Release 8[31]

1992: la versión de Oracle 7 apareció con el apoyo de integridad referencial, procedimientos almacenados y desencadenantes.

1997: Oracle Corporation lanzó la versión 8, que apoyó orientado a objetos el desarrollo y la Multimedia aplicaciones.

De 1999: La liberación de Oracle8i objetivo de garantizar la inter-operación de bases de datos con la mejor Internet (el en en el nombre viene de "Internet"). La base de datos Oracle 8i incorporado un nativo de Máquina virtual de Java (Oracle JVM).

2000: Oracle E-Business Suite 11i pioneros de software integrado de aplicaciones de empresa[31]

2001: Oracle9i entró en la liberación de 400 nuevas características, incluyendo la capacidad de leer y escribir XML de los documentos. 9i también proporcionó una opción para Oracle RAC, O "Real Application Clusters", un ordenador de racimo base de datos, como un reemplazo para el Oracle Parallel Server (OPS) opción.

2003: Oracle Corporation lanzó Oracle Database 10g. (El g significa "red", haciendo hincapié en el impulso de marketing de presentación de 10g como "la red informática de listo".)

2005: Base de Datos Oracle 10.2.0.1 - también conocido como Oracle Database 10g Release 2 (10gR2) - apareció.

2006: Oracle Corporation anuncia Unbreakable Linux[31]

2007: Oracle Database 10g Release 2 establece un nuevo récord del mundo TPC-H de 3000 GB punto de referencia resultado[33]

2007: Oracle Corporation lanzó Oracle Database 11g para Linux y para Microsoft Windows.

2008: Oracle Corporation adquiere BEA Systems. 2009: Oracle Corporation adquiere Sun Microsystems. Nota: a partir de

octubre 2009 de la adquisición pendiente de la aprobación de la Comisión Europea[editar].

Números de versión

Los productos de Oracle históricamente han seguido su propia liberación y la numeración de las convenciones de nomenclatura. Con la versión 10g de Oracle RDBMS, Oracle Corporation comenzó la normalización de todas las versiones actuales de sus productos principales a través del "10g" etiqueta, aunque algunas fuentes continuó refiriéndose a la versión 11i de Oracle Applications como Oracle 11i. De bases de datos relacionadas con los productos y algunas de sus versiones incluyen:

Oracle Application Server 10g (también conocido como "Oracle 10g AS"): una middleware producto;

Aplicaciones de Oracle Release 11i (también conocido como Oracle E-Business Suite, Oracle Financials o Oracle 11i): una Siguiente de negocio aplicaciones;

Oracle Developer Suite 10g (9.0.4);

Page 42: Tarea2

41

SMBD EQUIPO 11 13/12/09

Oracle JDeveloper 10g: un Java entorno de desarrollo integrado de?

Desde la versión 5, de Oracle RDBMS la liberación de numeración ha utilizado los siguientes códigos:

Oracle5 Oracle6 Oracle7: 7.0.16 - 7.3.4 Oracle8 base de datos: 8.0.3 - 8.0.6 Oracle8i Database Release 1: 8.1.5.0 - 8.1.5.1 Oracle8i Database Release 2: 8.1.6.0 - 8.1.6.3 Oracle8i Database Release 3: 8.1.7.0 - 8.1.7.4 Oracle9i Database Release 1: 9.0.1.0 - 9.0.1.5 (parches en diciembre de

2003) Oracle9i Database Release 2: 9.2.0.1 - 9.2.0.8 (parches en abril de 2007) Oracle Database 10g Release 1: 10.1.0.2 - 10.1.0.5 (parches en febrero de

2006) Oracle Database 10g Release 2: 10.2.0.1 - 10.2.0.4 (parches en abril de

2008) Oracle Database 11g Release 1: 11.1.0.6 - 11.1.0.7 (parches en septiembre

de 2008) Oracle Database 11g Release 2: 11.2.0.1 (Lanzamiento 2009-09-01)

La versión de numeración de sintaxis dentro de cada versión sigue el mismo patrón: major.maintenance.application-server.component-specific.platform específicos.

Por ejemplo, "10.2.0.1 for 64-bit Solaris" significa: gran versión 10 de Oracle, nivel de mantenimiento 2, Oracle Application Server (OracleAS) 0, Nivel 1 para Solaris 64-bit.

El Guía del Administrador de Oracle ofrece más información sobre el número de versión de Oracle. Oracle Corporation ofrece una tabla [34] muestra la revisión más reciente juego de comunicados de prensa más importantes, del sistema operativo y el hardware de la arquitectura.

Lista de los primeros reivindicada

Oracle Corporation afirma que, siempre que:

la primera comercialmente disponibles SQLbase de datos en (1979)[35]

la primera base de datos para apoyar multiprocesamiento simétrico (SMP) (1983)

el primero bases de datos distribuidas (1986) el primera base de datos de productos probados para cumplir con los

Estándar ANSI SQL (1993)[35]

el primero 64-bit base de datos (1995)

Page 43: Tarea2

42

SMBD EQUIPO 11 13/12/09

la primera base de datos para incorporar un nativo de JRE (1998) de propiedad de la primera RDBMS para que esté disponible en Linux

(1998)[36]

la primera base de datos para apoyar XML (1999)

Ediciones

Más allá de las diferentes versiones del software de gestión de bases de datos Oracle, Oracle Corporation se divide su producto en distintas "ediciones" - al parecer, para la comercialización y licencia de seguimiento de razones. En orden aproximado de disminución de la escala, encontramos:

Enterprise Edition[37] (EE) incluye más funciones que el "Standard Edition", especialmente en las áreas de desempeño y la seguridad. Oracle Corporation licencias de este producto sobre la base de usuarios o de los transformadores, normalmente para servidores con 4 o más CPUs. EA no tiene límites de memoria, y pueden utilizar mediante la agrupación Oracle RAC de software.

Standard Edition[38] (SE) contiene la funcionalidad de base de datos de base. Oracle Corporation licencias de este producto sobre la base de usuarios o de los transformadores, por lo general para los servidores corriendo de una a cuatro CPU. Si el número de CPU supera el 4 CPUs, el usuario debe convertir en una licencia de empresa. SE no tiene límites de memoria, y pueden utilizar el agrupamiento con Oracle RAC sin cargo adicional.

Standard Edition One,[39] introdujo con Oracle 10g, tiene algunas características adicionales de las restricciones. Oracle Corporation mercados para su uso en sistemas con uno o dos CPUs. No tiene limitaciones de memoria.

Express Edition[40] ( 'Oracle Database XE), introducido en 2005, ofrece Oracle 10g libre de distribuir en plataformas Windows y Linux. Tiene un tamaño de sólo 150 MB y está restringido [¿por quién?] a la utilización de una sola CPU, un máximo de 4 GB de datos del usuario. Aunque se puede instalar en un servidor con cualquier cantidad de memoria, se utiliza un máximo de 1 GB.[41] El apoyo a esta versión viene exclusivamente a través de los foros en línea y no a través de apoyo de Oracle.

Oracle Database Lite,[42] destinados a la ejecución en dispositivos móviles. El base de datos ubicado en el dispositivo móvil puede sincronizar con un servidor basado en la instalación.

Las plataformas de acogida

Antes de la liberación de Oracle9i en 2001, Oracle Corporation portado su producto de base de datos para una amplia variedad de plataformas. Más

Page 44: Tarea2

43

SMBD EQUIPO 11 13/12/09

recientemente, Oracle Corporation se ha consolidado en un rango menor de las plataformas de sistema operativo.

En octubre de 2006, Oracle apoya los siguientes sistemas operativos y plataformas de hardware para Oracle Database 10g:

Manzana Mac OS X Server: PowerPC HP HP-UX: PA-RISC, Itanium HP Tru64 UNIX: Alpha HP OpenVMS: Alpha, Itanium, IBM AIX5L: IBM POWER IBM z / OS: zSeries Linux: x86, x86-64, PowerPC, zSeries, Itanium, Microsoft Windows: X86, x86-64, Itanium, Sol Solaris: SPARC, X86, x86-64

Related software

Para los enlaces a algunos de los software de Oracle Corporation, que se integra con bases de datos Oracle, consulte el Oracle Corporation categoría y el Categoría de software de Oracle páginas.

Opciones de base de datos

Oracle Corporation se refiere a algunas extensiones a la funcionalidad principal de la base de datos de Oracle como "opciones de la base de datos". [43] A partir de 2008 Entre esas opciones figuran:

Active Data Guard (se extiende Oracle Data Guard la funcionalidad física en espera 11g)

Seguridad avanzada (añade los métodos de cifrado de datos) Base de datos de contenido (proporciona un repositorio centralizado de

información no estructurada) Database Vault (aplica la seguridad adicional en los datos de acceso) Minería de datos (ODM) (minas de patrones en los datos existentes) In-Memory Database Cache (utiliza TimesTen tecnología) Etiqueta de seguridad (aplica a nivel de fila de seguridad) Management Packs (varios) Respuestas de Oracle (para ad-hoc análisis y presentación de informes) Oracle OLAP (añade procesamiento analítico en) Programador de Oracle (provee acceso programático a través de bases de

datos Oracle precompilers, Las interfaces y enlaces)[44]

Particionado (granularizes tablas e índices de eficiencia) Real Application Clusters (RAC) (coordenadas servidores de base de datos

múltiples, así como el acceso a la misma base de datos) Oracle Real Application Testing (nuevo en la versión 11g) - incluida la base

de datos Replay (para probar cargas de trabajo) y de SQL Performance

Page 45: Tarea2

44

SMBD EQUIPO 11 13/12/09

Analyzer (SPA) (para preservar la eficiencia de SQL en entornos cambiantes)[45]

Base de datos de registros (a la gestión de documentos aplicación) Oracle Spatial (integra los datos relacional con sistemas de información

geográfica (SIG)) Transparente Gateway para la conexión a sistemas no-Oracle. Ofrece una

solución optimizada, con más funcionalidad y mejor rendimiento que los genéricos de conectividad de Oracle.

Total Recall (optimiza el almacenamiento a largo plazo de los datos históricos)

Oracle Warehouse Builder (en diversas formas y sub-opciones)

Esta lista es incompleta, Usted puede ayudar otras lenguas.

En la mayoría de los casos, de utilizar estas opciones implica costos de licencias adicionales.[46]

Suites

Además de su RDBMS, Oracle Corporation ha lanzado varias suites relacionados de herramientas y aplicaciones relativas a las implementaciones de bases de datos Oracle. Por ejemplo:

Oracle Application Server, Una basada en J2EE servidor de aplicaciones, Ayuda a desarrollar e implementar aplicaciones que utilicen Internet tecnologías y un navegador.

Oracle Collaboration Suite contiene mensajes, groupware y aplicaciones de colaboración.

Oracle Developer Suite contiene herramientas de desarrollo de software, incluyendo JDeveloper.

Oracle E-Business Suite agrupa las solicitudes de de planificación de recursos empresariales (incluidos Oracle Financials) gestión de relaciones con los clientes y recursos humanos gestión (Oracle HR).

Oracle Enterprise Manager (OEM) utilizado por los administradores de bases de datos (DBA) para gestionar el DBMS, y recientemente en la versión 10g, una web basada en la reescritura de OEM llamada "Oracle Enterprise Manager Database Control". Oracle Corporation ha denominado la empresa Super-Manager utiliza para gestionar una red de DBMS múltiples y servidores de aplicaciones "Oracle Enterprise Manager Grid Control".

Oracle Programmer/2000, una agrupación de interfaces para 3GL lenguajes de programación, Comercializado con Oracle7 y Oracle8.[47][48]

Base de datos "características"

Aparte de las opciones de base de datos bien definidos, bases de datos Oracle puede incluir muchos semi-sub-sistemas autónomos de software, Oracle

Page 46: Tarea2

45

SMBD EQUIPO 11 13/12/09

Corporation, que a veces se refiere como "características" en un sentido sutilmente diferente de la normal utilización de la palabra.[49] Estas "características" puede incluir (por ejemplo):

Historia de sesión activa (ASH), la recogida de datos para el seguimiento inmediato de la actividad de base de datos muy recientes.[50]

Automático de carga de trabajo Repository (AWR), Proporcionando servicios de vigilancia a las instalaciones de la base de datos de Oracle Oracle versión 10. Antes del lanzamiento de la versión de Oracle 10, la instalación de Statspack proporcionan una funcionalidad similar.

Clusterware Agregación de datos y consolidación de Data Guard para alta disponibilidad Genérico Conectividad para la conexión a sistemas no-Oracle. Datos de los servicios públicos de la bomba, lo que ayuda en la importación

y exportación de datos entre bases de datos y metadatos[51]

Base de datos de Resource Manager (DRM), que controla el uso de los recursos informáticos.[52]

Una auditoría minuciosa (FGA) (en Oracle Enterprise Edition[53]) Los suplementos de seguridad estándar de características de auditoría[54]

Flashback selectiva para la recuperación de datos y la reconstrucción[55]

iSQL * Plus, Una web basada en navegador interfaz gráfica de usuario (GUI) para la base de datos Oracle la manipulación de datos de (compárese con SQL * Plus)

Oracle Data Access Components (ODAC), herramientas que consisten en:[56]

o Oracle Data Provider para. NET (ODP.NET)[57]

o Oracle Developer Tools (ODT) para Visual Studioo Proveedores de Oracle para ASP.NETo Oracle Database Extensions para. NETo Oracle para OLE DBo Los objetos de Oracle para OLEo Oracle Services para Microsoft Transaction Server

Oracle ficheros gestionados (OMF) - una característica que permite nombrar automatizados, la creación y supresión de ficheros de datos en el nivel de sistema operativo.

Recovery Manager (RMAN) para copia de seguridad de base de datos, restauración y recuperación

SQL * Plus, Un programa que permite a los usuarios interactuar con la base de datos Oracle (s) a través de SQL y PL / SQL comandos en una de línea de comandos. Comparar iSQL * Plus.

Esta lista es incompleta, Usted puede ayudar otras lenguas.

Herramientas independientes

Page 47: Tarea2

46

SMBD EQUIPO 11 13/12/09

Los usuarios pueden desarrollar aplicaciones en Java y PL / SQL utilizando herramientas como el Oracle JDeveloper, Oracle FormsO Oracle Reports. Oracle Corporation ha comenzado [aclaración necesaria] una tendencia hacia la 'wizard' impulsada por los ambientes con el fin de que los no-programadores para producir simples basadas en datos aplicaciones.

Oracle SQL Developer, Una herramienta gráfica libre para el desarrollo de bases de datos, permite a los desarrolladores para explorar objetos de bases de datos, ejecutar sentencias SQL y secuencias de comandos SQL, y editar y depurar PL / SQL. Se incorpora la presentación de informes estándar o personalizados.

Otras bases de datos comercializados por Oracle Corporation

Con la adquisición de otra tecnología en el campo de base de datos, Oracle Corporation ha hecho cargo de:

TimesTen, Una base de datos residente en memoria que pueden operaciones de caché y sincronizar los datos con un servidor de base de datos centralizada de Oracle. Funciona como un en tiempo real producto de software de infraestructura destinados a la gestión de la bajalatenciaDe datos de alto volumen, de los acontecimientos y de las transacciones.

BerkeleyDB, Una actuación sencilla, de alta, base de datos integrada Oracle Rdb, Un legado de la base de datos relacional para la OpenVMS

sistema operativo MySQL una base de datos relacional adquiridos como parte de su

propietario anterior inmediata, Sun Microsystems

Uso de software Oracle Database

Los usuarios de bases de datos Oracle pueden acceder a la documentación en línea, El sitio de Oracle Technology Network, y el comp.databases.oracle Usenet grupo de discusión. El Oráculo Technet el sitio ofrece descargas de software de evaluación de todas las funciones. Los usuarios también pueden comprobar la Oracle FAQ sitio antes de enviar preguntas a los foros, listas de correo, etc También pueden iniciar sesión en http://asktom.oracle.com/ plantear preguntas y obtener respuestas de la Tom Kyte, Un Vice-Presidente de Oracle Corporation y autor de varios libros incluyendo Oracle Expert One-on-One Oracle (ISBN 1-59059-525-4).

El RDBMS Oracle ha tenido una reputación entre los usuarios novatos como difícil de instalar en sistemas Linux.[editar] Oracle Corporation ha empaquetado los últimos versiones para varias distribuciones populares de Linux, en un intento de minimizar los problemas de instalación más allá del nivel de conocimientos técnicos necesarios para instalar un servidor de base de datos.[editar]

El apoyo oficial

Page 48: Tarea2

47

SMBD EQUIPO 11 13/12/09

Los usuarios que tienen contratos de soporte de Oracle debe recurrir a Oracle Metalink sitio web (se requiere contraseña). Metalink proporciona a los usuarios de los productos de Oracle Corporation con un repositorio de los problemas registrados, los scripts de diagnóstico y soluciones. También se integra con la provisión de herramientas de apoyo, los parches y actualizaciones.

El Agente de diagnóstico remoto o RDA[58] puede funcionar como una línea de comando herramienta de diagnóstico de la ejecución de un script. Los datos capturados se ofrece una visión general del entorno de la base de datos Oracle destinados a diagnóstico y solución de problemas. Dentro de RDA, la HCVE (Chequeo de validación del motor)[59] puede verificar el sistema de acogida y aislar los problemas ambientales que pueden afectar el rendimiento del software de Oracle.

Base de datos relacionados con las directrices

Oracle Corporation también respalda ciertas prácticas y convenios para mejorar la utilización de sus productos de base de datos. Estos incluyen:

Oracle máxima disponibilidad y Arquitectura (MAA), Las directrices sobre el desarrollo de sistemas de alta disponibilidad

Optimal Flexible Architecture (OFA), planos para el mapeo de objetos de base de datos de Oracle para sistemas de archivos

Programa de certificación de Oracle

Artículo principal: Programa de certificación de Oracle

El Programa de certificación de Oracle, Un certificación profesional de programa, incluye la administración de bases de datos Oracle como uno de sus principales rutas de certificación. Consta de tres niveles:

1. Oracle Certified Associate (OCA)2. Oracle Certified Professional (OCP)3. Oracle Certified Master (OCM)

Los grupos de usuarios

Una variedad de oficiales (patrocinado por Oracle)[60] y no oficiales los grupos de usuarios ha crecido de usuarios y desarrolladores de bases de datos Oracle. Estos incluyen:

Oracle Technology Network Independiente de Oracle Users Group Geográficas o grupos de usuarios regionales De productos centrados en los grupos de usuarios

Page 49: Tarea2

48

SMBD EQUIPO 11 13/12/09

La industria, centrada en los grupos de usuarios La Red de mesa de roble Usenet los grupos comp.databases.oracle

Posición de mercado

Competencia

En el mercado de bases de datos relacionales, base de datos Oracle compite contra los productos comerciales, tales como IBM, DB2 UDB y Microsoft SQL Server. Oracle e IBM tienden a luchar por la mitad de mercado de la gama de bases de datos en plataformas UNIX y Linux, mientras que Microsoft domina el mercado medio en la base de datos amplia Microsoft Windows plataformas. Sin embargo, dado que comparten muchos de los mismos clientes, Oracle e IBM tienden a apoyar los productos de otros muchos en el middleware y las categorías de aplicaciones (por ejemplo: WebSphere, PeopleSoft, Y Siebel Systems CRM), Y las divisiones de hardware de IBM trabajando en estrecha colaboración con Oracle para optimizar el rendimiento del servidor de tecnologías (por ejemplo, Linux en zSeries). Las dos empresas tienen una relación quizá mejor descrito como "coopetenciaCompetidores de nicho comercial ". Incluyen Teradata (en el almacenamiento de datos e inteligencia de negocios), de Software AG ADABAS, Sybase, Y de IBM Informix, Entre muchos otros.

Cada vez más, los productos de base de datos Oracle competir contra open-source los sistemas de bases de datos relacionales, en particular, PostgreSQL, Firebird, Y MySQL. Oracle adquirió Innobase, Proveedor de los InnoDB código base a MySQL, en parte para competir mejor en el mercado de código abierto. Los productos de base de datos desarrollada sobre la base del modelo de código abierto son generalmente mucho menos de adquirir que los sistemas de Oracle.

En 2007, la competencia con SAP AG los litigios ocasionados en Oracle Corporation.[61]

Precios

De Oracle Corporation ofrece plazo de concesión de licencias para todos los productos de Oracle. Se basa la lista de precios por un período de licencia-en un porcentaje específico del precio de la licencia perpetua.[62]

Enterprise EditionEn marzo de 2006, La base de datos que los costes de la mayoría de los procesadores por máquina entre ediciones base de datos Oracle.

Standard Edition

Page 50: Tarea2

49

SMBD EQUIPO 11 13/12/09

Más barato: se puede ejecutar en un máximo de cuatro procesadores, pero tiene menos funciones que Enterprise Edition-carece de paralelización adecuada,[63] , etc, pero sigue siendo muy apropiado para ejecutar aplicaciones de tamaño medio.

Norma UNOVende más barato, pero sigue limitada a dos CPU. Standard Edition One se vende en función de cada asiento con un mínimo de cinco usuarios. Oracle Corporation vende por lo general las licencias, con un coste un 22% adicional para la ayuda y las mejoras (acceso a la Metalink - sitio de soporte de Oracle Corporation), que los clientes deben renovar anualmente.

Oracle Express Edition (Oracle XE)Una adición a la familia de productos de base de datos Oracle (beta versión publicada en 2005, versión de producción publicado en febrero de 2006), ofrece una versión gratuita del Oracle RDBMS, pero limitada a 4 GB de datos del usuario y 1 GB de RAM (PEG + PGA). XE no usar más de una CPU y carece de un interior de JVM. XE sólo funciona en Windows y en Linux, no en AIX, Solaris, HP-UX y los otros sistemas operativos disponibles para otras ediciones.

Como los equipos que ejecutan Oracle con frecuencia tienen ocho o más procesadores, el precio del software puede elevarse a cientos de miles de dólares. El costo total de propiedad a menudo excede este, como grandes instalaciones de Oracle por lo general requieren experiencia y formación los administradores de bases de datos para hacer la puesta a punto adecuada. Debido a la base instalada del producto y grandes cursos de formación disponibles, los especialistas de Oracle en algunas zonas se han convertido en un recurso más abundante que las de las bases de datos más exóticos. Oracle proporciona a menudo ofertas especiales de capacitación para los administradores de bases de datos.

En Linux, Oracle, configuraciones certificadas incluyen en su mayoría comerciales Las distribuciones de Linux (Red Hat Enterprise Linux 3 y 4, SuSE SLES8 y 9, Asianux), Que puede costar en un rango de unos pocos cientos a unos miles de dólares por año (dependiendo de la arquitectura del procesador y los módulos de apoyo comprado).

El sistema de base de datos Oracle también puede instalar y ejecutar libremente disponible en las distribuciones de Linux, como Red Hat basado en CentOS,[64] o los sistemas basados en Debian.[65]

Page 51: Tarea2

50

SMBD EQUIPO 11 13/12/09

Page 52: Tarea2

51

SMBD EQUIPO 11 13/12/09

Historia

El base de código para MS SQL Server (antes de la versión 7.0) se originó en Sybase SQL Server, Y fue la entrada de Microsoft a la empresa a nivel de base de datos de mercado, compitiendo con Oracle, IBM, Y, más tarde, Sybase sí mismo. Microsoft, Sybase y Ashton-Tate originalmente se unieron para crear y comercializar la primera versión el nombre de SQL Server 1.0 para el OS / 2 (alrededor de 1989), que era esencialmente el mismo que Sybase SQL Server 3.0 en Unix, SLB, Etc Microsoft SQL Server 4.2 se envió alrededor de 1992 (disponible con Microsoft OS / 2 la versión 1.3). Más tarde, Microsoft SQL Server 4.21 para Windows NT fue puesto en libertad al mismo tiempo, como Windows NT 3.1. Microsoft SQL Server v6.0 fue la primera versión diseñada para NT, y no incluye ninguna dirección de Sybase.

Sobre el tiempo Windows NT fue puesto en libertad, Sybase y Microsoft se separaron y cada uno persigue su propio diseño y comercialización de sistemas. Microsoft negociado los derechos exclusivos para todas las versiones de SQL Server por escrito para los sistemas operativos de Microsoft. Más tarde, Sybase cambió el nombre de su producto a Adaptive Server Enterprise para evitar la confusión con Microsoft SQL Server. Hasta 1994, SQL Server de Microsoft llevaba tres avisos de copyright de Sybase como una indicación de su origen.

Desde que se separó, varias revisiones han sido realizadas de forma independiente. SQL Server 7.0 es una reescritura del código de Sybase legado. Fue seguida por SQL Server 2000, que fue la primera edición que se lanzará en una variante para la IA-64 la arquitectura.

En los ocho años desde el lanzamiento de los productos anteriores de Microsoft SQL Server (SQL Server 2000), los avances se han hecho en el rendimiento, las herramientas de cliente IDE, y varios sistemas complementarios que están empaquetados con SQL Server 2005. Estos incluyen: una ETL (herramienta de SQL Server Integration Services o SSIS), Un servidor de informes, un OLAP y minería de datos servidor (Analysis Services), Y varias tecnologías de mensajería, en concreto Service Broker y Notification Services.

SQL Server 2005

SQL Server 2005 (nombre en clave Yukon), lanzado en octubre de 2005, es el sucesor de SQL Server 2000. Se incluye soporte nativo para la gestión de XML de datos, además de de datos relacional. Para ello, se definió una xml tipo de datos que podría ser utilizado como un tipo de datos en las columnas de base de datos o como literales en las consultas. Columnas XML se puede asociar con XSD esquemas, datos XML se almacena es verificado contra el esquema. XML se convierte a un tipo de datos binarios de interior antes de ser almacenados en la base de datos. Los métodos de indización especializados se pusieron a disposición de los datos XML. Los datos XML se consulta utilizando XQuery, SQL Server 2005 ha añadido algunas extensiones a la T-SQL lenguaje que permita

Page 53: Tarea2

52

SMBD EQUIPO 11 13/12/09

incrustar consultas XQuery en T-SQL. Además, también define una nueva extensión de XQuery, XML denominado DML, que permite consultar las modificaciones a los datos basados en XML. SQL Server 2005 también permite a un servidor de base de datos que se exponen más de servicios web TDS utilizando paquetes encapsulados en SOAP (protocolo) solicitudes. Cuando los datos se tienen acceso a través de servicios web, los resultados son devueltos como XML.[1]

Para los datos relacionales, T-SQL ha sido aumentada con características de control de errores y soporte para consultas recursivas. SQL Server 2005 también ha sido mejorado con nuevos algoritmos de indexación y mejores sistemas de recuperación de errores. Páginas de datos son suma de comprobación para una mejor capacidad de recuperación de error, y el apoyo de concurrencia optimista se ha añadido para un mejor rendimiento. Permisos y control de acceso se han hecho más granular y el procesador de consultas maneja la ejecución simultánea de las consultas de una manera más eficiente. Particiones de las tablas e índices son soportados de forma nativa, por lo que la ampliación a una base de datos en un racimo es más fácil. SQL CLR se introdujo con SQL Server 2005 para permitir que se integren con él. NET Framework.[2]

SQL Server 2005 introdujo "Mars" (Resultados de activos múltiples conjuntos), un método de permitir el uso de conexiones de base de datos para múltiples propósitos.[3]

SQL Server 2008

La versión actual de SQL Server, SQL Server 2008,[4] (nombre en código "Katmai",[5]) Fue puesto en libertad (RTM) El 6 de agosto 2008[6] y que pretende hacer la gestión de datos auto-ajuste, La organización de sí mismo, y sí mantener con el desarrollo de la SQL Server Always On tecnologías, para ofrecer casi cero tiempo de inactividad. SQL Server 2008 también incluye soporte para estructurado y datos semi-estructurados, incluyendo formatos de medios digitales para fotos, audio, vídeo y otros datos multimedia. En las versiones actuales, tales datos multimedia se pueden almacenar como BLOB (objetos binarios grandes), pero son bitstreams genéricos. Conciencia intrínseca de datos multimedia permitirá a funciones especializadas que se realizan en ellos. Según Paul Flessner, Senior Vice President, servidor de aplicaciones, Microsoft Corp., SQL Server 2008 puede ser un almacenamiento de datos de backend para variedades diferentes de datos: XML, correo electrónico, hora / calendario, archivo, documento, espacial, etc así como realizar búsqueda, consulta, análisis, intercambio y sincronización en todos los tipos de datos.[5]

Otros nuevos tipos de datos especializados incluyen fecha y hora tipos y Espacial tipo de datos para la localización de los datos de dependientes.[7] Mejor soporte para datos estructurados y semi-estructurada se realiza utilizando la nueva FILESTREAM[8] tipo de datos, que puede ser utilizado para hacer referencia a cualquier archivo almacenado en el sistema de archivos.[9] Los datos estructurados

Page 54: Tarea2

53

SMBD EQUIPO 11 13/12/09

y metadatos sobre el archivo se almacena en bases de datos SQL Server, mientras que el componente no estructurada es almacenada en el sistema de archivos. Estos archivos se puede acceder tanto a través de Win32 la gestión de archivos API así como a través de SQL Server utilizando T-SQL, Haciendo el acceso a este último el archivo de datos como un BLOB. Copias de seguridad y restauración de la base de datos de copias de seguridad o restaura los archivos de referencia, así.[10] SQL Server 2008 también soporta de forma nativa de datos jerárquicos, e incluye T-SQL construye a tratar con ellos directamente, sin necesidad de utilizar las consultas recursivas.[10]

El Búsqueda de texto completo funcionalidad se ha integrado con el motor de base de datos, lo que simplifica la gestión y mejora el rendimiento.[11]

Los datos espaciales se almacenan en dos tipos. Un "Flat Earth" (geometría plana o) el tipo de datos representa los datos geoespaciales que se ha proyectado desde su nativo, esféricas, sistema de coordenadas en un plano. Una "ronda de la Tierra" tipo de datos (geografía) utiliza un modelo elipsoidal en el que la Tierra se define como una entidad única y continua que no sufre de las singularidades, como la fecha límite internacional, polos, o zona de proyección del mapa "bordes". Aproximadamente 70 son los métodos disponibles para representar las operaciones espaciales para la Open Geospatial Consortium Simple Features para SQL, versión 1.1[12].

SQL Server incluye funciones de compresión mejor, lo que también ayuda en la mejora de la escalabilidad. También incluye El regulador de recursos que permite la reserva de recursos para ciertos usuarios o flujos de trabajo. También incluye capacidades para cifrado transparente de datos, así como la compresión de copias de seguridad.[8] SQL Server 2008 es compatible con la ADO.NET Entity Framework y las herramientas de información, la replicación, y definición de los datos será construido alrededor de la Modelo de Datos de la entidad.[13] SQL Server Reporting Services adquirirá la capacidad de la cartografía de la integración de los productos de visualización de datos de Dundas Data Visualization Inc., que fue adquirida por Microsoft.[14] Por el lado de la gestión, SQL Server 2008 incluye la Declarative Management Framework que permite la configuración de las políticas y las limitaciones, sobre la base de datos o algunas tablas, de forma declarativa.[7] La versión de SQL Server Management Studio incluye con SQL Server 2008 es compatible con IntelliSense para las consultas SQL en una base de datos de SQL Server 2008 Motor [15]. SQL Server 2008 también hace que las bases de datos disponibles a través de Windows PowerShell los proveedores y la funcionalidad de gestión disponibles como Cmdlets, De modo que el servidor y todas las instancias en ejecución puede ser administrado desde Windows PowerShell.[16]

Page 55: Tarea2

54

SMBD EQUIPO 11 13/12/09

SQL Server 2008 R2

SQL Server 2008 R2 (anteriormente denominados SQL Server "Kilimanjaro"), Fue anunciada en TechEd 2009. De SQL Server 2008 R2, añade algunas características a SQL Server 2008, incluidos los gestión de datos maestros sistema de marca como Master de Servicios de Datos, Una consola centralizada para gestionar múltiples instancias de SQL Server, y soporte para más de 64 procesadores lógicos.[17]

Ediciones

Microsoft no ofrece SQL Server está disponible en múltiples ediciones, con funciones diferentes y destinados a los usuarios diferentes. Estas ediciones son:[18]

[19]

SQL Server Compact Edition (SQL CE)

La edición en compacto es un motor de base de datos incorporada. A diferencia de las otras ediciones de SQL Server, el motor de SQL Server CE se basa en SQL Mobile (inicialmente diseñado para el uso con los dispositivos de mano) y no comparte los mismos archivos binarios. Debido a su pequeño tamaño (1MB huella DLL), tiene una marcada reducción en comparación con el conjunto de características de las otras ediciones. Por ejemplo, se admite un subconjunto de los tipos de datos estándar, no es compatible con los procedimientos almacenados o vistas o de múltiples lotes de instrucción (entre otras limitaciones). Se limita a 4 GB de tamaño máximo de base de datos y no se puede ejecutar como un servicio de Windows, Compact Edition debe ser acogido por la aplicación de usarlo. La versión 3.5 incluye un trabajo considerable que apoya ADO.NET Servicios de sincronización.

SQL Server Developer Edition

SQL Server Developer Edition incluye las mismas características de SQL Server Enterprise Edition, pero está limitado por la licencia para ser utilizado como un sistema de desarrollo y prueba, y no como servidor de producción. Esta edición está disponible para descargar por los alumnos de forma gratuita como parte de los Microsoft's DreamSpark programa.

SQL Server 2005 Embedded Edition (SSEE)

De SQL Server 2005 Embedded Edition es una instancia con nombre configurado de manera especial del motor de base de datos de SQL Server

Page 56: Tarea2

55

SMBD EQUIPO 11 13/12/09

Express que se puede acceder sólo por determinados servicios de Windows.

SQL Server Enterprise Edition

SQL Server Enterprise Edition es la edición con todas las características de SQL Server, incluyendo el motor, tanto la base de datos básicos y servicios complementarios, mientras que incluye una serie de herramientas para crear y gestionar un clúster de SQL Server.

Edición de evaluación de SQL Server

Edición de evaluación de SQL Server, también conocido como el Edición de prueba, Tiene todas las características de la versión Enterprise Edition, pero está limitado a 180 días, después de lo cual las herramientas seguirán funcionando, pero los servicios de servidor se detendrá.[20]

SQL Server Express Edition

SQL Server Express Edition es una edición gratuita reducida, de SQL Server, que incluye el motor de base de datos central. Si bien no hay limitaciones en el número de usuarios de bases de datos o el apoyo, se limita a la utilización de un procesador, memoria de 1 GB y 4 GB de archivos de base de datos. La base de datos se almacena en un único . Mdf archivo y, por lo que es adecuado para La implementación de XCOPY. Está concebido como un reemplazo para MSDE. Dos ediciones adicionales proporcionan no es un superconjunto de las características en la edición original Express. La primera es SQL Server Express con herramientas, Que incluye SQL Server Management Studio De base. SQL Server Express con Advanced Services añade una completa capacidad de búsqueda de texto y servicios de información.[21]

SQL Server Fast Track

SQL Server Fast Track es específicamente para la empresa de almacenamiento de datos a escala de almacenamiento y procesamiento de inteligencia de negocios, y se ejecuta en hardware de arquitectura de referencia que está optimizada para la Fast Track.[22]

SQL Server Standard Edition

De SQL Server Standard Edition incluye el motor de base de datos central, junto con los servicios independientes. Se diferencia de la edición Enterprise en que apoya los casos menos activa (número de nodos en un

Page 57: Tarea2

56

SMBD EQUIPO 11 13/12/09

cluster) y no incluye algunas funciones de alta disponibilidad tales como hot-add memoria (memoria para permitir que se añada mientras el servidor está aún en marcha), y índices paralelos.

SQL Server Web Edition

SQL Server Web Edition es una de bajoTCO opción de alojamiento Web.

SQL Server Workgroup Edition

De SQL Server Workgroup Edition incluye la funcionalidad de base de datos central, pero no incluye los servicios adicionales.

ArquitecturaProtocolo de la capa de

Protocolo de la capa implementa la interfaz externa a SQL Server. Todas las operaciones que se pueden invocar en SQL Server se comuniquen a través de un formato definido por Microsoft, llamada Secuencia de datos tabular (TDS). TDS es un protocolo de capa de aplicación, utilizado para transferir datos entre un servidor de base de datos y un cliente. Inicialmente diseñado y desarrollado por Sybase Inc. para su Sybase SQL Server motor de base de datos relacional en 1984, y más tarde por Microsoft en Microsoft SQL Server, los paquetes TDS puede ser encerrada en el transporte físico de otros protocolos de cargo, tales como TCP / IP, Las canalizaciones con nombre, Y La memoria compartida. En consecuencia, el acceso a SQL Server está disponible a través de estos protocolos. Además, la API de SQL Server también está expuesta en servicios web.[19]

De almacenamiento de datos

La unidad principal del es un base de datos, Que es una colección de cuadros con escrito columnas. SQL Server es compatible con diferentes tipos de datos, incluyendo tipos primarios como Entero, Float, Decimal, Char (incluyendo cadenas de caracteres), Varchar (cadenas de caracteres de longitud variable), binarios (para no estructurados manchas de datos), Texto (para datos de texto), entre otros. El redondeo de la flota a los usos ya sea enteros aritmética simétrica de redondeo o simétrica de la Ronda de Down (Fijar) En función de argumentos: SELECT ROUND (2.5, 0) da 3.

Microsoft SQL Server también permite que el usuario defina los tipos compuestos (UDT), que se define y utiliza. También hace que las estadísticas del servidor disponibles como tablas virtuales y puntos de vista (denominado Vistas de administración dinámica o DMV). Una base de datos también puede contener otros objetos, incluido visitas, procedimientos almacenados, índices y limitaciones, Además de las mesas, junto con un registro de transacciones. Una base de datos de SQL Server puede contener un máximo de 231 objetos, y puede abarcar varios OS-Archivos de alto nivel con un tamaño máximo de 220 TB.[19] Los datos de la

Page 58: Tarea2

57

SMBD EQUIPO 11 13/12/09

base de datos se almacenan en archivos de datos primarios, con una extensión. Mdf. Archivos de datos secundarios, identificados con un . FDN de extensión, se utilizan para almacenar metadatos opcional. Los archivos de registro están identificados con él. Ldf de extensión.[19]

El espacio de almacenamiento asignado a una base de datos está dividido en numeradas secuencialmente páginas, Cada 8 KB de tamaño. Un Página es la unidad básica de E / S para las operaciones de SQL Server. Una página está marcada con un encabezado de 96-byte que almacena metadatos acerca de la página, incluyendo el número de página, tipo de página, espacio libre en la página y la identificación del objeto que lo posee. Tipo de página se definen los datos que figuran en la página - los datos almacenados en la base de datos, índice, mapa de distribución que contiene información acerca de cómo las páginas se asignan a las tablas e índices, cambiar el mapa que contiene información sobre los cambios realizados en otras páginas desde el último backup o la tala, o que contienen grandes tipos de datos tales como la imagen o texto. Mientras que la página es la unidad básica de una operación I / O, el espacio es realmente gestionados en términos de una medida que consta de 8 páginas. Un objeto de base de datos o bien puede abarcar todos los 8 páginas en una medida ("medida uniforme") o compartir una medida de hasta 7 más objetos ("medida mixta"). Una fila de una tabla de base de datos no puede abarcar más de una página, por lo que se limita a 8 KB de tamaño. Sin embargo, si los datos son superiores a 8 KB y la fila contiene Varchar o Varbinary de datos, los datos de las columnas se desplazan a una nueva página (o posiblemente una secuencia de páginas, llamado Unidad de asignación) Y se sustituye con un puntero a los datos.[23]

Para el almacenamiento físico de una mesa, sus filas se dividen en una serie de particiones (numerados de 1 a N). El tamaño de la partición es definida por el usuario, por defecto todos los registros se encuentran en una sola partición. Una tabla se divide en varias particiones con el fin de difundir una base de datos de más de un racimo. Filas de cada partición se almacenan en cualquiera de B-tree o montón estructura. Si la tabla tiene asociado un Índice para permitir la recuperación rápida de las filas, las filas se almacenan en orden de acuerdo a sus valores de índice, con un árbol B proporcionar el índice. Los datos se encuentran en el nudo de la hoja de las hojas, y otros nodos de almacenamiento de los valores del índice para los datos de la hoja accesible desde los nodos respectivos. Si el índice no agrupado, las filas no se ordenan de acuerdo a las claves de índice. Un índice de ver tiene la misma estructura de almacenamiento como una tabla indizada. Una tabla sin un índice se almacena en una estructura de montón desordenado. Tanto las escombreras y los árboles B pueden abarcar varias unidades de asignación.[24]

Page 59: Tarea2

58

SMBD EQUIPO 11 13/12/09

La gestión de búfer

SQL Server buffers páginas en RAM para minimizar el disco I / O. Cualquier página 8 KB puede ser amortiguada en la memoria, y el conjunto de todas las páginas de búfer en la actualidad se llama la caché del búfer. La cantidad de memoria disponible para SQL Server decide cuántas páginas se almacenan en caché en la memoria. El buffer cache es administrado por la Buffer Manager. Ya sea leyendo o escribiendo a cualquier copia la página a la caché del búfer. Afecta lee o escribe son redirigidos a la copia en memoria, en lugar de la versión en disco. La página se actualiza en el disco por el administrador de búfer si la caché en memoria no ha sido referenciado por algún tiempo. Mientras escribe páginas de vuelta al disco, E / S asíncrona se utiliza mediante el cual la operación I / O se realiza en un subproceso de fondo para que las demás operaciones no tienen que esperar a la E / S operación se complete. Cada página está escrita junto con su Suma de control cuando es escrita. Al leer la última página, su suma de control se calcula de nuevo y coincidir con la versión almacenada para garantizar la página no ha sido dañado o alterado en el ínterin.[25]

La tala y de transacciones

SQL Server garantiza que cualquier cambio en los datos se ACIDcompatible, es decir, utiliza transacciones para garantizar que cualquier operación sea totalmente completa o se deshace, si falla, pero nunca sale de la base de datos en un estado intermedio. Uso de las transacciones, una secuencia de acciones pueden ser agrupados, con la garantía de que cualquiera de todas las acciones tendrá éxito o no lo tendrán. SQL Server implementa operaciones utilizando un fichero de registro. Cualquier cambio realizado en cualquier página se actualizará la caché en memoria de la página, al mismo tiempo todas las operaciones realizadas se escribirá en el registro, junto con el ID de transacción que la operación fue una parte de. Cada entrada de registro se identifica por un aumento de Número de secuencia de registro (LSN) que garanticen que ningún caso sobrescribe otro. SQL Server garantiza que el registro será escrito en el disco antes de la página que se escribe de vuelta. Esto permite a SQL Server para asegurar la integridad de los datos, incluso si el sistema falla. Si tanto el registro y la página fueron escritos antes del fallo, todos los datos es el almacenamiento persistente y la integridad está garantizada. Si se ha escrito sólo el registro (la página no estaba bien escrito o no escrito por completo), entonces las acciones se pueden leer en el registro y repetidas para restaurar la integridad. Si el registro no fue escrito después de integridad también se mantiene aunque el estado de la base de datos se mantiene sin cambios, como si nunca se produjo la transacción. Si fuera sólo parcialmente por escrito, a continuación, las acciones relacionadas con la operación sin terminar se descartan. Dado que el registro sólo se vio parcialmente escrito, la página se garantiza que no se han escrito, una vez más para garantizar la integridad de datos. Eliminación de las entradas de registro sin terminar de manera efectiva deshace la operación. SQL Server garantiza la coherencia entre el registro y los datos cada vez que una instancia se reinicia.[19]

Page 60: Tarea2

59

SMBD EQUIPO 11 13/12/09

De concurrencia y de bloqueo

SQL Server permite que varios clientes a utilizar la misma base de datos al mismo tiempo. Como tal, es necesario que el control de acceso concurrente a los datos compartidos, para garantizar la integridad de los datos - cuando los clientes múltiples actualizar los mismos datos, o los clientes intentan leer los datos que está en proceso de ser cambiado por otro cliente. De SQL Server proporciona dos modos de control de la concurrencia: concurrencia pesimista y de concurrencia optimista. Cuando el control de concurrencia pesimista se utiliza, SQL Server controla el acceso concurrente mediante bloqueos. Cerraduras puede ser compartido o exclusivo. Bloqueo exclusivo concede al usuario el acceso exclusivo a los datos - ningún otro usuario puede acceder a los datos mientras se mantiene el bloqueo. Los bloqueos compartidos se utilizan cuando algunos datos que se lee - varios usuarios pueden leer los datos cerrada con un bloqueo compartido, pero no adquirir un bloqueo exclusivo. Este último tendría que esperar a que todos los bloqueos compartidos a ser liberados. Cerraduras se pueden aplicar en diferentes niveles de granularidad - en tablas enteras, páginas, o incluso en una fila por fila en las tablas. Para los índices, que pueden ser en el índice completo o en las hojas del índice. El nivel de granularidad para ser utilizada se define en función de cada base de datos por el administrador de base de datos. Mientras que un sistema de bloqueo de grano fino permite a más usuarios a utilizar la tabla o el índice al mismo tiempo, se requiere de más recursos. Por lo que no significa automáticamente se convierten en la solución de mayor rendimiento. SQL Server también incluye dos más ligero la exclusión mutua soluciones - cerraduras y spinlocks - que son menos robustas que las cerraduras, pero son menos intensivos en recursos. SQL Server utiliza para los departamentos de vehículos motorizados y otros recursos que no suelen ser ocupados. SQL Server también controla todos los subprocesos de trabajo que adquieren bloqueos para garantizar que no terminen en interbloqueos - En caso de que hacer, SQL Server toma medidas correctivas, que en muchos casos es matar a uno de los hilos entrelazados en un punto muerto y la reversión de la operación se inició. [19] Para aplicar el bloqueo, SQL Server contiene la Lock Manager. El Administrador mantiene un bloqueo en la tabla en memoria que gestiona los objetos de base de datos y cerraduras, en su caso, en ellos, junto con otros metadatos acerca de la cerradura. El acceso a cualquier objeto compartido es mediado por el gestor de bloqueos, que o bien se otorga acceso a los recursos, o lo bloquea.

SQL Server también proporciona el mecanismo de control de concurrencia optimista, que es similar a la de control de concurrencia multiversión utilizados en otras bases de datos. El mecanismo permite que una nueva versión de una fila que se crea cuando se actualiza la fila, en lugar de sobrescribir la fila, es decir, una fila es, además, identificado por el ID de la transacción que creó la versión de la fila. Tanto los antiguos como a las nuevas versiones de la fila son almacenados y mantenidos, aunque las versiones antiguas son sacadas de la base de datos en una base de datos del sistema identificado como Tempdb. Cuando una fila está en el proceso de actualización, todo tipo de solicitudes no están bloqueados (a diferencia de bloqueo), pero se ejecutan en la versión anterior de la fila. Si la

Page 61: Tarea2

60

SMBD EQUIPO 11 13/12/09

solicitud de otro es una instrucción de actualización, se producirá en dos versiones diferentes de las filas - ambos serán almacenados por la base de datos, identificados por su ID de transacción en cuestión.[19]

Obtención de datos

El principal modo de recuperación de datos de una base de datos de SQL Server es consultar para ello. La consulta se expresa como una variante de la SQL llamado T-SQL, Un dialecto de Microsoft SQL Server comparte con Sybase SQL Server debido a su legado. La consulta declarativa especifica lo que se va a recuperar. Es procesado por el procesador de consultas, el que figura la secuencia de pasos que serán necesarios para recuperar los datos solicitados. La secuencia de acciones necesarias para ejecutar una consulta que se llama un plan de consulta. Podría haber varias maneras de procesar la misma consulta. Por ejemplo, para una consulta que contiene una unirse declaración y un Seleccione declaración, tanto en la ejecución de unirse a las tablas a continuación, seleccione la ejecución de los resultados le daría el mismo resultado que la selección de cada mesa y luego la ejecución de la junta, pero el resultado en los planes de ejecución diferentes. En tal caso, SQL Server elige el plan que se supone que debe dar los resultados en el menor tiempo posible. Esto se llama optimización de la consulta y es realizado por el procesador de consulta en sí misma.[19]

SQL Server incluye un servidor basado en el costo optimizador de consultas que trata de optimizar el costo, en términos de los recursos que se necesita para ejecutar la consulta. Dada una consulta, el optimizador de consultas se ve en el Esquema, Las estadísticas de base de datos y la carga del sistema en ese momento. A continuación, decide que la secuencia para acceder a los cuadros mencionados en la consulta, que para ejecutar la secuencia de operaciones y qué método de acceso que se utiliza para acceder a las tablas. Por ejemplo, si la tabla tiene un índice asociado, si el índice debe ser utilizado o no - si el índice está en una columna que no es única para la mayoría de las columnas (bajo la "selectividad"), no valdría la pena utilizar el índice para acceder a los datos. Por último, se decide si para ejecutar la consulta al mismo tiempo o no. Mientras que una ejecución concurrente es más costosa en términos de tiempo de procesador total, porque la ejecución es en realidad dividida en diferentes procesadores podría significar que se ejecutarán más rápido. Una vez que un plan de consulta se genera para una consulta, que se encuentra temporalmente en caché. Para llamadas a más de la misma consulta, se utiliza el plan de la caché. Los planes no utilizados se desechan después de algún tiempo.[19][26]

SQL Server también permite a procedimientos almacenados por definir. Los procedimientos almacenados son parámetros de T-SQL queries, que se almacenan en el servidor en sí (y no emitidas por la aplicación cliente como es el caso de las consultas en general). Los procedimientos almacenados pueden aceptar los valores enviados por el cliente como parámetros de entrada, y enviar los resultados como parámetros de salida. Se puede llamar a las funciones definidas, y otros procedimientos almacenados, incluyendo el mismo

Page 62: Tarea2

61

SMBD EQUIPO 11 13/12/09

procedimiento almacenado (hasta un número determinado de veces). Pueden ser siempre selectivamente el acceso a la. A diferencia de otras consultas, procedimientos almacenados tienen un nombre asociado, que se utiliza en tiempo de ejecución para resolver en las consultas reales. También porque el código no tiene que ser enviado por el cliente cada vez que (como se puede acceder por su nombre), se reduce el tráfico de red y de alguna manera mejora el rendimiento. [27]

Planes de ejecución para los procedimientos almacenados en caché, como también son necesarios.

SQL CLRArtículo principal: SQL CLR

Microsoft SQL Server 2005 incluye un componente denominado SQL CLR (“Common Language Runtime") a través de la cual se integra con . NET Framework. A diferencia de muchas otras aplicaciones que utilicen . NET Framework, SQL Server se aloja él . NET Framework Tiempo de ejecución, Es decir, la memoria, roscado y los requisitos de gestión de los recursos de. NET Framework está satisfecho por SQLOS sí mismo, en lugar del sistema operativo Windows subyacente. SQLOS proporciona la detección y bloqueo de servicios de resolución de. NET también. Con SQL CLR, procedimientos almacenados y desencadenantes se puede escribir en cualquier Gestionado . NET, Incluyendo C # y VB.NET. El código administrado También puede ser utilizado para definir UDT (tipos definidos por el usuario), Que puede persistir en la base de datos. El código administrado está compilado para . NET y después de ser verificadas para la seguridad de tipos, Registrada en la base de datos. Después de eso, puede ser invocada como cualquier otro procedimiento.[28] Sin embargo, sólo un subconjunto de la Base Class Library está disponible, cuando se ejecuta código CLR en SQL. La mayoría de las API relacionadas con interfaz de usuario funcionalidad no está disponible.[28]

Al escribir código para SQL CLR, los datos almacenados en bases de datos SQL Server se puede acceder utilizando la ADO.NET API como cualquier otra Gestión de aplicación que accede a los datos de SQL Server. Sin embargo, hacer que crea una sesión nueva base de datos diferente de aquel en el que se ejecuta el código. Para evitar esto, SQL Server proporciona algunas mejoras a la ADO.NET proveedor que permite la conexión a ser redirigido a la misma reunión, que ya acoge a la ejecución de código. Dichas conexiones se llama contexto y las conexiones se establecen mediante el establecimiento de Relación con el contexto parámetro VERDADERO en la cadena de conexión. SQL Server también proporciona varias otras mejoras para la ADO.NET De la API, incluyendo clases para trabajar con datos tabulares o una sola fila de datos, así como clases para trabajar con los metadatos internos sobre los datos almacenados en la base de datos. También proporciona acceso a las funciones de XML en SQL Server, incluidos XQuery apoyar. Estas mejoras también están disponibles en T-SQL Procedimientos como consecuencia de la introducción del nuevo tipo de datos XML (de consulta, el valor, los nodos de funciones).[29]

Page 63: Tarea2

62

SMBD EQUIPO 11 13/12/09

Servicios

SQL Server también incluye una variedad de servicios adicionales. Si bien estos no son esenciales para el funcionamiento del sistema de base de datos, que proporcionan servicios de valor añadido en la parte superior del núcleo del sistema de gestión de base de datos. Estos servicios se ejecutan como parte de algún componente de SQL Server o fuera del proceso como Servicio de Windows y presenta su propio API para controlar e interactuar con ellos.

Service Broker

Service Broker, que funciona como una parte del motor de base de datos, proporciona una mensajería fiable y Message Queue Server plataforma para aplicaciones de SQL Server. Utilizar dentro de una instancia, se utiliza para proporcionar un entorno de programación asincrónica. Para las aplicaciones de ejemplo, de la Cruz, comunica Service Broker más de TCP / IP y permite que los diferentes componentes que se sincronicen en conjunto, a través de intercambio de mensajes.[30]

Servicios de replicación de

Replicación de SQL Server servicios son utilizados por SQL Server para replicar y sincronizar objetos de base de datos, ya sea en conjunto o un subconjunto de los objetos presentes, a través de agentes de réplica, que pueden ser servidores de bases de datos a través de la red o base de datos almacena en caché en el cliente. De replicación sigue un editor / modelo de abonado, es decir, los cambios son enviados por un servidor de base de datos ("editor") y son recibidos por otros ("abonados"). SQL Server admite tres tipos diferentes de replicación:[31]

De replicación de transacciones

Cada transacción realizada a la base de datos editorial (base de datos master) está sincronizado a los suscriptores, que actualizan sus bases de datos con la transacción. La replicación transaccional sincroniza las bases de datos en tiempo casi real.[32]

La replicación de mezcla

Los cambios realizados en el publicador y bases de datos de suscriptor se realizan un seguimiento y, periódicamente, los cambios se sincronizarán bidireccionales entre el editor y los suscriptores. Si los mismos datos se han modificado de manera diferente en el publicador y las bases de datos de suscriptores, la sincronización se traducirá en un conflicto que se tiene que resolver - ya sea manualmente o mediante el uso de pre-definidos políticas.

Page 64: Tarea2

63

SMBD EQUIPO 11 13/12/09

rowguid debe ser configurado en una columna, si se configura la replicación de mezcla. [33]

La réplica de instantáneas

La réplica de instantáneas publicó una copia de la base de datos (el entonces instantánea de los datos) y se replica a los suscriptores. Otros cambios a la instantánea no se realizan un seguimiento.[34]

Analysis ServicesArtículo principal: SQL Server Analysis Services

SQL Server Analysis Services agrega OLAP y minería de datos capacidades de las bases de datos SQL Server. El motor OLAP apoya MOLAP, ROLAP y HOLAP modos de almacenamiento de datos. Analysis Services admite la XML for Analysis estándar como el protocolo de comunicación subyacente. Los datos del cubo se puede acceder usando MDX consultas.[35] La funcionalidad de minería de datos específicos se expone a través de la DMX lenguaje de consulta. Analysis Services incluye varios algoritmos -- Los árboles de decisión, El algoritmo de agrupamiento, el Naive Bayes algoritmo, análisis de series de tiempo, el algoritmo de clústeres de secuencia, lineal y logística regresión el análisis, y redes neuronales - Para uso en minería de datos.[36]

Reporting ServicesArtículo principal: SQL Server Reporting Services

SQL Server Reporting Services es un entorno de generación de informes para los datos recogidos en bases de datos SQL Server. Se administra a través de un interfaz web. Reporting Services ofrece unos servicios web interfaz para apoyar el desarrollo de aplicaciones de informes personalizados. Los informes se crean como RDL archivos.[37]

Los reportes pueden ser diseñados utilizando las últimas versiones de Microsoft Visual Studio (incluyendo Visual Studio.NET 2003 en adelante) con Business Intelligence Development Studio, Instalados o con el Generador de informes incluido. Una vez creado, los archivos RDL se pueden representar en una variedad de formatos[38] incluyendo Excel, PDF, CSV, XML, TIFF (y otros formatos de imagen)[39], Y HTML en Archivo Web.

Page 65: Tarea2

64

SMBD EQUIPO 11 13/12/09

Notification ServicesArtículo principal: SQL Server Notification Services

Originalmente introducido como posterior a la liberación add-on para SQL Server 2000[40], Notification Services fue integrado como parte de la plataforma de Microsoft SQL Server para la primera y única vez con SQL Server 2005.[41][42] Con SQL Server 2005, SQL Server Notification Services es un mecanismo para la generación de datos impulsada por las notificaciones, que se envían a los suscriptores de servicios de notificación. A los registros de abonados para un evento específico o una operación (que es registrada en el servidor de base de datos como un disparador), cuando se produce el evento, Notification Services puede utilizar uno de los tres métodos para enviar un mensaje a los suscriptores información sobre la ocurrencia del evento. Estos métodos incluyen SMTP, SOAP, o por escrito a un archivo en el sistema de archivos. [43]. De Notification Services se suspendió por Microsoft con el lanzamiento de SQL Server 2008 en agosto de 2008, y ya no es un componente de apoyo oficial de la plataforma de la base de datos de SQL Server.

Servicios de IntegraciónArtículo principal: SQL Server Integration Services

SQL Server Integration Services se utiliza para integrar datos de diferentes fuentes de datos. Se utiliza para la ETL capacidades de SQL Server para almacenamiento de datos necesidades. Integration Services incluye herramientas visuales para construir la extracción de datos flujos de trabajo funcionalidad de integración de diversos tales como la extracción de datos de diversas fuentes, la consulta de datos, incluida la agregación de transformación de los datos, la duplicación y fusión de los datos, a continuación, cargar los datos transformados en otras fuentes, o el envío de mail sobre el estado de la operación definida por el usuario.[44]

Búsqueda de texto completo de serviciosArtículo principal: SQL Server Búsqueda de texto completo

Page 66: Tarea2

65

SMBD EQUIPO 11 13/12/09

El texto completo de SQL Servidor de arquitectura de servicios de búsqueda

De SQL Server completo servicio de búsqueda de texto es una indexación especializada y consultas de servicios para el texto no estructurados almacenados en bases de datos SQL Server. El índice de búsqueda de texto completo se puede crear en cualquier columna con el carácter de datos basados en texto. Permite que las palabras que se deben buscar en las columnas de texto. Si bien se puede realizar con el SQL COMO operador, utilizando SQL Server completo servicio de búsqueda de texto puede ser más eficiente. Búsqueda de texto completo (FTS) permite ajustar inexacta de la cadena de origen, indicados por un Fila un valor que puede variar desde 0 hasta 1000 - un rango más alto significa un partido más precisa. También permite juego lingüístico ( "búsqueda de inflexión"), es decir, las variantes lingüísticas de una palabra (como un verbo en una tensa diferentes) también estarán a la altura de una palabra dada (pero con un rango inferior a una coincidencia exacta). Búsquedas de proximidad también son compatibles, es decir, si las palabras buscadas no ocurren en la secuencia que se especifican en la consulta, pero están cerca unos de otros, también se consideran un partido. T-SQL, expone a los operadores especiales que pueden ser utilizados para acceder a las capacidades de FTS.[45][46]

El motor de búsqueda de texto completo se divide en dos procesos - la Filtro de Daemon proceso (Msftefd.exe) Y el Búsqueda proceso (Msftesql.exe). Estos procesos de interacción con el servidor SQL Server. El proceso de búsqueda incluye el indexador (que crea los índices de texto completo) y el procesador de consultas de texto completo. El indexador explora a través de columnas de texto en la base de datos. También se puede a través de columnas de índice binario, y el uso de IFilters para extraer el texto significativo de la burbuja binario (por ejemplo, cuando un Microsoft Word documento se guarda como un archivo binario no estructurado en una base de datos). Los IFilters se alojan por el proceso de demonio de filtro. Una vez extraído el texto, el proceso de filtrado Daemon la divide en una secuencia de palabras y lo entrega al indizador. Los filtros de indizador a cabo palabras de ruido, Es decir, las palabras, como Un, Y, etc, que ocurren con frecuencia y no son útiles para la búsqueda. Con las palabras restantes, un índice invertido se crea, asociando cada palabra con las columnas que fueron encontrados in SQL Server se incluye un Gatherer componente que monitorea los cambios en las tablas e invoca el indizador en el caso de las actualizaciones.[47]

Cuando una consulta de texto completo es recibida por el procesador de consultas de SQL Server, es entregado al procesador de consultas FTS en el proceso de búsqueda. El procesador de consultas FTS rompe la consulta en las palabras de los componentes y filtra el ruido de las palabras, y utiliza un incorporado tesauro para conocer las variantes lingüísticas de cada palabra. Las palabras son a continuación, se preguntó en el índice invertido y una parada de su exactitud se calcula. Los resultados se devuelven al cliente a través de proceso de SQL Server.[47]

Page 67: Tarea2

66

SMBD EQUIPO 11 13/12/09

HerramientasSQLCMD

SQLCMD es una aplicación de línea de comandos que viene con Microsoft SQL Server, y expone las características de administración de SQL Server. Permite consultas SQL para ser escrito y ejecutan desde el símbolo del sistema. También puede actuar como un lenguaje de scripting para crear y ejecutar un conjunto de instrucciones SQL como una secuencia de comandos. Estas secuencias de comandos se almacenan como una. Sql de archivo, y se utilizan para la gestión de bases de datos o para crear el esquema de base de datos durante el despliegue de una base de datos.

SQLCMD se introdujo con SQL Server 2005 y este continúa con SQL Server 2008. Su predecesor para las versiones anteriores se OSQL, que es funcionalmente equivalente, y muchos de los parámetros de línea de comandos es idénticos.

Visual Studio

Microsoft Visual Studio incluye soporte nativo para la programación con datos de Microsoft SQL Server. Se puede utilizar para escribir y depurar código que se ejecutará por SQL CLR. También incluye un de datos de diseño que se puede usar para crear gráficamente, ver o editar esquemas de base de datos. Las consultas pueden ser creadas ya sea visualmente o mediante código. SSMS a partir de 2008, establece IntelliSense para consultas SQL y.

SQL Server Management Studio

SQL Server Management Studio es un GUI herramienta incluida con SQL Server 2005 y versiones posteriores para configurar, gestionar y administrar todos los componentes de Microsoft SQL Server. La herramienta incluye tanto a los editores de secuencias de comandos y herramientas gráficas que trabajan con los objetos y las características del servidor.[48] SQL Server Management Studio sustituye Enterprise Manager como la interfaz de gestión principal para Microsoft SQL Server desde SQL Server 2005. Una versión de SQL Server Management Studio también está disponible para SQL Server Express Edition, para el que se conoce como SQL Server Management Studio Express (SSMSE).[49]

Una característica central de SQL Server Management Studio es el Explorador de objetos, que permite al usuario navegar, seleccionar y actuar sobre cualquiera de los objetos en el servidor.[50] Puede ser usado para visualmente observar y analizar los planes de consulta y optimizar el rendimiento de bases de datos, entre otros.[51]

SQL Server Management Studio también pueden utilizarse para crear una nueva base de datos, alterar cualquier esquema de base de datos existente mediante la adición o modificación de las tablas e índices, o analizar el rendimiento. Incluye las ventanas de consulta que proporcionan una interfaz gráfica de usuario basada en escribir y ejecutar consultas.[19]

Page 68: Tarea2

67

SMBD EQUIPO 11 13/12/09

Business Intelligence Development Studio

Business Intelligence Development Studio (OFERTAS) Es la IDE desde Microsoft utilizados para el desarrollo de análisis de datos y Business Intelligence utilizando las soluciones de Microsoft SQL Server Analysis Services, Reporting Services y Servicios de Integración. Se basa en la Microsoft Visual Studio el entorno de desarrollo, pero personaliza con los servicios de SQL Server extensiones específicas y tipos de proyecto, incluyendo las herramientas, los controles y los proyectos de informes (mediante los Servicios de Información), Cubos y minería de datos las estructuras (utilizando Analysis Services).[52]

ProgramabilidadT-SQL

T-SQL (Transact-SQL) es el principal medio de la programación y la gestión de SQL Server. Expone palabras clave para las operaciones que se pueden realizar en SQL Server, incluyendo la creación y la modificación de esquemas de bases de datos, entrar y editar datos en la base de datos, así como supervisar y gestionar el propio servidor. Las aplicaciones de cliente, tanto que consumen los datos o administrar el servidor, aprovechar la funcionalidad de SQL Server mediante el envío de T-SQL queries y declaraciones que luego son procesados por el servidor y los resultados (o errores), volvió a la aplicación cliente. SQL Server permite que se gestione por medio de T-SQL. Para ello expone a leer las tablas de las que sólo las estadísticas del servidor se puede leer. La funcionalidad de gestión está expuesta a través del sistema definido por los procedimientos almacenados que puede ser invocado de T-SQL para realizar la operación de gestión. [53]

SQL Native Client

SQL Native Client es el nativo del lado del cliente el acceso a datos biblioteca para Microsoft SQL Server, versión 2005 en adelante. Se implementa de forma nativa soporte para las características de SQL Server como la Secuencia de datos tabular , apoyar la aplicación de bases de datos SQL espejo, soporte completo para todos los tipos de datos compatible con SQL Server, operaciones asincrónicas, las notificaciones de consulta, cifrado de apoyo, así como la recepción de varios conjuntos de resultados en una sesión única base de datos. SQL Native Client se usa debajo de la capilla de SQL Servidor plug-ins para otras tecnologías de acceso a datos, incluyendo ADO o OLE DB. SQL Native Client también puede ser utilizado directamente, sin pasar por las capas de acceso de datos genéricos.[54]

Page 69: Tarea2

68

SMBD EQUIPO 11 13/12/09

Las 10 características de la Administración de Bases de DatosCaracterística Descripción

Mirroring de Bases de Datos Microsoft SQL Server 2005 amplía las posibilidades

de duplicación de logs (“log shipping”)

proporcionando a los administradores de BBDD la

opción de mirroring. Los administradores pueden

usar esta funcionalidad para garantizar la

disponibilidad de sus sistemas SQL mediante la

configuración de un servidor en espera para su

activación automática en caso de fallo (failover).

Operaciones de Indexación Online La opción de indexado online permite

modificaciones concurrentes (actualizaciones,

borrados e inserciones) en las tablas subyacentes

o datos con índices cluster y de cualquier índice

asociado durante la ejecución de DDL de

indexación. Por ejemplo, mientras se está

reconstruyendo un índice cluster, se puede seguir

haciendo actualizaciones a los datos y consultas

sobre estos datos.

Nuevas herramientas integradas SQL Server 2005 introduce el SQL Server Studio,

una suite de herramientas de gestión integradas.

Este nuevo conjunto incluye nuevas

funcionalidades para desarrollo, implantación y

resolución de problemas de Bases de Datos SQL,

así como mejoras de las funcionalidades

anteriores.

Aislamiento de Imágenes (SI) Se dispone de un nuevo nivel de aislamiento de

imagen de BBDD (“Snapshot Isolation”, SI) a nivel

de base de datos. SI permite a los usuarios

acceder a la última operación realizada utilizando

una vista transitoria consistente de la Base de

Datos. Esta funcionalidad ofrece una escalabilidad

mayor para implementaciones de bases de datos

extremadamente grandes.

Particionado de Datos El particionado de datos se ha mejorado con

particiones nativas de tablas e índices,

posibilitando soluciones de escalabilidad

horizontal. Al particionar tablas de bases de datos

muy grandes, el rendimiento de las consultas a la

base de datos se mejora notablemente.

Backups duplicados (“mirrored backup”) SQL Server 2005 incluye un nuevo soporte para

volúmenes de backup espejados, aumentando la

Page 70: Tarea2

69

SMBD EQUIPO 11 13/12/09

Característica Descripción

disponibilidad de las copias de seguridad de SQL

Server. La posibilidad de replicar el backup

permite resolver posibles problemas de corrupción

del medio físico de copia.

Restauración online SQL Server 2005 permitirá realizar una operación

de recuperación mientras una instancia de SQL

Server está activa. La restauración online mejora

la disponibilidad de SQL Server, ya que

únicamente los datos que se están recuperando

quedan como no disponibles. El resto de la base

de datos permanece online y disponible.

Recuperación rápida Esta característica mejora la disponibilidad de las

bases de datos de SQL Server con una nueva

opción. Los usuarios podrán reconectarse a una

base de datos en recuperación después de que

realizar un “roll forward” sobre el log de

transacciones.

Conexión de Administrador dedicada SQL Server 2005 introduce la conexión de

administración dedicada, que pueden utilizar los

administradores de BBDD para acceder a un

servidor en explotación aun cuando el servidor

está bloqueado o no disponible por cualquier

motivo. Así, los administradores podrán ejecutar

funciones de diagnóstico, o sentencias Transact

SQL, a fin de poder resolver problemas en el

servidor.

Mejoras en la Replication Para bases de datos distribuidas móviles, SQL

Server 2005 proporciona una serie de

funcionalidades de replicación extremo a extremo,

incluyendo la posibilidad de publicar bases de

datos Oracle. SQL Server 2005 incluirá nuevas

mejoras a las herramientas y sobre la

escalabilidad de la replicación también.

Page 71: Tarea2

70

SMBD EQUIPO 11 13/12/09

Las 10 características de DesarrolloCaracterística Descripción

Soporte para .NET Framework SQL Server 2005 introduce la posibilidad de

desarrollar objetos de base de datos en

lenguajes .NET. Pueden crearse Objetos de código,

incluyendo Funciones, Procedimientos y Triggers

en lenguajes como C# y VB.NET. Se pueden crear

también dos nuevos objetos en estos lenguajes:

User-Defined Types y Agregados.

Tecnologías XML Las tecnologías XML son un estándar importante y

ampliamente aceptado para distribuir datos entre

diferentes aplicaciones sobre redes locales e

Internet. Microsoft SQL Server 2005 soporta el

almacenamiento nativo de documentos XML,

especificación de consultas con XML y devolución

de resultado de consultas como documentos XML.

ADO.NET Versión 2.0 Desde el nuevo soporte para tipos SQL a “Multiple

Active Result Set”, ADO .NET supone una

evolución de los métodos de acceso y

manipulación de datos, para conseguir una mayor

escalabilidad y flexibilidad.

Mejoras en Transact-SQL SQL Server 2005 introduce muchas posibilidades

nuevas para el desarrollo de aplicaciones de bases

de datos escalables. Estas mejoras incluyen el

manejo de errores, nuevas posibilidades de

consultas recursivas y soporte para nuevas

funcionalidades del motor de SQL Server.

Gestor de Servicio SQL El Gestor de Servicio SQL (SQL Service Broker)

ofrece un marco para aplicaciones distribuidas

orientado a aplicaciones de línea de negocios a

gran escala.

Servicios de Notification Los Servicios de Notificación (“Notification

Services”) permiten construir aplicaciones de

notificación mejoradas, capaces de expedir

información personalizada en el momento en que

se genera, como puede ser alertas de cotizaciones

de bolsa, nuevas suscripciones, alertas de envío

de paquetes, o cambios en las tarifas de billetes

de avión, a cualquier dispositivo y a millones de

suscriptores.

Page 72: Tarea2

71

SMBD EQUIPO 11 13/12/09

Característica Descripción

Servicios Web En SQL Server 2005 , los desarrolladores pueden

crear servicios Web en la capa de base de datos,

convirtiendo a SQL Server en un servidor HTTP.

Esta capacidad supone un nuevo modelo de

acceso a los datos para aplicaciones basadas en

Web Services.

Soporte para Xquery SQL Server 2005 incluye funcionalidades Xquery

de altas prestaciones, que permiten la

manipulación de objetos XML en la capa de datos,

así como un nuevo juego de herramientas de

creación de Xquery.

Mejoras en la Búsqueda de Texto Completo SQL Server 2005 incluirá soporte para aplicaciones

de texto completo ampliadas. Las funcionalidades

de catálogo se han mejorado para proporcionar

una mayor flexibilidad sobre el conjunto de datos

que se catalogan. El rendimiento de las funciones

de consulta y la escalabilidad han mejorado

sensiblemente. Una serie de nuevas herramientas

de gestión permiten un mayor control de la

implementación de texto completo.

Mejoras en Seguridad SQL Server 2005 incorpora un nuevo modelo de

seguridad que separa a los usuarios de los objetos,

proporciona un acceso muy granular y un mejor

control de los accesos a los datos. Además, todas

las tablas del sistema se implementan ahora como

Vistas, lo que redunda en un mayor control sobre

los objetos de sistema de la Base de Datos.

Page 73: Tarea2

72

SMBD EQUIPO 11 13/12/09

Las 10 características de Business IntelligenceCaracterística Descripción

Servicios de Análisis Con SQL Server 2005, los Servicios de Análisis

(Analysis Services) se mueven en el entorno del

análisis en tiempo real. Desde mejoras en la

escalabilidad hasta una integración profunda con

Microsoft Office, SQL Server 2005 amplía el

concepto de “business intelligence” a todos los

niveles de su negocio.

Servicios de Transformación de Datos (DTS) Los Servicios de Transformación de Datos (DTS)

son un conjunto de herramientas gráficas y

objetos programables que pueden usarse para

extraer, transformar y cargar datos (ETL) desde

fuentes muy diversas y llevarlas a un destino

único o múltiples destinos. Data Transformation

Services (DTS) para Microsoft SQL Server 2005

introduce un rediseño completo para

proporcionar una plataforma ETL integral.

Data Mining SQL Server 2005 introduce cuatro nuevos

algoritmos de Data Mining, así como

herramientas y asistentes mejorados, haciendo

que el data mining sea más accesible a negocios

de cualquier tamaño.

Servicios de Reporting Servicios de Reporting permite a los negocios

integrar de forma sencilla datos desde fuentes

heterogéneas y data warehouses en informes

ricos, interactivos y gestionables, que pueden

localizarse y consultarse en intranets, extranets y

en Internet.

Soporte de Servicios de Análisis en Cluster Esta funcionalidad mejora la disponibilidad de los

Servicios de Análisis con soporte para clusters

con conmutación de nodos, soporte mejorado

para múltiples instancias y soporte para backup y

recuperación de objetos y datos de Servicios de

Análisis.

Indicadores de Rendimiento Principales Los Indicadores de Rendimiento Principales (“Key

Performance Indicators” , KPI) permiten definir

métricas de negocio en formato gráfico,

adaptables, para ayudar a generar y hacer el

seguimiento de entornos de prueba corporativos.

Escalabilidad y Rendimiento Se ha mejorado la escalabilidad y el rendimiento

de los Servicios de Análisis de SQL Server 2005

Page 74: Tarea2

73

SMBD EQUIPO 11 13/12/09

Característica Descripción

por medio de características como el proceso de

partición paralelo, creación de particiones ROLAP

y HOLAP remotas, cubos particionados

distribuidos, cálculos persistentes y cache

proactivo.

Cubo en un solo click Cuando se crea un cubo en un proyecto de Data

Warehouse, el asistente para creación de Cubos

incluye una opción para habilitar la detección de

cubos y sugerencias con un solo click. Esta

tecnología de cubos en un solo click de SQL

Server 2005 examina las relaciones en una vista

del origen de datos y aporta sugerencias.

Mejoras en la Arquitectura SQL Server 2005 introduce una nueva

arquitectura de Servicios de Transformación de

Datos (DTS). La arquitectura consiste en dos

motores: El Runtime de Transformación de Datos

(DTR). Este motor ejecuta paquetes DTS, tareas

DTS, hace seguimiento de la ejecución del

paquete y proporciona servicios para las tareas.

El Pipeline de Transformación de Datos (DTP). El

motor DTP extrae datos de las fuentes, aplica las

transformaciones contra las columnas de datos y

carga los datos en los sistemas de

almacenamiento.

Integración con los informes de Office System Los reports emitidos por el servidor de reports

pueden ejecutarse en el contexto de SharePoint

Portal Server y aplicaciones Office, como Word y

Excel. Los usuarios de SharePoint pueden utilizar

las funcionalidades de SharePoint para suscribirse

a informes, crear nuevas versiones de los

informes y distribuirlos. Los usuarios pueden

también abrir reports en Word o Excel para ver

versiones en HTML de los mismos. Los usuarios

de SQL Server y Servicios de Análisis pueden

definir reports basados en consultas contra bases

de datos relacionales y multidimensionales. Las

consultas definidas con el Query Builder pueden

procesarse utilizando las posibilidades de proceso

de datos incorporado al servidor de informes.

Page 75: Tarea2

74

SMBD EQUIPO 11 13/12/09

Panorámica del sistema de gestión de base de datos MySQL

MySQL, el sistema de gestión de bases de datos SQL Open Source más popular, lo desarrolla, distribuye y soporta MySQL AB. MySQL AB es una compañía comercial, fundada por los desarrolladores de MySQL. Es una compañía Open Source de segunda generación que une los valores y metodología Open Source con un exitoso modelo de negocio.

El sitio web MySQL (http://www.mysql.com/) proporciona la última información sobre MySQL y MySQL AB.

MySQL es un sistema de gestión de bases de datos

Una base de datos es una colección estruturada de datos. Puede ser cualquier cosa, desde una simple lista de compra a una galería de pintura o las más vastas cantidades de información en una red corporativa. Para añadir, acceder, y procesar los datos almacenados en una base de datos, necesita un sistema de gestión de base de datos como MySQL Server. Al ser los computadores muy buenos en tratar grandes cantidades de datos, los sistemas de gestión de bases de datos juegan un papel central en computación, como aplicaciones autónomas o como parte de otras aplicaciones.

MySQL es un sistema de gestión de bases de datos relacionales

Una base de datos relacional almacena datos en tablas separadas en lugar de poner todos los datos en un gran almacén. Esto añade velocidad y flexibilidad. La parte SQL de "MySQL"se refiere a "Structured Query Language". SQL es el lenguaje estandarizado más común para acceder a bases de datos y está definido por el estándar ANSI/ISO SQL. El estándar SQL ha evolucionado desde 1986 y existen varias versiones. En este manual, "SQL-92" se refiere al estándar del 1992, "SQL:1999" se refiere a la versión del 1999, y "SQL:2003" se refiere a la versión actual del estándar. Usamos la frase "el estándar SQL" para referirnos a la versión actual de SQL.

MySQL software es Open Source.

Open Source significa que es posible para cualquiera usar y modificar el software. Cualquiera puede bajar el software MySQL desde internet y usarlo sin pagar nada. Si lo desea, puede estudiar el código fuente y cambiarlo para adapatarlo a sus necesidades. El software MySQL usa la licencia GPL (GNU General Public License), http://www.fsf.org/licenses/, para definir lo que puede y no puede hacer con el software en diferentes situaciones. Si no se encuentra cómodo con la GPL o necesita añadir

Page 76: Tarea2

75

SMBD EQUIPO 11 13/12/09

código MySQL en una aplicación comercial, puede comprarnos una licencia comercial.

El servidor de base de datos MySQL es muy rápido, fiable y fácil de usar.

Si esto es lo que está buscando, debería probarlo. El servidor MySQL también tiene una serie de características prácticas desarrolladas en cooperación con los usuarios. Puede encontrar comparaciones de rendimiento de MySLQL Server con otros sistemas de gestión de bases de datos en nuestra página de comparativas de rendimiento.

MySQL Server se desarrolló originalmente para tratar grandes bases de datos mucho más rápido que soluciones existentes y ha sido usado con éxito en entornos de producción de alto rendimiento durante varios años. MySQL Server ofrece hoy en día una gran cantidad de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet

MySQL Server trabaja en entornos cliente/servidor o incrustados

El software de bases de datos MySQL es un sistema cliente/servidor que consiste en un servidor SQL multi-threaded que trabaja con diferentes bakends, programas y bibliotecas cliente, herramientas administrativas y un amplio abanico de interfaces de programación para aplicaciones (APIs).

También proporcionamos el MySQL Server como biblioteca incrustada multi-threaded que puede lincar en su aplicación para obtener un producto más pequeño, rápido y fácil de administrar.

Una gran cantidad de software de contribuciones está disponible para MySQL

Es muy posible que su aplicación o lenguaje favorito soporte el servidor de base de datos MySQL.

La forma oficial de pronunciar "MySQL" es "My Ess Que Ell" (no "my sicuel"), pero no importa si lo pronuncia como "my sicuel" o de alguna otra forma.

Historia de MySQL

Empezamos con la intención de usar mSQL para conectar a nuestras tablas utilizando nuestras propias rutinas rápidas de bajo nivel (ISAM). Sin embargo y tras algunas pruebas, llegamos a la conclusión que mSQL no era lo suficientemente rápido o flexible para nuestras necesidades. Esto provocó la creación de una nueva interfaz SQL para nuestra base de datos pero casi con la misma interfaz API que mSQL. Esta API fue diseñada para permitir código de

Page 77: Tarea2

76

SMBD EQUIPO 11 13/12/09

terceras partes que fue escrito para poder usarse con mSQL para ser fácilmente portado para el uso con MySQL.

La derivación del nombre MySQL no está clara. Nuestro directorio base y un gran número de nuestras bibliotecas y herramientas han tenido el prefijo "my" por más de 10 años. Sin embargo, la hija del co-fundador Monty Widenius también se llama My. Cuál de los dos dió su nombre a MySQL todavía es un misterio, incluso para nosotros.

El nombre del delfín de MySQL (nuestro logo) es "Sakila", que fué elegido por los fundadores de MySQL AB de una gran lista de nombres sugerida por los usuarios en el concurso "Name the Dolphin" (ponle nombre al delfín). El nombre ganador fue enviado por Ambrose Twebaze, un desarrollador de software Open Source de Swaziland, África. Según Ambrose, el nombre femenino de Sakila tiene sus raíces en SiSwate, el idioma local de Swaziland. Sakila también es el nombre de una ciudad en Arusha, Tanzania, cerca del país de origen de Ambrose, Uganda.

Las principales características de MySQL

La siguiente lista describe algunas de las características más importantes del software de base de datos MySQL.

Interioridades y portabilidad

Escrito en C y en C++ Probado con un amplio rango de compiladores diferentes Funciona en diferentes plataformas. Usa GNU Automake, Autoconf, y Libtool para portabilidad. APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby,

y Tcl. Uso completo de multi-threaded mediante threads del kernel. Pueden

usarse fácilmente multiple CPUs si están disponibles. Proporciona sistemas de almacenamiento transaccional y no

transaccional. Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión

de índice. Relativamente sencillo de añadir otro sistema de almacenamiento.

Esto es útil si desea añadir una interfaz SQL para una base de datos propia.

Un sistema de reserva de memoria muy rápido basado en threads. Joins muy rápidos usando un multi-join de un paso optimizado. Tablas hash en memoria, que son usadas como tablas temporales. Las funciones SQL están implementadas usando una librería

altamente optimizada y deben ser tan rápidas como sea posible.

Page 78: Tarea2

77

SMBD EQUIPO 11 13/12/09

Normalmente no hay reserva de memoria tras toda la inicialización para consultas.

El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL (http://developer.kde.org/~sewardj/).

El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor. También está disponible como biblioteca y puede ser incrustado (linkado) en aplicaciones autónomas. Dichas aplicaciones pueden usarse por sí mismas o en entornos donde no hay red disponible..

Tipos de columnas Diversos tipos de columnas: enteros con/sin signo de 1, 2, 3, 4, y 8

bytes de longitud, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, y tipos espaciales OpenGIS.

Registros de longitud fija y longitud variable. Sentencias y funciones

Soporte completo para operadores y funciones en las cláusulas de consultas SELECT y WHERE. Por ejemplo:

mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30; Soporte completo para las cláusulas SQL GROUP BY y ORDER BY.

Soporte de funciones de agrupación (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX(), MIN(), y GROUP_CONCAT()).

Soporte para LEFT OUTER JOIN y RIGHT OUTER JOIN cumpliendo estándares de sintaxis SQL y ODBC.

Soporte para alias en tablas y columnas como lo requiere el estándar SQL.

DELETE, INSERT, REPLACE, y UPDATE devuelven el número de filas que han cambiado (han sido afectadas). Es posible devolver el número de filas que serían afectadas usando un flag al conectar con el servidor.

El comando específico de MySQL SHOW puede usarse para obtener información acerca de la base de datos, el motor de base de datos, tablas e índices. El comando EXPLAIN puede usarse para determinar cómo el optimizador resuelve una consulta.

Los nombres de funciones no colisionan con los nombres de tabla o columna. Por ejemplo, ABS es un nombre válido de columna. La única restricción es que para una llamada a una función, no se permiten espacios entre el nombre de función y el '(' a continuación.

Puede mezclar tablas de distintas bases de datos en la misma consulta (como en MySQL 3.22).

Seguridad Un sistema de privilegios y contraseñas que es muy flexible y

seguro, y que permite verficación basada en el host. Las contraseñas

Page 79: Tarea2

78

SMBD EQUIPO 11 13/12/09

son seguras porque todo el tráfico de contraseñas está encriptado cuando se conecta con un servidor.

Escalabilidad y límites Soporte a grandes bases de datos. Usamos MySQL Server con

bases de datos que contienen 50 millones de registros. También conocemos a usuarios que usan MySQL Server con 60.000 tablas y cerca de 5.000.000.000.000 de registros.

Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).Un índice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT.

Conectividad Los clientes pueden conectar con el servidor MySQL usando sockets

TCP/IP en cualquier plataforma. En sistemas Windows de la familia NT (NT,2000,XP, o 2003), los clientes pueden usar named pipes para la conexión. En sistemas Unix, los clientes pueden conectar usando ficheros socket Unix.

En MySQL 5.0, los servidores Windows soportan conexiones con memoria compartida si se inicializan con la opción --shared-memory. Los clientes pueden conectar a través de memoria compartida usando la opción --protocol=memory.

La interfaz para el conector ODBC (MyODBC) proporciona a MySQL soporte para programas clientes que usen conexiones ODBC (Open Database Connectivity). Por ejemplo, puede usar MS Access para conectar al servidor MySQL. Los clientes pueden ejecutarse en Windows o Unix. El código fuente de MyODBC está disponible. Todas las funciones para ODBC 2.5 están soportadas, así como muchas otras.

La interfaz para el conector J MySQL proporciona soporte para clientes Java que usen conexiones JDBC. Estos clientes pueden ejecutarse en Windows o Unix. El código fuente para el conector J está disponible.

Localización El servidor puede proporcionar mensajes de error a los clientes en

muchos idomas. Soporte completo para distintos conjuntos de caracteres, incluyendo

latin1 (ISO-8859-1), german, big5, ujis, y más. Por ejemplo, los caracteres escandinavos 'â', 'ä' y 'ö' están permitidos en nombres de tablas y columnas. El soporte para Unicode está disponible

Todos los datos se guardan en el conjunto de caracteres elegido. Todas las comparaciones para columnas normales de cadenas de caracteres son case-insensitive.

La ordenación se realiza acorde al conjunto de caracteres elegido (usando colación Sueca por defecto). Es posible cambiarla cuando arranca el servidor MySQL. Para ver un ejemplo de ordenación muy avanzada, consulte el código Checo de ordenación. MySQL Server

Page 80: Tarea2

79

SMBD EQUIPO 11 13/12/09

soporta diferentes conjuntos de caracteres que deben ser especificados en tiempo de compilación y de ejecución.

Clientes y herramientas MySQL server tiene soporte para comandos SQL para chequear,

optimizar, y reparar tablas. Estos comandos están disponibles a través de la línea de comandos y el cliente mysqlcheck. MySQL también incluye myisamchk, una utilidad de línea de comandos muy rápida para efectuar estas operaciones en tablas MyISAM.

Todos los programas MySQL pueden invocarse con las opciones --help o -? para obtener asistencia en línea.

Estabilidad de MySQL

Esta sección trata las preguntas "¿Qué estabilidad tiene MySQL Server?" y, "¿Puedo fiarme de MySQL Server para este proyecto?" Intentaremos clarificar estas cuestiones y responder algunas preguntas importantes que preocupan a muchos usuarios potenciales. La información en esta sección se basa en datos recopilados de las listas de correo, que son muy activas para identificar problemas así como para reportar tipos de usos.

El código original se remonta a los principos de los años 80. En TcX, la predecesora de MySQL AB, el código MySQL ha funcionado en proyectos desde mediados de 1996 sin ningún problema. Cuando el software de base de datos MySQL fue distribuído entre un público más amplio, nuestros nuevos usuarios rápidamente encontraron trozos de código no probados. Cada nueva versión desde entonces ha tenido pocos problemas de portabilidad incluso considerando que cada nueva versión ha tenido muchas nuevas funcionalidades.

Cada versión de MySQL Server ha sido usable. Los problemas han ocurrido únicamente cuando los usuarios han probado código de las "zonas grises". Naturalmente, los nuevos usuarios no conocen cuáles son estas zonas; esta sección, por lo tanto, trata de documentar dichas áreas conocidas a día de hoy. Las descripciones mayormente se corresponden con la versión 3.23, 4.0 y 4.1 de MySQL Server. Todos los bugs reportados y conocidos se arreglan en la última versión, con las excepciones listadas en las secciones de bugs y que están relacionados con problemas de diseño.

El diseño de MySQL Server es multi capa, con módulos independientes. Algunos de los últimos módulos se listan a continuación con una indicación de lo bien testeados que están:

Replicatión (Estable)

Hay grandes grupos de servidores usando replicación en producción, con buenos resultados. Se trabaja para mejorar características de replicación en MySQL 5.x.

Page 81: Tarea2

80

SMBD EQUIPO 11 13/12/09

InnoDB tablas (Estable)

El motor de almacenamiento transaccional InnoDB es estable y usado en grandes sistemas de producción con alta carga de trabajo.

BDB tablas (Estable)

El código Berkeley DB es muy estable, pero todavía lo estamos mejorando con el interfaz del motor de almacenamiento transaccional BDB en MySQL Server.

Búsquedas Full-text (Estable)

Búsquedas Full-text es ámpliamente usada.

MyODBC 3.51 (Estable)

MyODBC 3.51 usa ODBC SDK 3.51 y es usado en sistemas de producción ámpliamente. Algunas cuestiones surgidas parecen ser cuestión de las aplicaciones que lo usan e independientes del controlador ODBC o la base de datos subyacente.

Dimensiones máximas de las tablas MySQL

En MySQL 5.0, usando el motor de almacenamiento MyISAM, el máximo tamaño de las tablas es de 65536 terabytes (256 ^ 7 - 1 bytes). Por lo tanto, el tamaño efectivo máximo para las bases de datos en MySQL usualmente los determinan los límites de tamaño de ficheros del sistema operativo, y no por límites internos de MySQL.

El motor de almacenamiento InnoDB mantiene las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamaño máximo del espacio de tablas es 64TB.

La siguiente tabla lista algunos ejemplos de límites de tamaño de ficheros de sistemas operativos. Esto es sólo una burda guía y no pretende ser definitiva. Para la información más actual, asegúrese de consultar la documentación específica de su sistema operativo.

Sistema operativo Tamaño máximo de fichero

Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)

Linux 2.4 (usando sistema de ficheros ext3) 4TB

Solaris 9/10 16TB

Page 82: Tarea2

81

SMBD EQUIPO 11 13/12/09

Sistema de ficheros NetWare w/NSS 8TB

win32 w/ FAT/FAT32 2GB/4GB

win32 w/ NTFS 2TB (posiblemente mayor)

MacOS X w/ HFS+ 2TB

En Linux 2.2, puede utilizar tablas MyISAM mayores de 2GB usando el parche para LFS (Large File Support) en el sistema de ficheros ext2. En Linux 2.4 y posteriores, existen parches para ReiserFS soportando grandes archivos (hasta 2TB). La mayoría de distribuciones Linux se basan en el kernel 2.4 o 2.6 e incluyen todos los parches LFS necesarios. Con JFS y XFS, se permiten ficheros mayores de un petabyte para Linux. Sin embargo, el tamaño máximo de ficheros todavía depende de diversos factores, uno de ellos siendo el sistema de ficheros usado para almacenar tablas MySQL.

Para un resumen más detallado acerca de LFS en Linux, recomendamos la página de Andreas Jaeger Large File Support in Linux en http://www.suse.de/~aj/linux_lfs.html.

Usuarios de Windows, por favor tengan en cuenta que: FAT and VFAT (FAT32) no se consideran apropiados para sistemas de producción con MySQL. Use NTFS para ello.

Por defecto, MySQL crea tablas MyISAM con una estructura interna que permite un tamaño máximo de unas 4GB. Puede chequear el tamaño máximo de tabla para una tabla con el comando SHOW TABLE STATUS o con myisamchk -dv tbl_name.

Si necesita una tabla MyISAM con un tamaño mayor a 4GB (y su sistema operativo soporta ficheros grandes), el comando CREATE TABLE permite las opciones AVG_ROW_LENGTH y MAX_ROWS. También puede cambiar esas opciones con ALTER TABLE una vez que la tabla se ha creado, para aumentar el tamaño máximo de la tabla.

Otros métodos para cambiar los límites de tamaño de ficheros para tablas MyISAM son:

Si una tabla es de sólo lectura, puede usar myisampack para comprimirla. myisampack normalmente comprime una tabla al menos un 50%, lo que permite, a efectos prácticos, tablas mucho mayores. myisampack puede mezclar múltiples tablas en una misma tabla. Consulte Sección   8.2, “ myisampack , el generador de tablas comprimidas de sólo lectura de MySQL”.

MySQL incluye la biblioteca MERGE que permite tratar una colección de tablas MyISAM con una estructura idéntica en una tabla MERGE.

Page 83: Tarea2

82

SMBD EQUIPO 11 13/12/09

Conformidad con el efecto 2000

MySQL Server por sí mismo no tiene problemas de conformidad con el año 2000 (Y2K):

MySQL Server utiliza funciones de tiempo Unix que tratan las fechas hasta el año 2037 para valores TIMESTAMP. Para valores DATE y DATETIME, se aceptan fechas hasta el año 9999.

Todas las funciones de fecha MySQL se implementan en un mismo fichero fuente, sql/time.cc, y están programados cuidadosamente para no tener problemas con el año 2000.

En MySQL 5.0 y posterior, el tipo de columna YEAR puede almacenar los años 0 y 1901 hasta 2155 en un byte y mostrarlo usando de dos a cuatro dígitos. Todos los años de dos dígitos se consideran en el rango 1970 hasta 2069, lo que significa que si almacena 01 en una columna de tipo YEAR, MySQL Server lo trata como 2001.

La siguiente demostración ilustra que MySQL Server no tiene problemas con valores DATE o DATETIME hasta el año 9999, ni tampoco tiene problemas con valores de tipo TIMESTAMP hasta el año 2030:

mysql> DROP TABLE IF EXISTS y2k;Query OK, 0 rows affected (0.01 sec)

mysql> CREATE TABLE y2k (date DATE, -> date_time DATETIME, -> time_stamp TIMESTAMP);Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO y2k VALUES -> ('1998-12-31','1998-12-31 23:59:59',19981231235959), -> ('1999-01-01','1999-01-01 00:00:00',19990101000000), -> ('1999-09-09','1999-09-09 23:59:59',19990909235959), -> ('2000-01-01','2000-01-01 00:00:00',20000101000000), -> ('2000-02-28','2000-02-28 00:00:00',20000228000000), -> ('2000-02-29','2000-02-29 00:00:00',20000229000000), -> ('2000-03-01','2000-03-01 00:00:00',20000301000000), -> ('2000-12-31','2000-12-31 23:59:59',20001231235959), -> ('2001-01-01','2001-01-01 00:00:00',20010101000000), -> ('2004-12-31','2004-12-31 23:59:59',20041231235959), -> ('2005-01-01','2005-01-01 00:00:00',20050101000000), -> ('2030-01-01','2030-01-01 00:00:00',20300101000000), -> ('2040-01-01','2040-01-01 00:00:00',20400101000000), -> ('9999-12-31','9999-12-31 23:59:59',99991231235959);Query OK, 14 rows affected (0.01 sec)Records: 14 Duplicates: 0 Warnings: 2

Page 84: Tarea2

83

SMBD EQUIPO 11 13/12/09

mysql> SELECT * FROM y2k;+------------+---------------------+----------------+| date | date_time | time_stamp |+------------+---------------------+----------------+| 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 || 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 || 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 || 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 || 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 || 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 || 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 || 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 || 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 || 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 || 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 || 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 || 2040-01-01 | 2040-01-01 00:00:00 | 00000000000000 || 9999-12-31 | 9999-12-31 23:59:59 | 00000000000000 |+------------+---------------------+----------------+14 rows in set (0.00 sec)

Los dos últimos valores de la columna TIMESTAMP son cero porque los valores de año (2040, 9999) exceden el máximo de TIMESTAMP. El tipo de datos TIMESTAMP que se usa para almacenar el tiempo actual, soporta valores del rango 19700101000000 hasta 20300101000000 en máquinas de 32-bit (valores con signo). En máquinas de 64-bit, TIMESTAMP trata valores hasta 2106 (valores sin signo).

Aunque MySQL Server por sí mismo no tiene problemas con el año 2000, puede tenerlos si interactúa con aplicaciones que sí los tengan. Por ejemplo, muchas aplicaciones antiguas almacenan o manipulan años usando valores de dos dígitos (que son ambíguos) en lugar de cuatro dígitos. Este problema puede darse por aplicaciones que usan valores tales como 00 o 99 como indicadores de valores "perdidos". Por desgracia, estos problemas pueden ser complicados de arreglar, ya que aplicaciones diferentes pueden haber sido programadas por distintos programadores, cada uno de los cuales puede usar una serie de distintas convenciones y funciones de fechas.

Así, aunque MySQL Server no tiene problemas con el año 2000, es la responsabilidad de la aplicación de proporcionar entradas inambíguas. Para las reglas de MySQL Server para tratar fechas ambíguas de dos digitos.

Mapa de desarrollo de MySQL

Page 85: Tarea2

84

SMBD EQUIPO 11 13/12/09

Esta sección proporciona un vistazo del plan de desarrollo de MySQL, incluyendo las principales características implementadas o planeadas para MySQL 4.0, 4.1, 5.0, y 5.1. La siguiente sección proporciona información para cada serie.

La actual serie en producción es MySQL 5.0, cuya versión estable es la 5.0.9, publicada en agosto del 2005. La serie de producción anterior es la MySQL 4.1, cuya versión estable es 4.1.7, publicada en octubre del 2004. Estatus de producción significa que el futuro del desarrollo 5.0 y 4.1. Está limitado sólo a arreglar problemas. Para versiones anteriores a MySQL 4.0 y la serie 3.23, sólo se arreglan bugs críticos.

Desarrollo activo de MySQL actualmente tiene lugar en la serie MySQL 5.1, lo que significa que nuevas características se añaden a la misma.

Planes para las características más demandadas se resumen en la siguiente tabla.

Característica Serie MySQL

Claves foráneas para tablas MyISAM 5.1 (ya implemantado para tablas InnoDB)

Disparadores 5.0 y 5.1

Full outer join 5.1

Restricciones de integridad 5.1

El servidor MySQL incrustado (embedded)

La biblioteca del servidor incrustado libmysqld permite MySQL Server pueda trabajar con una gran cantidad de dominios de aplicaciones. Usando esta biblioteca, los desarrolladores pueden añadir MySQL Server en varias aplicaciones y dispositivos electrónicos, donde el usuario final no tiene conocimiento que hay una base de datos subyacente. MySQL Server incrustado es ideal para uso tras aplicaciones en Internet, kioskos públicos, combinación de hardware/software en llaveros, servidores de alto rendimiento de Internet, bases de datos autocontenidas distribuidas en CD-ROM, y así.

Muchos usuarios de libmysqld se benefician de la licencia dual de MySQL. Para los que no quieran estar ligados a la licencia GPL, el software está disponible con licencia comercial. Consulte http://www.mysql.com/company/legal/licensing/ para más información de la política de licencias de MySQL AB. La biblioteca incrustada MySSQL usa la misma interfaz que la biblioteca cliente normal, por lo que es conveniente y fácil de usar.

Page 86: Tarea2

85

SMBD EQUIPO 11 13/12/09

En Windows hay dos bibliotecas diferentes:

libmysqld.lib Biblioteca dinámica para aplicaciones threaded.

mysqldemb.lib Biblioteca estático para aplicaciones no threaded.

Qué hay de nuevo en MySQL 5.0

Las siguientes características se implementan en MySQL 5.0.

Tipo de datos BIT. Cursores. Diccionario de datos (Information Schema). Administrador de instancias: Puede usarse para iniciar y parar el MySQL

Server, incluso desde una máquina remota. Matemáticas de precisión. Procedimientos almacenados. Modo estricto y tratamiento de errores estándar. Disparadores. Tipo de datos VARCHAR: Soporte nativo VARCHAR. La longitud máxima

de VARCHAR es 65,532 bytes ahora, y no se cortan espacios en blanco consecutivos.

Vistas.

La sección Novedades de este manual incluye una lista más en profundidad de características.

Para los que deseen consultar las últimas novedades de MySQL, tenemos nuestro repositorio BitKeeper para MySQL disponible públicamente.

Page 87: Tarea2

86

SMBD EQUIPO 11 13/12/09

CUADRO SINOPTICO

Page 88: Tarea2

87

SMBD EQUIPO 11 13/12/09

VARIACIONES Y EXTENSIONES DE SQLSoporte de tipos de datosFunciones y métodos definidos por el usuarioObjetos de gran tamañoSoporte para XMLExtensiones de índices y restricciones

ALMACENAMIENTO E INDEXACIONArquitectura de almacenamientoTablas, registros e índices

PROCESAMIENTO Y OPTIMIZACION DE CONSULTASMétodos de accesoExploración de tablaExploración de índicesSolo con el índiceLista de preextracciónConjunción de índicesDisyunción de índicesOperaciones de reunión, agregación y de conjuntosSoporte para el procesamiento de SQL complejoProcesamiento de consultas en multiprocesadoresOptimización de consultas

CONTROL DE CONCURRENCIA Y RECUPERACIONConcurrencia y aislamientoCompromiso y retrocesoRegistro histórico y recuperación

ARQUITECTURA DEL SISTEMA

TECNICAS, DISTRIBUCION Y DATOS EXTERNOS

HERRAMIENTAS DE GESTION DE BASE DE DATOS

SISTEMAS GESTORES DE BASE

DE DATOS

MS SQL

ORACLE MYSQL

DB2

Page 89: Tarea2

88

SMBD EQUIPO 11 13/12/09

CUADRO COMPARATIVO

Page 90: Tarea2

89

SMBD EQUIPO 11 13/12/09

DB2 MS SQL MY SQL ORACLECARACTERISTICAS

ARQUITECTURA DEL SISTEMA

GRUPOS DE HEBRAS DEL SERVIDOR

SERVIDOR DEDICADO: ESTRUCTURAS DE MEMORIA

GESTION DE MEMORIA SERVIDOR DEDICADO: ESTRUDTURA DE PROCESO

SERVIDOR MULTIHEBRADO

AGRUPACIONES DE

APLICACIONES RELES DE ORACLE

ALMACENAMIENTO E INDEXADO

ARQUITECTURA DE ALMACENAMIENTO

GRUPOS DE ARCHIVOS ESPACIOS DE TABLAS

TABLAS ADMINISTRACION DE ESPACIO EN GRUPOS DE ARCHIVOS

SEGMENTOS DE DATOS DE INDICES TEMPORALES DE RETROCESO

REGISTROS TABLAS TABLASINDICES INDICES TABLAS ORGANIZADAS CON

INDICESEXPLORACIONES Y LECTURA ANTICIPADA

INDICES

INDICES EN MAPAS DE BITSINDICES BASADOS EN FUNCIONESINDICESINDICES DE MAPA DE BITSINDICES BASADOS EN FUNCIONES

INDICES DE REUNION

Page 91: Tarea2

90

SMBD EQUIPO 11 13/12/09

INDICES DE DOMINIODIVISION EN PARTICIONES POR RANGOS ASOCIATIVAS

ACCESO A DATOSAPI ACCESO A DATOS COMUNICACIÓN DENTRO DE SQL SERVER

CONTROL DE CONCURRENCIA Y DE

RECUPERACIÓN

CONCURRENCIA Y AISLAMIENTO

TRANSACCIONES CONTROL DE CONCURRENCIA

COMPROMISO Y RETROCESO

PUNTOS DE ALMACENAMIENTO

ESTRUCTURAS BÁSICAS DE RECUPERACIÓN

REGISTRO HISTÓRICO Y RECUPERACIÓN

OPCIONES DE CONCURRENCIA PARA ACTUALIZACIONES

BASES DE DATOS EN ESPERA GESTIONADAS

NIVELES DE AISLAMIENTO BLOQUES DINAMICOS DETECCIÓN DE INTERBLOQUES

REGISTROS HISTÓRICOS Y RECUPERCIÓN

REGISTROS HISTÓRICOS RECUPERACIÓN DE CAÍDAS

RECUPERACION DE LOS MEDÍOS

DESARROLLO DE BASES DE DATOS Y HERRAMIENTAS VISUALES

HERRAMIENTAS PARA EL DISEÑO DE BASES DE DATOS

Page 92: Tarea2

91

SMBD EQUIPO 11 13/12/09

HERRAMIENTAS PARA EL DISEÑO DE BASES DE

DATOS Y LA CONSULTA

HERRAMIENTAS DE CONSULTA Y AJUSTE DE LAS BASES DE DATOS

HERRAMIENTAS DE CONSULTA

ANALIZADOR DE CONSULTAS SQL

ANALIZAR DE SQL ASISTENTE PARA LA OPTIMIZACION DE ÍNDICES

ADMINISTRADOR COORPORATIVO DE SQL SERVER

HERRAMIENTAS DE GESTIÓN DE BASE DE DATOS

GESTION CORPORATIVO DE ORACLE

GESTION DE RECURSOS DE LA BASE DE DATOS

PROCESAMIENTO Y OPTIMIZACIÓN DE

CONSULTAS

MÉTODOS DE ACCESO VISIÓN GENERAL DE LOS PREOCESOS DE OPTIMIZACIÓN

MÉTODS DE EJECUCIÓN

EXPLORACIÓN DE TABLA SIMPLIFICACIÓN DE LA CONSULTA

OPTIMIZACIÓN

EXPLORACIÓN DE INDICES

REORDENACIÓN Y OPTIMIZACIÓN BASADA EN EL COSTE

EJECUCIÓN EN PARALELO

SOLO CON EL INDICE PLANES DE ACTUALIZACIÓN

LISTA DE PREEXTRACIÓN BÚSQUEDA PARCIAL Y HEURRÍSTICAS

CONJUNCIÓN DE INDICES EJECUCIÓN DE LA CONSULTA

OPERACIONES DE

Page 93: Tarea2

92

SMBD EQUIPO 11 13/12/09

REUNIÓN, AGREGACIÓN Y DE CONJUNTOSSOPORTE PARA EL PROCESAMIENTO DE SQL COMPLEJO

PROCESAMIENTO DE CONSULTAS EN MULTIPROCESADORES

OPTIMIZACIÓN DE CONSULTAS

TECNICAS, DISTRIBUCION Y DATOS EXTERNOS

PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS HETEROGÉNEAS

REPLÍCA

REPLÍCA BASES DE DATOS DISTRIBUIDAS

MODELO DE REPLICA ORIGENES DE DATOS EXTERNOS

OPCIONES DE REPLICA

VARIACIONES Y EXTENCIONES DE SQL

SOPORTE DE TIPOS DE DATOS

TIPOS DE DATOS CARACTERÍSTICAS RELACIONALES ORIENTADAS A OBJETOS

FUNCIONES Y MÉTODOS DEFINIDOS POR EL USUARIO

TIPO VARIANTE TIPOS DE OBJETOS

OBJETOS DE GRAN TAMAÑO

TIPO TABLE TIPOS DE COLECCIONES

FUNCIONES DEFINIDAS POR EL USUARIO

TABLAS DE OBJETOS

VISTAS FUNCIONES DE TABLA INDEXADAS VISTAS DE OBJETOS

Page 94: Tarea2

93

SMBD EQUIPO 11 13/12/09

DIVIDIDAS MÉTODOS ACTUALIZABLES FUNCIONES DE AGREGACIÓN

DEFINIDAS POR EL USUARIODESENCADENADORES TIPOS DE DATOS XML

DISPARADORES

XML Y SOPORTE WEB

ARQUITECTURA DEL ACCESO XML A SQL SERVER

SECUENCIA DE RESULTADOS SQL EN XML

VISTAS XML DE DATOS RELACIONALES

VISTAS RELACIONALES DE XML

Page 95: Tarea2

94

SMBD EQUIPO 11 13/12/09

CONCLUSIÓN:

En conclusión se puede decir que cada sistema manejador es eficaz para ciertas herramientas, ya que cada una de ellas tiene diferentes herramientas para su implementación; por ejemplo el DB2 de IBM:

Muchos expertos de la industria y usuarios han elogiado las nuevas herramientas que IBM desarrolló para facilitar la administración y uso del DB2 Universal Database. Utiliza una interfase gráfica, estilo browser, para acceder y manejar objetos de la base de datos. Incluye “smart.guides” que facilitan la tarea de configuración, guiándolo paso a paso para lograr un rendimiento óptimo de la base de datos y para asistir al usuario en la creación de teclas con plantillas predefinidas. Las herramientas mencionadas, más otras incluidas en DB2 Universal Database, están listas para ser integradas a Tivoli. Además su fácil replicación, su aplicación existente como corren en el web etc. Y su soporte OLAP, su nivel de seguridad, las ventajas de tener cuentas, entre otras.

Oracle contiene varias herramientas implementadas en su aplicación, que también se encuentran en otros manejadores de base de datos. Como las variables la reagrupación índex, entre otras pero también tiene sus herramientas únicas (que solo ella tiene) aunque actualmente los demás sistemas se encuentran implementando cada herramienta que las demás contienen para que su sistema manejador sea el adecuado.  

En conclusión puedo decir que el mejor sistema manejador de base de datos es my sql ya que es soportado por cualquier plataforma y tiene facilidad de acceder a internet y no tiene problemas de conectividad por ejemplo con OBDC. Además que no es complicado ya que maneja varios códigos semejantes a los demás manejadores de base de datos ya que está basado en el código ASCCI.

Page 96: Tarea2

95

SMBD EQUIPO 11 13/12/09

REFERENCIAS:

ORACLE:

1. IDC: Mantiene el plomo en la base de datos de Oracle de mercado 2. Bienvenido a Larryland 3. Bhakthavatsalam, Namrata (August 2008). "Glosario. Oracle Database 11g Guía de

instalación del cliente Release 1 (11.1) para sistemas basados en AIX pieza B32077-03 . Oracle. http://download.oracle.com/docs/cd/B28359_01/install.111/b32077/glossary.htm?type=popup#BABEBJAG. Obtenido 2008-11-17. "El SID de forma automática por defecto a la parte del nombre de la base de datos el nombre de base de datos mundial (las ventas en el sales.us.example.com ejemplo) hasta llegar a ocho caracteres o entrar en un período. Usted puede aceptar o cambiar el valor por defecto".

4. Watkins, Bob (30 de enero de 2007). "Observar el interior de los grupos de discos ASM con ASMCMD Oracle 10gR2's. techrepublic.com. ZDNet. http://articles.techrepublic.com.com/5100-10878_11-6154262.html. Obtenido 2009-07-30. "En 10g, Oracle introdujo un nuevo tipo de almacenamiento de su producto base de datos. Automatic Storage Management (ASM) es un administrador de volumen lógico que tenga particiones de disco físico y gestiona su contenido [...] Hasta ASM, sólo había dos opciones: de almacenamiento de archivos de sistema y de almacenamiento de disco sin procesar. "

5. Oracle FAQ 6. Esquemas conocidos en Oracle 7. Optimizador de plan de definición de estabilidad de 8. Muestra de Oracle esquemas de 9. Oracle Arquitectura, Sistema Global Area 10. La arquitectura de Oracle, la sección Caché de la biblioteca 11. De Oracle Arquitectura, diccionario de datos de caché 12. De arquitectura de Oracle, el Programa Mundial de área de sección 13. Definición de PGA , Oracle Database Master Glosario14. De Oracle conceptos de arquitectura de procesos15. http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 De

Alemania, Richard (25 de junio de 2007) "1.30. Nuevos procesos de fondo en 10g" Oracle Database 10g Performance Tuning: Tips & TechniquesOracle Pressp. 967ISBN 978-0-0722-6305-3 http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10. Obtenido 2009-08-12 "Memory Monitor MMON el proceso está asociado con la carga de trabajo las características automáticas nuevo repositorio para la detección automática de problemas y auto-tuning. MMON escribe los datos estadísticos necesarios para AWR de forma programada".

16. http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10 Alemania, Richard (25 de junio de 2007) »1.30. Nuevos procesos de fondo en 10g" Oracle Database 10g Performance Tuning: Tips & TechniquesOracle Pressp. 967ISBN 978-0-0722-6305-3 http://my.safaribooksonline.com/9780072263053/new_background_processes_in_10. Obtenido 2009-08-12 "Se trata de esclavos M000 fondo MMON (M000) los procesos".

17. Cyran, Michele; Paul Lane (2005). "Proceso de Arquitectura de. Conceptos de base de datos Oracle. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm # sthref1481. Obtenido 2008-08-13. «Cuando un usuario ejecuta un programa de aplicación

Page 97: Tarea2

96

SMBD EQUIPO 11 13/12/09

(como un programa Pro * C) o una herramienta de Oracle (tales como Enterprise Manager o SQL * Plus), Oracle crea un proceso de usuario para ejecutar la aplicación del usuario.

18. Cyran, Michele; Paul Lane (2005). "Proceso de Arquitectura de. Conceptos de base de datos Oracle. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm # sthref1481. Obtenido 2008-08-13. "Una conexión es una vía de comunicación entre un proceso de usuario y una instancia de Oracle."

19. Cyran, Michele; Paul Lane (2005). "Proceso de Arquitectura de. Conceptos de base de datos Oracle. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm # sthref1481. Obtenido 2008-08-13. "Una sesión es una conexión específica de un usuario a una instancia de Oracle a través de un proceso de usuario"

20. Morales, Tony (2008). "V $ Session. Oracle Database 11g Release 1 de referencia (11,1). Oracle. http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3016.htm. Obtenido 2008-11-17.

21. Chan, Immanuel (julio de 2008). "Glosario. Oracle Database Performance Tuning Guide 11g Release 1 (11.1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/glossary.htm?type=popup # sthref1649. Obtenido 2009-04-29. "enqueue [:] Este es otro término para una cerradura."

22. "Oracle Database Master Glosario: 11g Release 1 (11.1)". Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/mix.111/b14388/gloss-l.htm. Obtenido 2009-04-24. "pestillo [:] Un simple y de bajo nivel de mecanismo de serialización para proteger a las estructuras de datos en el Área de Sistema Global".

23. Strohm, Richard, et al. (Octubre 2008). "Archivos de parámetros. Conceptos de base de datos Oracle 11g Release 1 (11.1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/intro.htm # sthref23. Obtenido 2009-07-14. "Archivos de parámetro contiene una lista de parámetros de configuración para esa instancia y base de datos."

24. Strohm, Richard, et al. (Octubre 2008). "Archivos de parámetros de inicialización y Server Archivos de parámetros de. Oracle Database 11g Release 1 Conceptos (11.1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/startup.htm # i9633. Obtenido 2009-07-14.

25. Morales, Tony, et al. (Abril 2009). "V $ PARAMETER. Oracle Database 11g Release 1 de referencia (11,1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2.htm # insertedID85. Obtenido 2009-07-14. "V $ PARAMETER muestra información sobre los parámetros de inicialización que se encuentran actualmente en vigor para el período de sesiones."

26. Morales, Tony, et al. (Abril 2009). "SPPARAMETER V $. Oracle Database 11g Release 1 de referencia (11,1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_3.htm # insertedID41. Obtenido 2009-07-14. "V $ SPPARAMETER muestra información sobre el contenido del archivo de parámetros del servidor".

27. "El idioma local". http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm # i634428. Obtenido 2008-02-26.

Page 98: Tarea2

97

SMBD EQUIPO 11 13/12/09

28. “Mensaje de error linguísticas". http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm # i634673. Obtenido 2008-02-26.

29. Shea, Cathy; et al. (Septiembre de 2007). "Listado de soporte a la globalización. Oracle Database Globalization Support Guide 11g Release 1 (11.1). Oracle Corporation. http://download.oracle.com/docs/cd/B28359_01/server.111/b28298/ch1overview.htm # sthref8. Obtenido 2009-02-16. "En el pasado, Oracle se refiere a la capacidad de apoyo a la globalización como idioma nacional (NLS) características. NLS es en realidad un subconjunto de apoyo a la globalización. NLS es la capacidad de elegir una lengua nacional y almacenar datos en un conjunto de características específicas. Apoyo a la globalización permite a desarrollar aplicaciones multilingües y productos de software que se puede acceder y ejecutar desde cualquier parte del mundo simultáneamente. "

30. Como Larry Ellison, dijo en el discurso de un Oracle OpenWorld Presentación el 11 de noviembre de 2007: "¿Quién iba a comprar la versión 1.0 de cuatro chicos en California?"

31. http://www.oracle.com/oramag/profit/07-may/p27anniv_timeline.pdf 32. Comparar http://www.oracle.com/oramag/profit/07-may/p27anniv_timeline.pdf33. "Oracle Database 10g establece un nuevo récord para TPC-H Tres TB de referencia".

http://www.itmanagement.com/press-releases/oracle-tpc-h-record-060806/. Obtenido 2008-01-31.

34. Oracle Database Patch Sets 35. un b Greenwald, R., Stackowiak R., y Stern, J. (2001). Fundamentos de Oracle: Oracle 9i,

Oracle8i y Oracle8 (2 ª edición). Cambridge, MA: O'Reilly.36. http://www.oracle.com/technologies/open-source/docs/oracle-opensource-ds.pdf , Pero

comparar reclamación de Informix a la prioridad: http://www.linuxjournal.com/article/3110, Extraídos el 13 de febrero de 2008 y el de Poliedros

37. Enterprise Edition 38. Standard Edition 39. Standard Edition One 40. Express Edition 41. Preguntas más frecuentes sobre Express Edition 42. "Oracle Database Lite 10g. oracle.com. Oracle Corporation.

http://www.oracle.com/database/lite_edition.html. Obtenido 2009-06-23. "[...] Para el desarrollo, despliegue y administración de aplicaciones para entornos móviles e integrados. "

43. Opciones de base de datos Oracle 44. Ver download.oracle.com/docs/cd/B28359_01/license.111/b28287/options.htm #

CIHBDGAD45. ""Real Application Testing general"". Oracle Corporation. Agosto 2007.

http://www.oracle.com/technology/products/manageability/database/pdf/wp07/owp_real_application_testing_11g.pdf. Obtenido 2008-05-19.

46. Véase "Licencias de Plazo" en http://oraclestore.oracle.com/ para diversos mercados / países.

47. "Oracle Programmer/2000"(PDF). Oracle Corporation. http://www.alise.lv/ALISE/mrktinfo.nsf/6022a43db1063796c22566de00392130/420e0389f8672386c225645e00344ecb/ $ FILE /% Oracle 20Programmer% 202000% 20Data% 20Sheet% 20Feb97.pdf. Obtenido 2009-02-25. "Oracle Programmer/2000 es un conjunto de interfaces de programación que le permite acceder y manipular datos Oracle7 y esquemas. Programmer/2000 proporciona un rico conjunto de interfaces y soporta muchos lenguajes de programación, lo que permite al programador que utiliza el lenguaje de programación y el paradigma de programación de elección ".

Page 99: Tarea2

98

SMBD EQUIPO 11 13/12/09

48. "Otras formas de trabajar con Oracle". Oracle Corporation. http://download.oracle.com/docs/cd/A58617_01/server.804/a53717/ch1.htm # index0015. Obtenido 2009-02-25. "Programmer/2000 [:] un conjunto de interfaces de 3GL lenguaje de programación"

49. Por ejemplo, Oracle Data Guard cuenta oficialmente como una "característica", pero la pila de comandos de SQL * Plus, aunque una característica facilidad de uso, no aparece en la lista de "características", en # http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/editions.htm CJACGHEB

50. Alapati, Sam R. (2005) Expertos de administración de Oracle Database 10gApressp. 845ISBN 9781590594513 http://books.google.co.nz/books?id=xxx0KAwY_ZMC&pg=PA845&lpg=PA845&dq=ASH++Active+Session+History&source=bl&ots=4DmmvFmU7v&sig=vpOt0kvOidJo-iSC-EJ_kRTyDAI&hl=en&ei=b-EZSo3qBISIkAXKoyk&sa=X&oi=book_result&ct result = & resnum = 8 # PPA845, M1. Obtenido 2009-05-25 "... ASH registra la actividad período muy reciente (en los últimos cinco o diez minutos)."

51. Información general de Oracle Data Pump 52. Greenwald, Rick, Robert Stackowiak, Jonathan Stern (noviembre de 2007). Fundamentos

de Oracle: Oracle Database 11g. O'Reilly. p. 184. ISBN 978-0596514549. "El Administrador de Base de Datos de Recursos (DRM) se introdujo por primera vez en Oracle8i [...] para poner límites a la cantidad de recursos informáticos que pueden ser utilizados [...]"

53. "Disponibilidad de funciones de edición. Información de licencias de Oracle Database 11g Release 1 (11.1) Número de pieza B28287-08. Oracle Corporation. Mayo 2008. # http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm CJACGHEB. Obtenido 2008-08-19.

54. Nanda, Arup. "Auditoría dice todos. Oracle Database 10g: The Top 20 Características para administradores de bases. Oracle Corporation. http://www.oracle.com/technology/pub/articles/10gdba/week10_10gdba.html. Obtenido 2008-08-19. "... la auditoría estándar (disponible en todas las versiones) y la auditoría de grano fino (disponible en Oracle9i y hasta ..."

55. http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm 56. "Oracle Product Accesibilidad Situación: Database Server Enterprise Edition". Oracle

Corporation. 2 de junio 2008. http://www.oracle.com/accessibility/templates/t1286.html. Obtenido 2009-04-14.

57. "Oracle Data Provider para. NET". Oracle Corporation. http://www.oracle.com/technology/tech/windows/odpnet/index.html. Obtenido 2009-05-07. "El Oracle Data Provider para. NET (ODP.NET) características optimizadas ADO.NET datos de acceso a la base de datos de Oracle. "

58. http://www.oracle.com/global/tr/support/ 051006_ADVANCEDMETALINK_CUSTOMER.pdf página 10. Obtenido 8 de mayo 2008.

59. Rea, Stephen (16 de septiembre de 2008). "Actualización de Oracle 9.2.0.6 a 10.2.0.3 en AIX 5.2". Universidad de Arkansas. http://www.uaex.edu/srea/10gR2_upgrade.txt. Obtenido 2009-08-11. "Ejecutar la lista de comprobación de preinstalación de Oracle 10.2.0 (Metalink 250.262,1 Nota: RDA 4 - Health Check / Validación Engine Guide): La Salud de validación del motor del cheque (HCVE) conjunto de reglas para R2 de Oracle Database 10g (10.2.0) preinstalar (AIX) se describe en: https: / / metalink.oracle.com/metalink/plsql/docs/HCVE_A201DB10R2_aix.htm"

60. Ver Grupo de Usuarios de Oracle61. Sobre el caso en húngaro

Page 100: Tarea2

99

SMBD EQUIPO 11 13/12/09

62. Ver la publicación Lista de precios.63. Oracle Database Información sobre licencias Ediciones de la base de datos64. Centavos de dólar oficial de instalación de Oracle Wiki 65. La instalación en los sistemas basados en Debian; Wiki oficial de Oracle

MS SQL:

1. "Mejoras de motor de base de XML". http://msdn.microsoft.com/en-us/library/ms170809.aspx. Obtenido 2007-12-03.

2. "Motor de base de Mejoras de". http://msdn.microsoft.com/en-us/library/ms170910.aspx. Obtenido 2007-12-03.

3. Varios conjuntos de resultados activos (MARS) en SQL Server 2005 (consultado el 20 de junio 2009)

4. "Microsoft SQL Server 2008". http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx. Obtenido 2007-04-06.

5. “ChannelWeb: Siguiente parada de SQL Server: Katmai". http://www.crn.com/storage/170702999. Obtenido 2005-11-05.

6. Anunció a la de SQL Server Grupo de Interés Especial en la Conferencia 2008 de usuarios de ESRI el 6 de agosto de 2008 por Ed Katibah (Gerente del Programa Espacial de Microsoft)

7. "De Microsoft ofrece a Peek en la próxima versión de SQL Server". http://www.informationweek.com/software/showArticle.jhtml?articleID=199500164&subSection=Development. Obtenido 2007-05-11.

8. “Construir una prueba más que ir para SQL Server 2008". http://blogs.zdnet.com/microsoft/?p=937. Obtenido 2006-11-13.

9. "Guest Blogger: Ted Kummert". http://blogs.msdn.com/stevengu/archive/2007/11/13/guest-blogger-ted-kummert.aspx. Obtenido 2007-11-20.

10.Christian Kleinerman. "SQL Server 2008 para desarrolladores. Channel9. http://channel9.msdn.com/Showpost.aspx?postid=387069. Obtenido 2008-03-07.

11.Fernando Azpeitia Lopez. "SQL Server 2008 Búsqueda de texto completo: El Internado y Mejoras". http://msdn.microsoft.com/en-us/library/cc721269.aspx.

12."Las acciones de Microsoft detalles sobre SQL Server 2008 de Apoyo espacial por las instrucciones del personal". http://www.directionsmag.com/editorials.php?article_id=2477&trv=1. Obtenido 2007-09-07.

13."De SQL Server "Katmai" para entregar la entidad Plataforma de datos y soporte de LINQ". http://oakleafblog.blogspot.com/2007/05/sql-server-to-deliver-entity-data.html. Obtenido 2007-05-12.

14."Detalles de Microsoft Dynamic IT Estrategia en Tech-Ed 2007". http://www.earthtimes.org/articles/show/news_press_release, 115898.shtml. Obtenido 2007-06-04.

Page 101: Tarea2

100

SMBD EQUIPO 11 13/12/09

15."IntelliSense Servidor SQL". http://msdn.microsoft.com/en-us/library/ms173434.aspx. Obtenido 2008-08-18.

16."SQL Server Soporte para PowerShell!". http://blogs.msdn.com/powershell/archive/2007/11/13/sql-server-support-for-powershell.aspx. Obtenido 2007-12-03.

17.SQL Server del equipo. "TechEd 2009 - Nueva pantalla de SQL Server Innovaciones". MSDN Blogs. http://blogs.technet.com/dataplatforminsider/archive/2009/05/11/teched-2009-new-sql-server-innovations.aspx. Obtenido 2009--05,12.

18."SQL Server 2005 Comparación de características". http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx. Obtenido 2007-12-03.

19.Kalen Delaney. Dentro de Microsoft SQL Server 2005: El motor de almacenamiento. Microsoft Press. ISBN 0-7356-2105-5.

20."SQL Server 2008 Trial Software". http://www.microsoft.com/sqlserver/2008/en/us/trial-software.aspx. Obtenido 2009-03-26.

21."¿Qué pasa con las ediciones de SQL Server 2008 Express". http://blogs.msdn.com/sqlexpress/archive/2008/08/07/what-s-up-with-sql-server-2008-express-editions.aspx. Obtenido 2008-08-15.

22."Microsoft SQL Server 2008: Fast Track Data Warehouse". http://www.microsoft.com/Sqlserver/2008/en/us/fasttrack.aspx. Obtenido 2009-03-26.

23."Páginas y extensiones". http://msdn.microsoft.com/en-us/library/ms190969.aspx. Obtenido 2007-12-02.

24."Tablas e índices". http://msdn.microsoft.com/en-us/library/ms189051.aspx. Obtenido 2007-12-02.

25."Administración de búfer". http://msdn.microsoft.com/en-us/library/aa337525.aspx. Obtenido 2007-12-02.

26."Single Procesamiento de instrucciones SQL". http://msdn.microsoft.com/en-us/library/ms190623.aspx. Obtenido 2007-12-03.

27."Conceptos básicos de procedimientos almacenados". http://msdn.microsoft.com/en-us/library/ms191436.aspx. Obtenido 2007-12-03.

28."Vista general de la integración CLR". http://msdn.microsoft.com/en-us/library/ms131045.aspx. Obtenido 2007-12-03.

29."Soporte XML en SQL Server". http://msdn.microsoft.com/en-us/library/ms345117 (SQL.90). aspx. Obtenido 2008-09-05.

30."Introducción a Service Broker". http://msdn.microsoft.com/en-us/library/ms166104.aspx. Obtenido 2007-12-03.

Page 102: Tarea2

101

SMBD EQUIPO 11 13/12/09

31."Tipos de general de la replicación". http://msdn.microsoft.com/en-us/library/ms152531.aspx. Obtenido 2007-12-03.

32."General de la replicación transaccional". http://msdn.microsoft.com/en-us/library/ms151176.aspx. Obtenido 2007-12-03.

33."La replicación de mezcla Información general". http://msdn.microsoft.com/en-us/library/ms152746.aspx. Obtenido 2007-12-03.

34."Información general de instantáneas de replicación". http://msdn.microsoft.com/en-us/library/ms151832.aspx. Obtenido 2007-12-03.

35."Análisis de Servicios de Arquitectura". http://msdn.microsoft.com/en-us/library/ms174918.aspx. Obtenido 2007-12-03.

36."Conceptos de minería de datos". http://msdn.microsoft.com/en-us/library/ms174949.aspx. Obtenido 2007-12-03.

37."SQL Server Reporting Services". http://msdn.microsoft.com/en-us/library/ms159106.aspx. Obtenido 2007-12-03.

38.MSDN Library: Reporting Services Render Método - Véase Dispositivo de información de los ajustes

39. Image Device Information Settings - SSRS puede hacer BMP, EMF, GIF, JPEG, PNG, Y TIFF.

40."SAn Introducción a SQL Server Notification Services". http://www.codeproject.com/KB/dotnet/sqlns.aspx. Obtenido 2008-11-14.

41."De SQL Server Notification Services quita de SQL Server 2008". http://blog.desktopalert.net/blogs/da_blog/archive/2008/02/16/25.aspx. Obtenido 2008-09-17.

42."Funcionalidad no incluida en SQL Server 2008 Reporting Services". http://technet.microsoft.com/en-us/library/ms144231.aspx. Obtenido 2008-09-17.

43."Introducción a SQL Server Notification Services". http://msdn.microsoft.com/en-us/library/ms166495.aspx. Obtenido 2007-12-03.

44."Integration Services". http://msdn.microsoft.com/en-us/library/ms141263.aspx. Obtenido 2007-12-03.

45."Introducción a la búsqueda de texto completo". http://msdn.microsoft.com/en-us/library/ms142545.aspx. Obtenido 2007-12-03.

46."Consultar SQL Server mediante la búsqueda de texto completo". http://msdn.microsoft.com/en-us/library/ms142559.aspx. Obtenido 2007-12-03.

Page 103: Tarea2

102

SMBD EQUIPO 11 13/12/09

47."Búsqueda de texto completo Arquitectura de". http://msdn.microsoft.com/en-us/library/ms142541.aspx. Obtenido 2007-12-03.

48.MSDN: Introducción a SQL Server Management Studio 49.SQL Server Management Studio Express 50.De MSDN: Utilizar el Explorador de objetos 51.SQL Server 2005 Management Tools 52."Presentación de Business Intelligence Development Studio".

http://msdn.microsoft.com/hi-in/library/ms173767.aspx. Obtenido 2007-12-03.

53."Transact-SQL". http://msdn.microsoft.com/en-us/library/ms189826.aspx. Obtenido 2007-12-03.

54."Características de SQL Native Client". http://msdn.microsoft.com/en-us/library/ms131456.aspx. Obtenido 2007-12-03.

BIBLIOGRAFÍA:

Soluciones para un mundo pequeño  www.software.ibm.com/data/db2/udb  

Loney, Kevin (17 de diciembre de 2008), De referencia de Oracle Database 11g The Complete (1 ª ed.) McGraw-Hill, P. 1368, ISBN 0071598758, http://www.mhprofessional.com/product.php?isbn=0071598758, Consultado 2009-09-05

Lance Delano, Rajesh George et al. (2005). Wrox de SQL Server 2005 Express Edition Starter Kit (Programador a Programador). Microsoft Press. ISBN 0764589237

Delaney, Kalen, et al. (2007). Dentro de SQL Server 2005: Ajuste y optimización de consultas. Microsoft Press. ISBN 0735621969.

Ben-Gan, Itzik, et al. (2006). Inside Microsoft SQL Server 2005: T-SQL. Microsoft Press. ISBN 0735621977.

El sitio web MySQL (http://www.mysql.com/) proporciona la última información sobre MySQL y MySQL AB.