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.