12
1.- Realiza una investigación sobre las siguientes bases de datos: a.- Mysql Es un sistema de gestión de bases de datos relacional, fue creada por la empresa sueca MYSQL AB, la cual tiene el copyright del código fuente del servidor SQL, así como también de la marca. MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único en que se diferencia de la versión libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulneraria la licencia GPL. El lenguaje de programación que utiliza MySQL es Structured Query Languaje (SQL) que fue desarrollado por IBM en 1981 y desde entonces es utilizado de forma generalizada en las bases de datos relacionales. MySQL surgió alrededor de la década del 90, Michael Windenis comenzó a usar mSQL para conectar tablas usando sus propias rutinas de bajo nivel (ISAM). Tras unas primeras pruebas, llego a la conclusión de que mSQL no era lo bastante flexible ni rápido para lo que necesitaba, por lo que tuvo que desarrollar nuevas funciones. Esto resulto en una interfaz SQL a su base de datos, totalmente compatible a mSQL. b.- PostgreSQL PostgreSQL es un gestor de bases de datos orientadas a objetos (SGBDOO o ORDBMS en sus siglas en inglés) muy conocido y usado en entornos de software libre porque cumple los estándares SQL92 y SQL99, y también por el conjunto de funcionalidades avanzadas que soporta, lo que lo sitúa al mismo o a un mejor nivel que muchos SGBD comerciales. El origen de PostgreSQL se sitúa en el gestor de bases de datos POSTGRES desarrollado en la universidad de Berkeley y que se abandonó en favor de PostgreSQL a partir de 1994. Ya entonces, contaba con prestaciones que lo hacían único en el mercado y que otros gestores de bases de datos comerciales han ido añadiendo durante este tiempo.

Tipos de Bases de Datos

Embed Size (px)

Citation preview

Page 1: Tipos de Bases de Datos

1.- Realiza una investigación sobre las siguientes bases de datos:

a.- Mysql

Es un sistema de gestión de bases de datos relacional, fue creada por la empresa sueca

MYSQL AB, la cual tiene el copyright del código fuente del servidor SQL, así como

también de la marca.

MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque

MySQL AB distribuye una versión comercial, en lo único en que se diferencia de la versión

libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un

software propietario, ya que de otra manera, se vulneraria la licencia GPL.

El lenguaje de programación que utiliza MySQL es Structured Query Languaje (SQL) que

fue desarrollado por IBM en 1981 y desde entonces es utilizado de forma generalizada en

las bases de datos relacionales.

MySQL surgió alrededor de la década del 90, Michael Windenis comenzó a usar mSQL

para conectar tablas usando sus propias rutinas de bajo nivel (ISAM). Tras unas primeras

pruebas, llego a la conclusión de que mSQL no era lo bastante flexible ni rápido para lo

que necesitaba, por lo que tuvo que desarrollar nuevas funciones. Esto resulto en una

interfaz SQL a su base de datos, totalmente compatible a mSQL.

b.- PostgreSQL

PostgreSQL es un gestor de bases de datos orientadas a objetos (SGBDOO o ORDBMS

en sus siglas en inglés) muy conocido y usado en entornos de software libre porque

cumple los estándares SQL92 y SQL99, y también por el conjunto de funcionalidades

avanzadas que soporta, lo que lo sitúa al mismo o a un mejor nivel que muchos SGBD

comerciales.

El origen de PostgreSQL se sitúa en el gestor de bases de datos POSTGRES

desarrollado en la universidad de Berkeley y que se abandonó en favor de PostgreSQL a

partir de 1994. Ya entonces, contaba con prestaciones que lo hacían único en el mercado

y que otros gestores de bases de datos comerciales han ido añadiendo durante este

tiempo.

Page 2: Tipos de Bases de Datos

PostgreSQL se distribuye bajo licencia BSD, lo que permite su uso, redistribución,

modificación con la única restricción de mantener el copyright del software a sus autores,

en concreto el PostgreSQL Global Development Group y la universidad de California.

PostgreSQL puede funcionar en múltiples plataformas (en general, en todas las modernas

basadas en Unix) y, a partir de la próxima versión 8.0 (actualmente en su segunda beta),

también en Windows de forma nativa. Para las versiones anteriores existen versiones

binarias para este sistema operativo, pero no tienen respaldo oficial.

La historia de PostgreSQL se inicia en 1986 con un proyecto del profesor Michael

Stonebraker y un equipo de desarrolladores de la universidad Berkeley (california), cuyo

nombre era POSTGRES. En su diseño se incluyeron algunos conceptos avanzados en

bases de datos y soporte parcial a la orientación a objetos.

POSTGRES fue comercializado por illustra, una empresa que posteriormente formo parte

de Informix (que comercializaba el conocido SGBD del mismo nombre, recientemente

absorbida por IBM y su DB/2). Llego un momento en que mantener el proyecto absorbía

demasiado tiempo a los investigadores y académicos, por lo que en 1993 se liberó la

versión 4.5 y oficialmente se dio por terminado el proyecto.

En 1994, Andrew Yu y Jolly Chen incluyeron SQL en Postgres para posteriormente liberar

su código en la web con el nombre de Postgres95. El proyecto incluía múltiples cambios

al código original que mejoraban su rendimiento y legibilidad.

En 1996 el nombre cambio a PostgreSQL retomando la secuencia original de versiones,

por lo que se liberó la versión 6.0. En el año 2004 la última versión estable oficial es la

7.4.6, mientras que la versión 8.0 está ya en fase final de estabilización.

c.- Oracle

Oracle la primera base de datos diseñada para Grid Computing, es un sistema de gestión

de base de datos relacional fabricado por Oracle Corporation.

Oracle es básicamente una herramienta cliente/servidor para la gestión de base de datos

la gran potencia que tiene y su elevado precio hace que solo se vea en empresas muy

grandes y multinacionales, por norma general.

Page 3: Tipos de Bases de Datos

Oracle Corporation es una de las mayores compañías de software del mundo. Sus

productos van desde bases de datos (Oracle) hasta sistema de gestión. Cuenta además,

con herramientas propias de desarrollo para realizar potentes aplicaciones, como Oracle

Designer.

Oracle es un DBMS (Database Management System, por sus siglas en inglés) poderoso y

robusto que funciona en muchos sistemas operativos diferentes, incluyendo Windows 98,

Windows 2000, diversas variantes de UNIX, diferentes sistemas operativos de macro

computadoras, y Linux. Este es el DBMS más popular del mundo y tiene una larga historia

de desarrollo y uso. Oracle muestra al programador mucha de su tecnología y

consecuentemente puede afinarse y ajustarse de diversas maneras.

Existen muchas configuraciones de la serie Oracle. Para empezar, hay dos versiones

diferentes del motor DBMS de Oracle: Oracle personal y Oracle empresarial. Además,

existen formas y reportes y también el diseñador Oracle, así como un sistema central de

herramientas para la publicación de las bases de datos de Oracle en la Web. (Kroenke,

2003, pág. 329)

2.- Describe los componentes y características principales de las bases de datos.

a.- Características principales de Mysql

Está escrito en C/C++ y probado con numerosos compiladores.

Funciona en muchos sistemas operativos.

La API se encuentra disponible en C/C++, Java, Perl, Python, Ruby y TCL.

Esta optimizado para equipos de múltiples procesadores.

Es muy destacable su velocidad de respuesta.

Se puede utilizar como cliente-servidor o incrustado en aplicaciones.

Cuenta con un rico conjunto de tipos de datos.

Soporta múltiples métodos de almacenamiento de las tablas, con prestaciones y

rendimiento diferentes para poder optimizar el SGBD a cada caso concreto.

Su administración se basa en usuarios y privilegios.

Se tiene constancia de casos en los que maneja cincuenta millones de registros,

sesenta mil tablas y cinco millones de columnas.

Sus opciones de conectividad abarcan TCP/IP, sockets UNIX y sockets NT,

además de soportar completamente ODBC.

Page 4: Tipos de Bases de Datos

Los mensajes de error pueden estar en español y hacer ordenaciones correctas

con palabras acentuadas o con la letra ¨ñ¨ y en distintas lenguas.

Es altamente confiable en cuanto a estabilidad se refiere.

Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y

sistemas operativos.

Cada base de datos cuenta con 3 archivos: Uno de estructura, uno de datos y uno

de índice y soporta hasta 32 índices por tabla.

Aprovecha la potencia de sistemas multiproceso, gracias a su implementación

multihilo.

Flexible sistema de contraseñas (passwords) y gestión de usuarios, con un muy

buen nivel de seguridad en los datos. (Thibaud, 2006, pág. 10)

b.- Características principales de PostgreSQL.

Esta desarrollado en C, con herramientas como Yacc y Lex.

La API de acceso al SGBD se encuentra disponible en C, C++, Java, Perl, PHP,

Python y TLC, entre otros.

Cuenta con un rico conjunto de tipos de datos, permitiendo además su extensión

mediante tipos y operadores definidos y programados por el usuario.

Su administración se basa en usuarios y privilegios.

Sus opciones de conectividad abarcan TCP/IP, sockets Unix y sockets NT,

además de soportar completamente ODBC.

Los mensajes de error pueden estar en español y hacer ordenaciones correctas

con palabras acentuadas o con la letra ñ.

Es altamente confiable en cuanto a estabilidad se refiere.

Puede extenderse con librerías externas para soportar encriptación, búsquedas

por similitud fonética (soundex), etc.

Control de concurrencia multi-versión, lo que mejora sensiblemente las

operaciones de bloqueo y transacciones en sistemas multi-usuario.

Soporte para vista, claves foráneas, integridad referencial, disparadores,

procedimientos almacenados, subconsultas y casi todos los tipos y operadores

soportados en SQL92 y SQL99.

Implementación de algunas extensiones de orientación a objetos. En PostgreSQL

es posible definir un nuevo tipo de tabla a partir de otra previamente definida.

c.- Características principales de Oracle.

Page 5: Tipos de Bases de Datos

Es una herramienta de administración grafica que es mucho más intuitiva y

cómoda de utilizar.

Ayuda a analizar datos y efectuar recomendaciones concernientes a mejorar el

rendimiento y la eficiencia en el manejo de aquellos datos que se encuentran

almacenados.

Apoya en el diseño y optimización de modelos de datos.

Asistir a los desarrolladores con sus conocimientos de SQL y de construcción de

procedimientos almacenados y triggers, entre otros.

Apoya en la definición de estándares de diseño y nomenclatura de objetos.

Documentar y mantener un registro periódico de las mantenciones,

actualizaciones de hardware y software, cambios en las aplicaciones y, en general,

todos aquellos eventos relacionados con cambios en el entorno de utilización de

una base de datos.

3.- Describe que tipo de modelo de base de datos utiliza:

a.- Mysql

b.- PostgreSQL

c.- Oracle

La búsqueda de una mejor administración de datos ha llevado a varios modelos que

tratan de resolver los defectos críticos del sistema de archivos. Estos modelos

representan escuelas de pensamiento en torno a que es una base de datos, que debe

hacer, los tipos de estructura que debe emplear, así como la tecnología que debería

usarse para implementar estas estructuras. En la tabla siguiente podremos observar la

evolución de los principales modelos de datos.

Page 6: Tipos de Bases de Datos

Figura 1. Evolución de los principales modelos de datos.

Modelo jerárquico. Se desarrolló en la década de 1960 para manejar grandes cantidades

de datos para complejos proyectos de manufactura, como el cohete Apolo que aterrizo en

la luna en 1969. Su estructura lógica básica está representada por un árbol invertido. La

estructura jerárquica contiene niveles, o segmentos. Un segmento es el equivalente de un

tipo de registro de un sistema de archivos. Dentro de una jerarquía, se percibe una capa

más alta como el padre del segmento directamente bajo ella, que se denomina hijo. El

modelo jerárquico describe un conjunto de relaciones de uno a muchos (1:M) entre un

padre y sus segmentos hijos. (Cada padre puede tener muchos hijos, pero cada hijo tiene

solo un padre.)

Modelo Red. Fue creado para representar complejas relaciones de datos en forma más

efectiva que el modelo jerárquico, para mejorar la operación de una base de datos y para

imponer un estándar de base de datos. En el modelo de red, el usuario percibe la base de

datos de red como un conjunto de registro en relaciones 1:M, pero, a diferencia del

modelo jerárquico, el modelo de red permite que un registro tenga más de un padre. En

tanto que el modelo de base de datos de red generalmente no se usa en la actualidad, las

definiciones de conceptos estándar de base de datos que emergieron con el modelo de

Page 7: Tipos de Bases de Datos

red todavía se usan en modelos modernos de datos. Algunos conceptos importantes que

se definieron son:

El esquema, que es la organización conceptual de toda la base de datos según la

ve el administrador.

El subesquema, que define la parte de la base de datos ¨vista¨ por los programas

de aplicación que en realidad producen la información deseada a partir de los

datos contenidos dentro de la base de datos.

Un lenguaje de administración de datos (DML), que define el ambiente en el

que los datos se pueden administrar y trabajar con los datos en la base de datos.

Un esquema de lenguaje de definición de datos (DDL), que hace posible que el

administrador de una base de datos defina los componentes del esquema.

Debido a las desventajas, los modelos jerárquico y de red, fueron sustituidos en gran

parte por el modelo de datos relacional en la década de 1980.

Modelo relacional, fue introducido en la década de 1970 por E. F. Codd (de IBM) en su

destacado artículo científico ¨A Relational Model of Data for Large Shared Databanks¨. El

modelo relacional represento un importante avance para usuarios y diseñadores. Para

usar una analogía, el modelo relacional produjo una base de datos de ¨transmisión

automática¨ para sustituir las bases de datos de ¨transmisión estándar¨ que le

precedieron. Su sencillez conceptual preparo el terreno para una genuina revolución en

las bases de datos.

La base del modelo relacional es un concepto matemático conocido como relación. Para

evitar la complejidad de la teoría matemática abstracta, se puede considerar una relación

(a veces llamada tabla) como una matriz compuesta de filas y columnas que se

intersecan. Cada fila en una relación se llama tupla. Cada columna representa un atributo.

El modelo relacional también describe un preciso conjunto de construcciones para

manipulación de datos basado en conceptos matemáticos avanzados.

El modelo relacional de datos se implementa por medio de un complejo sistema de

administración de base de datos relacional (RDBMS, por sus siglas en ingles). El RDBMS

realiza las mismas funciones básicas de los sistemas DBMS jerárquico y de red, además

de una amplia variedad de otras funciones que hacen que el modelo de datos relacional

sea más fácil de entender e implementar.

Page 8: Tipos de Bases de Datos

Modelo entidad-relación. Los modelos ER por lo general se representan en un diagrama

de entidad-relación (ERD), que usa representaciones gráficas para modelar componentes

de bases de datos.

El modelo ER está basado en los siguientes componentes:

Entidad. Una entidad se representa en el ERD con un rectángulo, también

conocido como caja de entidad

Relaciones. Las relaciones describen asociaciones entre datos. Casi todas las

relaciones describen asociaciones entre dos entidades.

Modelo orientado a objetos (OO). En el modelo de datos orientado a objetos (OODM),

tanto los datos como sus relaciones están contenidos en una sola estructura conocida

como objeto. A su vez, el OODM es el fundamento para el sistema de administración de

una base de datos orientada a objetos (OODBMS).

Por lo general, los modelos de datos orientados a objetos se describen usando diagramas

de clase mediante el lenguaje de modelado unificado. El lenguaje de modelado unificado

(UML) es un lenguaje basado en conceptos OO que describe un conjunto de diagramas y

símbolos que se pueden usar para modelar gráficamente un sistema. Se usan diagramas

de clase de UML para representar datos y sus relaciones dentro del lenguaje de

modelado del sistema orientado a objetos UML más grande.

Figura 2. Comparación de modelos de bases de datos.

Page 9: Tipos de Bases de Datos

Figura 3. Evolución de los modelos de bases de datos.

(Coronel, Morris, & Rob, 2011, pág. 35)

4.- Describe que tipo de tablas, objetos, usuarios, tamaño máximo de la base de datos y

las características que son necesarias para ser implantada por alguna empresa comercial.

Dentro de las muchas opciones de bases de datos, puedo decir que MySQL es una

opción muy buena, ya que dentro de sus características o particularidades es que es de

fácil manejo y no tiene algún costo, obtener este tipo de bases de datos, el cual tiene

ventajas y desventajas como cualquier otro.

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 bajo los términos de la licencia GNU

Page 10: Tipos de Bases de Datos

General Public License (http://www.fsf.org/licenses/) o pueden adquirir una

licencia comercial estándar de MySQL AB.

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). Por lo tanto, el tamaño efectivo máximo

para las bases de datos en MySQL usualmente los determinan los límites de tamaño de

ficheros del sistema operativo, y no por límites internos de MySQL.

El motor de almacenamiento InnoDB mantiene las tablas en un espacio que puede ser

creado a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo

individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite

tablas extremadamente grandes. El tamaño máximo del espacio de tablas es 64TB.

MySQL crea tablas MyISAM con una estructura interna que permite un tamaño máximo

de unas 4GB. Puede chequear el tamaño máximo de tabla para una tabla con el

comando SHOW TABLE STATUS o con myisamchk -dv tbl_name.

MySQL incluye la biblioteca MERGE que permite tratar una colección de

tablas MyISAM con una estructura idéntica en una tabla MERGE.

Una base de datos puede contener tablas de distintos tipos.

Las tablas transaccionales (TSTs) tienen varias ventajas sobre las no transaccionales

(NTSTs):

Más seguras. Incluso si MySQL cae o tiene problemas de hardware,

puede recuperar los datos, mediante recuperación automática o desde una copia

de seguridad más el log de transacciones.

Puede combinar varios comandos y aceptarlos todos al mismo tiempo con el

comando COMMIT (si autocommit está desactivado).

Puede ejecutar ROLLBACK para ignorar los cambios (si autocommit está

desactivado).

Si falla una actualización, todos los cambios se deshacen. (Con tablas no

transaccionales, todos los cambios son permanentes.)

Page 11: Tipos de Bases de Datos

Motores de almacenamiento transaccionales pueden proporcionar mejor

concurrencia para tablas que tienen varias actualizaciones concurrentes con

lecturas.

En MySQL 5.0, InnoDB usa valores de configuración por defecto si no los especifica.

Tablas no transaccionales tienen varias ventajas al no tener una sobrecarga

transaccional:

Más rápidas

Menor requerimiento de espacio.

Menos memoria para actualizaciones

Puede combinar tablas transaccionales y no transaccionales en el mismo comando para

obtener lo mejor de ambos mundos. Sin embargo, en una transacción con autocommit

desactivado, los cambios de tablas no transaccionales son permanentes inmediatamente

y no pueden deshacerse.

5.- Describe cuál de las tres bases de datos sería utilizaría para ser implementada en una

empresa comercial.

La mayoría de las empresas utilizan bases de datos que tengan soporte técnico, ya que

con esto se olvidan de solucionar problemas en futuro.

Como en cualquier otra parcela de trabajo en las empresas, las bases de datos son una pieza fundamental que conviene gestionar de manera eficaz para que todo funcione a

la perfección. Existen muchas alternativas informáticas para manejarlas, por eso a veces

cuesta decidirse por un producto u otro y al final la decisión siempre irá en función de

pequeños inputs como el precio o el alcance que ofrezca cada candidato.

MySQL

Es sumamente fácil de administrar, operar y es famoso por su instalación de 15 minutos,

la cual en 15 minutos es posible instalar, configurar y montar una BD relacional ya sea

sistemas OLTP o bien OLAP, aunque por excelencia MySQL Server es comúnmente

usado para desarrollos Web 2.0 y Enterprise2.0.

Page 12: Tipos de Bases de Datos

Oracle

La tecnología Oracle para organizaciones en crecimiento es abierta, fácil de integrar,

simple de administrar y altamente escalable, lo cual ayuda a adaptarse más rápido a los

cambios del mercado o a los requerimientos del cliente. Las soluciones Oracle permiten

alinear sus procesos con las cambiantes necesidades durante un largo período, brindando

así valor continuo para nuestra empresa.

DBase

La seguridad en DBase Plus sigue siendo muy similar a la que ya existía antiguamente en

la base de datos MS/DOS DBase 2.0. La ventana de Escritorio que presenta es una

combinación de estilos que se tomó de diferentes programas. Es un tributo al poder fácil y

entendible flexibilidad que hace de DBase una plataforma superior de desarrollo. Como es

a menudo el caso, una simple vista de diseño puede enmascarar mucho de la

complejidad del software. Es difícil hacer que el software se vea fácil.

Microsoft Access.

Microsoft Access es uno de los sistemas de gestión de bases de datos relacionales más

usuales para los sistemas operativos Windows, desarrollado por el mismo Microsoft y

orientado a ser usado en un entorno personal o en pequeñas organizaciones. Es un

componente de la suite ofimática Microsoft Office. Permite crear ficheros de bases de

datos relacionales que pueden ser fácilmente gestionadas por una interfaz gráfica simple.

Como se ha venido mencionando le elección de un buen gestor de bases de datos

depende del alcance de cada empresa y más que nada de la facilidad de uso.

Bibliografía Coronel, C., Morris, S., & Rob, P. (2011). Bases de datos, diseño, implementacion y

administracion. Mexico: Cengage Learning Editores, S.A.

Kroenke, D. M. (2003). Prosesamiento de bases de datos: fundamentos, diseños e implementación. México: Pearson Educación.

Thibaud, C. (2006). MySQL5. España: Edicione ENI.