Your SlideShare is downloading. ×
139065100330COMPARACIÓN ENTRE DIFERENTES SMBD00COMPARACIÓN ENTRE DIFERENTES SMBD5676905187950Universidad VeracruzanaUniver...
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Tarea2
Upcoming SlideShare
Loading in...5
×

Tarea2

6,003

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,003
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
80
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Tarea2"

  1. 1. 139065100330COMPARACIÓN ENTRE DIFERENTES SMBD00COMPARACIÓN ENTRE DIFERENTES SMBD5676905187950Universidad VeracruzanaUniversidad Veracruzanacentertop10000060000299656550800FACULTAD:ADMINISTRACIÓN, ADMINISTRACIÓN TURISTICA Y SISTEMAS OMPUTACIONALES ADINISTRATIVOS.CARRERA:Lic. Sistemas Computacionales Administrativos.EXPERIENCIA:Base de Datos.BLOQUE:5SALÓN:C00200FACULTAD:ADMINISTRACIÓN, ADMINISTRACIÓN TURISTICA Y SISTEMAS OMPUTACIONALES ADINISTRATIVOS.CARRERA:Lic. Sistemas Computacionales Administrativos.EXPERIENCIA:Base de Datos.BLOQUE:5SALÓN:C002center6000010000045000386715518160INTEGRANTES:00INTEGRANTES:43815927735Enríquez Torres Guadalupe del PilarPalestino Soto RaquelTorres Rivera María AngélicaVázquez Wandestrand Mateo Antonio00Enríquez Torres Guadalupe del PilarPalestino Soto RaquelTorres Rivera María AngélicaVázquez Wandestrand Mateo Antonio<br />centercenter00<br />Introducción <br /> <br />  <br />DB2 UNIVERSAL DATABASE (DB2 UDB)  <br />  <br />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). <br />    <br />Características y funciones: <br />  <br />DB2 UDB es el producto principal de la estrategia de Data Management de IBM. <br />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. <br />  <br />Historia: <br />  <br />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. <br />  <br />Integridad:  <br />  <br />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. <br />  <br /> <br />Múltiples usos:  <br />  <br />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). <br />  <br />Escalabilidad:  <br />  <br />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. <br />  <br />  <br />Web enabled para E-business:  <br />  <br />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. <br />  <br />  <br />Facilidad de instalación y uso:  <br />  <br />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. <br />  <br />  <br />Universalidad:  <br />  <br />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. <br />  <br />  <br />Funciones complementarias  <br />  <br />Conectividad  <br />  <br />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. <br />  <br />Data Warehousing  <br />  <br />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, 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. <br />  <br />  <br />Data Mining  <br />  <br />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. <br />Integridad Referencial<br /> <br />Restricciones<br /> <br />Las restricciones son reglas que el administrador de la base de datos establece.<br />Hay tres tipos de restricciones.<br /> <br />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.<br /> <br />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.<br />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.<br /> <br /> <br />Restricciones preferenciales <br /> <br />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. La restricción referencial es la regla que permite que una clave foránea sea válida solamente si:<br /> <br />Ellas se aparecen como valores de una clave de la tabla maestra o<br />Algún componente de la clave foránea es nulo.<br /> <br />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.<br /> <br />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.<br /> <br />Nota: La integridad referencial, las restricciones de control y los triggers pueden combinarse durante la ejecución.<br /> <br />Conceptos<br /> <br />Clave Maestra:<br />Es la clave principal o clave única de una restricción preferencial.<br /> <br />Fila maestra:<br />Es la fila que tiene al menos una fila dependiente.<br /> <br />Tabla maestra o Padre:<br />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.<br /> <br />Tabla dependiente. <br />Es aquella tabla que depende de al menos una restricción referencial. Una tabla dependiente puede ser también una tabla “Padre”.<br /> <br />Tabla descendente:<br />Una tabla es descendente de una tabla T, si esta es dependiente de T.<br /> <br />Fila descendente:<br />Una fila descendente de una fila F, si esta es dependiente de F.<br /> <br />Ciclo referencial<br />Es un conjunto de restricciones referenciales, tal que cada tabla es descendente de si misma.<br /> <br />Fila Auto-referenciada:<br />Es la fila que es Padre de ella misma.<br /> <br />Tabla auto-referenciada.<br />Es la tabla que es padre y dependiente en la misma restricción referencial.<br /> <br />RULE-INSERT (Regla de inserción)<br /> <br />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.<br /> <br />UPDATE RULE. (Regla de actualización)<br /> <br />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.<br /> <br />En caso de una fila padre, cuando un valor de la columna de la clave es actualizada <br /> <br />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.<br /> <br />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.<br /> <br />En caso de una fila dependiente. <br /> <br />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.<br /> <br /> <br /> <br />DELETE RULE. (Regla de eliminación.)<br /> <br />Esta regla se específica cuando la restricción referencial se define.<br /> <br />Las opciones son NO ACTION, RESTRICT, CASCADE, or SET NULL.<br /> <br />SET NULL puede especificarse solo si alguna columna de la clave foránea admite valores nulos.<br />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.<br /> <br />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.<br /> <br />Si la regla de eliminación se determina como:<br /> <br />RESTRICT or NO ACTION; ocurre un error y las filas no son eliminadas. <br /> <br />CASCADE; La operación de eliminación se propaga de la fila dependiente “p” a “D”. <br /> <br />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. <br /> <br />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.<br /> <br />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.<br /> <br />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:<br /> <br />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. <br /> <br />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. <br /> <br />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. <br /> <br />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”. <br /> <br /> <br />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”.<br /> <br /> <br />Tabla de Restricciones  <br />  <br />Hay tres tipos de restricciones: <br />  <br />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.   <br />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.     <br />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).   <br />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.   <br />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. <br />  <br />Restricción Única <br />  <br />Un unique constraint es la regla que permite que un solo valor de la clave sea válido en una tabla .  <br />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 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. <br />  <br />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. <br />  <br />La restricción única que es referenciada como una clave foránea de una referential constraint es llamada como clave pariente. <br />  <br />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. <br />  <br />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. <br />  <br />  <br />Note que existe una diferencia entre definir una restricción única y crear un único índice.  <br />  <br />Tabla de Control de Restricciones <br />(Table Check Constraints) <br />  <br />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. <br />  <br />La tabla puede tener un número arbitrario de table check constraints. Son forzadas cuando:   <br />- una fila se agrega dentro de la tabla<br />- una fila de la tabla se modifica<br /> <br />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.<br /> <br />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 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.<br /> <br />Funciones Incorporadas<br /> <br />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.<br /> <br />Funciones Aritméticas<br /> <br />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.<br /> <br /> VALUES<br /> ('SQRT(2) ',SQRT(2)),<br /> ('EXP(2) ',EXP(2)),<br /> ('SIN(.5) ',SIN(.5)),<br /> ('COS(.5) ',COS(.5)),<br /> ('TAN(1) ',TAN(1)),<br /> ('LOG(57) ',LOG(57)),<br /> ('ATAN(0) ',ATAN(0)),<br /> ('RAND() ',RAND()),<br /> ('CEIL(4.3) ',CEIL(4.3)),<br /> ('FLOOR(3.6)',FLOOR(3.6)),<br /> ('QUARTER() ',QUARTER(CURRENT DATE)),<br /> ('WEEK() ',WEEK(CURRENT DATE))<br /> <br />Funciones de texto<br />  <br />Existen algunas funciones mas que manejan texto. Note que estas son algunos ejemplos de las funciones que están disponibles <br />  <br /> VALUES <br /> ('REPEAT(" *" ,5) ',REPEAT('*',5)), <br /> ('LTRIM(" *" ) ',LTRIM(' *')), <br /> ('LCASE(" ABCDEF" ) ',LCASE('ABCDEF')), <br /> ('REPLACE(" x1x1x" ," 1" ," 2" ) ',REPLACE('x1x1x','1','2')), <br /> ('MONTHNAME(CURRENT DATE),MONTHNAME (CURRENT DATE <br /> ('DAYNAME(CURRENT DATE) ',DAYNAME(CURRENT DATE)) <br />  <br />Funciones Soundex <br />  <br />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. <br />  <br />  <br /> SELECT A.LASTNAME, B.LASTNAME <br /> FROM EMPLOYEE A, EMPLOYEE B <br /> WHERE SOUNDEX(A.LASTNAME) = SOUNDEX(B.LASTNAME) <br /> AND A.LASTNAME <> B.LASTNAME <br />  <br />Funciones Soundex (2° ejemplo) <br /> <br />En este ejemplo de Soundex, se está buscando gente de la compañía que tenga un apellido que suene parecido al “SMITH” <br />  <br />  <br /> SELECT LASTNAME FROM EMPLOYEE <br /> WHERE SOUNDEX(LASTNAME) = SOUNDEX('SMITH') <br /> <br />Funciones definidas por el usuario<br /> <br /> <br />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: <br />  <br />-Función escalar, la cual devuelve un valor cada vez que se la invoca   <br />-Función columna, donde se pasa un conjunto de valores y devuelve un valor único para el conjunto   <br />-Función tabla, que devuelve una tabla <br />  <br />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 <br />  <br />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 <br />  <br />Una función definida por el usuario se invoca con su nombre, seguido de los argumentos entre paréntesis (if any) <br />  <br />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. <br />  <br />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. <br />  <br />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). <br />    <br /> <br />Ejemplos: <br />  <br />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 <br />  <br />SELECT EMPNO, ADDRESS(RESUME) FROM EMP_RESUME <br /> WHERE RESUME_FORMAT = 'SCRIPT' <br />  <br />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. <br />  <br />SELECT ADDRESS(A) FROM T2 <br />  <br /> Un error (SQLSTATE 42884) aparece porque no hay una función con el mismo nombre y con un parámetro correcto desde el argumento. <br />  <br />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. <br />  <br />SELECT ID, START_DATE, ORIG_MACHINE <br />FROM TABLE( WHO() ) AS QQ <br />WHERE START_DATE LIKE 'MAY%' <br />  <br />Los nombres de columna de la tabla WHO() están definidos en el estado de CREAR FUNCION   <br />Tablas de Funciones.<br />  <br />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: <br />  <br />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. <br />  <br />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. <br />  <br />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. <br />  <br />Los valores de las columnas individuales retornadas conformen con el formato a los valores retornados para funciones escalares. <br />  <br />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. <br />  <br />  <br />Anidar o Establecer Tablas de Expresión <br />Tablas de Expresión<br />Una tabla de expresión crea una tabla de resultados temporales desde una simple consulta. Además de estas refinan la tabla de resultados.<br />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 aquellos que tienen más de 15 años de experiencia y trabajan en las oficinas de la sucursal New York.<br /> <br />Tablas de Expresión Común<br />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.<br /> <br />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. <br /> <br />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.<br /> <br />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.<br /> <br />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.<br />Por ejemplo, en el seguimiento de consultas se utiliza el mismo resultado de la tabla dos veces.<br /> <br />WITH DTSUM (WORKDEPT, AVGSAL) AS (<br />SELECT WORKDEPT, AVG(SALARY) FROM EMPLOYEE<br />WHERE EDLEVEL > :hv1<br />GROUP BY WORKDEPT<br />) D1,<br />SELECT D1.WORKDEPT, D1.AVGSAL, D2.WORKDEPT, D2.AVGSALDTSUM D2<br />WHERE D1.AVGSAL > 1.1 * D2.AVGSAL;<br /> <br /> <br />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.<br /> <br />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.<br />OUTER JOIN <br />  <br />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. <br />  <br />Existen 3 tipos de outer join: <br />  <br />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. <br /> <br />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. <br /> <br />El outer join completo incluye ambas clases de filas. <br /> <br />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. <br /> <br />La tabla resultante puede perder filas de una o ambas tablas utilizadas. Outer joins incluye el inner join y preserva esas filas perdidas.<br /> <br />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. <br /> <br />Resultados de operaciones entre T1 y T2:<br /> <br />El resultado de T1 INNER JOIN T2 consiste en los pares de filas donde la condición del join es verdadera. <br /> <br />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. <br /> <br />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. <br /> <br />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. <br /> <br /> <br />Todas las columnas de T1 y T2 permiten valores nulos.<br /> <br />Ejemplo:<br /> <br />TEACHERS<br />NAMERANK  Ms.ReddingAssoc.Prof.Mr.GlennAssist.Prof.Ms. BarnesFull Prof.Mrs.PlummerAssoc.Prof.<br /> <br /> <br />COURSES<br />  <br />QUARTER SUBJECTTEACHERENROLLMAN    Fall 96Math 101Mr.Glenn40Fall 96English 280Ms.Redding30Fall 96Science 580Ms.Redding33Fall 96Physics 405Mrs.Plummer28Fall 96Latin 237Mr.Glenn20Fall 96German 130Staff31Winter 96French 140Ms. Barnes(null)<br />WITH<br />Innerjoin(name, rank, subject, enrollment) AS<br />(SELECT t.name, t.rank, c.subject, c.enrollment<br />FROM teachers AS t, courses AS c<br />WHERE t.name =c.teacher<br />AND c.quarter = ´Fall 96´),<br />Teacher_only(name, rank) AS<br />(SELECT name, rank<br />FROM teachers<br />EXCEPT ALL<br />SELECT name, rank<br />FROM innerjoin),<br />Course_only(subject, enrollment) AS<br />(SELECT subject, enrollment<br />FROM courses<br />WHERE quarter = ´Fall 96´ <br />EXCEPT ALL <br />SELECT subject, enrollment <br />FROM innerjoin) <br />  <br />SELECT name, rank, subject, enrollment<br />FROM innerjoin<br /> <br />UNION ALL<br /> <br />SELECT name,<br /> rank,<br /> CAST(NULL AS Varchar(20)) AS subject,<br /> CAST(NULL AS Interger) AS enrollment<br />FROM teacher_only<br />UNION ALL<br /> <br />SELECT CAST(NULL AS Varchar(20)) AS name,<br /> CAST(NULL AS Interger) AS rank,<br /> subject,<br /> enrollment<br />FROM course_only<br /> <br />El resultado de este outer join es el siguiente<br />   <br />  <br />NAMERANKSUBJECTENROLLMENT    Mr.GlennAssist.Prof.Math 10140Mr.GlennAssist.Prof.Latin 23720Mrs.PlummerAssoc.Prof.Physics 40528Ms.ReddingAssoc.Prof.English 28030Ms.ReddingAssoc.Prof.Science 58033Ms. BarnesFull Prof.German 13031<br />  <br /> <br />                     <br />TRIGGERS EN DB2<br /> <br />Triggers<br /> <br />Triggers se define como un conjunto de acciones que se ejecutan, o se disparan, como por ejemplo eliminar, insertar o actualizar una tabla.<br /> <br />Cuando este tipo de operación en SQL se ejecuta, consideramos que el TRIGGER está activado.<br /> <br />Los triggers pueden usarse en conjunto con restricciones referenciales o restricciones de control para dar fuerza a las reglas de integridad de los datos.<br /> <br />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.<br /> <br />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%).<br /> <br />Usar TRIGGERS ubica a la lógica para enfatizar las reglas de negociación de datos en una base de datos.<br /> <br />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. <br />  <br />Los TRIGGERS son opcionales y se definen mediante la instrucción CREATE TRIGGER. <br />  <br />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. <br />  <br />En una tabla se define la tabla que llamaremos objeto para la cual el TRIGGES se utilizará. <br /> <br />El evento que se ejecutará se lo hace en SQL y esta modificará la tabla. Las operaciones pueden ser: borrar, insertar o actualizar. <br /> <br />El “Triggers activation time” define cuando el trigger debe ser activado. <br /> <br /> <br />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.<br /> <br />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ó.<br /> <br />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.<br /> <br />Las declaraciones de SQL solo se ejecutarán si la condición de búsqueda es verdadera.<br /> <br />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.<br /> <br />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.<br /> <br />Otra forma de referenciarse a valores en un grupo de filas es utilizando tablas transitorias que operan en forma similar a las variables.<br /> <br />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.<br /> <br />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. <br />  <br />Distintos SQL<br /> <br />Hay algunos comandos adicionales de SQL que hacen mucho más fácil la codificación. A continuación mostraremos algunos ejemplos:<br /> <br />1. CASE<br /> <br />Un CASE ayuda para el caso en el que tenga que cambiar valores en una entrada o salida.<br />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.<br /> <br />SELECT LASTNAME, SALARY,<br /> CASE<br /> WHEN SALARY <= 20000 THEN 'Poor'<br /> WHEN SALARY <= 25000 THEN 'Fair'<br /> WHEN SALARY <= 30000 THEN 'Average'<br /> WHEN SALARY <= 35000 THEN 'Good'<br /> WHEN SALARY <= 40000 THEN 'Excellent'<br /> ELSE 'Outstanding'<br /> END AS COMPENSATION_LEVEL<br /> FROM EMPLOYEE<br /> ORDER BY SALARY <br />  <br />2. Cláusula AS <br />  <br />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. <br />Para ordenar un cálculo, se necesitaba dar el número relativo de la columna en la cláusula ORDER BY. Ej: <br />SELECT SALARIO + COMISION FROM EMPLEADOS ORDER BY 1 <br />  <br />Ahora se puede asignar un nombre a este cálculo y usar este nombre en el ORDER BY: <br />  <br />SELECT SALARIO + COMISION AS PAGO FROM EMPLEADOS ORDER BY PAGO <br />  <br />Esto puede permitir muchos errores en el SQL <br />  <br />SELECT APELLIDO, SALARIO + PREMIO AS PAGO <br />FROM EMPLEADOS <br />ORDER BY PAGO <br />  <br />  <br />Hardware Soportado en DB2<br /> En esta sección veremos los siguientes entornos de hardware sobre los cuales funciona DB2 :  <br />Partición simple sobre un único procesador ( uniprocesador ) <br />Partición simple con múltiples procesadores ( SMP : Single Partition with Multiple Processors  ) <br />Distintas configuraciones de Partición múltiple : <br />Particiones con un procesador ( MPP : Múltiple Partitions with one Processor  ) <br />Particiones con múltiples procesadores ( cluster of SMPs ) <br />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. <br />    A continuación en cada ambiente de hardware, se describen las consideraciones respecto de la capacidad y escalabilidad:<br /> <br />    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. <br />    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. <br /> <br />Partición Simple sobre un Único Procesador  <br />    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 ).  <br />   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.  <br />Capacidad y Escalabilidad <br />    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. <br />     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.  <br />    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.  <br />Partición Simple con Múltiples Procesadores <br />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. <br />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.  <br />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. <br />    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. <br />Capacidad y Escalabilidad <br />    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.  <br />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.  <br />    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. <br />    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.  <br />Distintas Configuraciones de Particiones Múltiples  <br />    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.<br />    Esta sección describe las siguientes configuraciones de particiones posibles:  <br />Particiones en sistemas cada uno con un procesador. <br />Particiones en sistemas cada uno con múltiples procesadores. <br />Particiones lógicas de base de datos. <br /> Particiones con un Procesador.<br /> 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.<br />    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. <br />    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. <br /> <br />Capacidad y Escalabilidad<br />    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. <br />    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. <br /> <br />Particiones con Múltiples Procesadores <br /> 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). <br />    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. <br />Capacidad y Escalabilidad<br />    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. <br /> <br />Particiones Lógicas de Base de Datos <br />    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. <br />    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.  <br />    Mediante la partición de la base de datos, se puede administrar y recuperar cada partición por separado.  <br />    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. <br />  <br />Resumen del Paralelismo mejor Adaptable a cada Entorno de Hardware  <br /> La siguiente tabla resume los tipos de paralelismo que mejor se adaptan a los diferentes entornos de hardware.  <br />Entorno de HardwareParalelismo I/OParalelismo Inter-Consulta Paralelismo Intra-Partición Paralelismo Inter-Consulta Paralelismo Inter.-Partición Partición Simple,   Único Procesador    SiNoNoPartición Simple,   Múltiples Procesadores   ( SMP )    SiSiNoParticiones Múltiples,   Un Procesador ( MPP )    SiNoSiParticiones Múltiples,   Múltiples Procesadores   ( cúmulos de SMPs o cluster of SMPs )    SiSiSiParticiones Lógicas de Base de Datos    SiSiSi<br /> Herramientas de Administración<br />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. <br /> <br />  <br />DB2 Administración de Servidores<br /> <br />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.<br /> <br />Asistente para la Configuración de clientes<br /> <br />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. <br /> <br />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á:<br /> <br /> <br />Definir conexiones a base de datos de modo que éstas pueden ser utilizadas por aplicaciones. Existen 3 métodos: <br /> <br />Examinar la red por base de datos disponibles y seleccionar una. El cliente automáticamente se configura para esa base de datos. <br />Usar los perfiles de acceso a base de datos que provee el administrador para definir automáticamente las conexiones. <br />Configuración manual de conexiones a base de datos para modificar algunos parámetros de conexión requeridos. <br /> <br />Remover base de datos catalogados o modificar sus propiedades. <br /> <br />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. <br /> <br />Enlazar aplicaciones a una base de datos seleccionando utilidades o enlazar archivos de una lista. <br /> <br />Establecer conexiones con servidores DRDA si la conexión DB2 está instalada. <br /> <br />  <br />Administrador<br /> <br />El administrador es usado para monitorear y cambiar el mejoramiento de aplicaciones que corren a través de la base de datos. <br />  <br />Consiste en dos partes: <br />  <br />Una utilidad de frente-final <br /> <br />Un dominio <br /> <br /> <br />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.<br /> <br />Además un administrador de dominio colecciona estadísticas sobre las aplicaciones que corren a través de la base de datos. <br /> <br />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. <br /> <br />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.<br /> <br />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. <br /> <br />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.<br /> <br />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.<br />  <br /> SmartGuides<br /> <br />É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: <br />  <br />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. <br /> <br />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. <br /> <br />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. <br /> <br />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 chiquear el icono que representa alguna de sus base de datos en el Control Center y seleccionar Backup -> database usando Smartguide. <br /> <br />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. <br /> <br />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. <br /> <br />Estándares Soportados en DB2 <br /> <br />  <br />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. <br />  <br />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. <br /> 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.  <br /> 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.  <br />  <br />La UDB DB2 también incluye las siguientes innovaciones en SQL, que satisfacen los requerimientos:   <br />SOPORTE DE AUTORIZACION ADICIONAL.<br /> Las siguientes funciones han sido agregadas para soportar autorizaciones: <br />Privilegio de ACTUALIZACION (UPDATE) del nivel de columna.  <br />Privilegio de REFERENCIAS (REFERENCES) del nivel de columna.  <br />Comando WITH GRANT OPTION en GRANT (para tablas, vistas y columnas). <br />Privilegios PUBLICOS (PUBLIC) para SQL estático y vistas. <br />SOPORTE DE TIPOS DE DATOS REALES.<br />Un dato de precisión simple con coma flotante utilizando el comando REAL es soportado por DB2. <br />DECLARACIONES  DE CREACION DE ESQUEMA (CREATE SCHEMA) Y ELIMINACION DE ESQUEMA (DROP SCHEMA).<br />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.  <br />  <br />SOPORTE PARA RESTRICCIONES UNICAS.<br />DB2 también soporta restricciones únicas (unique constraints ), las cuales se indican a continuación :  <br />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.  <br />El chequeo de las restricciones únicas se realiza en diferido al finalizar la declaración. <br />Los nombres de las restricciones especificadas pueden ser utilizados como nombre índices (también aplicable a las claves primarias). <br />Las RESTRICCIONES UNICAS y las CLAVES PRIMARIAS de tablas de partición múltiple incluyen la CLAVE DE PARTICION.  <br />CONVERSION NUMERICA Y ARITMETICA  AMIGABLE <br /> <br />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.  <br />centercenter00<br />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[update], Oracle mantiene una presencia importante en base de datos informática.[1]<br />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]<br />Las estructuras físicas y lógicas<br />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).<br />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.<br />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.<br />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.<br />Almacenamiento<br />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.<br />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).<br />Los archivos de disco<br />Los archivos de datos<br />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.<br />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]<br />Los archivos de control de<br />Tamaño de los archivos de control El tamaño de los archivos de control se rige por los siguientes parámetros:<br /> * Maxlogfiles<br />   * Maxlogmembers<br />   * MAXLOGHISTORY<br />   * MaxInstances<br />   * Control_file_record_keep_time<br />Esquema<br />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.<br />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]<br />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[update] ejemplos proporcionados por Oracle Corporation referencia el defecto de recursos humanos o los esquemas de la OE.<br />Otros esquemas predeterminados[6] incluyen:<br />SYS (estructuras de base de datos esenciales básicos y servicios públicos)<br />SISTEMA (estructuras de base de datos más básicos y los servicios públicos, y cuenta con privilegios)<br />OUTLN (utilizado para almacenar metadatos almacenados lineamientos para consulta estable-los planes de ejecución del optimizador.[7]<br />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).<br />Arquitectura de memoria<br />Sistema Global Area<br />Artículo principal: Sistema Global Area<br />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]<br />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:<br />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.<br />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.<br />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.<br />Caché de la Biblioteca<br />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.<br />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.<br />Caché de diccionario de datos<br />El diccionario de datos comprende un conjunto de tablas y vistas que el mapa de la estructura de la base de datos.<br />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:<br />la información del usuario, tales como los privilegios del usuario<br />las restricciones de integridad definidas para las tablas de la base de datos<br />los nombres y tipos de datos de todas las columnas en las tablas de base de datos<br />información sobre el espacio asignado y utilizado para los objetos de esquema<br />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.<br />Programa de Área Global de<br />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.<br />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:<br />pila-espacio: la memoria que contiene las variables de la sesión, matrices, etc.<br />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.)<br />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.<br />espacio de clasificación: una zona en la PGA, que contiene información sobre las clases, se une a hash, etc<br />Proceso de arquitecturas de<br />Procesos de Oracle<br />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]<br />los procesos de archivador (ARCN)<br />proceso de control (ckpt) * REQUERIDO *<br />coordinador-de-proceso de las colas de trabajos (CJQn): genera dinámicamente los procesos de trabajo esclavo para las colas de<br />escritor de base de datos de procesos (DBWn) * * REQUERIDO<br />los procesos de despachador (Dnnn): servidor múltiple de procesos, en nombre de los usuarios de<br />de memoria Process Manager (MMAN): se utiliza para tareas de bases de datos internas como de gestión automática de memoria compartida<br />proceso de registro de escritor (LGWR) * * REQUERIDO<br />de registro y escritura de red del servidor (LNSn): transmite rehacer los registros de datos en entornos de la Guardia<br />lógico proceso de coordinador de espera (LSP0): controles de Data Guard registro de la aplicación<br />proceso de recuperación de los medios de comunicación (MRP): proceso de recuperación independiente de servidor<br />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]<br />de memoria el seguimiento del proceso de luz (MMNL): recopila y almacena automática de carga de trabajo Repository (AWR) los datos de<br />esclavos mmon (Mnnnn - M0000, M0001, etc): los esclavos de fondo del proceso de MMON[16]<br />proceso de proceso de monitor (PMON) * REQUERIDO *<br />proceso spawner (PSP0): genera los procesos de Oracle<br />cola de monitor de procesos (QMNn)<br />proceso recuperador (RECO)<br />remoto proceso de servidor de archivos (RFS)<br />los procesos del servidor compartido (Snnn): servir el cliente solicita<br />proceso de monitoreo del sistema (SMON) * * REQUERIDO<br />Los procesos de usuario, las conexiones y sesiones de<br />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:<br />usuario los procesos de impliquen la invocación de la aplicación de software[17]<br />de una conexión se refiere a la vía que une un proceso de usuario a una instancia de Oracle[18]<br />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).<br />De concurrencia y de bloqueo<br />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]<br />Configuración<br />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) HYPERLINK " http://en.wikipedia.org/wiki/Oracle_Database" l " cite_note-23" [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.<br />Internacionalización<br />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]<br />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]<br />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]<br />Historia<br />Corporativo / timeline técnica<br />1977: Larry Ellison y amigos fundaron los Laboratorios de Desarrollo de Software.<br />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]<br />1982: RSI a su vez, cambió su nombre, llegando a ser conocido como " Oracle Corporation" [31] alinearse más estrechamente con su producto estrella.<br />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]<br />1984: Oracle Corporation Oracle lanzó la versión 4, que apoyó lectura de la coherencia.<br />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.<br />1986: Oracle versión 5.1 comenzó a apoyar distribuidos consultas.<br />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]<br />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.<br />De 1990: la liberación de Aplicaciones de Oracle Release 8[31]<br />1992: la versión de Oracle 7 apareció con el apoyo de integridad referencial, procedimientos almacenados y desencadenantes.<br />1997: Oracle Corporation lanzó la versión 8, que apoyó orientado a objetos el desarrollo y la Multimedia aplicaciones.<br />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).<br />2000: Oracle E-Business Suite 11i pioneros de software integrado de aplicaciones de empresa[31]<br />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.<br />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" .)<br />2005: Base de Datos Oracle 10.2.0.1 - también conocido como Oracle Database 10g Release 2 (10gR2) - apareció.<br />2006: Oracle Corporation anuncia Unbreakable Linux[31]<br />2007: Oracle Database 10g Release 2 establece un nuevo récord del mundo TPC-H de 3000 GB punto de referencia resultado[33]<br />2007: Oracle Corporation lanzó Oracle Database 11g para Linux y para Microsoft Windows.<br />2008: Oracle Corporation adquiere BEA Systems.<br />2009: Oracle Corporation adquiere Sun Microsystems. Nota: a partir de octubre 2009[update] de la adquisición pendiente de la aprobación de la Comisión Europea[editar].<br />Números de versión<br />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:<br />Oracle Application Server 10g (también conocido como " Oracle 10g AS" ): una middleware producto;<br />Aplicaciones de Oracle Release 11i (también conocido como Oracle E-Business Suite, Oracle Financials o Oracle 11i): una Siguiente de negocio aplicaciones;<br />Oracle Developer Suite 10g (9.0.4);<br />Oracle JDeveloper 10g: un Java entorno de desarrollo integrado de?<br />Desde la versión 5, de Oracle RDBMS la liberación de numeración ha utilizado los siguientes códigos:<br />Oracle5<br />Oracle6<br />Oracle7: 7.0.16 - 7.3.4<br />Oracle8 base de datos: 8.0.3 - 8.0.6<br />Oracle8i Database Release 1: 8.1.5.0 - 8.1.5.1<br />Oracle8i Database Release 2: 8.1.6.0 - 8.1.6.3<br />Oracle8i Database Release 3: 8.1.7.0 - 8.1.7.4<br />Oracle9i Database Release 1: 9.0.1.0 - 9.0.1.5 (parches en diciembre de 2003[update])<br />Oracle9i Database Release 2: 9.2.0.1 - 9.2.0.8 (parches en abril de 2007[update])<br />Oracle Database 10g Release 1: 10.1.0.2 - 10.1.0.5 (parches en febrero de 2006[update])<br />Oracle Database 10g Release 2: 10.2.0.1 - 10.2.0.4 (parches en abril de 2008[update])<br />Oracle Database 11g Release 1: 11.1.0.6 - 11.1.0.7 (parches en septiembre de 2008[update])<br />Oracle Database 11g Release 2: 11.2.0.1 (Lanzamiento 2009-09-01)<br />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.<br />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.<br />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.<br />Lista de los primeros reivindicada<br />Oracle Corporation afirma que, siempre que:<br />la primera comercialmente disponibles SQLbase de datos en (1979)[35]<br />la primera base de datos para apoyar multiprocesamiento simétrico (SMP) (1983)<br />el primero bases de datos distribuidas (1986)<br />el primera base de datos de productos probados para cumplir con los Estándar ANSI SQL (1993)[35]<br />el primero 64-bit base de datos (1995)<br />la primera base de datos para incorporar un nativo de JRE (1998)<br />de propiedad de la primera RDBMS para que esté disponible en Linux (1998)[36]<br />la primera base de datos para apoyar XML (1999)<br />Ediciones<br />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:<br />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.<br />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.<br />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.<br />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.<br />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.<br />Las plataformas de acogida<br />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 recientemente, Oracle Corporation se ha consolidado en un rango menor de las plataformas de sistema operativo.<br />En octubre de 2006[update], Oracle apoya los siguientes sistemas operativos y plataformas de hardware para Oracle Database 10g:<br />Manzana Mac OS X Server: PowerPC<br />HP HP-UX: PA-RISC, Itanium<br />HP Tru64 UNIX: Alpha<br />HP OpenVMS: Alpha, Itanium,<br />IBM AIX5L: IBM POWER<br />IBM z / OS: zSeries<br />Linux: x86, x86-64, PowerPC, zSeries, Itanium,<br />Microsoft Windows: X86, x86-64, Itanium,<br />Sol Solaris: SPARC, X86, x86-64<br />Related software<br />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.<br />Opciones de base de datos<br />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[update] Entre esas opciones figuran:<br />Active Data Guard (se extiende Oracle Data Guard la funcionalidad física en espera 11g)<br />Seguridad avanzada (añade los métodos de cifrado de datos)<br />Base de datos de contenido (proporciona un repositorio centralizado de información no estructurada)<br />Database Vault (aplica la seguridad adicional en los datos de acceso)<br />Minería de datos (ODM) (minas de patrones en los datos existentes)<br />In-Memory Database Cache (utiliza TimesTen tecnología)<br />Etiqueta de seguridad (aplica a nivel de fila de seguridad)<br />Management Packs (varios)<br />Respuestas de Oracle (para ad-hoc análisis y presentación de informes)<br />Oracle OLAP (añade procesamiento analítico en)<br />Programador de Oracle (provee acceso programático a través de bases de datos Oracle precompilers, Las interfaces y enlaces)[44]<br />Particionado (granularizes tablas e índices de eficiencia)<br />Real Application Clusters (RAC) (coordenadas servidores de base de datos múltiples, así como el acceso a la misma base de datos)<br />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 Analyzer (SPA) (para preservar la eficiencia de SQL en entornos cambiantes)[45]<br />Base de datos de registros (a la gestión de documentos aplicación)<br />Oracle Spatial (integra los datos relacional con sistemas de información geográfica (SIG))<br />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.<br />Total Recall (optimiza el almacenamiento a largo plazo de los datos históricos)<br />Oracle Warehouse Builder (en diversas formas y sub-opciones)<br />Esta lista es incompleta, Usted puede ayudar otras lenguas.<br />En la mayoría de los casos, de utilizar estas opciones implica costos de licencias adicionales.[46]<br />Suites<br />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:<br />Oracle Application Server, Una basada en J2EE servidor de aplicaciones, Ayuda a desarrollar e implementar aplicaciones que utilicen Internet tecnologías y un navegador.<br />Oracle Collaboration Suite contiene mensajes, groupware y aplicaciones de colaboración.<br />Oracle Developer Suite contiene herramientas de desarrollo de software, incluyendo JDeveloper.<br />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).<br />Oracle Enterprise Manager (OEM) utilizado por los administradores de bases de datos (DBA) para gestionar el DBMS, y recientemente[update] 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" .<br />Oracle Programmer/2000, una agrupación de interfaces para 3GL lenguajes de programación, Comercializado con Oracle7 y Oracle8.[47][48]<br />Base de datos " características" <br />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 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):<br />Historia de sesión activa (ASH), la recogida de datos para el seguimiento inmediato de la actividad de base de datos muy recientes.[50]<br />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.<br />Clusterware<br />Agregación de datos y consolidación de<br />Data Guard para alta disponibilidad<br />Genérico Conectividad para la conexión a sistemas no-Oracle.<br />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]<br />Base de datos de Resource Manager (DRM), que controla el uso de los recursos informáticos.[52]<br />Una auditoría minuciosa (FGA) (en Oracle Enterprise Edition[53]) Los suplementos de seguridad estándar de características de auditoría[54]<br />Flashback selectiva para la recuperación de datos y la reconstrucción[55]<br />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)<br />Oracle Data Access Components (ODAC), herramientas que consisten en:[56] <br />Oracle Data Provider para. NET (ODP.NET)[57]<br />Oracle Developer Tools (ODT) para Visual Studio<br />Proveedores de Oracle para ASP.NET<br />Oracle Database Extensions para. NET<br />Oracle para OLE DB<br />Los objetos de Oracle para OLE<br />Oracle Services para Microsoft Transaction Server<br />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.<br />Recovery Manager (RMAN) para copia de seguridad de base de datos, restauración y recuperación<br />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.<br />Esta lista es incompleta, Usted puede ayudar otras lenguas.<br />Herramientas independientes<br />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.<br />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.<br />Otras bases de datos comercializados por Oracle Corporation<br />Con la adquisición de otra tecnología en el campo de base de datos, Oracle Corporation ha hecho cargo de:<br />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.<br />BerkeleyDB, Una actuación sencilla, de alta, base de datos integrada<br />Oracle Rdb, Un legado de la base de datos relacional para la OpenVMS sistema operativo<br />MySQL una base de datos relacional adquiridos como parte de su propietario anterior inmediata, Sun Microsystems<br />Uso de software Oracle Database<br />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).<br />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[update] 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]<br />El apoyo oficial<br />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.<br />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.<br />Base de datos relacionados con las directrices<br />Oracle Corporation también respalda ciertas prácticas y convenios para mejorar la utilización de sus productos de base de datos. Estos incluyen:<br />Oracle máxima disponibilidad y Arquitectura (MAA), Las directrices sobre el desarrollo de sistemas de alta disponibilidad<br />Optimal Flexible Architecture (OFA), planos para el mapeo de objetos de base de datos de Oracle para sistemas de archivos<br />Programa de certificación de Oracle<br />Artículo principal: Programa de certificación de Oracle<br />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:<br />Oracle Certified Associate (OCA)<br />Oracle Certified Professional (OCP)<br />Oracle Certified Master (OCM)<br />Los grupos de usuarios<br />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:<br />Oracle Technology Network<br />Independiente de Oracle Users Group<br />Geográficas o grupos de usuarios regionales<br />De productos centrados en los grupos de usuarios<br />La industria, centrada en los grupos de usuarios<br />La Red de mesa de roble<br />Usenet los grupos comp.databases.oracle<br />Posición de mercado<br />Competencia<br />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.<br />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.<br />En 2007, la competencia con SAP AG los litigios ocasionados en Oracle Corporation.[61]<br />Precios<br />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]<br />Enterprise Edition<br />En marzo de 2006[update], La base de datos que los costes de la mayoría de los procesadores por máquina entre ediciones base de datos Oracle.<br />Standard Edition<br />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.<br />Norma UNO<br />Vende 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.<br />Oracle Express Edition (Oracle XE)<br />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.<br />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.<br />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).<br />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]<br />centercenter00<br />Historia<br />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.<br />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.<br />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.<br />En los ocho años desde el lanzamiento de los productos anteriores de Microsoft SQL Server (SQL Server 2000), los avances

×