Está en la página 1de 11

Base de datos: se llama así a un conjunto de información almacenada en memoria

auxiliar que permite acceso directo y un conjunto de programas que manipulan esos
datos.
Base de datos relacional: es una base de datos que cumple con el modelo relacional,
en el cual el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos). Esto tiene la considerable ventaja de que es más fácil de
entender y de utilizar para un usuario esporádico de la base de datos. La información
puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia
flexibilidad y poder para administrar la información.

Elementos de una base de datos

Los principales elementos de una base de datos son los siguientes:

 Tablas – Es el elemento principal de la base de datos, ya que allí se registra la


información que se quiere gestionar. Está compuesta, como si se tratase de una
planilla de cálculo, por filas y columnas. Cada archivo de una base de datos
puede contener tantas tablas como se requiera.
 Formularios – La información dentro de la base de datos puede introducirse
directamente en las tablas, pero también a través de un formulario – lo que
resulta más cómodo y práctico –. Loa formularios hacen que se más fácil
arrastrar los datos.
 Consultas – es el elemento que se emplea para seleccionar una determinada
información del interior de la base de datos. La consulta, de esta manera,
permite establecer criterios de búsqueda para que Access seleccione, dentro de
las tablas, aquellos datos que se quieren conocer.
 Informas – Se utilizan para que la información aparezca ordenada y bien
presentada en el momento de la impresión del documento. Gracias a los
informes, el usuario puede seleccionar que información, de la que se registró en
las tablas de una base de datos, desea imprimir y con qué formato.
Mysql.

Es un sistema de gestión de base de datos relacional (RDBMS) de código abierto,


basado en lenguaje de consulta estructurado (SQL).

MySQL se ejecuta en prácticamente todas las plataformas, incluyendo Linux, UNIX y


Windows. A pesar de que se puede utilizar en una amplia gama de aplicaciones, MySQL
se asocia más con las aplicaciones basadas en la web y la publicación en línea y es un
componente importante de una pila empresarial de código abierto llamado LAMP. LAMP
es una plataforma de desarrollo web que utiliza Linux como sistema operativo, Apache
como servidor web, MySQL como sistema de gestión de base de datos relacional y PHP
como lenguaje de programación orientado a objetos (a veces, Perl o Python se utiliza
en lugar de PHP).

Tipos de tablas usadas por mysql

 ISAM: es el formato de almacenaje más antiguo, y posiblemente podría


desaparecer en futuras versiones. Presentaba limitaciones importantes como la
no exportación de ficheros entre máquinas de distintas arquitecturas o que no
podía usar mayores de 4 GigaBytes.
 MYISAM: es el tipo de tabla por defecto en MySQL desde la versión 3.23.
Optimizada para sistemas operativos de 64 bits, permite ficheros de tamaños
mayores que las ISAM. Los datos se almacenan en un formato independiente,
lo que permite pasar tablas entre distintas plataformas. Los índices se
almacenan en un archivo con la extensión”.MYI” y los datos en otro archivo con
extensión “.MYD”. Ofrece la posibilidad de indexar campos BLOB y TEXT.
Además este tipo de tablas soportan el tipo de dato VARCHAR.

Un inconveniente es que las tablas pueden llegar a corromperse, almacenando datos


incorrectos. Esto puede ser causado por:

– El proceso mysqld haya sido eliminado en el transcurso de una escritura

– problemas de hardware.

– Una caída del sistema durante su utilización.


– Un gusano en el código Mysql o MyISAM.

 INNODB: InnoDB provee a MySQL con el soporte para trabajar con


transacciones, además de hacer un mejor bloqueo de registros para las
instrucciones SELECT muy parecido al usado por Oracle, con lo que incrementa
el rendimiento y la concurrencia en ambientes multiusuario, por otro lado,
InnoDB es el único formato que tiene MySQL para soportar llaves foráneas
(FOREING KEY). Además de todo lo comentado, InnoDB ofrece unos
rendimientos superiores a la anterior tecnología de tablas de MySQL (MyISAM).

InnoDB es un motor de bases de datos muy completo que ha sido integrado dentro de
MySQL.

Otras de sus caractéristicas són:

– Recuperación automática ante fallas. Si MySQL se da de baja de una forma anormal,


InnoDB automáticamente completará las transacciones que quedaron incompletas.

– Integridad referencial. Ahora se pueden definir llaves foráneas entre tablas InnoDB
relacionadas para asegurarse de que un registro no puede ser eliminado de una tabla
si aún está siendo referenciado por otra tabla.

– Bloqueo a nivel de filas. Al usar tablas MyISAM, y tener consultas muy grandes que
requieren de mucho tiempo, simplemente no se podían ejecutar más consultas hasta
que terminarán las consultas que estaban en ejecución. En cambio, las tablas InnoDB
usan bloqueo a nivel de filas para mejorar de manera impresionante el rendimiento.

– SELECTs sin bloqueo. El motor InnoDB usa una técnica conocida como multi-
versioning (similar a PostgreSQL) que elimina la necesidad de hacer bloqueos en
consultas SELECT muy simples. Ya no será necesario molestarse porque una simple
consulta de sólo lectura está siendo bloqueada por otra consulta que está haciendo
cambios en una misma tabla.

 HEAP: Tablas en memoria. Son temporales y desaparecen cuando el servidor


se cierra, a diferencia de una tabla TEMPORARY, que solo puede ser accedida
por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos
usuarios. No soportan columnas de autoincremento ni que haya valores nulos
en los índices. Los datos son almacenados en pequeños bloques.
 BDB: Base de datos Berkeley. TST(Transactions safe tables). Solo en MySQL
 MAX: Este tipo de tablas permite la realización de transacciones (a partir de la
versión 3.23.34), por lo que es posible la recuperación de datos (COMMIT y
ROLLBACK). Estas tablas necesitan de una clave primaria en cada tabla, que
ha de crear el administrador o de lo contrario Mysql creará una oculta. Otra de
sus características es que pueden ser bloqueadas con el comando LOCK. Estas
tablas són almacenadas en archivos “.DB”.
 El TST: ‘Transactions safe tables’, o tablas para transacciones seguras. Son
menos rápidas y ocupan más memoria, pero a cambio ofrecen mayor seguridad
frente a fallos durante la consulta. Las tablas TST permiten ir introduciendo
consultas y finalizar con un COMMIT (que las ejecuta) o ROLLBACK (que ignora
los cambios). Disponbles a partir de la versión 4 de MySQL.

Los campos de las tablas MySQL nos dan la posibilidad de elegir entre tres grandes
tipos de contenidos:

 Datos numéricos,
 Datos para guardar cadenas de caracteres (alfanuméricos) y
 Datos para almacenar fechas y horas.

MySQL permite definir diferentes usuarios, y además, asignar a cada uno


determinados privilegios en distintos niveles o categorías de ellos.

En MySQL existen cinco niveles distintos de privilegios:

 Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es


el nivel más alto de privilegio, en el sentido de que su ámbito es el más general.
 De base de datos: se refieren a bases de datos individuales, y por extensión, a
todos los objetos que contiene cada base de datos.
 De tabla: se aplican a tablas individuales, y por lo tanto, a todas las columnas
de esas tabla.
 De columna: se aplican a una columna en una tabla concreta.
 De rutina: se aplican a los procedimientos almacenados. Aún no hemos visto
nada sobre este tema, pero en MySQL se pueden almacenar procedimientos
consistentes en varias consultas SQL.

En MySQL 5.0, usando el motor de almacenamiento MyISAM , el máximo tamaño de


las tablas es de 65536 terabytes (256 ^ 7 - 1 bytes).

PostgreSQL

Es un potente sistema de base de datos objeto-relacional de código abierto. Cuenta con


más de 15 años de desarrollo activo y una arquitectura probada que se ha ganado una
sólida reputación de fiabilidad e integridad de datos. Se ejecuta en los principales
sistemas operativos que existen en la actualidad como:

 Linux
 UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64)
 Windows

PostgreSQL aparte de las tablas de datos que son las más comunes y que se
encuentran en otros manejadores y motores de bases de datos también ofrece tipos de
tablas exclusivos y únicos, como lo son las tablas temporales, las tablas unlogged, las
tablas heredadas y las tablas tipadas.

 Tablas Heredadas: De momento solo soportadas por PostgreSQL, este tipo de


tablas nos permite heredar todas las columnas de la tabla padre además de
poder crear columnas propias en la tabla hija, todos los cambios que se hagan
en la tabla padre serán trasladadas a las tablas hijas, lo único que no se hereda
son las llaves primarias y las llaves foráneas, cuando hacemos una consulta
contra el padre también nos incluirá las columnas de los hijos.
 Tablas Unlogged: Este tipo de tablas se crean cuando necesitamos mucha
velocidad de escritura y que los datos que se almacenan en dicha tabla no sean
de vital importancia, ya que este tipo cuando hay una falla del motor no se
restaura sino que se hace un truncate de la tabla; la mayor ventaja que tiene es
que posee 15 veces más velocidad de escritura que los otros tipos de tablas.
 Tablas Tipadas: Este tipo de tablas obtiene su estructura de un tipo de datos
compuesto, con lo que podemos ahorrar tiempo al momento de generarlas, la
desventaja es que no podemos luego agregar columnas adicionales de la
manera tradicional. La ventaja es que si tenemos muchas tablas con este tipo
podemos cambiar la estructura y esto se propagará a todas las tablas.

PostgreSQL implementa los objetos como tuplas y las clases como tablas. Aunque
también es posible definir nuevos tipos de datos mediante los mecanismos de
extensión.

Dado que las tablas son clases, pueden definirse como herencia de otras. Las tablas
derivadas son polimorfas y heredan todos los atributos (columnas) de la tabla padre
(incluida su clave primaria). Si no se manejan con precaución, las tablas polimorfas
pueden conducir a errores de integridad al duplicar claves primarias.

PostgreSQL soporta algunas extensiones del lenguaje SQL para crear y gestionar este
tipo de tablas.

En PostgreSQL no existen los usuarios y los grupos como tal, sino que tenemos roles.

El tamaño máximo de la base de datos es prácticamente ilimitados.


Oracle

Es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Es


un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado
precio hacen que sólo se vea en empresas muy grandes y multinacionales, por norma
general. 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) y posteriormente podríamos atacar a la base de datos desde otros equipos
con 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.

Para obtener datos de una o varias tablas en Oracle, ya sea columnas, tipos de dato,
comentarios, largo máximo, etc. se pueden consultar a las siguientes tablas de sistema:

 ALL_TABLES : para obtener datos de las tablas.


 ALL_TAB_COLUMNS : para obtener datos de las columnas.
 ALL_COL_COMMENTS : para obtener los comentarios ingresados a las
columnas

Particionado de Tablas en Oracle

Básicamente, el particionado se realiza utilizando una clave de particionado (partitioning


key), que determina en que partición de las existentes en la tabla van a residir los datos
que se insertan. Oracle también permite realizar el particionado de índices y de tablas
organizadas por índices. Cada partición además puede tener sus propias propiedades
de almacenamiento. Las tablas particionadas aparecen en el sistema como una única
tabla, realizando el sistema la gestión automática de lectura y escritura en cada una de
las particiones (excepto para el caso de la partición de Sistema introducida en la versión
11g). La definición de las particiones se indica en la sentencia de creación de las tablas,
con la sintaxis oportuna para cada uno de los tipos.
 Particionado Range: la clave de particionado viene determinada por un rango
de valores, que determina la partición donde se almacenara un valor.
 Particionado Hash: la clave de particionado es una función hash, aplicada
sobre una columna, que tiene como objetivo realizar una distribución equitativa
de los registros sobre las diferentes particiones. Es útil para particionar tablas
donde no hay unos criterios de particionado claros, pero en la que se quiere
mejor el rendimiento.
 Particionado List: la clave de particionado es una lista de valores, que
determina cada una de las particiones.
 Particionado Composite: los particionados anteriores eran del tipo simples
(single o one-level), pues utilizamos un único método de particionado sobre una
o más columnas. Oracle nos permite utilizar métodos de particionado
compuestos, utilizando un primer particionado de un tipo determinado, y luego
para cada partición, realizar un segundo nivel de particionado utilizando otro
método. Las combinaciones son las siguientes (se han ido ampliando conforme
han ido avanzando las versiones): range-hash, range-list, range-range, list-
range, list-list, list-hash y hash-hash (introducido en la versión 11g).
 Particionado Interval: tipo de particionado introducido igualmente en la versión
11g. En lugar de indicar los rangos de valores que van a determinar como se
realiza el particionado, el sistema automáticamente creara las particiones
cuando se inserte un nuevo registro en la b.d. Las técnicas de este tipo
disponible son Interval, Interval List, Interval Range e Interval Hash (por lo que
el particionado Interval es complementario a las técnicas de particionado vistas
anteriormente).
 Particionado System: se define la tabla particionada indicando las particiones
deseadas, pero no se indica una clave de particionamiento. En este tipo de
particionado, se delega la gestión del particionado a las aplicaciones que utilicen
la base de datos (por ejemplo, en las sentencias sql de inserción deberemos de
indicar en que partición insertamos los datos).

Un tipo de objeto es un tipo de dato compuesto definido por el usuario que encapsula
una estructura de datos junto con las funciones y procedimientos necesarios para
manipular los datos. Las variables que forman la estructura de datos se llaman atributos.
Las funciones y procedimientos que caracterizan el comportamiento del tipo de objeto
se conocen como métodos. Un tipo especial de método llamado constructor crea una
nueva instancia del tipo de objeto y rellena sus atributos.

Los tipos de objetos deben crearse a través de SQL y almacenarse en una Base de
Datos Oracle, donde pueden ser compartidos por muchos programas. Cuando se define
un tipo de objeto mediante la sentencia CREATE TYPE, se crea una plantilla abstracta
para algún objeto del mundo real. La plantilla especifica los atributos y comportamientos
que el objeto necesita en el entorno de la aplicación.

Cabe destacar que la estructura de datos formada por el conjunto de atributos es


pública, y por lo tanto visible para los programas clientes. Sin embargo, en programas
bien diseñados, estos atributos no son manipulados directamente. En su lugar, se utiliza
el conjunto de métodos proporcionados, de modo que los datos se mantienen en un
estado adecuado.

A los usuarios de Oracle se les puede asignar la configuración referida a:

 Nombre de usuario. No puede repetirse y como máximo debe tener 30


caracteres que sólo podrán contener letras del alfabeto inglés, números, el signo
dólar y el signo de guion bajo (_). Además el nombre no puede comenzar con
un número.
 Configuración física. Se refiere al espacio asociado al usuario para almacenar
sus datos (lo que Oracle llama tablespace) y la cuota (límite de almacenamiento)
que se le asigna a dicho usuario y mediante la que se establece el espacio
máximo que el usuario puede gastar en el tablespace.
 Perfil asociado. El perfil del usuario indica los recursos y configuración que
tomará el usuario al sistema
 Privilegios y roles. Permiten especificar los permisos que posee el usuario.

El tamaño de una base de datos Oracle depende de un número de factores. Además


de la información, existen archivos temporales y esenciales de control que contienen la
estructura de la base de datos. Todos estos son esenciales para el buen
funcionamiento.
Conclusión:

En conclusión me parece que PostgreSQL podría ser el mejor para usarse en una
empresa comercial ya que es una base de datos de clase empresarial, con
características avanzadas tales como Multi-Version Control de concurrencia (MVCC),
puntos en tiempo de recuperación, tablespaces, replicación asincrónica, transacciones
anidadas (savepoints), respaldos online/hot, un sofisticado query planner/optimizer.
Soporta el conjunto de caracteres internacional, codificaciones de caracteres multibyte,
Unicode, mayúsculas y minúsculas.

Es altamente escalable, tanto en la enorme cantidad de datos que puede manejar y en


el número de usuarios concurrentes que puede administrar. Hay sistemas activos en
PostgreSQL en entornos de producción que manejan más de 4 terabytes de datos.

Sus características son:

Tamaño máximo de la Base de datos Ilimitado


Tamaño máximo de tablas 32 TB
Tamaño máximo de la fila 1.6 TB
Tamaño máximo para cada campo 1 GB
Máximo de filas por tabla Ilimitado
Máximo de columnas por tabla 250-1600 dependiendo del tipo de
columna
Máximo de índices por tabla Ilimitado
Es altamente personalizable ya que puedes escribir procedimientos almacenados en
más de una docena de lenguajes como: Java, Perl, Python, Ruby, Tcl, C / C ++ y PL /
pgSQL (que es similar a PL / SQL de Oracle)

Lo mejor de todo, el código fuente está disponible bajo una licencia de código abierto:
la licencia de PostgreSQL. Esta licencia le da la libertad para usar, modificar y distribuirlo
en cualquier forma que guste ya sea de código abierto o cerrado. Como tal, PostgreSQL
no es sólo un sistema de base de datos de gran alcance capaz de usarse en las
empresas, es todo una plataforma de desarrollo sobre la cual puedes desarrollar todo
tipo de software que requiere un RDBMS de grandes capacidades.
Bibliografía

Base de datos, Amira J. Köllrich, consultado el 07/05/19 en línea:

https://www.monografias.com/trabajos81/db-base-de-datos/db-base-de-datos.shtml

TIPOS DE TABLAS USADAS POR MYSQL, BLOGUNEWEB, consultado el 07/05/19


en línea:

https://tecnologiaenvivo.com/tipos-de-tablas-usadas-por-mysql/

MySQL, Margaret Rouse, consultado el 07/05/19 en línea:

https://searchdatacenter.techtarget.com/es/definicion/MySQL

MySQL con Clase, consultado el 07/05/19 en línea:

http://mysql.conclase.net/curso/?cap=013

Tipos de datos en MySQL para una base de datos SQL, Hugo Delgado, consultado el
07/05/19 en línea:

https://disenowebakus.net/tipos-de-datos-mysql.php

PostgreSQL – Tablas, consultado el 07/05/19 en línea:

https://www.solvetic.com/tutoriales/article/339-postgresql-tablas/

2.8. PostgreSQL y la orientacion a objetos, consultado el 07/05/19 en línea:

http://www.dataprix.com/28-postgresql-orientacion-objetos

Como crear usuarios en PostgreSQL, consultado el 07/05/19 en línea:

https://todopostgresql.com/crear-usuarios-en-postgresql/

Qué es Oracle, David Masip. Consultado el 07/05/19 en línea:

https://desarrolloweb.com/articulos/840.php

Tipos de Objetos de Oracle, consultado el 07/05/19 en línea:

https://magicplsql.blogspot.com/2016/12/tipos-de-objetos-de-oracle.html

También podría gustarte