Download practica 5rolando
Document related concepts
Transcript
“Tabla comparativa.” creador mysql Mysql ab oracle Oracle corporation Postgersql global developmet group Postgre sql ACID MYSQL ORACLE POSTGRE SQL depende si si Fecha de la primera versión Noviembre de 1996 1997 1987 15.0 5.0 11g release 2 Gpl o propietario propietario Junio de 1989 8.5 Licencia BSD INTEGRIDAD REFERENCIAL depende si si TRANSACCION UNICODE depende si si Si Si si Oracle. Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos, es un producto vendido a nivel mundial, aunque la granpotencia que tiene y su elevado precio hace que solo se vea en empresas muy grandes y multinacionales, por norma general. En el desarrollo de paginas 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. Oracle como antes lo mencionamos se basa en la tecnología cliente/ servidor, pues bien, para su utilización primero seria necesario la instalación de la herramienta servidor ( Oracle8i ) y posteriormente podríamos atacar a la base de datos desde otros equipos con herramientas de desarrollo comoOracle Designer y Oracle Developer, que son las herramientas de programación sobre Oracle a partir de esta premisa vamos a desarrollar las principales acepciones de Oracle y sus aplicaciones en las distintas ares de trabajo. -------El manejador de Base de datos ORACLE, surgió a final de los años 70 y principio de los años 80. George Koch y su equipo de tropas de asalto detécnicos fue el primero en desembarcar en el terreno de Oracle en 1982, durante un proceso de evaluación de sistema de gestión de base de datos para una importante aplicación comercial que George estaba diseñando y construyendo. Cuando termino, la evaluación fue descrita en Computer World como el estudio más severo de SGBD que se había hecho nunca. El estudio fue tan riguroso con los vendedores cuyos productos había estudiado George, que la prensa hizo eco de sus palabras en lugares tan distantes como Nueva Zelandia y en publicaciones muy alejadas del campo como el Christian Sciencia Monitor. Oracle conocida entonces como Relational Software, tenía poco más de 25 empleados en aquel tiempo y solo unos pocos clientes importantes. Sin embargo, cuando se completo el estudio, Oracle fue declarada vencedora. George afirmo que el SGBD Oracle era técnicamente el mejor producto delmercado. Estas declaraciones fueron hecha en una época en la que muy poca gente conocía el significado del término "Relacional", y los que lo conocían (o creían conocerlo) no tenían muchas cosas favorables que decir de él. La compañía de Oracle Corporation estaba trabajando entonces para perfeccionar su joven producto, para comprender los tipos de características y funcionalidad que podría hacerlo útil y productivo en el mundo de los negocios. El esfuerzo contribuyo a su refinamiento. Algunas de las características de Oracle, tales como las salidas de SQL*FORMS fueron el resultado de dicho esfuerzo. 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 hace que sólo se vea en empresas muy grandes y multinacionales, por norma general. En el desarrollo de páginasWeb 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. Vamos ahora en centrarnos en que es Oracle exactamente y como funciona la programación sobre éste. Oracle como antes he mencionado se basa en la tecnología cliente/servidor, pues bien, 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 Designe 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. Mysql. SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estándar para las bases de datos relacionales. Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad. Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo llevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable. La procedencia del nombre de MySQL no es clara. Desde hace más de 10 años, las herramientas han mantenido el prefijo My. También, se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My. Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha,Tanzania, cerca de Uganda la ciudad origen de Ambrose. [editar]Lenguajes de programación Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac y Linux), (x)Harbour (Eagle1),FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe una interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporteODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP. MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre el desempeño para detectar y corregir errores tanto de SQL como de programacion. 2 “Postgre.” PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una sola empresa sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones de "SQL" pueden llevar a confusión. Los desarrolladores de PostgreSQL lo pronuncian /poːst ɡɹɛs kjuː ɛl/;. Es también común oír abreviadamente como simplemente "Postgres", el que fue su nombre original. Debido a su soporte del estándar SQL entre la mayor parte de bases de datos relacionales, la comunidad consideró cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL Core Team anunció en 2007 que el producto seguiría llamándose PostgreSQL. El nombre hace referencia a los orígenes del proyecto como la base de datos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres. PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con él mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES. El proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional de comprender "tipos", es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estos son llamadosobjetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describir relaciones las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario. En Postgres la base de datos «comprendía» las relaciones y podía obtener información de tablas relacionadas utilizando reglas. Postgres usó muchas ideas de Ingres pero no su código. La siguiente lista muestra los hitos más importantes en la vida del proyecto Postgres. Conclusión Esta es mi comparación de la instalación y comenzar a trabajar con Oracle 10g, PostgreSQL y MySQL 5 8. Esto es lo que yo considero la comparación del estado de la técnica para tres comparación de la vista de un nuevo usuario que desee instalar una base de datos para aprender. Estoy tratando de mantener el punto de vista de una casa o un usuario de negocios pequeños. Full Disclosure: Yo soy muy sesgado hacia la plena confianza en Oracle y no existe una competencia real. EnPostgreSQL podemos usar nombres compuestos tblNombre ycolNombre, ya sea cuando definimos la clase, cuando usamos autoload o SqlSoup, por ejemplo. Pero no ocurre lo mismo conMySQL que solo respeta las mayúsculas cuando defines la clase, no cuando la cargas con autoload. Como consecuencia para poder usar la misma definición en cualquiera de estas dos bases de datos, debes defirla en minúsculas. Debido a que Oracle es una de las Bases de datos mas robustas para transacciones fuertes (de amplio espectro de insercion) es muy usada por las empresas que tienen una alta actividad transaccional; el problema es que es bastante cara. una base de envergadura corporativa, con un sólido respaldo de Oracle Corporation, que posee todo un grupo de desarrollo y herramientas para todas las plataformas importantes conocidas. b) Una base de excelente performance sobre linux, con un soporte "free", que no convendría instalar en ningún proyecto corporativo (no creo que nadie acepte semejante riesgo), MySql no era tan usada pues las versiones anteriores no poseian la creacion de llaves foraneas y dejaban a criterio del programador de la aplicacion la integridad referencial; cosa que ha cambiado con las nuevas versiones de MySql. En lo que respecta a conocimientos de esquemas, tablas, procedimientos, sentencias SQL, ambas bases te seran interesantes, todo depende del objetivo que estes buscando. Para fines educativos, MySQL te brindará un amplio espectro, a fines de un proyecto de desarrollo de envergadura, Oracle ofrece un sin numero de herramientas para desarrollos de entorno Web-Java, herramientas de manejo de Cubos, Forms... etc.