Está en la página 1de 11

1.

Bases de datos

Objetivo:
Identificar y describir las distintas bases de datos.

Instrucciones:
Realiza una investigación sobre las siguientes bases de datos:
1. MySQL.
2. PostgreSQL
3. Oracle.
Tomando como base la información recabada, realiza un reporte, en el cual desarrolles
los aspectos que se describen en la rúbrica de la actividad.
1. MySQL.
2. PostgreSQL
3. Oracle.

Contenido
MySQL..............................................................................................................................................3
¿Qué es MySQL?.......................................................................................................................3
Especificaciones.......................................................................................................................3
Características...........................................................................................................................3
Tipos de datos............................................................................................................................4
Numéricos...............................................................................................................................4
Fecha........................................................................................................................................5
Cadena.....................................................................................................................................6
Motores........................................................................................................................................7
PostgreSQL....................................................................................................................................9
¿Qué es PostgreSQL?...............................................................................................................9
Características.............................................................................................................................9
Tipos de datos...........................................................................................................................10
Numéricos (Numeric Types)................................................................................................10
Caracteres.............................................................................................................................10
Fechas....................................................................................................................................10
Booleanos...............................................................................................................................11
Motores.......................................................................................................................................11
Oracle.............................................................................................................................................11
¿Qué es Oracle?.......................................................................................................................11
Especificaciones........................................................................................................................11
Características...........................................................................................................................11
Tipos de datos...........................................................................................................................11
Motores.......................................................................................................................................11
Bibliografía......................................................................................................................................11
MySQL

¿Qué es MySQL?
Desarrollado por MySQL AB en el año de 1994. Posteriormente, fue adquirido por Sun
Microsystems y finalmente la empresa MySQL AB pasó por completo a Oracle en el 2010.
Y desde entonces, pertenece a Oracle.

MySQL es un sistema de gestión de bases de datos relacionales de código abierto


(RDBMS).
Es de código abierto y puede modificarse y usarse al gusto, ya que cuenta con una
licencia GPL, establece que se hace mediante ciertas condiciones. También está
disponible una versión comercial por si se necesita soporte avanzado.

Especificaciones

El modelo de MySQL es de tipo Cliente-Servidor y utiliza bases de datos de tipo


relacional. Esto quiere decir que todos los datos están seccionados por tablas y cuando
necesita realizar una consulta, estas tablas se unen para mostrar la información necesaria
al usuario, en lugar de guardar todo como un solo archivo.

Características

1. Permite escoger múltiples motores de almacenamiento para cada tabla.


2. Agrupación de transacciones, pudiendo reunirlas de forma múltiple desde varias
conexiones con el fin de incrementar el número de transacciones por segundo.
3. Conectividad segura.
4. Ejecución de transacciones y uso de claves foráneas.
5. Disponible en casi todas las plataformas o sistemas.
6. Utiliza varias herramientas para portabilidad.
7. Tablas hash en memorias temporales
8. Uso de tablas en disco B-Tree para búsquedas rápidas con compresión de índice.
9. Soporta gran cantidad de datos, incluso con más de 50 millones de registros.
10. En las últimas versiones, se permiten hasta 64 índices por tablas. Cada índice
puede consistir desde 1 a 16 columnas o partes de columnas. El máximo ancho de
límite es de 1000 bytes.

Tipos de datos

Existen 3 grupos de datos en MySQL, los de tipo: numérico, fecha y cadenas.

Numéricos

Tipo de dato Descripción


Número entero con o sin signo. Con signo el rango de valores
TinyInt válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a
255
Bit o Bool Un número entero que puede ser 0 o 1 (Falso o Verdadero)
Número entero con o sin signo. Con signo el rango de valores va
SmallInt desde -32768 a 32767. Sin signo, el rango de valores es de 0 a
65535.
Número entero con o sin signo. Con signo el rango de valores va
MediumInt desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0
a16777215.
Número entero con o sin signo. Con signo el rango de valores va
Integer, Int desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a
429.4967.295
Número entero con o sin signo. Con signo el rango de valores va
BigInt 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.
Número pequeño en coma flotante de precisión simple. Los valores
Float válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y
desde 1.175494351E-38 a 3.402823466E+38.
Número en coma flotante de precisión doble. Los valores permitidos
van desde -1.7976931348623157E+308 a -2.2250738585072014E-
xReal, Double
308, 0 y desde 2.2250738585072014E-308 a
1.7976931348623157E+308
Decimal, Dec, Número en coma flotante desempaquetado. El número se almacena
Numeric como una cadena.
Tamaño de
Tipo de Campo
Almacenamiento
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(X) 4 u 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE 8 bytes
PRECISION
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

Fecha

Tipo de dato Descripción


Almacena una fecha. El rango de valores va desde el 1 de enero del
Date 1001 al 31 de diciembre de 9999. El formato de almacenamiento es
de año-mes-día
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
DateTime diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El
formato de almacenamiento es de
año-mes-día horas:minutos:segundos
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:

TimeStamp Tamañ Formato


o
14 AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
12 AñoMesDiaHoraMinutoSegundo aammddhhmmss
8 AñoMesDia aaaammdd
6 AñoMesDia aammdd
4 AñoMes aamm
2 Año aa
Almacena una hora. El rango de horas va desde -838 horas, 59
Time minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato
de almacenamiento es de 'HH:MM:SS'
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.
Year Tamaño Formato
DATE 3 bytes
DATETIME 8 bytes
TIMESTAM
4 bytes
P
TIME 3 bytes
YEAR 1 byte
DATE 3 bytes

Cadena

Tipo de dato Descripción


Almacena una cadena de longitud fija. La cadena podrá contener
Char(n)
desde 0 a 255 caracteres.
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 tipos Test y los tipos BLOB (Binary large Object)

VarChar(n) 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 Columna con una longitud máxima de 255 caracteres.
TinyBlob
Blob y Text Un texto con un máximo de 65535 caracteres.
MediumBlob y Un texto con un máximo de 16.777.215 caracteres.
MediumText
Un texto con un máximo de caracteres 4.294.967.295. Hay que tener
LongBlob y
en cuenta que debido a los protocolos de comunicación los paquetes
LongText
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
Un campo que puede contener ninguno, uno o 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
Set BLOB, TEXT Longitud +2 bytes
MEDIUMBLOB, MEDIUMTEXT Longitud +3 bytes
LONGBLOB, LONGTEXT Longitud +4 bytes
1 o dos bytes dependiendo del
ENUM ('value1','value2’, ...)
número de valores
1, 2, 3, 4 o 8 bytes, dependiendo del
SET ('value1','value2’...)
número de valores

Motores

Un motor de almacenamiento es el encargado de almacenar, gestionar y recuperar toda la


información de una tabla. Es importante conocer la existencia de estos motores, cuáles son sus
principales diferencias y en qué casos es bueno utilizar uno u otro, de esta forma que podamos
garantizar un mejor performance en nuestras aplicaciones.

Se compara el tipo de motor a utilizar en base a estas características

Bloqueo de datos: la forma en la que el motor protege un dato que está siendo modificado para
evitar problemas de acceso concurrente a los datos y mantener la integridad referencial.

Indexado: las diferentes técnicas de indexado pueden influir en el rendimiento de una base de
datos.

Transacciones: Brinda fiabilidad a los datos mientras se realizan operaciones, te permite utilizar
los datos, pero sólo te permite guardarlos cuando se comprueba que las otras condiciones que
pudiesen requerirse se han cumplido.

Motor Descripción
MyISAM 1. Límite de 2^32 registros
2. Máximo de 64 índices por tabla
3. Máximo de 16 columnas por índice
4. Los datos son independientes de la máquina y el sistema operativo
5. Permite campos índices como NULL
6. BLOB3 y TEXT pueden ser índices
7. Permite un gran tamaño en las tablas (hasta 256TB)
8. No soporta transacciones
9. Bloquea los datos a nivel de tabla
10. No permite “claves ajenas”
1. Límite de 2^32 registros
2. Las tablas “base” deben ser MyISAM
3. Bloqueo a nivel de tabla
4. No tiene índices, usa los de las tablas “base” (salvo FULLTEXT)
5. La lectura es más lenta al tener que ir consultando la clave en cada
MERGE
una de las tablas subyacentes
6. No permite REPLACE
7. No soporta transacciones
8. En su creación no comprueba que las tablas que usa existan y
tengan una estructura idéntica
1. Bloquea los datos a nivel de tabla
2. Puede usar índices HASH
MEMORY
3. No soporta BLOB ni TEXT
(HEAP)
4. No soporta transacciones
5. Resulta extremadamente fácil perder los datos
1. Permite acceso a BBDD remotas
2. MySQL no instala este motor por defecto
FEDERATED 3. No soporta transacciones
4. No contempla el bloqueo de datos
5. No permite ALTER
1. Gran compresión de los datos
2. Sólo permite INSERTS y SELECTS
ARCHIVE 3. Bloquea los datos a nivel de registro
4. Almacena los datos en un buffer hasta que los comprime e inserta
5. No soporta transacciones
1. Útil para exportar e importar datos
CSV
2. No soporta indexación ni transacciones
1. Proporciona alta disponibilidad mediante redundancia.
2. Proporciona alto rendimiento mediante fragmentación de datos
sobre los
NDB 3. grupos de nodos.
4. Proporciona alta escalabilidad mediante la combinación de las dos
5. características anteriores.
6. Los datos se guardan en memoria, pero los logs van a disco.
1. ACID compliant
2. Permite claves ajenas y transacciones, soporte de integridad
referencial
3. Bloqueo de datos a nivel de registro y no bloquea la lectura durante
los selects (mejora la concurrencia)
4. Sistema de recuperación de caídas
InnoDB 5. Cambiar la ubicación de la base de datos/tabla es complicado
6. Una tabla no puede tener más de 1000 columnas
7. El tamaño de sus logs debe ser inferior a 4GB
8. El tamaño máximo para una tabla es de 64TB
9. No permite índices de FULLTEXT
10. No mantiene una contador interno de registros (select count(*) from
tabla lento al tener recorrer todo el índice)
1. Cumple ACID
2. Permite recuperación de estados / datos en caso de caídas
3. Permite una alta concurrencia (bloqueo a nivel de registro)
FALCON
4. Caché de datos muy rápida y potente
5. Incluye tablas para la monitorización de rendimiento y errores
6. Permite una configuración simple

PostgreSQL

¿Qué es PostgreSQL?

PostgreSQL, o simplemente Postgres para darle un nombre más sencillo, es un sistema


de código abierto de administración de bases de datos del tipo relacional, aunque también
es posible ejecutar consultas que sean no relaciones. En este sistema, las consultas
relacionales se basan en SQL, mientras que las no relacionales hacen uso de JSON.

Características
Código abierto: Es un sistema de código abierto. Una gran comunidad de
desarrolladores crece para respaldarlo y continuar mejorándolo. Gracias a todo el apoyo
con el que cuenta ha logrado transformarse en uno de los mejores gestores de bases de
datos a nivel mundial.
Es gratuito: Es totalmente gratis, no tenemos que pagar nada por utilizarlo. Cualquier
persona es libre de descargar PostgreSQL desde su sitio web oficial y darle uso sin
ningún costo.
Es multiplataforma: S se trata de software multiplataforma, puede correr bajo distintos
entornos y sistemas operativos, y es compatible con muchos de los servidores web más
populares como Apache, Nginx y LiteSpeed entre otros.
Fácil de usar: Su administración se vuelve muy sencilla por medio de paneles con
PgAdmin, que básicamente viene a ser un phpMyAdmin orientado para PostgreSQL. La
posibilidad de realizar diversos procedimientos en forma sencilla hace que PgAdmin sea
ampliamente utilizado, aunque también permite realizar tareas más complejas, así que
tanto novatos como usuarios expertos hacen uso de él.
Maneja un gran volumen de datos: una característica extremadamente importante de
PostgreSQL es su gran capacidad para el manejo de grandes volúmenes de datos, algo
en lo que otros sistemas como MySQL aún no hacen tan bien. Las bases de datos de
gran tamaño pueden hacer pleno uso del MVCC de PostgreSQL, resultando en un gran
rendimiento. MVCC es un método de control que nos permite realizar tareas de escritura y
lectura simultáneamente.
Soporte total de ACID: ¿Qué es ACID? atomicity, consistency, isolation y durability, que
(atomicidad, consistencia, aislamiento y durabilidad) de las transacciones que se realizan
en una base de datos. Si se produce una falla durante una transacción, los datos no se
perderán ni terminarán donde no deban.

Tipos de datos
Dispone de gran variedad de Data Types (tipos de datos) nativos en PostgreSQL que
pueden utilizarse para almacenar valores.
Numéricos (Numeric Types)
Números enteros: disponemos tres data type dependiendo del rango de números que
vayamos a almacenar. El tipo de datos más típico es el integer, más conocido como int.
Números decimales: Dispone de cuatros tipos de este fragmento según los decimales
que queramos establecer.
Seriales: Depende de la longitud de registros que vayamos a tener en nuestra tabla
podemos utilizar tres tipos de seriales, éstos son valores autoincremental.

Caracteres
Tenemos dos tipos de longitud fija, character varying(n) y character(n), más utilizados
como varchar(n) y char(n) respectivamente. El otro tipo para almacenar cadenas es el
text, éste último permite contener cadenas de longitud ilimitada.

Fechas
PostgreSQL permite separar la fecha y la hora principalmente en dos tipos, date Type
para sólo la fecha y time Type para sólo la hora. También podemos obtener la fecha y la
hora a la vez en un único tipo, con o sin la zona horaria este tipo es llamado timestamp.
Disponemos de un tipo interval con el que podemos establecer un intervalo temporal.

Booleanos
Este tipo de dato es utilizado para evaluar un estado en verdadero o falso según la
condición que necesitamos. El resultado de estas operaciones da lugar a un estado u otro
de un boolean type.

Motores
PostgreSQL sólo trae un motor de almacenamiento y soporta integridad referencial y
transacciones. Tanto InnoDB de MySQL como PostgreSQL son totalmente compatibles
con ACID, por lo que realmente no hay diferencia entre las plataformas.

Oracle
¿Qué es Oracle?
Dalskjdaklsdlsjdklajklsd

Especificaciones
Djkahsdjhsjkdhjksdhjdka

Características
Sdahsdklajsdlkajslkdjslkdjasl

Tipos de datos
Kjahskdjahsds

Motores
Aksjdhjksdhasjkshjkhasdjksda

Bibliografía
B., G. (03 de Diciembre de 2020). Hostinger Tutoriales. Obtenido de ¿Qué es MySQL?
Explicación detallada para principiantes: https://www.hostinger.mx/tutoriales/que-
es-mysql/
Código facilito. (s.f.). Código facilito. Obtenido de Motores de almacenamiento en MySQL:
https://codigofacilito.com/articulos/motores-mysql
Cuenca, C. L. (05 de Febrero de 2003). Desarrollo web. Obtenido de Tipos de Datos de
Mysql: https://desarrolloweb.com/articulos/1054.php
HostingPedia. (24 de Enero de 2019). HostingPedia. Obtenido de MySQL:
https://hostingpedia.net/mysql.html
Kinsta. (27 de Mayo de 2019). Kinsta. Obtenido de ¿Qué Es MySQL? Una Explicación
para Principiantes: https://kinsta.com/es/base-de-conocimiento/que-es-mysql/

También podría gustarte