Download Visual FoxPro

Document related concepts

Microsoft SQL Server wikipedia , lookup

Navicat wikipedia , lookup

SQL wikipedia , lookup

Toad wikipedia , lookup

Adaptive Server Anywhere wikipedia , lookup

Transcript
Visual FoxPro
¿Qué es Visual Fox Pro?
Es un sistema orientado a objeto para la generación de Base de Datos y el desarrollo de
aplicaciones.
Alcances

es un lenguaje de mucha rapidez, esto lo convierte en un lenguaje de los más rápidos
en el mercado

FoxPro es también uno de los lenguajes de programación que contiene mucha
potencia en el manejo de las bases de datos.

Desde Visual FoxPro podemos crear Formularios, Base de Datos, Informes, Vistas,
Proyectos entre otros.

Podemos crear los elementos de un proyecto por separado y luego agregarlos a un
proyecto existente o crear un proyecto y desde éste ir agregando los elementos que
deba contener.

Cuando creamos un proyecto debemos crear una carpeta de trabajo en la que se
guarde el proyecto.

Puede utilizar la barra de herramientas del Diseñador para el control de la Base de
Datos.

Visual Foxpro tiene 37.767 espacios de trabajo, llamadas áreas de trabajo porque una
tabla deber ser seleccionada para volverla la tabla actual.

La Ventana de comandos funge como la ventana de MSDOS que puede utilizarse
desde Windows con la finalidad de permitir utilizar comandos del lenguaje para ejecutar
algunas funciones.

Es decir a pesar de que se pueden tener acceso a la mayoría de los elementos de
Visual FoxPro desde el menú muchas veces es útil simplemente teclear un comando.

En Visual Foxpro los registros de una tabla pueden borrarse lógicamente y físicamente

Reglas que rigen la coherencia de datos, específicamente las relaciones entre las
claves principal y externa de claves de tablas distintas.

Visual Foxpro Resuelve la Integridad Referencial mediante reglas a nivel de campo y a
nivel de registro definidas por el usuario.

El Generador de la Integridad Referencial le ayuda a definir reglas para controlar
cómo se insertan actualizan o eliminan registros de tablas relacionadas.

El establecimiento de la integridad referencial implica la creación de un conjunto de
reglas para preservar las relaciones definidas entre las tablas al introducir o eliminar
registros.
1

El Generador de integridad referencial (IR) de Visual FoxPro permite determinar los
tipos de reglas que desea exigir, las tablas a las que desea exigirlas y los eventos del
sistema que harán que Visual FoxPro las compruebe.

El Generador de IR trata múltiples niveles de eliminaciones y actualizaciones en
cascada, y es recomendable como herramienta para asegurar la integridad referencial.
Limitaciones

Para indicarle a Visual Foxpro en cual directorio debe buscar los archivos del proyecto
debemos indicarle el directorio por defecto;

en le menú Herramientas en la opción de Opciones en la ficha de Archivos, aparecerá
la ruta por defecto el directorio de Vfp cambiamos este directorio por la carpeta en la
que está nuestro proyecto y seleccionamos Aceptar. Desde la Ventana de Comandos
se utiliza el comando SET DEFAULT nombrederuta por ejemplo: Set default
c:\publico\practica (La Ventana de Comandos será explicada mas adelante)

Para abrir una tabla en el área de trabajo se debe de teclear en la Ventana de
Comandos: USE nombretabla
Opciones de Visual Fox Pro
Visual Fox Pro ofrece varias opciones como son:

Personalizar el entorno de desarrollo. La configuración del entorno incluye el título de la
ventana principal, el directorio predeterminado, las opciones de herramientas de
proyecto, editor, depurador y formulario, el almacenamiento temporal de archivos, las
asignaciones de campos para operaciones de arrastrar y colocar, entre otras muchas
opciones

Puede configurar Visual FoxPro de forma interactiva o mediante programación

También puede establecer opciones de configuración que se cargan cuando se inicia
Visual FoxPro

Visual FoxPro le ofrece más de lo que puede esperar de un sistema de administración
de bases de datos (DBMS): velocidad, eficacia y flexibilidad

Visual FoxPro le lleva hacia la próxima generación y le proporciona modelos de objetos
y eventos que ayudan a crear y modificar aplicaciones con mayor rapidez que nunca .

Visual FoxPro dispone de controles eficaces que se agregan con el Diseñador de
formularios, que proporciona interfaces que requieren poco o ningún código
2
Problemáticas

Una de las problemáticas más frecuentes que se suelen presentar es la necesidad de
mezclar información que se ha guardado en la Base de Datos de tu aplicación con
documentos externos.

No se puede establecer un orden en las actualizaciones .Cuando una Vista actualiza
los datos de una tabla no hay forma de decirle el orden en el que queremos que realice
la actualización. Esto es muy importante para el caso de que uses claves primarias
pues si intentas borrar el registro que contiene la clave primaria antes de borrar el
registro de la clave dependiente se producirá un error de actualización. Para sobreseer
este problema tendrías que diseñar una vista por tabla con clave primaria.

El control de Errores del Servidor. No hay forma de controlar los errores que te
devuelve el servidor o el Driver ODBC con sus crípticos y extraños mensajes que
ponen nerviosos a los usuarios
3
ACCCES
¿Qué es ACCESS?
Es un SMBD que ofrece un conjunto de eficaces herramientas que son suficientemente
sofisticadas para los desarrolladores profesionales, pero sencillas de aprender para los nuevos
usuarios
Alcances

Ofrece un conjunto de eficaces herramientas que son suficientemente sofisticadas para
los desarrolladores profesionales, pero sencillas de aprender para los nuevos usuarios.

Todos los usuarios de la organización podrán crear o utilizar soluciones eficaces de
base de datos para organizar la información, tener acceso a ella y compartirla con más
facilidad que nunca.

Tener acceso y utilizar información de varios orígenes

Puede utilizar información de una gran variedad de formatos y programas en una
interfaz conocida.

Admite diferentes formatos de datos, entre los que se incluyen XML (Lenguaje
de marcado extensible), OLE, ODBC (Conectividad abierta de bases de datos)
y Microsoft W indows® SharePoint™ Services.

Vincular sistemas empresariales: puede vincular tablas para tener acceso a
datos de varias bases de datos a la vez en los formularios, informes y páginas
de acceso a datos de Access

Puede vincular tablas de otras bases de datos de Access, hojas de cálculo de
Microsoft Excel, orígenes de datos ODBC, bases de datos de Microsoft SQL
Server™ y otros orígenes de datos.

Puede incorporar datos basados en Microsoft SQL Server en las soluciones de
Access.

Utilizar el diseñador de procedimientos almacenados para crear y modificar
procedimientos
almacenados
sencillos
guardados
en
SQL
Server
sin
necesidad de tener conocimientos previos de Transact SQL.

Puede reducir los errores y obtener ayuda cuando la necesite.

Ayude a eliminar errores: la nueva función de comprobación de errores
señala los errores comunes en formularios e informes, con lo que la
comprobación y corrección de errores es más rápida que nunca
4

opciones para corregir los errores, lo que ahorra tiempo y le ayuda a crear
formularios e informes más precisos.

cambiar la propiedad de un campo de una tabla y actualizar automáticamente
todos los formularios o informes que tengan controles enlazados a ella.

Realice copias de seguridad de la información de forma sencilla

Compartir información con confianza

Comparta información con mayor eficacia

puede exportar e importar datos

Diseño de páginas Web con herramientas eficaces: puede publicar formularios e
informes en el Web y enlazar la información a un origen de registros para m ostrar,
actualizar y trabajar con datos de la base de datos.
Limitaciones

Número de accesos simultáneos y tamaño de las tablas manejadas

Tener en cuenta si su base de datos va a ser modificada desde los propios scripts ASP
o por el contrario éstos se limitarán a leer datos de la base de datos.

El método típico con las bases de datos Access es que los scripts ASP se limiten a leer
datos del archivo .mdb.

Las actualizaciones de la base de datos se realizan por FTP simplemente copiando al
servidor el nuevo archivo .mdb.

Las bases de datos Access son un buen sistema para aplicaciones ASP de sólo lectura
y siempre que el volumen de datos y el número de visitas sean moderados
Opciones

La ventana Base de datos de Microsoft Access 2000 proporciona varias opciones para
ver y manipular objetos de base de datos.

Usar la barra de herramientas de la ventana Base de datos: Encuentre
rápidamente comandos para crear, abrir o administrar objetos de base de datos.

Usar la barra Objetos: Vea objetos de base de datos en la barra Objetos, su
orientación vertical facilita el uso.

Organizar objetos de base de datos en grupos: Haga clic en la barra Grupos para
ver los grupos, que pueden contener accesos directos a objetos de base de datos de
distintos tipos.

Usar accesos directos de nuevo objeto: En la ventana Base de datos, cree
rápidamente un nuevo objeto de base de datos mediante un asistente, o abra un nuevo
objeto de base de datos en la vista diseño.

Personalizar la forma de seleccionar y abrir objetos en la ventana Base de datos:
Si lo desea, modifique el comportamiento predeterminado de modo que pueda
5
seleccionar un objeto de base de datos colocando el puntero sobre él y abrir un objeto
haciendo clic en él.

Seleccionar un objeto escribiendo su nombre: Por ejemplo, elija la tabla
Compañías de envíos mientras ve la lista de objetos de la tabla escribiendo Co
Problemáticas

si la base de datos se estropea se pierden las tablas, formularios, informes,
programación.... en fin todo y no se puede recuperar nada de nada

6
Qué es Oracle
¿Qué es ORACLE?
Oracle es una potente herramienta cliente/servidor para la gestión de Bases de Datos.
Alcances

Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de
Datos.

Es un producto vendido a nivel mundial,

Oracle se basa en la tecnología cliente/servidor

Tiene herramientas de desarrollo como Oracle Designer y Oracle Developer, que son
las herramientas básicas de programación sobre Oracle.

Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación, bastante
potente para tratar y gestionar la base de datos, también por norma general se suele
utilizar SQL al crear un formulario.

Es posible lógicamente modificar la base de datos a través del SQL plus incorporado
en el paquete de programas Oracle para poder realizar consultas, utilizando el lenguaje
SQL.

El Developer es una herramienta que nos permite crear formularios en local, es decir,
mediante esta herramienta nosotros podemos crear formularios, compilarlos y
ejecutarlos, pero si queremos que los otros trabajen sobre este formulario deberemos
copiarlo regularmente en una carpeta compartida para todos, de modo que, cuando
quieran realizar un cambio, deberán copiarlo de dicha carpeta y luego volverlo a subir a
la carpeta.

La principal ventaja de esta herramienta es que es bastante intuitiva y dispone de un
modo que nos permite componer el formulario, tal y como lo haríamos en Visual Basic
o en Visual C, esto es muy de agradecer.

Utiliza Designer que es una herramienta que se conecta a la base de datos y por tanto
creamos los formularios en ella, de esta manera todo el mundo se conecta mediante
Designer a la aplicación que contiene todos los formularios y no hay problemas de
diferentes versiones, esto es muy útil y perfecto para evitar machacar el trabajo de
otros.
Limitaciones

La gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy
grandes y multinacionales, por norma general.
7

En el desarrollo de páginas web pasa lo mismo: como es un sistema muy caro no está
tan extendido como otras bases de datos, por ejemplo, Access, MySQL, SQL Server,
etc.

para su utilización primero sería necesario la instalación de la herramienta servidor
(Oracle 8i)

Developer herramienta de Oracle es bastante engorroso y poco fiable pues es bastante
normal que las versiones se pierdan y se machaquen con frecuencia

Pero el principal y más notable problema con el designer es la falta de un entorno
visual para diseñar el formulario, es decir, nos aparece una estructura como de árbol
en la cual insertamos un formulario, a la vez dentro de éste insertamos bloques o
módulos que son las estructuras que contendrán los elementos del formularios, que
pueden estar basados en tablas o no.
Opciones
Las opciones extienden el poder de la base de datos Oracle en administración de datos,
procesamiento de transacciones y data warehousing seguros.
planear e implementar estrategias de respaldo y recuperación de base de datos, variados
escenarios de respaldo, falla, restauración y recuperación, afinamiento de una base de
datos Oracle, reconocer, localizar fallas y resolver problemas relacionados con el
funcionamiento común en la administración de una base de datos Oracle
Además de ofrecer opciones para todas las ediciones de oracle database como:
Integración de Datos
Open System Gateways
Mainframe Integration Gateways
Enterprise Integration Gateways
EDA/SQL Gateways
Additional EDA/SQL Drivers
Herramientas de Desarrollo
JDeveloper
Programmer
Internet Developer Suite etc…
Problemáticas

El servidor de aplicaciones Oracle 9iAS, que es una combinación de Oracle + Apache,
presenta graves problemas de seguridad

Una base de datos mal diseñada, que es bastante fácil de crear, es difícil de corregir, y
puede causar problemas recurrentes que impedirán el buen funcionamiento de las
aplicaciones empresariales
8
MySQL
¿Qué es MYSQL?
MySQL es un servidor de bases de datos relacionales muy rápido y robusto. Es software
libre, publicado bajo la licencia GPL (GNU Public License) y mantenido por la
compañía sueca MySQL AB. Es el más indicado para aplicaciones que requieren
muchas lecturas y pocas escrituras y no necesiten de características muy avanzadas,
como es el caso de las aplicaciones web.
Alcances

MySQL es el SQL más popular en la plataforma UNIX.

Es rápido y eficiente

Su principal objetivo de diseño fue la VELOCIDAD. Se sacrificaron algunas
características esenciales en sistemas más "serios" con este fin.

consume MUY POCOS RECURSOS, tanto de CPU como de memoria.

Licencia GPL a partir de la versión 3.23.19.

Mayor rendimiento. Mayor velocidad tanto al conectar con el servidor como al servir
selects y demás.

Mejores utilidades de administración (backup, recuperación de errores, etc).

Aunque se cuelgue, no suele perder información ni corromper los datos.

Mejor integración con PHP.

No hay límites en el tamaño de los registros.

Mejor control de acceso, en el sentido de qué usuarios tienen acceso a qué tablas y
con qué permisos.

MySQL se comporta mejor que Postgres a la hora de modificar o añadir campos a una
tabla "en caliente".

El sistema de seguridad de MySQL garantiza que cada usuario pueda hacer las cosas
que le están permitidas (nada más y nada menos
Limitaciones

No es tan fácil de usar como otros productos similares.

No soporta transacciones, "roll-backs" ni subselects.

No considera las claves ajenas. Ignora la integridad referencial, dejándola en manos
del programador de la aplicación.
9
Opciones

A pesar de seguir en desarrollo MySQL ofrece una alta funcionalidad.

MySQL soporta muchos lenguaje de programación distintos como: C, C++, Eiffel, Java,
Perl, PHP, Python y TCL.

También tiene la opción de protección mediante contraseña, la cual es flexible y segura

soporte para múltiples usuarios. MySQL

usa el lenguaje SQL estandarizado para el almacenamiento, actualización y acceso a
información









El principal objetivo de MySQL es velocidad y robustez.
Escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconf para potabilidad.
Clientes C, C++, JAVA, Perl, TCL.
Multiproceso, es decir puede usar varias CPU si éstas están disponibles.
Puede trabajar en distintas plataformas y S.O. distintos.
Sistema de contraseñas y privilegios muy flexible y segura.
Todas la palabras de paso viajan encriptadas en la red.
Registros de longitud fija y variable.
16 índices por tabla, cada índice puede estar compuesto de 1 a 15 columnas o partes
de ellas con una longitud máxima de 127 bytes.
Problematicas




su estabilidad no es total. En nuestro laboratorio de Linux hemos puesto a prueba
MySQL 4.0, encontrando algún fallo al realizar UPDATES, que impide colocar la nueva
versión en servidores en
estado de producción. Sin embargo, los desarrolladores esperan sacar, muy pronto,
una versión beta, con más
garantías de fiabilidad, y posteriormente, podremos trabajar con la versión estable
definitiva 4.x, a prueba de bombas.
10
PostgreSQL
¿Qué es PostgreSQL?
Es un sistema de Base de Datos Objeto-Relacional que cumple casi 100% con ANSI
SQL1998,92 y 89.
Alcances

Corre bajo diversas plataformas hardware y sistemas operativos, y trabaja excelentemente
bien con bases de datos realmente grandes.

Postgres intenta ser un sistema de bases de datos de mayor nivel que MySQL, a la altura
de Oracle, Sybase o Interbase.

Licencia BSD.

Por su arquitectura de diseño, escala muy bien al aumentar el número de CPUs y la
cantidad de RAM.

Soporta transacciones y desde la versión 7.0, claves ajenas (con comprobaciones de
integridad referencial).

Tiene mejor soporte para triggers y procedimientos en el servidor.

Soporta un subconjunto de SQL92 MAYOR que el que soporta MySQL.

Tiene ciertas características orientadas a objetos.
Limitaciones

Consume BASTANTES más recursos y carga más el sistema

Límite del tamaño de cada fila de las tablas

Es de 2 a 3 veces más lenta que MySQL.

Menos funciones en PHP.
Opciones

Aportan potencia y flexibilidad adicional:

Restricciones (Constraints)

Disparadores (triggers)

Reglas (rules)

Integridad transaccional

Se han implementado importantes características del motor de datos, incluyendo
subconsultas, valores por defecto, restricciones a valores en los campos (constraints) y
disparadores (triggers).
11

funcionalidades en línea con el estándar SQL92, incluyendo claves primarias,
identificadores entrecomillados, forzado de tipos cadena literales, conversión de tipos y
entrada de enteros binarios y hexadecimales.

Los tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de rango
amplio y soporte para tipos geométricos adicionales.

Postgres es un producto de código abierto

ofrece una potencia adicional sustancial al incorporar los siguientes cuatro conceptos
adicionales básicos en una vía en la que los usuarios pueden extender fácilmente el
sistema: clases, herencia, tipos y funciones

Postgres es un sistena de bases de datos de mayor nivel, al nivel Oracle, Sybase o
Interbase.

ofreciendo control de concurrencia multi-versión, soportando SQL, además de una gran
variedad de lenguajes de programación
Problemática

Consume bastantes recursos y carga más el sistema

Es de 2 a 3 veces más lenta que MySQL
12
Como resolver las Problemáticas
Después de analizar las problemáticas que tienen cada uno de los Sistemas Manejadores
de Datos (SMBD) el equipo concluyó que las posibles soluciones a esta problemática
seria en base a las caracteristicas, beneficios, alcanes de cada uno de los SMBD hacer
una fusión con todas estas, es decir evaluar cada uno de los SMBD en su diseño y
estructura y en Base a esta diseñar una nueva estructura de SMBD incorporando las
ventajas de los demás SMBD.
Herramientas que se utilizan para escoger el SMBD
Antes de saber que SMBD se va a escoger es necesario crear el diseño de la Base de
Datos, el cual incluye tanto el diseño físico como el diseño lógico.
esquemas: Externo (visión lógica que programas y usuarios tendrán de la BD) y Conceptual
(donde se describen entidades tipo, sus atributos, reglas de integridad).
sico: se corresponde con el esquema interno, y contiene la descripción de la organización
física de la BD (índices, apuntadores, como y dónde se agrupan físicamente los registros. Es
transparente al usuario, y el SQL lo deja prácticamente (algo sí deja hacer) en manos de los
SGBD comerciales
Además del diseño físico y lógico también se requiere de la determinación del modelo de datos
a utilizar: jerárquico, relacional o de red
En conclusión para poder escoger un SMBD se deben de realizar:

diseño físico de la BD

diseño lógico de la BD

Determinar el tipo de modelo de datos (relacional, red, jerárquico)
Quien escoge el SMBD
El SMBD generalmente es elegido por el administrador de BD
Denominado por sus siglas como: DBA, Database Administrator.
Es la persona encargada y que tiene el control total sobre el sistema de base de datos, sus
funciones principales son:
Definición de esquema.
13
Es el esquema original de la base de datos se crea escribiendo un conjunto de definiciones
que son traducidas por el compilador de DDL a un conjunto de tablas que son almacenadas
permanentemente en el diccionario de datos.
Definición de la estructura de almacenamiento del método de acceso.
Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un conjunto
de definiciones que son traducidas por e compilador del lenguaje de almacenamiento y
definición de datos.
Concesión de autorización para el acceso a los datos.
Permite al administrador de la base de datos regular las partes de las bases de datos que
van a ser accedidas por varios usuarios.
Especificación de límitantes de integridad.
Es una serie de restricciones que se encuentran almacenados en una estructura especial
del sistema que es consultada por el gestor de base de datos cada vez que se realice una
actualización al sistema.
Que SMBD sería adecuado para las prácticas
Después de analizar los distintos SMBD y de haber realizado tanto el diseño físico
como el lógico el equipo llego a la conclusión de que el SMBD más adecuado para
realizar las prácticas es access, debido a que es el SMBD más conocido por los
integrantes del equipo y de más fácil utilización
SQL SERVER
Microsoft SQL Server 7.0 constituye un lanzamiento determinante para los productos
de bases de datos de Microsoft, continuando con la base sólida establecida por SQL
Server 6.5. Como la mejor base de datos para Windows NT, SQL Server es el RDBMS
14
de elección para una amplia gama de clientes corporativos y Proveedores
Independientes de Software (ISVs) que construyen aplicaciones de negocios. Las
necesidades y requerimientos de los clientes han llevado a la creación de innovaciones
de producto significativas para facilitar la utilización, escalabilidad, confiabilidad y
almacenamiento de datos.
Alcances de SQL Server
Los clientes están buscando soluciones para sus problemas de negocios. La mayoría de
las "soluciones" de bases de datos solamente traen múltiples niveles de costos y
complejidad. La estrategia de Microsoft es la de hacer que SQL Server sea la base de
datos más fácil de utilizar para construir, administrar e implementar aplicaciones de
negocios. Esto significa tener que poner a disposición un modelo de programación
rápido y sencillo para desarrolladores, eliminando la administración de base de datos
para operaciones estándar, y suministrando herramientas sofisticadas para operaciones
más complejas.
Facilitar la construcción y diseño de soluciones de data warehousing costo efectivas a
través de una combinación de tecnologías, servicios y alianzas con los proveedores.
SQL Server 7.0 disminuye el costo total.
Características
-
administración multi-servidor
con una sola consola
ejecución
alerta de trabajos basadas en eventos
seguridad integrada
scripting administrativo.
Esta versión también libera al administrador de base de datos para aspectos más
sofisticados del trabajo al automatizar las tareas de rutina. Al combinar estos poderosos
servicios de administración con las nuevas características de configuración automática,
Microsoft SQL Server 7.0 es la elección ideal de automatización de sucursales y
aplicaciones de base de datos insertadas.
¿Quién va a escoger el Sistema Manejador de Bases de Datos?
Los clientes ya que invierten en sistemas de administración de bases de datos, en forma
de aplicaciones escritas para esa base de datos y la educación que implica para la
implementación y administración. Esa inversión debe protegerse: a medida que el
negocio crece, la base de datos deberá crecer y manejar más datos, transacciones y
usuarios. Los clientes también desean proteger las inversiones a medida que escalan
aplicaciones de base de datos hacia equipos portátiles y sucursales.
Para cumplir con estas necesidades, Microsoft ofrece un motor de base datos único que
escala desde una computadora portátil que ejecuta Windows® 95 o Windows 98, hasta
clusters de procesadores múltiples simétricos de terabyte que ejecutan Windows NT
Server Enterprise Edition. Todos estos sistemas mantienen la seguridad y confiabilidad
que exigen los sistemas de negocios de misión crítica.
15
Nueva para el lanzamiento de 7.0 es una versión de rastro de baja memoria con
capacidades de replicación de multi-sitio. Se ajusta muy bien a las necesidades cada vez
mayores del mercado de la computación móvil. Las otras características tales como
bloqueo a nivel de línea dinámico, el paralelismo intra-query, query distribuido, y
mejoras para las bases de datos muy grandes (VLDB) hacen que el SQL Server 7.0 sea
la elección ideal para sistemas OLTP de alta tecnología y sistemas de data warehousing.
Mientras los sistemas de procesamiento siguen siendo un componente clave para las
infraestructuras de bases de datos corporativas, las compañías también están invirtiendo
bastante en mejorar la comprensión que tienen de sus datos. La estrategia de Microsoft
consiste en reducir el costo y la complejidad del data warehousing mientras hace que la
tecnología sea más accesible a una mayor cantidad de público.
Microsoft ha establecido un enfoque total a todo el proceso de data warehousing
(almacenamiento de datos) . La Microsoft Alliance for Data Warehousing es una
coalición que une a los líderes en la industria de almacenamiento de datos y
aplicaciones. El Microsoft Data Warehousing Framework constituye un conjunto de
interfaces de programación diseñadas para simplificar la integración y administración de
soluciones de data warehousing.
VENTAJAS DE SQL SERVER
-
mejoran el proceso de data warehousing
Servicios de Transformación de Datos
manejo mejorado de las consultas complejas y bases de datos muy grandes
procesamiento analítico en línea e integrado
el Microsoft Repository. Otro componente esencial es el soporte extenso para
integración de terceros.
Las áreas de liderazgo e innovación en el Microsoft SQL Server 7.0 incluyen:
Las innovaciones permiten que SQL Server 7.0 sea el líder en varias de las categorías de
aplicación de rápido crecimiento en la industria de base de datos. Estas incluyen
comercio electrónico, computación móvil, automatización de sucursales, aplicaciones
de línea de negocios insertadas y mercados de datos.
-
-
La primera base de datos en escalar desde la computadora portátil hasta la
empresa
utilizando la misma base de código y ofrecer el 100% de
compatibilidad de código
La primera base de datos en soportar la auto-configuración y auto-sintonización
Primera base de datos con OLAP integrado
La primera base de datos con Servicios de Transformación de Datos integrad
El Data Warehousing Framework constituye el primer enfoque comprehensivo
al problema de metadatos
La
La
La
La
primera base de datos en proveer administración de multi-servidor para cientos de servidores
más amplia gama de opciones de replicación de cualquier base de datos
mejor integración con Windows NT Server
mejor integración con Microsoft Transaction Server
Lanzamientos SQL Server Recientes
16
Esta sección provee una historia concisa de los lanzamientos SQL Server recientes. Una
historia completa del desarrollo de SQL Server, desde sus comienzos hasta el
lanzamiento del 6.5 se encuentra disponible en Dentro del Microsoft SQL Server 6.5, de
Ron Soukup, publicado por Microsoft Press, ISBN 1-57231-331-5.
-
-
-
-
-
El Standard Edition de SQL Server fue lanzado en abril de 1996.
El Enterprise Edition fue lanzado en diciembre de 1997. Se incluyeron
características adicionales en esta edición tales como soporte para Microsoft
Cluster Server, sintonización de 4 GB RAM, English Query y soporte para
sistemas de hasta 8 procesadores.
El Service Pack actual para SQL Server 6.5 es SP4, lanzado en diciembre de
1997. SP3 fue lanzado en junio de 1997, SP2 en diciembre de 1996 y SP1 en
agosto de 1996.
Beta 1 fue lanzado en junio de 1997 a 200 clientes. Este grupo incluía un
número limitado de proveedores independientes de software (ISV), autores de
libros, diseñadores de materiales para cursos, OEMs y algunas cuentas
corporativas. No se pusieron copias a disposición de la prensa o analistas. Este
lanzamiento enfocó las pruebas de funcionalidad de bajo nivel y programación
de interfaces.
Beta 2 fue lanzada a finales de diciembre de 1997 a 3000 clientes. El
cubrimiento de las cuentas corporativas y de la comunidad ISV fue
incrementado ampliamente, y se agregaron cuentas internacionales. Se
entregaron copias de Beta 2 a la prensa y a los analistas en el Taller de
La versión Beta de Mercadeo será lanzada el segundo trimestre del año en curso
con alta disponibilidad.
El lanzamiento a fabricantes está planeado para la segunda mitad del año 1998.
Las ediciones Standard y Enterprise de SQL Server 7.0 serán lanzadas
simultáneamente.
Microsoft SQL Server revoluciona el concepto de Base de Datos para la Empresa.
Reúne en un sólo producto la potencia necesaria para cualquier aplicación empresarial
crítica junto con unas herramientas de gestión que reducen al mínimo el coste de
propiedad. Con Microdoft SQL Server, la empresa tiene todo de serie.
Miles de Soluciones Disponibles: Tendrá libertad de elección, ya que todas las
aplicaciones de gestión del mercado corren sobre Microsoft SQL Server
-
Escalabilidad: Se adapta a las necesidades de la empresa, soportando desde
unos pocos usuarios a varios miles. Empresas centralizadas u oficinas
distribuidas, replicando cientos de sites.
-
Potencia: Microsoft SQL Server es la mejor base de datos para Windows NT Server. Posee los
mejores registros de los benchmarks independientes (TCP) tanto en transacciones totales como
en coste por transacción.
-
Gestión: Con un completo interfaz gráfico que reduce la complejidad innecesaria de las tareas
de administración y gestión de la base de datos.
17
-
Orientada al desarrollo: Visual Basic, Visual C++, Visual J++, Visual Interdev, Microfocus
Cobol y muchas otras herramientas son compatibles con Microsoft SQL Server.
La mejor base de datos para Internet, Internet y Extranet.

Diseñada desde su inicio para trabajar en entornos Internet e Intranet,
Microsoft SQL Server es capaz de integrar los nuevos desarrollos para estos
entornos específicos con los desarrollos heredados de aplicaciones
"tradicionales". Es más, cada aplicación que desarrollemos para ser empleada en
entornos de red local puede ser utilizada de forma transparente -en parte o en su
totalidad- desde entornos Internet, Intranet o Extranet.

Plataforma de desarrollo fácil y abierta: integrada con las meores tecnologías de
Internet como ActiveX, ADC y Microsoft Transaction Server y con las mejores herramientas de
gestión y desarrollo para Internet como FrontPage97, Microsoft Office97 y Visual Interdev.
Diseñada para INTERNET: Es el único gestor de base de datos que contiene de forma
integrada la posibilidad de generar contenido HTML de forma automática.
La Base de Soluciones Integradas: La Integración total con BaclOffice permite resolver
toda las necesidades de infraestructura de la empresa con un sólo paquete.
Potente y Escalable: Microsoft SQL Server es la única base de datos cuyo rendimiento
sobre Internet está publicado, ofreciendo registros espectaculares.
Mínimo coste de Propiedad: La sencillez de la instalación, y la potencia de sus
herramientas de gestión y el menor coste de toda la industria para entornos Internet, hacen de
Microsoft SQL Server la mejor opción con el menor coste.




Datos distribuidos y replicación.






Llamadas a procedimientos remotos servidor-a-servidor (procedimientos
almacenados remotos).
Replicación asíncrona o contínua basada en registros, o sincronización
planificada de tablas point-in-time.
Configuración de replicación gráfica y características de gestión.
Replicación de subscriptores ODBC, incluyendo IBM DB2, ORACLE,
SYBASE y Microsoft Access.
Ei Distributed Transaction Coordinator gestiona transacciones que
involucran a dos o más servidores SQL (proceso Two Phase Commit 2PC)
transparente.
Replicación de tipos de datos Texto e Imagen.
Gestión y administración centralizada de bases de datos.





SQL Enterprise Manager, una consola de gestión y motorización 32-bit visual
basada en Windows.
Un único punto de configuración y gestión de control de datos remotas.
SQL Executive, planificador de trabajos y monitor para gestión proactiva de
servidores distribuidos.
Operaciones remotas desatendidas mediante un "agente inteligente" que incluye
evento-alerta- respuesta.
Scripts Visual Basic a través de SQL-Distributed Management Objects (SQLDMO) basados en OLE.
18



DBA Assistant, para el mantenimiento automático rutinario en una única tarea
planificada.
SQL Trace, para monitorizar consultas cliente-servidor mediante SQL
almacenadas en archivos de registros.
Soporte de MIB y traps SNMP para monitorizar SQL Server desde herramientas
de gestión basadas en SNMP.
Disponibilidad, fiabilidad y tolerancia a fallos.

Mirroring de dispositivos de base de datos con failover automático para
tolerancia a fallos de dispositivos.

Copias de seguridad online desatendidas garantizando la consistencia de datos para la más alta
disponibilidad.
Contextos de usuario protegidos, que pueden aislar los fallos a un thread de un único usuario.
Recuperación point-in-time para restaurar bases de datos o transacción logs en un intervalo de
tiempo.
Tolerancia a fallos de servidor, permitiendo failover automático a un servidor de backup o en
espera.



Mejoras en programabilidad y lenguaje.

Triggers, procedimientos almacenados (autoexec), disparador de eventos antes y
después de conexiones.


Procedimientos almacenados extendidos (funciones definidas por el usuario) utilizando C/C++.
Cursores basados en el motor con scrolling hacia adelante y atrás; posicionamiento absoluto y
relativo.
Sentencias DLL permitidas dentro de transacciones.
Transacciones distribuidas dentro de interfaces DB-Librery, ODBC, Transact-SQL, XA y OLE
Transaction.
Procedimientos almacenados OLE Automation.



Seguridad.

Un único ID de login tanto para red como para la DB para mejorar la seguridad
y facilitar la administración.


Password y encriptación de datos en red para mejorar la seguridad.
Encriptación de procedimientos almacenados para la integridad y seguridad de código de
aplicación.
Interoperabilidad e integración con desktops.
API estándard DB-Library totalmente soportada: estándar ODBC Nivel 2 totalmente soportado
como API nativa.
Gateway Open Data Services (ODS) programable para acceso transparente a fuentes de datos
externas.
Gateways de Microsoft y de terceros para fuentes de datos relacionales y no-relacionales,
incluyendo IBM DB2.
Soporte de importantes estándares de mercado como ANSI SQL-92, FIPS 127-2, XA, SNMP.





ORACLE
Es manejador de base de datos relacional que hace uso de los recursos del sistema
informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento
al máximo en ambientes cargados de información.
19
Es el conjunto de datos que proporciona la capacidad de almacenar y acude a estos de
forma consecuente con un modelo definido como relacional. Además es una suite de
productos que ofrece una gran variedad de herramientas.
Es el mayor y mas usado Sistema Manejador de Base de Dato Relacional (RDBMS) en
el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a
la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación,
herramientas de reportes y utilitarios.
Oracle corre en computadoras personasles (PC), microcomputadoras, mainframes y
computadoras con procesamiento paralelo masivo. Soporta unos 17 idiomas, corre
automáticamente en más de 80 arquitectura de hardware y software distinto sin tener la
necesidad de cambiar una sola línea de código. Esto es porque más el 80% de los
códigos internos de Oracle son iguales a los establecidos en todas las plataformas de
sistemas
operativos.
HISTORIA
El manejador de Base de datos ORACLE, surgió a final de los años 70 y principio de
los años 80. George Koch y su equipo de tropas de asalto de técnicos fue el primero en
desembarcar en el terreno de Oracle en 1982, durante un proceso de evaluación de
sistema de gestión de base de datos para una importante aplicación comercial que
George estaba diseñando y construyendo. Cuando termino, la evaluación fue descrita en
Computer World como el estudio más severo de SGBD que se había hecho nunca. El
estudio fue tan riguroso con los vendedores cuyos productos había estudiado George,
que la prensa hizo eco de sus palabras en lugares tan distantes como Nueva Zelandia y
en publicaciones muy alejadas del campo como el Christian Sciencia Monitor.
Oracle conocida entonces como Relational Software, tenía poco más de 25 empleados
en aquel tiempo y solo unos pocos clientes importantes. Sin embargo, cuando se
completo el estudio, Oracle fue declarada vencedora. George afirmo que el SGBD
Oracle era técnicamente el mejor producto del mercado. Estas declaraciones fueron
hecha en una época en la que muy poca gente conocía el significado del término
"Relacional", y los que lo conocían (o creían conocerlo) no tenían muchas cosas
favorables que decir de él.
La compañía de Oracle Corporation estaba trabajando entonces para perfeccionar su
joven producto, para comprender los tipos de características y funcionalidad que podría
hacerlo útil y productivo en el mundo de los negocios. El esfuerzo contribuyo a su
refinamiento. Algunas de las características de Oracle, tales como las salidas de
SQL*FORMS fueron el resultado de dicho esfuerzo.
EVOLUCIÓN
El poderoso modelo relacional ha evolucionado desde herramientas y los modelos de
datos de redes. La mayor manera aceptada y usada de un modelo de datos es el modelo
relacional. El relacional conocido en 1969 con la revisión hecha por IBM, Dr. E. F.
Codd.
Un modelo relacional posee tres grandes aspectos:
Estructuras: Definición de objetos que contengan datos y que son accesibles a los
usuarios.
Operaciones: Definir acciones que manipulen datos u objetos.
Reglas: Leyes para gobernar la información, como y quien manipular.
20
Una base de datos relacional simplifica y definida como un modelo de información es
estrictamente visualizable por los usuarios mediante tablas. Una tabla esta compuesta
por una matriz bidimencional de filas y columnas. En cualquier ocasión la información
es cambiada en una base de datos relacional, cualquier información es el resultado de
una consulta presentad por el usuario en el formato filas/columnas.
VERSIONES DE ORACLE
Oracle ha presentado cuatro generaciones para desarrollo de aplicación:
Oracle 5 y Oracle 6: fueron las dos primeras versiones de Oracle, quedando aun
rezagadas por las versiones sucesoras.
Oracle 7: La base de datos relacional componentes de Oracle Universal Server. Posee
además las versiones 7.1, 7.1.2, y 7.1.3.
Oracle 7 Parallel: Ofrece a los usuarios un método seguro y administrable para
incrementar la performance de sus bases de datos existentes introduciendo operaciones
en paralelo y sincrónicas dentro de sus ambientes informáticos.
Oracle 8: Incluye mejoras de rendimiento y de utilización de recursos. Independiente de
que se necesite dar soporte a decenas de miles de usuarios y cientos de terabytes de
datos, o se disponga de un sistema mucho más pequeño, pero igualmente critico, todos
se benefician del rendimiento de Oracle8. Este soporta aplicaciones de procesamiento
de transacciones on line (OLTP) y de data warehousing mayores y más exigentes.
Oracle Fail Safe: Protege al sistema de caída de entornos Cluster Windows NT. Este
producto es para que el sistema operativo Windows NT disponga de una mayor oferta
de solucciones en entornos cluster.
Oracle Universal Server: Con soporte completo de Web, mensajería y datos multimedia,
Oracle Universal Server es el eslabón fundamental en el camino de transición de la
industria de la tecnología a la informática de red, donde la complejidad de software es
transferida desde la PC de escritorio a poderosos servidores y redes.
ESTRUCTURA
Proceso de Pre-Instalación
Planificación de Pre-Instalación:
1er. Paso es determinar el tamaño de los softwares de instalación. Esto no incluye el
espacio requerido para la producción del sistema o el espacio para el desarrollo de
aplicaciones del o los sistemas Oracle.
PRODUCTOS TAMAÑO
Oracle RDBMS 11.6 MB
SQL*PLUS 1.6 MB
SQL*FORMS 2.4 MB
SQL*MENU 1.8 MB
SQL*REPOT WRITER 2.1 MB
21
Pro*C, Pro*Fortran, Pro*Cobol 1.3 MB
NLS 2.1 MB
Archivos de Oracle RDBMS 2.8 MB
SQL*Net 2.8 MB
Oracle Demo Database 5.9 MB
39.4 MB
Una vez el tamaño determinado, el próximo paso es determinar la localización del
producto y las aplicaciones que soportan el nuevo RDBMS Oracle, así como el espacio
a ser reservado para los propios objetos de la base de datos.
Oracle soporta dos tipos de almacemiento, por caracter (RAW) o por bloques (Files
System), generalmente es recomendable que los sean colocados en Raw Divice.
Raw Divice: es un dispositivo de caracteres disponibles en algunos sistemas operativos
el cual es asignado directamente a Oracle.
Oracle corre más rápidamente con Raw Divice que con Files System, por varias razones:
1. E I/O (Input/Output) es realizado directamente en el disco por Oracle,
independientemente del sistema operativo.
2.
3.
El buffer cache del sistema del sistema operativo es dejado a un lado.
Los buffers del sistema operativo y de oracle son independiente entre sí.
Con la intención de evitar la contención de los discos, se debe considerar la instalación
de Oracle en dispositivos separados, especialmente si se tienen varios discos, y más
esencialmente, si se poseen más de una controladora de disco. La planeación debe
realizarse teniendo en cuenta los sigueintes criterios:




Los Files System y sus dispositivos asignados.
El swapping y paginamiento en Oracle, deberán estar en los dispositivos más rápidos.
Los tablaspace para tables e índices en dispotivos separados.
Los Log Files en un dispositivo separado al del tablespace de RDBMS Oracle.
ESTRUCTURA FÍSICA Y LÓGICA
Las estructura física tales como los archivos del sistema operativo, son almacenados
tangibles como son cintas magnéticas, discos y otros. A cada archivo le corresponde un
espacio en el sistema operativo. Oracle requiere de varios archivos para su
funcionamiento, los cuales conforman su estructura física.
A la estructura lógica le corresponde un espacio por unidad, pero sus limitaciones son
independiente de las localizaciones de espacio físico.
USO DE MEMORIA:
El uso de memoria en el RDBMS Oracle tiene coo propósito lo siguente:



Almacenar los códigos de los programas para empezar a ejecutarse.
Almacenar los datos necesarios durante la ejecución de un programa.
Almacenar información sobre como es la transferencia entre procesos y periféricos.
PROGRAMAS Y ARCHIVOS QUE COMPONE ORACLE
22
Un RDBMS Oracle esta compuesto por tres partes principales, que son:
1. El Kernel de Oracle
2.
3.
Las instancias del Sistema de Base de Datos.
Los Archivos relacionados al sistema de Base de Datos.
EL KERNEL DE ORACLE
El Kernel es el corazón del RDBMS Oracle, el cual maneja las siguientes tareas:




Manejar el almacenamiento y definición de los datos.
Suministrar y limitar el acceso a los datos y la concurrencia de los usuarios.
Permitir los backup y la recuperación de los datos.
Interpretar el SQL y PL/SQL.
Así como el Kernel es un sistema operativo, el Kernel Oracle es cargado a la memoria
al inicio de las operaciones y es usado por cada base de datos existente en el equipo.
EL PGA (Program Global Area)
Es también llamado Process Global ¨Área, consta de datos e información de control de
los procesos, asegurando el uso correcto de estos. El PGA contiene información acerca
de las conexiones y los procesos que se realizan en Oracle, su tamaño es variable en
longitud, pero no es dinámico. El PGA se activa al conectarse un usuario.
EL SGA (System Global Area)
Se puede llamar Shared global área, se podría definir como una seria de buffers en
memoria residente, a través de la cual todas las transacciones y el almacenamiento de
dato fluyen. El SGA es localizado en memoria al iniciarse una instancia y desaparece al
bajarla. Su tamaño no puede ser cambiado, pero si puede ser visto con el comando
"SHOW SGA" en el SQL*DBA. Su longitud esta definida por lo parametros del archivo
de iniciación INIT.ORA.
Esta Compuesto por:



Diccionario Cache

Diccionario Cache: Es un conjunto de tablas que son usadas para proveer información asociada

Redo Log Buffers: Es un espacio reservado en memoria que contiene los
cambios realizados a los bloques de datos, permitiendo la reconstrucción de la
base de datos en caso de ocurrir un accidente.

Database Buffers: Es un espacio reservado en memoria para las operaciones
normales de la base de datos, el cual depende del tamaño especificado en el
archivo de inicialización (INIT.ORA).
Los Redo Log Buffers
Los Database Buffers
con la base de datos, donde se definen los nombres de usuarios, privilegios, objetos, retenciones
y espacios que conforman un RDBMS Oracle.
DIFERENTES HERRAMIENTAS DE ORACLE
23
SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente,
diseñar pantallas para el ingreso, modificaciones, bajas y consultas de registros. El
usuario podrá, una vez definida la forma, trabajar con ella sin necesidad de generar
códigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones
asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para
iniciar una consulta.
La herramienta fundamental de SQL es la sentencia SELECT, que permite seleccionar
registros desde las tablas de la Base de Datos, devolviendo aquellos que cumplan las
condiciones establecidas y pudiendo presentar el resultado en el orden deseado.
SQL (Structured Query Languague = Lenguaje de Consulta estructurado).
La orden FROM identifica la lista de tablas a consultar. Si alguna de las tablas a
consultar no es propiedad del usuario, debe especificarse el nombre del propietario antes
que el nombre de la tabla en la forma nombre_propietario.nombre_tabla.
La orden WHERE decide los registros a seleccionar según las condiciones establecidas,
limitando el número de registros que se muestran.
La orden ORDER BY indica el orden en que aparece el resultado de la consulta.
Patrón de consulta
Una de las herramientas lógicas más poderosas de SQL es el reconocimiento de un
patrón de consulta, instrumento éste que permite la búsqueda por nombre, dirección u
otro dato parcialmente recordado. Los patrones de consulta juegan un papel importante
en el momento de realizar consultas, ya que es común que necesitemos encontrar un
texto y no recordemos exactamente cómo fue ingresado. Con el uso del operador LIKE
podemos comparar patrones y ubicar un texto, independientemente de la posición en
que se encuentre.
Para la definición del patrón de consulta existen dos tipos de caracteres especiales:
% (signo de porcentaje) llamado comodín, representa cualquier cantidad de espacios o
caracteres en esa posición. Significa que se admite cualquier cosa en su lugar: un
caracter, cien caracteres o ningún caracter.
_ (signo de subrayado) llamado marcador de posición, representa exactamente una
posición e indica que puede existir cualquier caracter en esa posición.
Agrupamiento de datos
SQL proporciona una forma eficiente para manejar la información con el agrupamiento
de datos a través de la formación de grupos y las funciones correspondientes, dando la
posibilidad de procesar no solo registros individuales como hemos hecho hasta ahora.
También podemos agrupar registros por un criterio determinado, como por ejemplo,
agrupar por clientes las ventas realizadas.
Cada grupo tendrá como resultado de la consulta una fila resumen que contiene la
información del grupo.
Para la formación de grupos adicionamos, a la forma básica de la sentencia SELECT, la
orden GROUP BY ubicada antes de ORDER BY.
Las funciones para el procesamiento de grupos son:
COUNT(columna) Cantidad de registros en que la columna tiene valores no nulos.
COUNT(*) Cantidad de registros que hay en la tabla, incluyendo los valores nulos.
24
MIN(columna) Valor mínimo del grupo.
MAX(columna) Valor máximo del grupo.
SUM(columna) Suma los valores del grupo.
AVG(columna) Calcula valor medio del grupo, sin considerar los valores nulos.
La lista de columnas a mostrar en la consulta puede contener las funciones de grupo, así
como la columna o expresión usada para formar los grupos en la orden GROUP BY. En
una misma consulta no se pueden mezclar funciones de grupo con columnas o funciones
que trabajan con registros individuales.
Las ventas por cliente es un buen ejemplo para mostrar el uso de los grupos. En el
siguiente caso se hace un resumen de ventas por cliente, con la cantidad de ventas, valor
mínimo, medio y máximo, así como la suma total de ventas. La formación del grupo
será por el nombre del cliente y la columna a cuantificar para cada grupo será el valor
de las ventas.
El orden en las consultas por grupos, cuando no esta presente la orden ORDER BY, está
dado por la columna que forma los grupos. Si deseamos cambiar ese orden, como es el
caso de ordenar por el valor total de ventas, se debe adicionar al final la orden ORDER
BY SUM(VALOR).
Subconsultas
Otro aspecto de fácil diseño y uso que muestra una vez más las posibilidades de SQL
son las subconsultas.
Subconsulta es aquella consulta de cuyo resultado depende otra consulta, llamada
principal, y se define como una sentencia SELECT que esta incluida en la orden
WHERE de la consulta principal. Una subconsulta, a su vez, puede contener otra
subconsulta y así hasta un máximo de 16 niveles.
Las particularidades de las subconsultas son:
1. Su resultado no se visualiza, sino que se pasa a la consulta principal para su
comprobación.
2. Puede devolver un valor único o una lista de valores y en dependencia de esto
se debe usar el operador del tipo correspondiente.
3. No puede usar el operador BETWEEN, ni contener la orden ORDER BY.
4. Puede contener una sola columna, que es lo más común, o varias columnas.
Este último caso se llama subconsulta con columnas múltiples. Cuando dos o
más columnas serán comprobadas al mismo tiempo, deben encerrarse entre
paréntesis.
Grupos con subconsulta
Para combinar grupos con subconsulta debemos incluir en la sentencia SELECT la
orden HAVING, que tiene las siguientes características:
1. Funciona como la orden WHERE, pero sobre los resultados de las funciones
de grupo, en oposición a las columnas o funciones para registros individuales
25
que se seleccionan mediante la orden WHERE. O sea, trabaja como si fuera una
orden WHERE, pero sobre grupos de registros.
2. Se ubica después de la orden GROUP BY.
3. Puede usar una función de grupo diferente a la de la orden SELECT.
Indices
El índice es un instrumento que aumenta la velocidad de respuesta de la consulta,
mejorando su rendimiento y optimizando su resultado. El manejo de los índices en
ORACLE se realiza de forma inteligente, donde el programador sólo crea los índices sin
tener que especificar, explícitamente, cuál es el índice que va a usar. Es el propio
sistema, al analizar la condición de la consulta, quien decide qué índice se necesita. Por
ejemplo cuando en una consulta se relacionan dos tablas por una columna, si ésta tiene
definido un índice se activa, como en el caso cuando relacionamos la tabla de clientes y
ventas por la columna código para identificar al cliente (WHERE
clientes.codigo=ventas.codigo)
La identificación del índice a usar está relacionada con las columnas que participan en
las condiciones de la orden WHERE. Si la columna que forma el índice está presente en
alguna de las condiciones éste se activa.
PL/SQL: Es un lenguaje portable, procedural y de transacción muy potente y de fácil
manejo, con las siguientes características fundamentales:
1. Incluye todos los comandos de SQL.
2. Es una extensión de SQL, ya que este es un lenguaje no completo dado que no
incluye las herramientas clásicas de programación. Por eso, PL/SQL amplia sus
posibilidades al incorporar las siguientes sentencias:
- Control condicional
- Ciclos
3. Incorpora opciones avanzadas en:
- Control y tratamiento de errores llamado excepciones.
Manejo de cursores.
Estructura del bloque de código
La organización del bloque de código de PL/SQL, compuesto por cuatro secciones
DECLARE, BEGIN, EXCEPTION y END.
Asignación de valores
Las dos formas que existen para asignar valores a variables de memoria, vistas en el
ejemplo anterior, son:

Con el operador de asignación: =, como cuando calculamos el promedio de las
ventas asignándole valor a la variable xprom .
26
Manejo de cursores
El conjunto de filas resultantes de una consulta con la sentencia SELECT, como vimos
anteriormente, puede estar compuesto por ninguna, una o varias filas, dependiendo de la
condición que define la consulta. Para poder procesar individualmente cada fila de la
consulta debemos definir un cursor (que es un área de trabajo de memoria) que contiene
los datos de las filas de la tabla consultada por la sentencia SELECT.
Los pasos para el manejo de cursores, tema novedoso en la programación de Oracle con
PL/SQL, son:
-
Definir el cursor, especificando la lista de parámetros con sus correspondientes
tipos de datos y estableciendo la consulta a realizar con la sentencia SELECT.

Abrir el cursor para inicializarlo, siendo éste el momento en que se
realiza la consulta.
- Leer una fila del cursor, pasando sus datos a las variables locales definidas a tal
efecto.
- Repetir el proceso fila a fila hasta llegar a la última.
- Cerrar el cursor una vez que se terminó de procesar su última fila.
Disparadores
El módulo SQL*Forms tiene incorporado una colección de procedimientos y funciones
llamados "empaquetados" que se pueden incluir en el código de procedimientos o
disparadores definidos por el usuario.
El disparador es un bloque de código que se activa cuando se pulsa una determinada
tecla u ocurre cierto evento, como puede ser:
-
Mover el cursor hacia o desde un campo, registro, bloque o forma.
-
Realizar una consulta
-
Validar un dato.
-
Hacer una transacción al insertar, modificar o eliminar registros de la base de
datos.
Oracle asocia a cada tecla de función un procedimiento empaquetado, pudiendo el
usuario redefinir esta asignación o capturar el disparador para ampliarlo o modificarlo
con su propio código.
A partir de la versión 7 de Oracle el usuario puede almacenar, en forma independiente,
sus funciones y procedimientos sin tener que escribirlos repetidamente para cada forma,
y pudiendo compilarlos independientemente de las formas que lo usen. Pero, además,
las funciones y procedimientos se pueden agrupar en un paquete para compartir
27
definiciones, variables globales, constantes, cursores y excepciones, así como garantizar
y revocar los permisos a nivel de paquete.
En el caso que sea necesario modificar el contenido del paquete, como el mismo se
encuentra almacenado separadamente, no es necesario recompilar nada que use ese
paquete, lo que facilita la gestión y mantenimiento de todos los procedimientos
almacenados como una sola entidad para una determinada aplicación.
Además, en la versión 7, existe un nuevo tipo de disparador llamado de base de datos,
que es un procedimiento asociado a una tabla que se activa cuando se produce un suceso
que afecta a esa tabla. Su uso más común consiste en la definición de restricciones
complejas de integridad.
SQLReport de Oracle realiza de forma flexible, sencilla y eficiente la creación de
reportes, informes o listados permitiendo, entre otras facilidades, la visualización previa
por pantalla con una gran variedad en estilos de presentación.
Definiciones básicas
Para adentrarnos en el tema primero veremos las definiciones básicas, fundamento del
diseño del reporte en Oracle:
Consulta
Define las columnas y filas de una o varias tablas que serán emitidas en el reporte, así
como su orden de presentación. Una consulta puede estar subordinada a otra consulta
principal, relacionadas por una o varias columnas.
Grupo
El grupo es una sección del reporte que representa al conjunto de columnas de la
consulta, como una unidad, para determinar su ubicación en el reporte y su forma de
presentación.
Para cada grupo se definen los siguientes atributos:
- Ubicación.
- Forma de presentación.
- Texto de cabecera y final.
- Título de las columnas.
- Ubicación de las columnas dentro del grupo.
En el momento de la definición de una consulta se crea, de forma automática, un grupo
que contiene todos las columnas presentes en la lista de la sentencia SELECT. El
nombre de este grupo se define como el nombre de la consulta, precedido por los
caracteres G_.
Una consulta puede tener asociado más de un grupo, con el fin de separar las columnas
de la consulta, por ejemplo para crear diferentes niveles en el reporte, como el cálculo
de subtotales.
28
Campos
Cada columna de la consulta pasa a ser un campo del reporte. Además, podemos incluir
como campos del reporte las siguientes variables:
- Del sistema como &DATE y &PAGE
- Del usuario, cuyo contenido es un comando SQL para realizar cálculos.
Parámetro
Variables definidas por el usuario para transferir datos a la consulta en el momento de la
ejecución del reporte. Se hace referencia al parámetro en la consulta con su nombre
precedido por dos puntos como: nombre_parametro.
Sumario
Define variables de tipo sumario para la realización de cálculos con el uso de las
funciones Sum, Min, Max, Count y Avg.
Texto
Define la ubicación y forma de presentación de los campos dentro del grupo, así como
los textos de inicio y final para cada grupo y para el reporte.
Para ubicar un campo o un parámetro en la sección de textos se hace referencia con su
nombre, precedido con el carácter & de la forma: &nombre.
SQLMenu: es el producto de ORACLE destinado a producir árboles de menús que
permiten al usuario desplazarse fácilmente a través de su aplicación, facilitando a su
vez, la integración con los diferentes módulos de ORACLE.
La integración de módulos, herramienta que permite desde un producto de Oracle
invocar otros, también está presente en SQLForms, desde donde, como veremos en este
artículo, se pueden realizar tareas del sistema operativo con llamadas a los módulos
SQLReport y SQLPlus.
Definiciones
Comenzaremos explicando las diferentes partes que componen el diseño de un menú en
SQLMenu. Ellos son:
Aplicación
Conjunto de uno o más menús interconectados para realizar las tareas necesarias del
sistema y para el cual se definen su nombre, nombre del archivo ejecutable, fecha de
creación, nombre del usuario, número de la versión, fecha de la última modificación,
directorio de ubicación y su identificación.
29
Menú
Lista de opciones o items que realizan las tareas específicas del sistema. Cuando se crea
la aplicación el primer menú que se debe definir es el principal, cuyo nombre tiene que
ser el mismo que el de la aplicación. Este será el menú que se activará en forma
automática al cargar la aplicación.
Items
Define las opciones del menú y su correspondiente acción. Un ítem puede llamar a otro
menú, ejecutar un comando o un módulo de Oracle, así como cualquier otro programa.
Para cada ítem se define su posición en el menú, tipo de comando, permisos de los
usuarios, texto de identificación y la línea del comando a realizar.
Parámetros
Variable que se carga en el momento de ejecución del menú y para la cual se definen un
nombre de dos letras, cantidad máxima de caracteres, texto en pantalla en el momento
de su ingreso, si es o no obligatorio, con o sin conversión a mayúsculas y su valor por
defecto.
Integración desde SQLForms
La integración de módulos, como los casos que acabamos de estudiar, también esta
presente en SQLForms, desde donde podemos activar los módulos SQLReport y
SQLPlus a través del sistema operativo.
En SQLReport:
- Parámetros y sus valores por defecto. Esta es la vía que tenemos para pasar los
datos necesarios, desde SQLForms, en el momento de la ejecución del reporte.
En SQLForms:
- Campos de la forma donde se van a ingresar los valores a pasar como parámetros
al reporte.

Procedimiento que invoca a SQLReport con sus correspondientes parámetros.
Para esto se usa la orden HOST, procedimiento del sistema que tiene como
función enviar un comando al sistema operativo, en este caso RUNREP,
garantizando el paso de variables a través de los parámetros y el retorno
automático a SQLForms.
MEJORAS DE SQL SERVER EN ORACLE

Oracle posee igual interacción en todas la plataformas (Windows, Unix,
Macintosh y Mainframes). Estos porque más del 80% de los códigos internos de
Oracle son iguales a los establecidos en todas las plataformas de Sistemas
Operativos.

Oracle soporta bases de datos de todos los tamaños, desde severas cantidades de bytes y
gigabytes en tamaño.
Oracle provee salvar con seguridad de error lo visto en el monitor y la información de acceso y
uso.
Oracle soporta un verdadero ambiente cliente servidor. Este establece un proceso entre bases de
datos del servidor y el cliente para la aplicación de programas.


30
SQL Server CE
Introducción
Tomar decisiones de negocios correctas es una manera de tener éxito en los negocios. Todos
los días, se toman millones de decisiones de negocios. El elemento que todas estas decisiones
tienen en común es que se toman con la mejor información disponible. Sin embargo, muchas de
estas decisiones de negocios no tienen el efecto deseado. En muchos casos, la ineficiencia se
debió a una información incorrecta.
Esta información incorrecta pudo haber sido demasiado
antigua, reportada de manera incorrecta o no haberse reportado en lo absoluto. La Inteligencia
de negocios es una solución de tecnología que aumenta la posibilidad de que la información
pertinente esté disponible para tomar las mejores decisiones informadas de negocios posibles.
Muchas compañías utilizan BI para tomar decisiones informadas, lo cual lleva a costos reducidos
y utilidades mayores.
Algunas implementaciones de BI requieren el almacenamiento de una
gran cantidad de datos relacionados al negocio. Este requerimiento ha obligado al uso de Bases
de datos muy grandes (VLDB) como parte de la solución BI.
Los costos para iniciar una solución BI en un ambiente VLDB pueden ser estratosféricos. Existen
muchos proveedores de hardware y software que cuentan con productos para resolver los retos
de BI dentro de un ambiente VLDB. Este documento examina las diferencias en costos entre dos
soluciones BI y un ambiente VLDB. Los costos de estas soluciones se determinaron utilizando los
criterios establecidos en la Sección de configuración de este documento.
Ya que sólo examinaremos las diferencias en los costos, los conceptos que tengan costos iguales
en ambas soluciones se mencionarán sin sus costos respectivos.
Requerimientos de hardware
Creemos que los requerimientos de hardware señalados a continuación son los mínimos
necesarios para cubrir las necesidades de la solución BI prevista en nuestro escenario.
Procesadores
Nuestra solución de hardware debe tener al menos 16 procesadores. Esto nos daría
suficiente poder de procesamiento utilizando los microchips más rápidos de hoy.
Debe de ser actualizable en campo para aceptar más procesadores, si se necesitan
en el futuro.
31
Memoria
El soporte de memoria principal será de al menos 12 gigabytes. Esto asegura que
existe suficiente memoria para que los procesadores ejecuten la base de datos que
soporta el data warehouse, el MDDB y las aplicaciones de Data Mining. Debe ser
actualizable en campo para aceptar más memoria, si se necesita en el futuro.
Sun/Oracle
Uno de los nombres más reconocidos en el mercado de servidores de extremo alto, que no
son mainframe, es Sun Microsystems (Sun). Sun es uno de los líderes del mercado en los
sistemas de Computación de conjuntos reducidos de instrucciones (RISC)/UNIX. RISC se
desarrolló a principios de los 90s como una forma de mejorar la velocidad del
microprocesador. Todas las máquinas Sun utilizan la arquitectura RISC y el sistema
operativo Solaris (su versión de UNIX). Para nuestro escenario, se seleccionó Sun Fire 6800
Server con 16 procesadores para ofrecer la mejor solución. El servidor Sun ejecutaría el
sistema operativo Solaris (OS).
Seleccionamos un Sistema de administración de base de datos Oracle (DBMS) en esta
máquina, ya que Oracle es el líder de DBMS en el mercado en la plataforma UNIX. Oracle 9i
es la versión más reciente de su DBMS.
Unisys/Microsoft SQL Server 2000
Unisys e-@ction Enterprise Server ES7000 ofrece una plataforma equivalente en términos de su
configuración de hardware en una implementación de BI en el ambiente Windows/Intel. Las
máquinas Windows/Intel utilizan procesadores Intel y un sistema operativo Microsoft
Windows.
ES7000 ejecutaría Microsoft Windows 2000 Datacenter Server como su sistema operativo.
Microsoft SQL Server 2000 Enterprise Edition se implementará como la base de datos.
Almacenamiento en disco
Todos los datos para la base de datos se almacenarán en un arreglo externo de unidades, que es
la máquina por separado rotulada como “Almacenamiento en disco” en la Figura 5. Ese tipo
de almacenamiento externo puede crecer para cumplir con las necesidades de cualquier
solución.
Servidor de aplicación BI
La comunidad de usuarios desea crear sus propios reportes. Esto se puede hacer utilizando una
aplicación BI. La aplicación BI residiría en el Servidor de aplicación BI, el cual cierra la
brecha entre la base de datos y la comunidad de usuarios. La aplicación BI debe ser capaz
de operar en el intranet de la compañía y acceder al data warehouse y MDDB.
32
Software MDDB
Para cumplir con las Necesidades de negocios, es posible que se necesite comprar software
adicional.
La comunidad de usuarios desea poder crear proyecciones, presupuestos y
cálculos financieros complejos, y deseamos crear un MDDB para ayudar en el rendimiento.
Para poder cumplir con este requerimiento, será necesario incluir una solución MDDB en
nuestros costos.
Data Mining
La comunidad de usuarios también está interesada en encontrar patrones en los datos de
ventas. Este tipo de función se llama Data Mining. Data Mining es el proceso de revisar
datos utilizando métodos estadísticos que permitan que los patrones en los datos se hagan
evidentes. Para cumplir con este requerimiento, también necesitaremos software de Data
Mining.
Costos de la solución
Ahora que hemos identificado las soluciones y la metodología para conocer los costos de
las soluciones, podemos aplicar los costos reales de todas las fuentes disponibles. Todas
nuestras fuentes se identifican en la Sección de recursos de este documento. Esta sección
explorará los costos por categorías de TCO en los ambientes Sun Fire 6800 y Unisys
ES7000.
Gastos de capital
Hardware
Costo del equipo
Los costos iniciales del equipo se derivaron de los precios usualmente disponibles
en Internet. Incluyen el sistema operativo (OS) y el hardware para esa máquina
en particular. La máquina Sun operará utilizando Solaris 8. La máquina Unisys
operará utilizando Windows 2000 Datacenter Server (DCS).
Servidor con sistema operativo*
Sun Fire 6800 Server/Solaris
Unisys ES7000 /Windows 2000 DCS
Diferencia
#
de Costos
procesadores
16
US$787,245
16
US$406,925
US$380,320
Tabla 2 – Costos iniciales de hardware
*los detalles del hardware se pueden encontrar en la Sección de perfil de hardware de
este documento.
De acuerdo con estas cifras, la solución de Sun Fire 6800 Server es
US$380,320 más alto que la de Unisys.
33
Costos de infraestructura
De acuerdo a nuestro esquema, contamos con un servidor de productos adicional
para la aplicación BI. Ya que esto puede servir tanto para servidores Sun como
Unisys, no hay diferencia en el costo y, por lo tanto, no lo incluiremos en nuestro
cálculo.
Almacenamiento en disco
Conforme a nuestro esquema, necesitamos al menos seis terabytes de
almacenamiento. Podemos lograr esto al anexar el servidor de base de datos a
un arreglo de disco. Un arreglo de disco es una máquina que contiene suficiente
espacio para retener muchos discos duros para almacenamiento.
como Unisys pueden utilizar un arreglo de disco de un tercero.
Tanto Sun
Ya que este
concepto es intercambiable, no existe una diferencia de costo y por lo tanto, no lo
incluiremos en nuestro cálculo.
Software
Para nuestros escenarios, asumimos que ambos DBMS pueden manejar grandes
cantidades de datos.
Con base en las Necesidades de negocios, hay que comprar
software adicional. Los proveedores DBMS ofrecen una funcionalidad diferente en su
software agrupado. Para poder hacer una comparación igual y para lograr la funcionalidad
necesaria, cualquier software requerido se pondrá como un concepto por separado y su
costo se incluirá en secciones por separado.
Las licencias de software se basan en uno de dos modelos, Usuario nombrado o Por
procesador.
Nuestro escenario contempla 1,000 usuarios nombrados con 16
procesadores. Para obtener el mejor precio, colocamos 1,000 usuarios nombrados y 16
procesadores en los modelos respectivos de precio tanto de Oracle como Microsoft. El
modelo que produjo el costo más bajo para cada compañía es el costo que comparamos.
Licencia DBMS
Determinamos que el mejor modelo de precio sería Por procesador.
Oracle
ofrece términos de licencia que limitan el tiempo de uso del software. Ofrecen
tres planes: a 2 años, a 4 años y a perpetuidad. Microsoft sólo ofrece licencias a
perpetuidad.
El costo de una licencia a perpetuidad para cada DBMS se
enumera en la Tabla 3 siguiente.
DBMS
Costo
Procesador
Oracle
Enterprise
Edition
US$40,000
SQL
Server
2000
Enterprise Edition
US$19,999
Diferencia
/ #
de Costo anual
procesadores
16.0
US$640,000
16.0
US$319,984
US$320,016
Tabla 3 – Costos de licencia DBMS
Con base en estas cifras, comprar Oracle Enterprise Edition cuesta
US$320,016 más que SQL Server 2000 Enterprise Edition.
Herramienta MDDB
Crear proyecciones, presupuestos y cálculos financieros complejos es una
34
aplicación excelente para una MDDB. Asimismo, podemos utilizar la MDDB para
reducir el tiempo que toma a la comunidad de usuarios obtener la información
que desea. Los Servicios de análisis de SQL Server 2000 ya vienen con MDDB
integrado. Para la solución Sun/Oracle, debemos adquirir el software. Oracle
ofrece Servicio express para construir MDDBs.
El costo de este software
adicional se enumera en la Tabla 4 siguiente.
DBMS
Costo/Procesador #
de Costo final
procesadores
Servicios
express
Servicios
análisis
Diferencia
US$24,000
16.0
US$384,000
Incluido
Incluido
US$0
US$384,000
de
Tabla 4 – Costo de software MDDB
La compra de software MDDB refleja un costo adicional de software de
US$384,000 para la solución Sun/Oracle.
Data Mining
Los Servicios de análisis de Microsoft SQL Server 2000 cuentan con capacidades
integradas de Data Mining. Oracle vende esta función por separado como Oracle
Data Mining y debe contar con licencia por separado. El costo de este software
adicional se enumera en la Tabla 5 siguiente.
DBMS
Costo/Procesador #
de Costo final
procesadores
Oracle
Data
Mining
US$20,000
16.0
SQL Server 2000
Data Mining
Incluido
Incluido
Diferencia
Tabla 5 – Costo de software de Data Mining
US$320,000
US$0
US$320,000
La compra del software de Data Mining refleja un costo adicional de software de
US$320,000 para la solución Sun/Oracle
Contratos de mantenimiento (Soporte del proveedor)
Los proveedores de DBMS, hardware y sistema operativo ofrecen mantenimiento
a sus productos, lo que les permite ser contactados si nuestro equipo interno de
soporte no puede resolver un problema relacionado con sus productos. Estos
contratos deben renovarse cada año.
Los precios para los contratos se
enumeran a continuación.
Mantenimiento de sistema operativo y hardware
Sun es el fabricante del hardware y del sistema operativo de la solución
Sun/Oracle. Ofrecen un contrato de mantenimiento que cubre el hardware y
el sistema operativo.
La solución Unisys es la combinación de dos
proveedores distintos, Unisys y Microsoft.
Unisys ofrece un contrato de
mantenimiento que da soporte tanto al hardware como al sistema operativo.
Tanto los contratos de Sun como de Unisys permiten contactarlos para
ayuda con cualquier problema asociado con el sistema operativo o el
hardware.
Asimismo, este precio incluye cualquier actualización disponible para el
35
sistema operativo.
Este contrato deberá renovarse anualmente para
continuar con el servicio de actualización. El precio anual se enumera a
continuación. Para nuestro escenario, asumimos que estos costos podrían
permanecer iguales cada año.
Hardware
Costo
contrato
año
Sun Fire 6800
US$15,708
ES7000 Server
Diferencia
del Sistema operativo Costo
por
contrato
año
US$12,480
US$3,228
Solaris
Windows
DCS
Diferencia
del Totales
por
Incluido
US$15,708
US$31,044
US$31,044
US$43,524
US$27,816
2000
Tabla 6 – Contrato de mantenimiento para hardware y sistema operativo
Estas cifras muestran que la solución Sun/Oracle cuesta US$27,816 menos por
año.
Mantenimiento en software DBMS, MDDB y Data Mining
Los contratos de mantenimiento de Oracle se cotizan con base en el modelo
de precios DBMS, que en este caso es Por procesador. El contrato de
Oracle debe renovarse cada año. Para nuestro escenario, deseábamos
renovarlo por el ciclo de vida útil que estábamos midiendo.
Microsoft soporta SQL Server 2000 en una base por incidente a través de
su servicio Microsoft Professional Support. El costo de este servicio es de
US$245 por incidente. Con base en nuestra experiencia, consideramos que
dos incidentes al mes son más que razonables (24 incidentes al año).
Utilizamos este supuesto para cada año que se midió. El costo del contrato
de mantenimiento por un año se enumera a continuación en la Tabla 7a
para Oracle 9i y en la Tabla 7b para Microsoft SQL Server 2000:
DBMS
Costo
de Procesadores Total
mantenimiento/pro
cesador
Oracle Enterprise
US$44,80
Edition
US$2,800
16
0
Oracle Express +
US$67,20
Data Mining
US$4,200
16
0
Total de Oracle
US$112,0
00
Tabla 7a – Costo del contrato de mantenimiento de Oracle 9i
DBMS
Costo
de Incidentes
mantenimiento/incidente por año
SQL Server 2000
Enterprise Edition US$245
SQL Server Total
Diferencia
24
Total
US$5,880
US$5,880
US$106,120
36
Tabla 7b – Costo del contrato de mantenimiento de Microsoft SQL Server
2000
De acuerdo con estas cifras, si ocurren los 24 incidentes, el contrato de
Oracle sería al menos de US$106,120 más costoso que el ambiente
Microsoft SQL Server 2000 por año.
Actualizaciones
Una vez implementados, existen contratos que permiten que se actualice el
software del sistema operativo y DBMS a las versiones más recientes, de tal
manera que la solución continúe teniendo un rendimiento a un nivel óptimo a lo
largo de su ciclo de vida útil.
Actualizaciones al software del sistema operativo
Los costos del contrato de actualización para el sistema operativo se
incluyen en los costos de Mantenimiento en la Tabla 6 anterior.
Actualizaciones al software DBMS, MDDB y Data Mining
Estos contratos se cotizan con base en el modelo de precios de DBMS tanto
para Oracle como para Microsoft. El modelo de precios Por procesador se
utiliza para ambos.
renueve cada año.
Oracle requiere que el contrato de actualización se
El contrato de actualización de Microsoft debe
renovarse cada 2 años. Con el propósito de obtener una cifra anual para
fines de comparación, se dividió a la mitad el costo de Microsoft. Para la
opción Por procesador, el costo del contrato de actualización por un año se
enumera a continuación en la Tabla 8a para Oracle 9i y en la Tabla 8b para
Microsoft SQL Server 2000.
DBMS
Oracle Enterprise Edition
Oracle Express + Data
Mining
Total de Oracle
Actualización/Procesador Procesadores
US$6,000
16
Total
US$96,000
Total anual
US$96,000
US$9,000
US$15,000
US$144,000
US$144,000
US$240,000
16
Tabla 8a – Costo del contrato de actualización de Oracle 9i
DBMS
SQL
Server
Enterprise Edition
Diferencia
Actualización/Procesador Procesadores
Total BI anual
Total anual
US$9,564
US$153,024
US$76,512
US$163,488
2000
16
Tabla 8b – Costo del contrato de actualización de Microsoft SQL Server
2000
De acuerdo con estas cifras, el contrato de actualización de Oracle es
US$163,488 más que el de Microsoft SQL Server 2000 por año.
De acuerdo con estas cifras, si ocurren los 24 incidentes, el contrato de
Oracle sería al menos de US$106,120 más costoso que el ambiente
Microsoft SQL Server 2000 por año.
Software de seguridad
No usaremos software adicional de seguridad para la implementación de la
aplicación BI. Cualquier software adicional de seguridad costaría lo mismo para
37
cualquier plataforma; no hay diferencia en los costos, por lo cual no lo incluiremos
en nuestro cálculo.
Costo total del software
Todos los conceptos enumerados en las secciones anteriores deben adquirirse
para comparar los paquetes de software con igual funcionalidad. El costo total de
todo el software con sus contratos de actualización y mantenimiento en el primer
año se enumera en la Tabla 9 siguiente.
Costo/Procesador
SQL Server 2000
Costo/Procesador
Oracle
DBMS
DBMS
US$640,000
Oracle Express +
Data Mining
US$704,000
Costos
de
software
Mantenimiento
(DBMS + Oracle
Express
+Data
Mining)
Actualizaciones
(DBMS + Oracle
Express
+Data
Mining)
Costos
de
mantenimiento y
actualización
Costos totales
Diferencia:
US$1,344,000
US$112,000
US$240,000
US$352,000
US$1,696,000
US$319,984
Analysis Server +
Data
Mining
+
OLAP
US$0
Costos
de
software
US$319,984
Mantenimiento
(DBMS + Analysis
Server)
US$5,880
Actualizaciones
(DBMS + Analysis
Server)
US$153,024
Costos
de
mantenimiento
US$158,904
Costos totales
US$478,888
US$1,217,112
Tabla 9 – Costos del software de base de datos
Establecimiento del ambiente del usuario
Una vez que se ha instalado el hardware y el software, se deben crear las bases de
el datos y acceso a las mismas. Este proceso se realiza al principio del proyecto.
Los miembros del personal recopilan los requerimientos de negocios, crean las
bases de datos, mantienen el ambiente y desarrollan programas. Parte del personal
continuará después de la implementación para mantener funcionando la solución.
Determinamos los sueldos al capturar la información de sueldos de varias fuentes
públicas. (Ver la Sección de fórmulas para mayores detalles respecto al cálculo de
sueldos).
Luego, aplicamos nuestra propia experiencia a esta información para
determinar un sueldo base promedio para cada puesto. Esta sección toma el sueldo
base y lo aplica al número de miembros del personal necesario con base en nuestra
propia experiencia de personal. Cualquier diferencia en costos de personal para
nuestra solución BI se analizará en esta sección.
Modelado de la base de datos
Se necesitará un Modelador de datos y un Analista de negocios para cerrar la
38
brecha entre la comunidad de usuarios y el resto del Personal. De hecho, la
mayor parte del tiempo inicial del proyecto se usará por estos mismos miembros
del Personal en tanto definen los objetivos y las soluciones de negocios. El
Analista de negocios es responsable de identificar las especificaciones de
negocios que proporcionará la solución BI.
El Modelador de datos define la
estructura de la base de datos de acuerdo con las especificaciones de negocios
del Analista.
Ya que los Modeladores de datos y los Analistas de negocios
pueden crear su trabajo independientemente del DBMS y no hay mantenimiento
después de la implementación, no existe una diferencia en costos; por lo tanto,
no los incluiremos en nuestro cálculo.
Extracción, traducción y desarrolladores de carga
Todas las implementaciones BI requieren alguna forma de desarrollo de
aplicaciones para asegurar que los datos vayan de los sistemas transaccionales
al data warehouse. Estos desarrolladores son responsables de extraer los datos
de los sistemas transaccionales. Después, estos datos se traducen y se cargan
en la estructura de la base de datos creada por el Modelador de datos. Esta
función la puede realizar el desarrollador utilizando la herramienta de un tercero.
Ya que esta herramienta podría funcionar en cualquier ambiente, no habría una
diferencia en costo, por lo que no lo incluiremos en nuestro cálculo.
SQL Server 2000 Desktop Engine
Qué es SQL Server 2000 Desktop Engine:
Microsoft SQL Server 2000 Desktop Engine es una tecnología que proporciona almacenamiento de datos
local en un formato compatible con Microsoft SQL Server 2000. También puede utilizar SQL Server 2000
Desktop Engine como solución de almacenamiento de datos remoto. Considere SQL Server 2000 Desktop
Engine como un motor de datos cliente/servidor alternativo al motor de base de datos Microsoft
Jet (motor de base de datos Microsoft Jet: parte del sistema de base de datos de Access que recupera y
almacena datos en las bases de datos de usuario y del sistema.
Se puede decir que es un administrador de datos sobre el que se construyen sistemas de bases de datos,
como Access.) de servidor de archivos. SQL Server 2000 Desktop Engine se ejecuta en Microsoft Windows
2000 o posterior.
Se ha diseñado y optimizado para su utilización en sistemas informáticos de menor tamaño como, por
ejemplo, equipos personales o pequeños servidores de grupo de trabajo.
Dado que SQL Server 2000 Desktop Engine tiene como base el mismo motor de datos que SQL Server, la
mayoría de los proyectos de Microsoft Access (proyecto de Microsoft Access: archivo de Access que se
conecta con una base de datos de Microsoft SQL Server y se utiliza para crear aplicaciones clienteservidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como, por
ejemplo, tablas o vistas.) o de las aplicaciones cliente/servidor se ejecutan en cualquier versión. Sin
embargo, a diferencia de SQL Server, SQL Server 2000 Desktop Engine tiene un límite de tamaño de base
de datos de 2 gigabytes y, cuando se utiliza la réplica transaccional, no puede ser un editor de réplicas
(aunque sí puede actuar como un suscriptor de réplicas).
Nota No hay que confundir SQL Server 2000 Desktop Engine con SQL Server 2000 Personal Edition, que
incluye un conjunto completo de herramientas de administración y la mayoría de las funciones de SQL
Server Standard Edition, pero está optimizado para el uso personal y es un producto aparte.
Cuándo se utiliza SQL Server 2000 Desktop Engine
39
Considere la utilización de SQL Server 2000 Desktop Engine como una base de datos
de escritorio alternativa a una base de datos de Microsoft Access (base de datos:
colección de datos relacionados con un fin o tema concreto. Dentro de una base de
datos, la información sobre una entidad en particular, como un empleado o un pedido,
se categoriza en tablas, registros y campos.) en los siguientes aspectos:
Como una pequeña base de datos de servidor de grupo de trabajo.
Puede desarrollar aplicaciones utilizando el proyecto de Access conectado a SQL Server
2000 Desktop Engine si prevé que el grupo de trabajo y sus necesidades organizativas
aumentarán a lo largo del tiempo hasta que necesiten todas las funciones de SQL Server
2000 ejecutándose en un servidor de red de mayor tamaño.
En general, SQL Server 2000,Desktop Engine puede administrar una carga de trabajo
de usuarios similar a la que puede controlar el motor de base de datos Microsoft
Jet (motor de base de datos)
Microsoft Jet: parte del sistema de base de datos de Access que recupera y almacena
datos en las bases de datos de usuario y del sistema. Se puede decir que es un
administrador de datos sobre el que se construyen sistemas de bases de datos, como
Access.) de una base de datos de Access. Sin embargo, SQL Server 2000 Desktop
Engine tiene un límite de cinco lotes activos simultáneos de consulta (también
denominados subprocesos).
SQL Server 2000 Desktop Engine pone en la cola los lotes de consultas posteriores y
los ejecuta cuando el lote siguiente está disponible. Si desea ver cuántas veces se ha
llegado a este límite en una base de datos de SQL Server 2000, puede ejecutar el
comando DBCC CONCURRENCYVIOLATION. Para obtener más información sobre
cargas de trabajo, lotes y DBCC, consulte la documentación de SQL Server.
Como un suscriptor de réplicas en un entorno de bases de datos replicadas de SQL
Server. Por ejemplo, puede hacer que los usuarios que trabajan fuera de la oficina
principal, que tienen acceso y actualizan SQL Server 2000 Desktop Engine en equipos
portátiles o equipos sin conexión, establezcan periódicamente conexión con la base de
datos maestra de SQL Server para conciliar los cambios.
Para programar y probar fácilmente un proyecto de Access o una aplicación
cliente/servidor en PC o en estaciones de trabajo y, posteriormente, modificar la
información de conexión del proyecto de Access para establecer conexión con una base
de datos de SQL Server en un servidor remoto a efectos de producción y pruebas
finales.
Como base de datos de suscripciones local para datos sin conexión.
40
Utilizar las utilidades de la base de datos de SQL Server 2000 Desktop Engine
desde Access
Microsoft SQL Server 2000 Desktop Engine ofrece las funciones de motor de base de
datos básicas de SQL Server 2000, pero no incluye interfaz de usuario, herramientas de
administración, posibilidades de análisis, compatibilidad con la réplica de
combinaciones, licencias de acceso de cliente, bibliotecas de desarrollador ni manuales
en línea de SQL Server. También limita el tamaño de la base de datos y la carga de
trabajo del usuario. Tiene el tamaño más pequeño de todas las ediciones de SQL Server
2000 y es, por ello, un almacén ideal de datos incrustado o sin conexión.
Desde un proyecto de Microsoft Access (proyecto de Microsoft Access: archivo de
Access que se conecta con una base de datos de Microsoft SQL Server y se utiliza para
crear aplicaciones cliente-servidor. Un archivo de proyecto no contiene datos ni objetos
basados en definiciones de datos, como, por ejemplo, tablas o vistas.), puede realizar
algunas tareas administrativas comunes en una base de datos de Microsoft SQL Server.
Comando
Descripción
Hacer copia de seguridad de
la base de datos SQL
Restaurar la base de datos de
SQL
Eliminar la base de datos de
SQL
Crea un archivo de copia de seguridad (.dat) de la base de
datos actual de SQL Server.
Restaura una base de datos de SQL Server desde un
archivo de copia de seguridad de la base de datos (.dat).
Elimina una base de datos de SQL Server.
MySQL
Mysql es una base de datos cliente/servidor, lo cual quiere decir que tenemos un server
(o daemon) que se ejecuta en segundo plano, a la escucha de las peticiones del programa
cliente. En mysql, el daemon o servidor es mysqld y el cliente, mysql.
En el apartado de servidores habrás podido encontrar unas breves instrucciones sobre la
instalación de la base de datos mysql bajo windows. Tambien algunas cosas básicas
como cambiar el nombre de usuario y contraseña.
Las características de MySQL:
Sub consultas. Ayuda para todos los comandos desde el cliente mysql.
Nuevo formato para la definición de tablas. Permitirá agregar nuevos tipos para las
columnas, más opciones para claves, y posiblemente guarde definiciones FOREIGN
KEY.
SHOW COLUMNS FROM nombreTabla (usado en el cliente mysql) ya no debe abrir
la tabla, únicamente el archivo de definición de la tabla.
Llaves foráneas para tablas MyISAM, incluyendo eliminación de registros en cascada.
Replicación fail-safe.
41
Respaldos en línea sin decrementar la eficiencia del servidor.
Soporte más estable para OpenSSL ( El soporte SSL en la versión 4.0 no está 100%
probado).
Implementación del comando RENAME DATABASE
Su costo varia dependiendo el conjunto de herramientas que contenga en sistema.
Y se estima el costo que va desde el sistema mas simple $10,000.00 hasta el sistema
mas complejo que contine todas las herramientas hasta $16,000.00.
42