miércoles, 1 de junio de 2016



DBMS Oracle y MySQL




Oracle Database es un sistema de gestión de base de datos de tipo objeto-relacional desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando: soporte de transacciones, estabilidad, escalabilidad, y soporte multiplataforma.








MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web. MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada por David Axmark, Allan Larsson y Michael Widenius). MySQL A.B. fue adquirida por Sun Microsystems en 2008, y ésta a su vez fue comprada por Oracle Corporation en 2010, la cual ya era dueña desde 2005 de Innobase Oy, empresa finlandesa desarrolladora del motor InnoDB para MySQL.


Servicios
Oracle DataBase
MySQL
Oracle Database 12c Release 1
12.1.0.2

·         Advanced Index Compression.-

Index de compresión avanzada funciona bien en todos los index soportados, incluyendo aquellos index que no son buenos candidatos para la característica de compresión de prefijo existente; incluidos los index que no tenga o pocos valores, duplicados en las principales columnas del index.

·         Approximate Count Distinct

El nuevo y optimizado función SQL, APPROX_COUNT_DISTINCT () , proporciona recuento aproximado de agregación distinto. Tratamiento de grandes volúmenes de datos es significativamente más rápido que la agregación exacta, especialmente para conjuntos de datos con un gran número de valores distintos, con una desviación insignificante del resultado exacto.

·         Attribute Clustering

Attribute Clustering es una directiva de nivel de tabla que agrupa los datos en estrecha proximidad física basada en el contenido de ciertas columnas. Esta directiva se aplica a cualquier tipo de operación vía directa, como una inserción masiva o una operación de movimiento.

·         Automatic Big Table Caching

En versiones anteriores en memorias de consultas en paralelo no funcionaba bien cuando sostenían varias consultas para la memoria caché. Esta función implementa una nueva llamada caché grande cache de tabla para la tabla de carga de trabajo de exploración.

·         FDA Support for CDBs

Ahora los clientes pueden utilizar Flashback Data Archive en bases de datos que se están consolidando mediante Oracle Multitenant, proporcionando los beneficios de seguimiento del historial fácil de las aplicaciones que utilizan bases de datos enchufables (PDB) en una base de datos multiusuario contenedor.

·         Full Database Caching

Almacenamiento en caché de la base de datos completa se puede utilizar para almacenar en caché la base de datos en la memoria. Se debe utilizar cuando el tamaño de la caché del búfer de la instancia de base de datos es mayor que todo el tamaño de la base de datos.

·         In-Memory Aggregation

Dentro de la memoria Agregación optimiza consultas que unen las tablas de dimensiones a las tablas de hechos y datos agregados (por ejemplo, consultas o estrella) utilizando la CPU y la memoria eficiente del vector clave y VECTOR GROUP BY operaciones de agregación. Estas operaciones pueden ser elegidos automáticamente por el optimizador de SQL sobre la base de las estimaciones de costos.

·         In-Memory Column Store

Permite que los objetos (tablas o particiones) para ser almacenados en la memoria en un formato de columnas. El formato de columnas permite exploraciones, se une y agregados para llevar a cabo mucho más rápido que los tradicionales formatos de disco para consultas analíticas estilo.

·     
MySQL 5.7.12

·         Incompatible Change

Para cargar un plugin de claves, el plugin de carga --early se usa la opción. Anteriormente, el valor predeterminado --early-plugin-load de valor de opción era el nombre de la keyring_file Plugin de archivo de la biblioteca. Ahora bien, el valor por defecto es empty.

·         Notas de seguridad

·         InnoDB

 El InnoDB función de cifrado de espacio de tabla, que proporciona cifrado de datos en reposo para InnoDB tablas, ahora es compatible con Oracle Key Vault para la gestión de claves de cifrado. Soporte de Oracle Bóveda clave se basa en la keyring_okv plugin que está disponible en MySQL Enterprise Edition. Una solución de gestión de claves de cifrado seguro y robusto como OVK es crítico para la seguridad y para el cumplimiento de diversas normas de seguridad. Para obtener más información, véase el espacio de tablas InnoDB cifrado .

·         La librería OpenSSL

Vinculado para el servidor MySQL comercial ha sido actualizado a la versión 1.0.1s. Problemas resueltos en la nueva versión.
Este cambio no afecta a la producida por la acumulación de Oracle MySQL Comunidad de MySQL Server, que utiliza la biblioteca yaSSL lugar. (Bug # 22685885, 22923458 Nº de error)

·         MySQL Enterprise Edition

Ahora incluye un keyring_okv plugin que utiliza Oracle Bóveda clave para el almacenamiento de claves de servidor. Para obtener más información, consulte El MySQL Keyring.

·         Además de esto la versión actual viene con la corrección de alrededor de 70 errores



INSTALACIÓN DE ORACLE DATABASE

Requisitos Del HW y SW

 memoria RAM               Espacio en el disco               JVM
1 GB
Mínimo
2 GB
Recomendado
500 MB de espacio libre 1 GB de espacio libre J2SE 5.0
Java SE 6 
Windows 7
Sólo es compatible como plataforma para desarrolladores. 

INSTALACIÓN 

·     En esta sección, va a instalar la base de datos Oracle y crear una cuenta de usuario de inicio de Oracle.
·       Ampliar la base de datos de la carpeta que extrajo en el apartado anterior. Haga doble clic en configuración .


·         Haga clic en Sí en la ventana de Control de cuentas de usuario para continuar con la instalación.
·         La Configuración de actualizaciones de seguridad aparece la ventana. Introduzca su dirección de correo electrónico y contraseña de Mi soporte de Oracle para recibir notificaciones problema de seguridad a través de correo electrónico. Si no desea recibir notificaciones por correo electrónico, desactive la opción " Deseo recibir actualizaciones de seguridad a través de My Oracle Support ". Haga clic en Siguiente para continuar. Haga clic en " Sí " en la ventana de confirmación para confirmar su preferencia.


·         La descarga de actualizaciones de software ventana con las siguientes opciones:


Seleccione "Usar mis credenciales de soporte de Oracle para descargar" para descargar e instalar las últimas actualizaciones de software.

·        La Selección de la opción de instalación aparece la ventana con las siguientes opciones:



·         En este OBE, que crear y configurar la base de datos. Seleccione el crear y configurar una base de datos opción y haga clic en Siguiente.

·         La clase de sistema aparece la ventana. Seleccione la clase de escritorio o de la clase de servidor, dependiendo del tipo de sistema que está utilizando. En este OBE, vamos a realizar la instalación en un ordenador de sobremesa / portátil. Seleccione la clase de escritorio y haga clic en Siguiente.



·         La Selección de usuario de inicio de Oracle aparece la ventana. A partir de la base de datos Oracle 12c Release 1 (12.1), de datos Oracle en Microsoft Windows es compatible con el uso de un usuario de Oracle de acceso, mencionada en el momento de la instalación. Este usuario de inicio de Oracle se utiliza para ejecutar los servicios de Windows para un inicio de Oracle, y es similar a la del usuario de base de datos Oracle en Oracle en Linux. Este usuario se asocia con un Oracle Home y no se puede cambiar a una instalación post usuario diferente.



·         La configuración de instalación típica aparece la ventana. Haga clic en un campo de texto y luego el icono de globo ( ) para saber más sobre el campo. Tenga en cuenta que, por defecto, el instalador crea una base de datos de contenedores, junto con una base de datos conectable llamado " pdborcl ". La base de datos enchufable contiene la muestra de recursos humanos esquema. Cambiar el nombre de la base de datos global de ORCL . Introduzca la "contraseña administrativa" como Oracle_1 . Esta contraseña se utilizará más adelante para acceder a las cuentas de administrador, como SYS y SISTEMA. Haga clic en Siguiente .


·         Las comprobaciones de requisitos previos se realizan y un resumen aparece la ventana. Revise la configuración y haga clic en Instalar .
·         
·         
     Aparece la ventana de progreso.
·          
·      
·         La base de datos del asistente de configuración crea la base de datos.
·         
 
·         
·         Después de la base de datos del asistente de configuración crea la base de datos, se puede navegar a https: // localhost: 5500 / em como SYS usuario gestionar la base de datos utilizando Enterprise Manager Database Express. Puede hacer clic en "Gestión de contraseñas ..." para desbloquear las cuentas. Haga clic en OK para continuar.

·          

·         El acabado aparece la ventana. Haga clic en Cerrar para salir de Oracle Universal Installer.
·           
       


INSTALACIÓN DE MySQL

REQUERIMIENTOS 
Para ejecutar MySQL para Windows, se necesita lo siguiente:
512 Mb de memoria RAM
1 GB  de espacio de disco duro
Sistema operativo: Windows, Linux y Unix
Arquitectura del sistema 32/64 bit
Protocolo de red TCP/IP

INSTALACIÓN 


En la página web de MySQL, ve al apartado de "MySQL Community Server", que te dará acceso a las descargas del programa. Después, tienes que elegir la versión que se adapta a las características de tu equipo y de tu sistema operativo, en este caso, lo necesitamos para Windows. 


Cuando ya esté la descarga completada, en el caso de que no lo tengas aún, el instalador te avisará que necesitas descargar "Microsoft.NET Framework 4 Client Profile".


Una vez superado el paso anterior, has de elegir entre varias opciones. Dale a la de "Install MySQL Products".


Después, escoge la opción de "Developer Default" y cambia a "C:MySQL" la carpeta en la que quieres instalar el programa gestor de bases de datos.



A continuación, se te instalará MySQL junto a una serie de complementos que harán que puedas usar este programa con todas sus potencialidades.

En los siguientes pasos, tendrás unas opciones de configuración, puedes dejarlas tal como están. Eso sí, en las correspondientes a los usuarios, debes escribir una contraseña para el administrador y, si lo necesitas, añadir otros usuarios.


Después, el proceso de instalación de MySQL en Windows ya habrá terminado. Lee este artículo si quieres saber cuál es tu versión de MySQL.



  Tipos de datos
Oracle DataBase
MySQL
·         Tipo de dato CHAR(b)
Almacena cadenas de caracteres de longitud fija, desde 1 a 2.000 bytes de ocupación. El número de caracteres que se pueden almacenar se rige según la siguiente fórmula.
nº caracteres = bytes / character set
Para ASCII, el conjunto de caracteres ocupa un byte, por lo que coincide el número de caracteres máximos con la ocupación del tipo de dato. Si se introduce un valor de 10 caracteres en un campo de CHAR(100), se tendrá que rellenar con 90 posiciones restantes.

·         Tipo de dato VARCHAR2(b)
Almacena cadenas de caracteres de longitud variable. Si se define una columna de longitud 100 bytes, y se introduce en ella un valor de 10 bytes, la columna ocupará 10 y no 100 como hacía con el tipo de dato CHAR.

·         Tipo de dato VARCHAR(b)
En Oracle es equivalente a VARCHAR2, en futuras versiones permitirá distintos criterios de comparación.

·         Tipo de dato NCHAR(b)
Almacena un valor alfanumérico de longitud fija con posibilidad de cambio de juego de caracteres. Puede almacenar tanto caracteres ASCII, EBCDIC, UNICODE.

·         Tipo de dato NVARCHAR2(b)
Almacena un valor alfanumérico de longitud variable con posibilidad de cambio de juego de caracteres. Puede almacenar tanto caracteres ASCII, EBCDIC, UNICODE.

·         Tipo de dato NUMBER(p,s)
Almacena valores numéricos en punto flotante que pueden ir desde 1.0 x 10-130 hasta 9.9…(38 nueves)… 9 x 10125 . El almacenamiento interno de los valores numéricos en notación científica:
Mantisa x 10exponente
La mantisa puede contener cualquier número, entero o decimal, positivo o negativo. El exponente podrá contener cualquier número entero, positivo o negativo. El parámetro p indica la precisión (número de dígitos contando los decimales) que contendrá el número como máximo. Oracle garantiza los datos con precisiones de 1 a 38. El parámetro s indica la escala, esto es, el máximo de dígitos decimales. Hay que tener en cuenta que una columna definida NUMBER(10,5), podrá contener como máximo cualquier número siempre y cuando el número de dígitos enteros más el número de dígitos decimales no supere 10 (y no 15). La escala puede ir de -84 a 127. Para definir número enteros, se puede omitir el parámetro s o bien poner un 0 en su lugar. Se puede especificar una escala negativa, esto lo que hace es redondear el número indicado a las posiciones indicadas en la escala. Por ejemplo un número definido como NUMBER(5,-2), redondeará siempre a centenas. Así si intentamos introducir el valor 1355, en realidad se almacenará 1400.

·         Tipo de dato FLOAT(b)
Almacena un número en punto decimal sin restricción de dígitos decimales.
El parámetro b indica la precisión binaria máxima que puede moverse en el rango 1 a 126. Si se omite el defecto será 126. Una columna FLOAT(126) es equivalente a una columna NUMBER(38), aunque la diferencia está en que la columna NUMBER no podrá contener decimales y la columna FLOAT si y con cualquier escala.

·         Tipo de dato DATE
Almacena un valor de fecha y hora.
Para un tipo de dato DATE, Oracle almacena internamente los siguiente datos:
Siglo
Año
Mes
Día
Hora
Minuto
Segundo
El formato por defecto de las fechas es: 'DD-MON-YYYY' Esto es:
Dos dígitos para el día Las tres primeras siglas del mes (depende del idioma instalado). Cuatro dígitos para el año.
Por ejemplo:
'11-NOV-2011' '12-APR-1999'
Este formato puede ser alterado en cualquier momento.
Internamente una fecha se almacena como el número de días desde cierto punto de inicio (por ejemplo el año 0).
Esto permite que las fechas puedan ser tratadas en operaciones aritméticas normales:
'11-NOV-2011' + 10 = '21-NOV-2011'
'12-APR-1999' - 1 = '11-APR-1999'
'24-APR-1992' - '1-APR-1992' = 23

·         Tipos de datos binarios
Permiten almacenar información en formato “crudo”, valores binarios tal y como se almacenan en el disco duro o como residen en memoria. Estas columnas se pueden utilizar tanto para almacenar grandes cantidades de datos (hasta 4Gb.), como para almacenar directamente cualquier tipo de fichero (ejecutables, sonidos, vídeos, fotos, documentos Word, DLLs…) o para transportar datos de una base de datos a otra, ya que el formato binario es el único formato común entre cualquier sistema informático.

·         Tipo de dato LONG (Obsoleto)
Almacena caracteres de longitud variable hasta 2 Gb. Este tipo de dato se soporta para compatibilidad con versiones anteriores. En Oracle y siguientes versiones se debe usar los tipos de datos CLOB y NLOB para almacenar grandes cantidades de datos alfanuméricos.

·         Tipo de dato ROWID
Representa una dirección de la base de datos, ocupada por una única fila. El ROWID de una fila es un identificador único para una fila dentro de una base de datos. No hay dos filas con el mismo ROWID. Este tipo de dato sirve para guardar punteros a filas concretas.
Tipos numéricos: 

Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no. 

TinyInt: es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 

Bit ó Bool: un número entero que puede ser 0 ó 1 

SmallInt: número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535. 

MediumInt: número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. 

Integer, Int: número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295 

BigInt: número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. 

Float: número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38. 

xReal, Double: número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308 

Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena como una cadena 

Tipo de Campo
Tamaño de Almacenamiento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes if D > 0, M+1 bytes if D = 0


2 Tipos fecha: 

A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. 
Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia 

DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos 

TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo: 

Tamaño
Formato
14
AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
12
AñoMesDiaHoraMinutoSegundo aammddhhmmss
8
ñoMesDia aaaammdd
6
AñoMesDia aammdd
4
AñoMes aamm
2
Año aa


Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' 

Year: almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos. 

Tipo de Campo
Tamaño de Almacenamiento
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte


3 Tipos de cadena: 

Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres. 

VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres. 

Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) 

La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta. 

Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. 

TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres. 

Blob y Text: un texto con un máximo de 65535 caracteres. 

MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres. 

LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb. 

Enum: campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos 

Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores. 

Tipo de campo
Tamaño de Almacenamiento
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB, TINYTEXT
Longitud+1 bytes
BLOB, TEXT
Longitud +2 bytes
MEDIUMBLOB, MEDIUMTEXT
Longitud +3 bytes
LONGBLOB, LONGTEXT
Longitud +4 bytes
ENUM('value1','value2',...)
1 ó dos bytes dependiendo del número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores


Diferencia de almacenamiento entre los tipos Char y VarChar 

Valor
CHAR(4)
Almace
namiento
VARCHAR(4)
Almace
namiento
''
''
4 bytes
"
1 byte
'ab'
'ab '
4 bytes
'ab'
3 bytes
'abcd'
'abcd'
4 bytes
'abcd'

'abcdefgh'
'abcd'
4 bytes
'abcd'
5 bytes