- Realiza una investigacin sobre las siguientes bases de datos:
a.- Mysql Es un sistema de gestin de bases de datos relacional, fue creada por la empresa sueca MYSQL AB, la cual tiene el copyright del cdigo fuente del servidor SQL, as como tambin de la marca. MySQL es un software de cdigo abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versin comercial, en lo nico en que se diferencia de la versin libre, es en el soporte tcnico 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 programacin 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 dcada 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 conclusin de que mSQL no era lo bastante flexible ni rpido 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 ingls) muy conocido y usado en entornos de software libre porque cumple los estndares SQL92 y SQL99, y tambin por el conjunto de funcionalidades avanzadas que soporta, lo que lo sita al mismo o a un mejor nivel que muchos SGBD comerciales. El origen de PostgreSQL se sita 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 hacan nico en el mercado y que otros gestores de bases de datos comerciales han ido aadiendo durante este tiempo. PostgreSQL se distribuye bajo licencia BSD, lo que permite su uso, redistribucin, modificacin con la nica restriccin 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 mltiples plataformas (en general, en todas las modernas basadas en Unix) y, a partir de la prxima versin 8.0 (actualmente en su segunda beta), tambin 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 diseo se incluyeron algunos conceptos avanzados en bases de datos y soporte parcial a la orientacin 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 absorba demasiado tiempo a los investigadores y acadmicos, por lo que en 1993 se liber la versin 4.5 y oficialmente se dio por terminado el proyecto. En 1994, Andrew Yu y J olly Chen incluyeron SQL en Postgres para posteriormente liberar su cdigo en la web con el nombre de Postgres95. El proyecto inclua mltiples cambios al cdigo 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 versin 6.0. En el ao 2004 la ltima versin estable oficial es la 7.4.6, mientras que la versin 8.0 est ya en fase final de estabilizacin. c.- Oracle Oracle la primera base de datos diseada para Grid Computing, es un sistema de gestin de base de datos relacional fabricado por Oracle Corporation. Oracle es bsicamente una herramienta cliente/servidor para la gestin 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. Oracle Corporation es una de las mayores compaas de software del mundo. Sus productos van desde bases de datos (Oracle) hasta sistema de gestin. Cuenta adems, con herramientas propias de desarrollo para realizar potentes aplicaciones, como Oracle Designer. Oracle es un DBMS (Database Management System, por sus siglas en ingls) 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 ms popular del mundo y tiene una larga historia de desarrollo y uso. Oracle muestra al programador mucha de su tecnologa 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. Adems, existen formas y reportes y tambin el diseador Oracle, as como un sistema central de herramientas para la publicacin de las bases de datos de Oracle en la Web. (Kroenke, 2003, pg. 329) 2.- Describe los componentes y caractersticas principales de las bases de datos. a.- Caractersticas 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++, J ava, Perl, Python, Ruby y TCL. Esta optimizado para equipos de mltiples 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 mltiples mtodos de almacenamiento de las tablas, con prestaciones y rendimiento diferentes para poder optimizar el SGBD a cada caso concreto. Su administracin 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, adems de soportar completamente ODBC. Los mensajes de error pueden estar en espaol 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 implementacin multihilo. Flexible sistema de contraseas (passwords) y gestin de usuarios, con un muy buen nivel de seguridad en los datos. (Thibaud, 2006, pg. 10) b.- Caractersticas 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++, J ava, Perl, PHP, Python y TLC, entre otros. Cuenta con un rico conjunto de tipos de datos, permitiendo adems su extensin mediante tipos y operadores definidos y programados por el usuario. Su administracin se basa en usuarios y privilegios. Sus opciones de conectividad abarcan TCP/IP, sockets Unix y sockets NT, adems de soportar completamente ODBC. Los mensajes de error pueden estar en espaol y hacer ordenaciones correctas con palabras acentuadas o con la letra . Es altamente confiable en cuanto a estabilidad se refiere. Puede extenderse con libreras externas para soportar encriptacin, bsquedas por similitud fontica (soundex), etc. Control de concurrencia multi-versin, lo que mejora sensiblemente las operaciones de bloqueo y transacciones en sistemas multi-usuario. Soporte para vista, claves forneas, integridad referencial, disparadores, procedimientos almacenados, subconsultas y casi todos los tipos y operadores soportados en SQL92 y SQL99. Implementacin de algunas extensiones de orientacin a objetos. En PostgreSQL es posible definir un nuevo tipo de tabla a partir de otra previamente definida. c.- Caractersticas principales de Oracle. Es una herramienta de administracin grafica que es mucho ms intuitiva y cmoda 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 diseo y optimizacin de modelos de datos. Asistir a los desarrolladores con sus conocimientos de SQL y de construccin de procedimientos almacenados y triggers, entre otros. Apoya en la definicin de estndares de diseo y nomenclatura de objetos. Documentar y mantener un registro peridico 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 utilizacin de una base de datos.
3.- Describe que tipo de modelo de base de datos utiliza: a.- Mysql b.- PostgreSQL c.- Oracle La bsqueda de una mejor administracin de datos ha llevado a varios modelos que tratan de resolver los defectos crticos 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 tecnologa que debera usarse para implementar estas estructuras. En la tabla siguiente podremos observar la evolucin de los principales modelos de datos.
Figura 1. Evolucin de los principales modelos de datos. Modelo jerrquico. Se desarroll en la dcada 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 lgica bsica est representada por un rbol invertido. La estructura jerrquica contiene niveles, o segmentos. Un segmento es el equivalente de un tipo de registro de un sistema de archivos. Dentro de una jerarqua, se percibe una capa ms alta como el padre del segmento directamente bajo ella, que se denomina hijo. El modelo jerrquico 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 ms efectiva que el modelo jerrquico, para mejorar la operacin de una base de datos y para imponer un estndar 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 jerrquico, el modelo de red permite que un registro tenga ms 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 estndar de base de datos que emergieron con el modelo de red todava se usan en modelos modernos de datos. Algunos conceptos importantes que se definieron son: El esquema, que es la organizacin conceptual de toda la base de datos segn la ve el administrador. El subesquema, que define la parte de la base de datos vista por los programas de aplicacin que en realidad producen la informacin deseada a partir de los datos contenidos dentro de la base de datos. Un lenguaje de administracin 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 definicin 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 jerrquico y de red, fueron sustituidos en gran parte por el modelo de datos relacional en la dcada de 1980. Modelo relacional, fue introducido en la dcada de 1970 por E. F. Codd (de IBM) en su destacado artculo cientfico A Relational Model of Data for Large Shared Databanks. El modelo relacional represento un importante avance para usuarios y diseadores. Para usar una analoga, el modelo relacional produjo una base de datos de transmisin automtica para sustituir las bases de datos de transmisin estndar que le precedieron. Su sencillez conceptual preparo el terreno para una genuina revolucin en las bases de datos. La base del modelo relacional es un concepto matemtico conocido como relacin. Para evitar la complejidad de la teora matemtica abstracta, se puede considerar una relacin (a veces llamada tabla) como una matriz compuesta de filas y columnas que se intersecan. Cada fila en una relacin se llama tupla. Cada columna representa un atributo. El modelo relacional tambin describe un preciso conjunto de construcciones para manipulacin de datos basado en conceptos matemticos avanzados. El modelo relacional de datos se implementa por medio de un complejo sistema de administracin de base de datos relacional (RDBMS, por sus siglas en ingles). El RDBMS realiza las mismas funciones bsicas de los sistemas DBMS jerrquico y de red, adems de una amplia variedad de otras funciones que hacen que el modelo de datos relacional sea ms fcil de entender e implementar. Modelo entidad-relacin. Los modelos ER por lo general se representan en un diagrama de entidad-relacin (ERD), que usa representaciones grficas 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 rectngulo, tambin 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 estn contenidos en una sola estructura conocida como objeto. A su vez, el OODM es el fundamento para el sistema de administracin 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 smbolos que se pueden usar para modelar grficamente 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 ms grande.
Figura 2. Comparacin de modelos de bases de datos.
Figura 3. Evolucin de los modelos de bases de datos. (Coronel, Morris, & Rob, 2011, pg. 35) 4.- Describe que tipo de tablas, objetos, usuarios, tamao mximo de la base de datos y las caractersticas 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 opcin muy buena, ya que dentro de sus caractersticas o particularidades es que es de fcil manejo y no tiene algn 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 rpido, multi-threaded, multi usuario y robusto. El servidor MySQL est diseado para entornos de produccin crticos, 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 trminos de la licencia GNU General Public License (http://www.fsf.org/licenses/) o pueden adquirir una licencia comercial estndar de MySQL AB. En MySQL 5.0, usando el motor de almacenamiento MyISAM, el mximo tamao de las tablas es de 65536 terabytes (256 ^7 - 1 bytes). Por lo tanto, el tamao efectivo mximo para las bases de datos en MySQL usualmente los determinan los lmites de tamao de ficheros del sistema operativo, y no por lmites 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 tamao mximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamao mximo del espacio de tablas es 64TB. MySQL crea tablas MyISAM con una estructura interna que permite un tamao mximo de unas 4GB. Puede chequear el tamao mximo 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 coleccin de tablas MyISAM con una estructura idntica 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): Ms seguras. Incluso si MySQL cae o tiene problemas de hardware, puede recuperar los datos, mediante recuperacin automtica o desde una copia de seguridad ms 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 actualizacin, todos los cambios se deshacen. (Con tablas no transaccionales, todos los cambios son permanentes.) 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 configuracin por defecto si no los especifica. Tablas no transaccionales tienen varias ventajas al no tener una sobrecarga transaccional: Ms rpidas 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 transaccin con autocommit desactivado, los cambios de tablas no transaccionales son permanentes inmediatamente y no pueden deshacerse. 5.- Describe cul de las tres bases de datos sera utilizara para ser implementada en una empresa comercial. La mayora de las empresas utilizan bases de datos que tengan soporte tcnico, 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 perfeccin. Existen muchas alternativas informticas para manejarlas, por eso a veces cuesta decidirse por un producto u otro y al final la decisin siempre ir en funcin de pequeos inputs como el precio o el alcance que ofrezca cada candidato. MySQL Es sumamente fcil de administrar, operar y es famoso por su instalacin 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 comnmente usado para desarrollos Web 2.0 y Enterprise2.0. Oracle La tecnologa Oracle para organizaciones en crecimiento es abierta, fcil de integrar, simple de administrar y altamente escalable, lo cual ayuda a adaptarse ms rpido 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 perodo, brindando as valor continuo para nuestra empresa. DBase La seguridad en DBase Plus sigue siendo muy similar a la que ya exista antiguamente en la base de datos MS/DOS DBase 2.0. La ventana de Escritorio que presenta es una combinacin de estilos que se tom de diferentes programas. Es un tributo al poder fcil y entendible flexibilidad que hace de DBase una plataforma superior de desarrollo. Como es a menudo el caso, una simple vista de diseo puede enmascarar mucho de la complejidad del software. Es difcil hacer que el software se vea fcil.
Microsoft Access. Microsoft Access es uno de los sistemas de gestin de bases de datos relacionales ms usuales para los sistemas operativos Windows, desarrollado por el mismo Microsoft y orientado a ser usado en un entorno personal o en pequeas organizaciones. Es un componente de la suite ofimtica Microsoft Office. Permite crear ficheros de bases de datos relacionales que pueden ser fcilmente gestionadas por una interfaz grfica simple. Como se ha venido mencionando le eleccin de un buen gestor de bases de datos depende del alcance de cada empresa y ms que nada de la facilidad de uso.
Bibliografa Coronel, C., Morris, S., & Rob, P. (2011). Bases de datos, diseo, implementacion y administracion. Mexico: Cengage Learning Editores, S.A. Kroenke, D. M. (2003). Prosesamiento de bases de datos: fundamentos, diseos e implementacin. Mxico: Pearson Educacin. Thibaud, C. (2006). MySQL5. Espaa: Edicione ENI.