viernes, 7 de septiembre de 2012

Unidad I - Tarea 3

2.3 CLAVES
2.3.1 Conjuntos de entidades
Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades.  Por ejemplo, el atributo dni del conjunto de entidades cliente es suficiente para distinguir una entidad cliente de las otras. Así, dni es una superclave.
Si K es una superclave, entonces también lo es cualquier superconjunto de K. A menudo interesan las superclaves tales que los superconjunto propios de ellas no son superclave. Tales superclaves mínimas se llaman claves candidatas.
Es posible que conjuntos distintos de atributos pudieran servir como clave candidata. Supóngase que una combinación de nombre-cliente y calle-cliente es suficiente para distinguir entre los miembros del conjunto de entidades cliente. Entonces, los conjuntos {dni} y {nombre-cliente, calle-cliente} son claves candidatas. Aunque los atributos dni y nombre-cliente juntos puedan distinguir entidades cliente, su combinación no forman una clave candidata, ya que el atributo dni por si solo es una clave candidata.
Se usara clave primaria para denotar una clave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades. Una clave (primaria, candidata y superclave)es una propiedad del conjunto de entidades, más que de las entidades individuales.
2.3.2 Conjuntos de relaciones
La clave primara de un conjunto de entidades permite distinguir entre las diferentes entidades del conjunto.
Sea R un conjunto de relaciones que implica los conjuntos de entidades Ei, Ei,….En. Sea clave-primaria (Ei) el conjunto de atributos que forma la clave primaria para el conjunto de entidades Ei. Asúmase que los nombres de los atributos de todas las claves primarias son únicos.
La composición de la clave primaria para un conjunto de relaciones depende la estructura de los atributos asociados al conjunto de relaciones R.
Si el conjunto de relaciones R no tienen atributos asociados, entonces el conjunto de atributos.
Clave-primaria (E1) U clave-primaria (E2) U…U clave-primaria (En)
Describe una relación individual en el conjunto R.
Si el conjunto de relaciones R tiene atributos a1, a2,……, am asociados a él, entonces el conjunto de atributos.
Clave-primaria (E1) U clave-primaria (E2) U….U clave-primaria (En)
U {a1, a2,……, am}.
Describe una relación individual en el conjunto R.
En ambos casos, el conjunto de atributos
Clave-primaria (E1) U clave-primaria (En) U… U clave-primaria (En)
La estructura de la clave primaria para un conjunto de relaciones depende de la cardinalidad asociada al conjunto de relaciones.
La designación de claves primarias es más complicada para relaciones no-binarias.

2.4 CUESTIONES DE DISEÑO
2.4.1. Uso de conjuntos de entidades o atributos
Considérese el conjunto de entidades empleado con los atributos nombre-empleado y número-teléfono.
 Se definido como:
·         El conjunto de entidades empleado con el atributo nombre-empleado.
·         El conjunto de entidades teléfono con el atributo nombre-teléfono.
·         La relación empleado-teléfono, que denota la situación entre empleados  y los teléfonos que tienen.
En el primer caso, la definición implica que cada empleado tiene precisamente un número de teléfono asociado a él. En el segundo caso, la definición admite que en los empleados pueden tener varios números de teléfonos asociados  ellos.
Si cada empleado tiene exactamente un número de teléfono asociado a él, la segunda definición puede ser más apropiada si el teléfono se comparte entre varios empleados.
Aplicar la misma técnica al tributo nombre-empleado; es difícil argumentar que nombre-empleado es una entidad en sí misma (en contraste con el teléfono). Así es apropiado tener nombre-empleado como un atributo del conjunto de entidades empleado.
Surgen dos preguntas naturales: ¿Qué constituye un atributo y qué constituye un conjunto de entidades?.

2.4.2  Uso de conjuntos de entidades o conjuntos de relaciones
Considérese un préstamo como una relación  entre clientes y sucursales, con número-préstamo y cuenta como atributos descriptivos.
Si cada préstamo está asociado exactamente con el cliente y está asociado exactamente con una sucursal, se puede encontrar satisfactorio con el diseño. Con este diseño no se puede representar una situación en que varios clientes comparten un préstamo. Habría que definir una relación separada para cada prestatario de cada préstamo común. Entonces habría que replicar los valores para los atributos descriptivos número-préstamo y cuenta en cada una de estas relaciones.

Surgen como resultado de esta replica: 1) los datos se almacenan varias veces, desperdiciando espacio de almacenamiento, y 2) las actualizaciones dejan potencialmente los datos en  un estado inconsistente, en que los valores difieren en dos relaciones para atributos que se supone tienen el mismo valor.
Para determinar si usar un conjunto de entidades o un conjunto de relaciones es designar un conjunto de relaciones para describir una acción  que ocurra entre entidades
2.4.3. Conjunto de relaciones binarias frente a n-arias
Considere el conjunto de relaciones abstracto R, ternario n=3), y los conjuntos de entidades A, B y C. Se sustituye el conjunto de relaciones R por un conjunto de entidades E y se crean tres conjuntos de relaciones:
RA, relaciones E Y A.
RB, relaciones E Y B.
RC, relaciones E Y C.

Si el conjunto de relaciones R tiene atributos, estos se asignan al conjunto de entidades E; por otra parte, se crea un atributo de de identificación especial para E.
Para cada miembro del conjunto de relaciones R (ai, bi, ci), se crea una nueva entidad ei en el conjunto de entidades. Entonces en cada una de los tres nuevos conjuntos de relaciones se inserta un nuevo miembro como sigue:
(ei, ai) en RA.
(ei, bi) en RB.
(ei, ci) en RC.

Se puede generalizar este proceso de una forma semejante a conjuntos de relaciones n-arias.

Integrantes

Pastor Godinez Omar
Suarez Santiago Hector

miércoles, 5 de septiembre de 2012

Unidad 1 - Tarea 2



Estandarización de los SGBD


Las dos principales instituciones que han trabajado en la normalización de las bases de datos, cuyos estudios han tenido una amplia transcendencia y han influido considerablemente a nivel práctico en la investigación y desarrollo de los sistemas de gestión de bases de datos son el grupo Codasyl y el ANS1/X3/SPARC, además de ISO, cuya actividad en este campo se ha intensificado.
Las especificaciones de Codasyl, que definen y detallan los lenguajes de descripción y de manipulación de los SGBD, establecían solamente dos estructuras, lógica y física, han sido aplicadas en mayor o menor medida a diversos SGBD comerciales.
Y ANSI/X3/SPARC es un grupo de estudio del Standard Planning and Requirements Committee (SPARC) del ANSI (American National Standards Institute), dentro del Comité X3, que se ocupa de ordenadores e informática. La situación del Grupo de Estudio sobre Sistemas de Gestión de Bases de Datos en el ANSI y su relación con ISO (International Standards Organization).
En 1979, el National Bureau of Standards contrató a la CCA (Com-puter Corporation of América) para desarrollar una arquitectura basada en los estándares que se habían especificado para los SGBD. En 1982, el DAFTG (Datábase Architecture Framework Task Group) del DBSSG (Datábase System Study Group) de ANS1/SPARC propuso una arquitectura que incorpora un entorno distribuido. Por último, en 1985, el citado grupo publicó un informe final proponiendo un modelo de referencia (MR) para la estandarización de los SGBD. La consecución de trabajos del grupo ANSI culminó en marzo de 1986 al presentar el Modelo de referencia para la estandarización de los SGBD.


Se define como Modelo de Referencia a una estructura conceptual para la estandarización de los SGBD, basado en la arquitectura ANSI revisado.

 
Los objetivos a cumplir por este Modelo de Referencia son:
  • Establecer un Marco común para la descripción de los SGBD.
  • Lograr una Estandarización para impulsar la compatibilidad de los distintos componentes de los SGBD facilitando su comparación y evaluación.
El modelo de referencia no es en sí un estándar pero sienta las bases para futuras estandarizaciones ya que se contempla desde tres puntos de vista distintos:
  • El de los componentes que integran un SGBD.
  • El de las funciones que se deben especificar .
  • El de los datos que se deben describir y utilizar.
En el Modelo de Referencia se distingue un Sistema de Control de Transformación de Datos, que es el núcleo o kernel del SGBD, que provee de operadores para la descripción y manipulación de los datos, y dos tipos de interfaces:
 
Interfaz de Lenguaje de Datos que permite a los usuarios y a los procesadores especificar sus peticiones para la recuperación y actualización de los datos por parte del SGBD.
Interfaz de Lenguaje de Datos Interno que permite el uso de los procesadores que soportan el funcionamiento de los SGBD, en particular los del SO.
 
Hoy en día, el modelo de referencia más seguido es el ANSI/SPARC.
 
MySQL Server 5.0

El software MySQL® proporciona un servidor de base de datos SQL (Structured Query Language) muy rápido, multi-threaded, multi usuario y robusto. El servidor MySQL está diseñado para entornos de producción críticos, con alta carga de trabajo así como para integrarse en software para ser distribuido. MySQL es una marca registrada de MySQL AB.
El software MySQL tiene una doble licencia. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source o pueden adquirir una licencia comercial estándar de MySQL AB.
 
Algunas Caracteristicas

Escrito en C y en C++
Probado con un amplio rango de compiladores diferentes
Funciona en diferentes plataformas.
Usa GNU Automake, Autoconf, y Libtool para portabilidad.
APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl. Consulte
Uso completo de multi-threaded mediante threads del kernel. Pueden usarse fácilmente multiple CPUs si están disponibles.
Proporciona sistemas de almacenamiento transaccionales y no transaccionales.
Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de índice.
Relativamente sencillo de añadir otro sistema de almacenamiento. Esto es útil si desea añadir una interfaz SQL para una base de datos propia.
Un sistema de reserva de memoria muy rápido basado en threads.
Joins muy rápidos usando un multi-join de un paso optimizado.
Tablas hash en memoria, que son usadas como tablas temporales.
Las funciones SQL están implementadas usando una librería altamente optimizada y deben ser tan rápidas como sea posible. Normalmente no hay reserva de memoria tras toda la inicialización para consultas.
El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL.
El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor. También está disponible como biblioteca y puede ser incrustado (linkado) en aplicaciones autónomas. Dichas aplicaciones pueden usarse por sí mismas o en entornos donde no hay red disponible...
Plataformas


MySQL ha sido compilado correctamente en las siguientes combinaciones de sistemas operativos y paquetes de subprocesos. Nótese que, para varios sistemas operativos, el soporte nativo de subprocesos funciona solamente en las versiones más recientes.
AIX 4.x, 5.x con subprocesos nativos.
BSDI 2.x with con el paquete MIT-pthreads. ConsulteBSDI 3.0, 3.1 y 4.x con subprocesos nativos. Digital Unix 4.x con subprocesos nativos.
FreeBSD 2.x con el paquete MIT-pthreads.
FreeBSD 3.x and 4.x con subprocesos nativos.
FreeBSD 4.x con LinuxThreads.
HP-UX 10.20 con el paquete DCE threads o MIT-pthreads.HP-UX 11.x con subprocesos nativos.
Linux 2.0+ con LinuxThreads 0.7.1+ o glibc 2.0.7+ para varias arquitecturas de CPU.
Mac OS X.NetBSD 1.3/1.4 Intel y NetBSD 1.3 Alpha (requiere GNU make).
Novell NetWare 6.0.
OpenBSD > 2.5 con subprocesos nativos. OpenBSD < 2.5 con el paquete MIT-pthreads.
OS/2 Warp 3, FixPack 29 y OS/2 Warp 4, FixPack 4.
SCO OpenServer 5.0.X con una versión del paquete FSU Pthreads recientemente portada.
SCO UnixWare 7.1.x.
SCO Openserver 6.0.x. SGI Irix 6.x con subprocesos nativos.
Solaris 2.5 y posteriores con subprocesos nativos en SPARC y x86.
SunOS 4.x con el paquete MIT-pthreads package.Tru64 Unix.
Windows 9x, Me, NT, 2000, XP, y 2003.

No todas las plataformas son igualmente aptas para ejecutar MySQL. Los siguientes factores determinan si una plataforma está más o menos bien preparada para un servidor MySQL con alto volumen de carga y para misiones crítica:
Estabilidad general de la biblioteca de subprocesos. Una plataforma puede tener una excelente reputación en otras situaciones, pero MySQL es estable como lo sea la biblioteca de subprocesos que utiliza la plataforma, aun cuando cualquier otro aspecto sea perfecto.
La capacidad del núcleo o kernel del sistema operativo y de la biblioteca de subprocesos para aprovechar sistemas de multiprocesamiento simétrico (SMP). En otras palabras, cuando un proceso crea un subproceso, éste debería poderse ejecutar en una CPU diferente a la del proceso original.
La capacidad del núcleo o kernel del sistema operativo y de la biblioteca de subprocesos para ejecutar varios subprocesos que bloquean y liberan mutexes frecuentemente en una pequeña región crítica sin excesivos cambios de contexto. Si la implementación de pthread_mutex_lock() es muy proclive a consumir tiempo de CPU, esto afectará en gran manera a MySQL. Si no se previene este problema, añadir más CPUs hará todavía más lento a MySQL.
El rendimiento y la estabilidad general del sistema de ficheros.
Si se emplean grandes tablas, la capacidad del sistema de ficheros para gestionar eficientemente archivos de gran tamaño.
El nivel de experiencia que los desarrolladores de MySQL AB posean sobre una determinada plataforma. Si la conocen bien, habilitan optimizaciones específicas y soluciones en tiempo de compilación. Además pueden proporcionar consejos sobre cómo configurar el sistema en forma óptima para MySQL.
El volumen de pruebas realizadas por MySQL AB sobre configuraciones similares.
La cantidad de usuarios que han ejecutado MySQL con éxito en la misma plataforma y en configuraciones similares. Si este número es alto, las probabilidades de encontrar sorpresas específicas de la plataforma son mucho menores.

En base a estos criterios, las mejores plataformas para ejecutar MySQL en este momento son x86 con SuSE Linux (kernel versión 2.4 o 2.6), y ReiserFS (o cualquier distribución de Linux similar) y SPARC con Solaris (2.7-9). FreeBSD aparece en tercer lugar, pero es de esperar que se integre al lote principal cuando se mejore la biblioteca de subprocesos.
 


Seguridad


Al tratar el tema de la seguridad, hacemos hincapié en la necesidad de proteger totalmente la máquina completa (no únicamente el servidor MySQL) contra todos los tipos de ataques posibles; intercepción pasiva de paquetes, alteración, reproducción de comandos (playback), y denegación de servicio. Aquí no tratamos todos los aspectos de disponibilidad y tolerancia a fallos.
Para todas las conexiones, consultas, y otras operaciones que los usuarios pueden intentar realizar, MySQL utiliza seguridad basada en Listas de Control de Acceso (ACLs). También hay algún soporte para conexiones cifradas mediante SSL entre clientes y servidores MySQL. Muchos de los conceptos que aquí se exponen no son específicos de MySQL; las mismas ideas generales se pueden aplicar a cualquier aplicación


Respaldo y Recuperacion de Datos


La clave de una administración de bases de datos segura es realizar copias de respaldo regularmente.
InnoDB Hot Backup:Es una herramienta de respaldo en línea que puede utilizarse para respaldar la base de datos InnoDB mientras ésta se está ejecutando. InnoDB Hot Backup no necesita que se detenga la base de datos y no establece ningún bloqueo ni dificulta el normal procesamiento de la base de datos. InnoDB Hot Backup es una herramienta adicional comercial (no grautita) cuyo cargo anual de licencia es de €390 por cada ordenador en el que se ejecute el servidor MySQL.
Si se está en condiciones de detener el servidor MySQL, puede realizarse una copia de respaldo binaria, que consiste en todos los ficheros usados por InnoDB para administrar sus tablas. Se utiliza el siguiente procedimiento:
Detener el servidor MySQL y asegurarse de que lo hace sin errores.
Copiar todos los ficheros de datos (ficheros ibdata e .ibd) en un lugar seguro.
Copiar todos los ficheros ib_logfile en un lugar seguro.
Copiar el o los ficheros de configuración my.cnf en un lugar seguro.
Copiar todos los ficheros .frm de las tablas InnoDB en un lugar seguro.

La replicación funciona con tablas InnoDB, de forma que puede emplearse para mantener una copia de la base de datos en sitios de bases de datos que necesiten alta disponibilidad.


MySQL
es un
sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.
PLATAFORMAS
MySQL funciona sobre múltiples plataformas, incluyendo:

AIX
BSD
FreeBSD
HP-UX
Kurisu
 GNU/Linux
Mac OS X
NetBSD
OpenBSD
OS/2 Warp
QNX
SGI IRIX
Solaris
SunOS
SCO OpenServer
SCO
 
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8 y Windows Server (2000, 2003 y 2008).
OpenVMS
MySQL es un sistema de administración de bases de datos.
MySQL es un sistema de administración relacional de bases de datos.
MySQL es software de fuente abierta.
MySQL 5.5 (versión estable)
Nuevas características


Las principales características que de la versión 5.5 de MySQL son las siguientes:


Principalmente se ha mejorado InnoDB para mejorar su escalabilidad en sistemas multi-core (SMP):
En las plataformas que lo soportan, se usan instrucciones atómicas de la CPU para mejorar el rendimiento de los RW-locks (mutex que permite múltiples lectores). Se ha añadido una variable de estado para saber si la plataforma de una determinada instalación de MySQL admite las instrucciones atómicas llamado Innodb_have_atomic_builtins:
Es posible configurar múltiples threads de lectura y escritura concurrentes para leer las páginas más rápido:
Anteriormente se limitaba el número de IOPS (operaciones de entrada/salida por segundo) mediante un parámetro de compilación (por defecto 100). Se ha añadido la variable innodb_io_capacity para regular dinámicamente dicha restricción y se ha aumentado el valor por defecto a 200 ya que los sistemas modernos cada vez tienen más capacidad:
Se ha cambiado el storage engine por defecto de MyISAM a InnoDB. Este cambio es uno de los sensibles, ya que algunas aplicaciones asumen que si no se especifica es MyISAM
Se ha añadido un nuevo schema con datos dinámicos sobre en rendimiento del servidor de bases de datos llamado performance_schema:
Escalabilidad mejorada en microprocesadores multi núcleo, aprovechando así los ciclos de procesamiento, eliminando cuellos de botella en la mayor medida posible. Dicha escalabilidad se ha enfocado en InnoDB, especialmente en los rubros de bloqueo y manejo de memoria.
Uso más efectivo de las capacidades del sub sistema de Entrada / Salida (I/O) de InnoDB.
Operación mejorada del servidor de MySQL en Solaris.
Mejor acceso a la información de ejecución y desempeño, gracias a las nuevas características de diagnóstico y monitoreo.
El nuevo motor de almacenamiento por defecto deja de ser MyISAM, ahora lo es InnoDB.
Soporte a una interfaz de replicación semi-síncrona de transacciones, a través de una extensión opcional.
Soporte para las sentencias SQL estándares: SIGNAL y RESIGNAL.
Soporte para Esquema de Desempeño, una interesante característica para monitorear a bajo nivel la ejecución del servidor MySQL.
Soporte para conjuntos

Unicode adicionales: utf16, utf32, y utf8mb4.


Mejoras en la funcionalidad XML, incluyendo una nueva sentencia: LOAD XML.
Dos nuevos tipos de particionamiento definido por el usuario: RANGE COLUMNS y LIST COLUMNS. En otras palabras, ahora podemos particionar basándonos en campos DATE, DATETIME, CHAR, VARCHAR, etc.
Ahora es posible eliminar todos los registros de una o más particiones de una tabla usando la sentencia ALTER TABLE. TRUNCATE PARTITION.
Soporte para autenticación al servidor MySQL por medio de extensiones (plugins) y por usuarios proxy. Esto abre un nuevo abanico de posibilidades, ya que no será absolutamente necesario utilizar el par usuario/contraseña para acceder a una base de datos.
Nueva función TO_SECONDS(), que convierte una expresión date o datetime a la cantidad de segundos transcurrida desde el año 0.
MySQL 5.5 ahora es compilado usando CMake en vez del legendario GNU autotools

Otras características
Amplio subconjunto del lenguaje

SQL. Algunas extensiones son incluidas igualmente.


Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de

mecanismos de almacenamiento que ofrecen diferente velocidad de operación, soporte físico, capacidad, distribución geográfica, transacciones...


Transacciones y

claves foráneas.


Conectividad segura.


Replicación.


Búsqueda e

indexación de campos de texto.


 
Características distintivas
Las siguientes características son implementadas únicamente por MySQL:
Permite escoger entre múltiples

motores de almacenamiento para cada tabla. En MySQL 5.1 se pueden añadir dinámicamente en tiempo de ejecución:


Los hay nativos como

MyISAM, Falcon, Merge, InnoDB, BDB, Memory/heap, Cluster, Federated, Archive, CSV, Blackhole y Example


Desarrollados por partners como solidDB, NitroEDB, ScaleDB, TokuDB, Infobright (antes Brighthouse), Kickfire, XtraDB, IBM DB2). InnoDB Estuvo desarrollado así pero ahora pertenece también a Oracle
Desarrollados por la comunidad como memcache, httpd, PBXT y Revision
Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de
transacciones por segundo.




Oracle



la Base de datos Oracle 10g Release 2 Standard Edition esta optimizada para su despliegue en medianas industrias. Esta soportada en un único servidor soportando hasta un máximo de 4 CPUs, o en un ambiente de servidores en clúster, con un máximo de 4 CPUs en el clúster. La base de datos Oracle 10g Release 2 Standard Edition esta disponible en todos los sistemas operativos soportados por Oracle entre los cuales se incluye Windows, Linux y Unix.
La base de datos Oracle 10g Standard Edition proporciona una rápida instalación tanto en un único servidor como en un ambiente de clúster. La base de datos va a estar preconfigurada lista para ser usada en producción, completa con espacio automatizado, administración de almacenamiento y de memoria, back up y recuperacion automatizado y administrador de estadísticas automatizado. La consola de Enterprise Manager 10g Data base control proporciona una interface web que muestra el estado actual de la base de datos y del ambiente de clúster y permite la administración de la base de datos desde cualquier browser conectado a su sistema. La base de datos Oracle Standard Edition también toma ventaja de la solución de clusterware, eliminando la complejidad de tener que instalar y configurar clusterware de terceros. El Automatic Storage Management tiene la capacidad de eficientemente distribuir los datos almacenados a través de los discos disponibles, asegurando optimo desempeño y eliminando la necesidad de gestores de volúmenes de terceros.

Todos los datos, todas las aplicaciones

Oracle como la base de datos líder del mercado soporta todos los tipos de datos relacionales estándares, así como también datos nativos como XML, texto, imágenes, documentos, audio, y datos espaciales. El acceso a la información es realizado a través de interfaces estándares como SQL, JDBC, SQLJ, ODBC.Net, OLE.Net y ODP.Net, SQL/XML, XQuery y WebDAV. Los procedimientos almacenados pueden ser escritos en Java, PL/SQL o utilizando .Net CLR support en Oracle Database 10g Release 2.

Rendimiento, Disponibilidad, Seguridad y Confiabilidad Comprobada
 


La base de datos Oracle Standard Edition usa las mismas gestiones de concurrencia que son usadas por la base de datos Oracle Enterprise Edition, asegurando el máximo rendimiento para todas las cargas de trabajo. Cuando se corre en un clúster, la carga de trabajo es automáticamente balanceada a través de las maquinas disponibles, asegurando la máxima utilización de su equipo. Implementando un ambiente de clusters con Real Application Clúster protege sus aplicaciones de negocio ante caídas de negocio. Cuando una maquina falla o necesita mantenimiento, sus aplicaciones de negocio pueden continuar accediendo a los datos ininterrumpidamente en las otras maquinas del clúster. Por ser Standard Edition construida sobre la misma base y código que la base de datos Enterprise Edition, usted tendrá la flexibilidad de moverse a una versión superior manteniendo protegida su inversión inicial.

Fuentes de Infromación

MySQL Documentation: MySQL Reference Manuals

ORACLE DATABASE 10G STANDARD EDITION Manual
 
INTEGRANTES: JUAREZ SANTIAGO HECTOR
                            PASTOR GODINEZ OMAR