Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de...

41
PDF generado usando el kit de herramientas de fuente abierta mwlib. Ver http://code.pediapress.com/ para mayor información. PDF generated at: Fri, 04 Feb 2011 23:17:29 UTC Taller de Bases de Datos Unidad 1 Gestor de Bases de Datos

Transcript of Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de...

Page 1: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PDF generado usando el kit de herramientas de fuente abierta mwlib. Ver http://code.pediapress.com/ para mayor información.PDF generated at: Fri, 04 Feb 2011 23:17:29 UTC

Taller de Bases de DatosUnidad 1 Gestor de Bases de Datos

Page 2: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

ContenidosArtículos1.1 Características del Gestor 1

Sistema de gestión de bases de datos 1Anexo:Comparación de sistemas administradores de bases de datos relacionales 4

1.2 Herramientas 9

Microsoft SQL Server 9PostgreSQL 12SQLite 19MySQL 23

1.3 Instalación y Configuración del Entorno Operativo 32

phpMyAdmin 32Administrador de base de datos 34

ReferenciasFuentes y contribuyentes del artículo 37Fuentes de imagen, Licencias y contribuyentes 38

Licencias de artículosLicencia 39

Page 3: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

1

1.1 Características del Gestor

Sistema de gestión de bases de datosLos sistemas de gestión de bases de datos (en inglés database management system, abreviado DBMS) son un tipode software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que lautilizan.

PropósitoEl propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara, sencilla yordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

ObjetivosExisten distintos objetivos que deben cumplir los SGBD:• Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de

los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente alusuario. Así, se definen varios niveles de abstracción.

• Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico)de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

• Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar queaquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidosse actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tienedeterminadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistemano debería aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan laprogramación de este tipo de condiciones.

• Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD debengarantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permitenotorgar diversas categorías de permisos.

• Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quieredecir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no sehubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una formamucho más simple que si no se dispusiera de ellos.

• Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar lainformación solicitada y en almacenar los cambios realizados.

Page 4: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Sistema de gestión de bases de datos 2

Ventajas• Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entre éstas:

• Simplifican la programación de equipos de consistencia.• Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre

consistentes sin importar si hay errores correctamente, etc.• Organizan los datos con un impacto mínimo en el código de los programas.• Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien

explotados por los desarrolladores.• Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.

Inconvenientes1. Típicamente, es necesario disponer de una o más personas que administren de la base de datos, en la misma

forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administrenlos sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hayque balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.

2. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultascomplejas sobre los datos, entonces es posible que sea mejor usar una planilla de cálculo.

3. Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener conocimiento de lasfuncionalidades del mismo para poder aprovecharlo al máximo.

4. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño,que requiere de gran cantidad de memoria para poder correr.

5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamentealtos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.

Productos SGBD disponibles en el mercado

SGBD libres• PostgreSQL (http:/ / www. postgresql. org Postgresql) Licencia BSD• Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0.• SQLite (http:/ / www. sqlite. org SQLite) Licencia Dominio Público• DB2 Express-C (http:/ / www. ibm. com/ software/ data/ db2/ express/ )• Apache Derby (http:/ / db. apache. org/ derby/ )

SGBD no libres• MySQL: Licencia Dual, depende del uso. No se sabe hasta cuándo permanecerá así, ya que ha sido comprada por

Oracle. Sin embargo, existen 2 versiones: una gratuita que sería equivalente a la edición "express" SQL server deMicrosoft Windows, y otra más completa de pago.

• Advantage Database• dBase• FileMaker• Fox Pro• gsBase• IBM DB2: Universal Database (DB2 UDB)• IBM Informix• Interbase de CodeGear, filial de Borland

Page 5: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Sistema de gestión de bases de datos 3

• MAGIC• Microsoft Access• Microsoft SQL Server• NexusDB• Open Access• Oracle• Paradox• PervasiveSQL• Progress (DBMS)• Sybase ASE• Sybase ASA• Sybase IQ• WindowBase• IBM IMS Base de Datos Jerárquica• CA-IDMS

SGBD no libres y gratuitos• Microsoft SQL Server Compact Edition Basica• Sybase ASE Express Edition para Linux (edición gratuita para Linux)• Oracle Express Edition 10

Véase también• Base de datos• Comparación de sistemas administradores de bases de datos relacionales

Page 6: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Anexo:Comparación de sistemas administradores de bases de datos relacionales 4

Anexo:Comparación de sistemas administradoresde bases de datos relacionalesLas siguientes tablas comparan información general y técnica de diferentes RDBMS. Para más información, vea losenlaces de cada producto. Este artículo no incluye a todos los productos o es necesario actualizarse.

Información general

Creador Fecha de la primera versiónpública

Última versiónestable

Licencia de software

Adaptive ServerAnywhere

Sybase/iAnywhere 1992 10.0 Propietario

Adaptive ServerEnterprise

Sybase Inc 1987 15.0 Propietario

ANTs Data Server ANTs Software 1999 3.6 Propietario

DB2 IBM 1982 9 Propietario

Firebird Firebird Foundation 25 de julio de 2000 2.1 Licencia PúblicaInterBase

Informix Informix Software 1985 10.0 Propietario

HSQLDB Hsqldb.Org 2001 1.9 Licencia BSD

Ingres Berkeley University, ComputerAssociates

1980 2006 CA-TOSL

InterBase Borland 1985 7.5.1 Propietario

SapDB SAP AG ? 7.4 GPL con driversLGPL

MaxDB MySQL AB, SAP AG ? 7.7 GPL o propietario

Microsoft SQL Server Microsoft 1989 2008 Propietario

MySQL MySQL AB Noviembre de 1996 5.0 GPL o propietario

Oracle Oracle Corporation 1977 11g Release 2 Propietario

PostgreSQL PostgreSQL Global DevelopmentGroup

Junio de 1989 9.0 Licencia BSD

SmallSQL SmallSQL [1] 16 de abril de 2005 0.12 LGPL

SQLite D. Richard Hipp 17 de agosto de 2000 3.6.16 Dominio público

Creador Fecha de la primera versiónpública

Última versiónestable

Licencia de software

Soporte del sistema operativo

Page 7: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Anexo:Comparación de sistemas administradores de bases de datos relacionales 5

Windows Mac OS X Linux BSD Unix z/OS

Adaptive Server Enterprise  Sí  Sí  Sí  Sí  Sí  No

ANTs Data Server  Sí  Sí  Sí  Sí  Sí ?

DB2  Sí  No  Sí  No  Sí  Sí

Firebird  Sí  Sí  Sí  Sí  Sí Quizá

HSQLDB  Sí  Sí  Sí  Sí  Sí  Sí

Informix  Sí  Sí  Sí  Sí  Sí  No

Ingres  Sí ?  Sí ?  Sí Quizá

InterBase  Sí  No  Sí  No  Sí (Solaris)  No

SapDB  Sí  No  Sí  No  Sí ?

MaxDB  Sí  No  Sí  No  Sí ?

Microsoft SQL Server  Sí  No  No  No  No  No

MySQL  Sí  Sí  Sí  Sí  Sí Quizá

Oracle  Sí  Sí  Sí  Sí  Sí  Sí

PostgreSQL  Sí  Sí  Sí  Sí  Sí  No

SmallSQL  Sí  Sí  Sí  Sí  Sí  Sí

SQLite  Sí  Sí  Sí  Sí  Sí Quizá

Windows Mac OS X Linux BSD Unix z/OS

Características fundamentalesInformación acerca de que características fundamentales de las RDBMS son implementados nativamente.

ACID Integridad referencial Transacciones Unicode

Adaptive Server Enterprise  Sí  Sí  Sí  Sí

ANTs Data Server  Sí  Sí  Sí  Sí

DB2  Sí  Sí  Sí  Sí

Firebird  Sí  Sí  Sí  Sí

HSQLDB  Sí  Sí  Sí  Sí

Informix  Sí  Sí  Sí  Sí

Ingres  Sí  Sí  Sí  Sí

InterBase  Sí  Sí  Sí  Sí

SapDB  Sí  Sí  Sí  Sí

MaxDB  Sí  Sí  Sí  Sí

Microsoft SQL Server  Sí  Sí  Sí  Sí

MySQL Depende 1 Depende 1 Depende 1  Sí

Oracle  Sí  Sí  Sí  Sí

PostgreSQL  Sí  Sí  Sí  Sí

SQLite  Sí  No 2 Básico 2  Sí

ACID Integridad referencial Transacciones Unicode

Page 8: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Anexo:Comparación de sistemas administradores de bases de datos relacionales 6

Nota (1): Para las transacciones y la integridad referencial, el tipo de tabla InnoDB debe ser usado; el tipo de tablapor defecto, MyISAM,  No soporta estas características. Sin embargo, inclusive el tipo de tabla InnoDB permiteel almacenamiento de valores que excedan el rango de datos; algunas vistas violan la limitación de ACID.

Nota (2): Las limitaciones de CHECK y FOREIGN KEY son analizadas pero  No forzadas. Transaccionesanidadas  No son soportadas.[2]

Tablas y vistasInformación acerca de que tablas y vistas 3 (unas más básicos que otras) son soportados nativamente.

Tabla temporal Vista materializada

Adaptive Server Enterprise  Sí  5  Sí

ANTs Data Server  Sí  Sí

DB2  Sí  Sí

Firebird  Sí  No

HSQLDB  Sí  No

Informix  Sí  Sí

Ingres  Sí  No

InterBase  Sí  No

SapDB  Sí  No

MaxDB  Sí  No

Microsoft SQL Server  Sí Similar 6

MySQL  Sí  No

Oracle  Sí  Sí

PostgreSQL  Sí  No 4

SQLite  Sí  No

Tabla temporal Vista materializada

Nota (4): La vista materializada puede ser emulada con PL/PgSQL [3].Nota (5): El servidor provee tempdb, que puede ser usado para tablas temporales públicas y privadas (para la sesión).[4]Nota (6): El servidor MS SQL provee vistas indexadas. [5]

ÍndicesInformación acerca de que índices (otros como los índices básicos B-/B+) son soportados nativamente.

Page 9: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Anexo:Comparación de sistemas administradores de bases de datos relacionales 7

Árbol R-/R+ Hash Expresión Parcial Reversa Mapa de bits

Adaptive Server Enterprise  No  No  Sí  No  Sí  No

ANTs Data Server  Sí  Sí  Sí  Sí  Sí  Sí

DB2  No ?  No  No  Sí  Sí

Firebird  No  No  No  No  No  No

HSQLDB ? ? ? ? ? ?

Informix  Sí  Sí  Sí  No  No  No

Ingres  Sí  Sí  No  No  No  No

InterBase ? ?  No  No  No  No

SapDB ? ?  No  No  No  No

MaxDB ? ?  No  No  No  No

Microsoft SQL Server ? ?  No  No  No  No

MySQL Tablas MyISAM solamente Tablas HEAP solamente  No  No  No  No

Oracle Edición EE solamente ?  Sí  No  Sí  Sí

PostgreSQL  Sí  Sí  Sí  Sí  No  No

SQLite  No  No  No  No  No  No

Árbol R-/R+ Hash Expresión Parcial Reversa Mapa de bits

Otros objetosInformación acerca de que otros objetos son soportados nativamente.

Dominio Cursor Trigger Funciones 5 Procedimiento 5 Rutina externa 5

Adaptive Server Enterprise  Sí  Sí  Sí  Sí  Sí  Sí

ANTs Data Server  Sí  Sí  Sí  Sí  Sí  Sí

DB2  No  Sí  Sí  Sí  Sí  Sí

Firebird  Sí  Sí  Sí  Sí  Sí  Sí

HSQLDB ?  No  Sí  Sí  Sí  Sí

Informix ?  Sí  Sí  Sí  Sí  Sí

Ingres  Sí  Sí  Sí  Sí  Sí ?

InterBase  Sí  Sí  Sí  Sí  Sí  Sí

SapDB  Sí  Sí  Sí  Sí  Sí ?

MaxDB  Sí  Sí  Sí  Sí  Sí ?

Microsoft SQL Server  No  Sí  Sí  Sí  Sí  Sí

MySQL  No  Sí 3  Sí 3  Sí 3  Sí 3  Sí

Oracle  Sí  Sí  Sí  Sí  Sí  Sí

PostgreSQL  Sí  Sí  Sí  Sí  Sí  Sí

SQLite  No  No  Sí  No  No  Sí

Dominio Cursor Trigger Funciones Procedimiento Rutina externa

Page 10: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Anexo:Comparación de sistemas administradores de bases de datos relacionales 8

Nota (3): Estos objetos de base de datos son disponibles a partir de MySQL 5.0 disponible desde 24/12/2005.Nota (5): Función y procedimiento se refieren a las rutinas internas escritas en SQL o lenguajes procedurales comoPL/SQL. Rutina externa se refiere a la escritura en los lenguajes anfitriones como C, Java, Cobol, etc."Procedimiento almacenado" es un término comúnmente usado para ese tipo de rutinas. Sin embargo, su definiciónvaría entre diferentes vendedores de bases de datos.

ParticionamientoInformación acerca de que métodos de particionamiento son soportados nativamente.

Rango Hash Compuesto (Rango+Hash) Lista

Adaptive Server Enterprise AA AA AA AA

ANTs Data Server  Sí  Sí  Sí  Sí

DB2  Sí  Sí  Sí  Sí

Firebird  No  No  No  No

HSQLDB ? ? ? ?

Informix ? ? ? ?

Ingres  Sí  Sí  Sí  Sí

InterBase  No  No  No  No

SapDB ? ? ? ?

MaxDB ? ? ? ?

Microsoft SQL Server  Sí  No  No  No

MySQL  Sí  Sí  Sí  Sí

Oracle  Sí  Sí  Sí  Sí

PostgreSQL  Sí  No  No  Sí

SQLite  Sí  Sí  Sí  Sí

Rango Hash Compuesto (Rango+Hash) Listas

Referencias[1] http:/ / www. smallsql. de[2] http:/ / www. sqlite. org/ omitted. html[3] http:/ / jonathangardner. net/ PostgreSQL/ materialized_views/ matviews. html[4] http:/ / sybooks. sybase. com/ onlinebooks/ group-as/ asg1250e/ sag/ @Generic__BookTextView/ 3225;[5] http:/ / www. sqlteam. com/ item. asp?ItemID=1015

Page 11: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

9

1.2 Herramientas

Microsoft SQL Server

Microsoft SQL Server

Desarrollador

Microsoftwww.microsoft.com/sql/ [1]

Información general

Última versión estable 2008(10.00.1600.22)2 de Agosto de 2008

Género RDBMS

Sistema operativo Microsoft Windows

Licencia Microsoft EULA

En español ?

Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelorelacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativade Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle o PostgreSQL o MySQL.

Características de Microsoft SQL Server

Historia de versiones

Versión Año Nombre de la versión Nombre clave

1.0(OS/2)

1989 SQL Server 1.0 SQL

4.21(WinNT)

1993 SQL Server 4.21 SEQUEL

6.0 1995 SQL Server 6.0 SQL95

6.5 1996 SQL Server 6.5 Hydra

7.0 1998 SQL Server 7.0 Sphinx

- 1999 SQL Server 7.0OLAP Tools

Plato

8.0 2000 SQL Server 2000 Shiloh

8.0 2003 SQL Server 200064-bit Edition

Liberty

9.0 2005 SQL Server 2005 Yukon

10.0 2008 SQL Server 2008 Katmai

10.5 2010 SQL Server 2008 R2 Kilimanjaro

Page 12: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Microsoft SQL Server 10

• Soporte de transacciones.• Escalabilidad, estabilidad y seguridad.• Soporta procedimientos almacenados.• Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML

gráficamente.• Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o

clientes de la red sólo acceden a la información.• Además permite administrar información de otros servidores de datos.Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado aproyectos más pequeños, que en sus versiónes 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye enforma gratuita.Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través delos llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con elentorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso deformularios Windows.En el manejo de SQL mediante líneas de comando se utiliza el SQLCMDPara el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces deacceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para SistemasOperativos Windows.

Lo nuevo de SQL Server 2008La nueva base de datos contiene mayor seguridad, integración con PowerShell, remueve la configuración del áreaexpuesta (consola para configurar seguridad), cifrado transparente de datos, auditoría de datos, compresión de datos,tiene correctores de sintaxis del lenguaje Transact-SQL e IntelliSense (una carácteristica del visual studio quepermite a la base de datos sugerir objetos existentes mientras uno escribe la mitad de la palabra). Así mismo incluyenuevos tipos de datos y funciones. Entre ellos, datos espacialesy Datetimeoffset), tipos de datos jerárquicos.

Programación

T-SQLT-SQL (Transact-SQL) es el principal medio de programación y administración de SQL Server. Expone las palabrasclave para las operaciones que pueden realizarse en SQL Server, incluyendo creación y modificación de esquemas dela base de datos, introducir y editar datos en la base de datos, así como supervisión y gestión del propio servidor. Lasaplicaciones cliente, ya sea que consuman datos o administren el servidor, aprovechan la funcionalidad de SQLServer mediante el envío de consultas de T-SQL y declaraciones que son procesadas por el servidor y los resultados(o errores) regresan a la aplicación cliente. SQL Server permite que sean administrados mediante T-SQL. Para esto,expone tablas de sólo lectura con estadísticas del servidor. La funcionalidad para la administración se expone através de procedimientos almacenados definidos por el sistema que se pueden invocar desde las consultas de T-SQLpara realizar la operación de administración. También es posible crear servidores vinculados (Linked Servers)mediante T-SQL. Los servidores vinculados permiten el funcionamiento entre múltiples servidores con unaconsulta..

Page 13: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Microsoft SQL Server 11

Cliente Nativo de SQLCliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft SQL Server versión 2005 enadelante. Implementa nativamente soporte para las características de SQL Server, incluyendo la ejecución de lasecuencia de datos tabular, soporte para bases de datos en espejo de SQL Server, soporte completo para todos lostipos de datos compatibles con SQL Server, conjuntos de operaciones asincrónas, las notificaciones de consulta,soporte para cifrado, así como recibir varios conjuntos de resultados en una sola sesión de base de datos. ClienteNativo de SQL se utiliza como extensión de SQL Server plug-ins para otras tecnologías de acceso de datos,incluyendo ADO u OLE DB. Cliente Nativo de SQL puede también usarse directamente, pasando por alto las capasde acceso de datos genéricos.

Desventajaspara hacer el direccionamiento de 64-bit. Esto le impide usar la administración dinámica de memoria y sólo lepermite alojar un máximo de 64GB de memoria compartida.• MSSQL no maneja compresión de datos (en SQL Server 2005 y 2000, solamente la versión 2008 Enterprise

Edition incluye esta característica), por lo que ocupa mucho espacio en disco.• MSSQL está atado a la plataforma del sistema operativo sobre la cual se instala.

Véase también• base de datos relacional• sistema de gestión de base de datos

• Oracle• Sybase ASE• PostgreSQL• Interbase• Firebird• MySQL

Enlaces externos• Página web de Microsoft SQL Server [2]

• Factsheet for SQL Server developers [3] (PDF)• Libros en pantalla [4]

• Lo nuevo de SQL Server 2008 [5]

• La revista de base de datos database journal (en inglés) [6]

• Sistema para crear aplicaciones profesionales con MS SQL SERVER. [7]

Page 14: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Microsoft SQL Server 12

Referencias[1] http:/ / www. microsoft. com/ sql/[2] http:/ / www. microsoft. com/ spain/ sql/ default. mspx[3] http:/ / www. dotnet4all. com/ snippets/ 2008/ 04/ factsheet-for-sql-server-developers. html[4] http:/ / msdn. microsoft. com/ en-us/ library/ ms130214. aspx[5] http:/ / elpaladintecnologico. blogspot. com/ 2009/ 02/ blog-post. html[6] http:/ / www. databasejournal. com/ features/ article. php/ 3593466/ MS-SQL-Series. htm[7] http:/ / www. softclarity. com. ar/ Builder/ indexFla. html

PostgreSQL

PostgreSQL

Desarrollador

PostgreSQL Global Development Groupwww.postgresql.org [1]

Información general

Última versión estable 9.020 de septiembre de 2010

Género RDBMS

Sistema operativo Multiplataforma

Licencia BSD

En español

PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo lalicencia BSD.Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/opersona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista,libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL GlobalDevelopment Group).

Page 15: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 13

Nombre del productoEl uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Lasdistintas 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 nombreoriginal. Debido a su soporte del estándar SQL entre la mayor parte de bases de datos relacionales, la comunidadconsideró cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL Core Team anunció en 2007 que elproducto seguiría llamándose PostgreSQL. El nombre hace referencia a los orígenes del proyecto como la base dedatos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres.

HistoriaPostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyecto Ingres en la Universidad deBerkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar unmotor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido unaexperiencia comercial con él mismo, Michael decidió volver a la Universidad en 1985 para trabajar en un nuevoproyecto 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 sidoaclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional decomprender "tipos", es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estosson llamados objetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar elsoporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describirrelaciones - las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por elusuario. En Postgres la base de datos «comprendía» las relaciones y podía obtener información de tablas relacionadasutilizando 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.• 1986: se publicaron varios papers que describían las bases del sistema.• 1988: ya se contaba con una versión utilizable.• 1989: el grupo publicaba la versión 1 para una pequeña comunidad de usuarios.• 1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas.• 1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores de almacenamiento.• 1993: crecimiento importante de la comunidad de usuarios, la cual demandaba más características.• 1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se disolvió.Después de que el proyecto POSTGRES terminara, dos graduados de la universidad, Andrew Yu y Jolly Chen,comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajola BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormentecontaba con un intérprete del lenguaje de consultas QUEL (basado en Ingres), creando así el sistema al cualdenominaron Postgres95.Para el año 1996 se unieron al proyecto personas ajenas a la Universidad como Marc Fournier de Hub.OrgNetworking Services, Bruce Momjian y Vadim B. Mikheev quienes proporcionaron el primer servidor de desarrollono universitario para el esfuerzo de desarrollo de código abierto y comenzaron a trabajar para estabilizar el código dePostgres95.En el año 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la característica del lenguajeSQL y lo terminaron llamando PostgreSQL, cuya primera versión de código abierto fue lanzada el 1 de agosto de1996. La primera versión formal de PostgreSQL (6.0) fue liberada en enero de 1997. Desde entonces, muchosdesarrolladores entusiastas de los motores de base de datos se unieron al proyecto, coordinaron vía Internet y entretodos comenzaron a incorporar muchas características al motor.

Page 16: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 14

Aunque la licencia permitía la comercialización de PostgreSQL, el código no se desarrolló en principio con finescomerciales, algo sorprendente considerando las ventajas que PostgreSQL ofrecía. La principal derivación se originócuando Paula Hawthtorn (un miembro del equipo original de Ingres que se pasó a Postgres) y Michael Stonebrakerconformaron Illustra Information Technologies para comercializar Postgres.En 2000, ex inversionistas de Red Hat crearon la empresa Great Bridge para comercializar PostgreSQL y competircontra proveedores comerciales de bases de datos. Great Bridge auspició a varios desarrolladores de PostgreSQL ydonó recursos de vuelta a la comunidad, pero a fines de 2001 cerró debido a la dura competencia de compañías comoRed Hat y pobres condiciones del mercado.En 2001, Command Prompt, Inc. lanzó Mammonth PostgreSQL, la más antigua distribución comercial dePostgreSQL. Continúa brindando soporte a la comunidad PostgreSQL a través del auspicio de desarrolladores yproyectos, incluyendo PL/Perl, PL/php y el alojamiento de proyectos de comunidades como PostgreSQL BuildFarm.En enero de 2005, PostgreSQL recibió apoyo del proveedor de base de datos Pervasive Software, conocido por suproducto Btrieve que se utilizaba en la plataforma Novell Netware. Pervasive anunció soporte comercial yparticipación comunitaria y logró algo de éxito. Sin embargo, en julio de 2006 dejó el mercado de soporte dePostgreSQL.A mediados de 2005 otras dos compañías anunciaron planes para comercializar PostgreSQL con énfasis en nichosseparados de mercados. EnterpriseDB añadió funcionalidades que le permitían a las aplicaciones escritas paratrabajar con Oracle ser más fáciles de ejecutar con PostgreSQL. Greenplum contribuyó mejoras directamenteorientadas a aplicaciones de Data Warehouse e Inteligencia de negocios, incluyendo el proyecto BizGres.En octubre de 2005, John Loiacono, vicepresidente ejecutivo de software en Sun Microsystems comentó: "Noestamos yendo tras el OEM de Microsoft pero estamos viendo a PostgreSQL ahora", aunque no se dieronespecificaciones en ese momento. Para noviembre de 2005, Sun Solaris 10 (lanzamiento 6/06) incluía PostgreSQL.En agosto de 2007 EnterpriseDB anunció el Postgres Resource Center y EnterpriseDB Postgres, diseñados para seruna completamente configurada distribución de PostgreSQL incluyendo muchos módulos contribuidos y agregados.EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.El proyecto PostgreSQL continúa haciendo lanzamientos principales anualmente y lanzamientos menores dereparación de bugs, todos disponibles bajo la licencia BSD, y basados en contribuciones de proveedores comerciales,empresas aportantes y programadores de código abierto mayormente.

CaracterísticasAlgunas de sus principales características son, entre otras:

Alta concurrenciaMediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQLpermite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos.Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al usode bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

Page 17: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 15

Amplia variedad de tipos nativosPostgreSQL provee nativamente soporte para:• Números de precisión arbitraria.• Texto de largo ilimitado.• Figuras geométricas (con una variedad de funciones asociadas).• Direcciones IP (IPv4 e IPv6).• Bloques de direcciones estilo CIDR.• Direcciones MAC.• Arrays.Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexablesgracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por elproyecto PostGIS.

Otras características• Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).• Disparadores (triggers): Un disparador o trigger se define como una acción específica que se realiza de acuerdo a

un evento, cuando éste ocurra dentro de la base de datos. En PostgreSQL esto significa la ejecución de unprocedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos losdisparadores se definen por seis características:• El nombre del disparador o trigger• El momento en que el disparador debe arrancar• El evento del disparador deberá activarse sobre...• La tabla donde el disparador se activará• La frecuencia de la ejecución• La función que podría ser llamada

Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través desu sistema de activación de disparadores (triggers).• Vistas.• Integridad transaccional.• Herencia de tablas.• Tipos de datos y operaciones geométricas.• Soporte para transacciones distribuidas. Permite a PostgreSQL integrase en un sistema distribuido formado por

varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola de mensajes IBM MQ JMS y un ERPSAP) gestionado por un servidor de aplicaciones donde el éxito ("commit") de la transacción goblal es elresultado del éxito de las transacciones locales. Más información en inglés en http:/ / www. theserverside. com/discussions/ thread. tss?thread_id=21385#95297 y en http:/ / java. sun. com/ javaee/ technologies/ jta/ index. jsp.

Page 18: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 16

FuncionesBloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cadauno de ellos da, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta lascomplejidades de la programación orientada a objetos o la programación funcional.Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos.Algunos de los lenguajes que se pueden usar son los siguientes:• Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle).• C.• C++.• Java PL/Java web [2].• PL/Perl.• plPHP [3].• PL/Python [4].• PL/Ruby [5].• PL/sh [6].• PL/Tcl [7].• PL/Scheme [8].• Lenguaje para aplicaciones estadísticas R por medio de PL/R [9].PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse como un conjunto de valores quepueden ser tratados igual a una fila retornada por una consulta (query en inglés).Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de unusuario previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como"procedimientos almacenados" (stored procedures en inglés).

Productos alrededor de PostgreSQLEl PGDG solo desarrolla el Motor de Datos y un número pequeño de utilidades, para potenciar el trabajo conPostgreSQL suele ser necesario añadir utilidades externas creadas especialmente para este motor, algunas de estasherramientas son:

Alternativas ComercialesGracias a su licencia BSD, se permite la utilización del código para ser comercializado. Uno de los casos ejemplo esla de Enterprise DB (Postgresql Plus), la cual incluye varios agregados y una interfaz de desarrollo basada en Java.Entre otras empresas que utilizan Postgresql para comercializar se encuentra CyberTech (alemania), con su productoCyberCluster.

Page 19: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 17

GISPostGIS

Extensión que añade soporte de objetos geográficos a PostgreSQL y permite realizar análisis medianteconsultas SQL espaciales o mediante conexión a aplicaciones GIS (Sistema de Información Geográfica).

ReplicaciónPgCluster

Replicación multi maestro.Slony-I

Replicación maestro esclavo.PyReplica

Replicación maestro esclavo y multi maestro asincrónica.

Herramientas de administraciónPgAdmin3

Entorno de escritorio visual.PgAccess

Entorno de escritorio visual.PhpPgAdmin

Entorno web.psql

Cliente de consola.Database Master [10]

Entorno de escritorio visual.

Búsqueda de textoFull text search

Incluido en el núcleo a partir de la versión 8.3.Via Tsearch2 [11] y OpenFTS para versiones anteriores a la 8.3.

XMLXML/XSLT soporte

Via XPath extensiones en la sección contrib [12].

Page 20: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 18

Usuarios destacados• .org, .info, .mobi y .aero registros de dominios por Afilias.[13]

• La American Chemical Society.• BASF.• IMDb.• Skype.• TiVo.• Penny Arcade.• Sony Online.[14]

• U.S. Departamento de Trabajo.• USPS.• VeriSign.• Pictiger.com• Wisconsin Circuit Court Access con 6 * 180GB DBs replicados en tiempo real.• OpenACS y .LRN.• INEGI.

PremiosPostgreSQL ha recibido los siguientes reconocimientos:[15]

• 1999 LinuxWorld Editor's Choice Award for Best Database• 2000 Linux Journal Editors' Choice Awards for Best Database• 2002 Linux New Media Editors Choice Award for Best Database• 2003 Linux Journal Editors' Choice Awards for Best Database• 2004 Linux New Media Award For Best Database• 2004 Linux Journal Editors' Choice Awards for Best Database• 2004 ArsTechnica Best Server Application Award• 2005 Linux Journal Editors' Choice Awards for Best Database• 2006 Linux Journal Editors' Choice Awards for Best Database• 2008 Developer.com Product of the Year, Database Tool

Referencias[1] http:/ / www. postgresql. org/[2] http:/ / gborg. postgresql. org/ project/ pljava/ projdisplay. php[3] http:/ / plphp. commandprompt. com/[4] http:/ / www. postgresql. org/ docs/ current/ interactive/ plpython. html[5] http:/ / raa. ruby-lang. org/ project/ pl-ruby[6] http:/ / plsh. projects. postgresql. org/[7] http:/ / www. postgresql. org/ docs/ current/ interactive/ pltcl. html[8] http:/ / plscheme. projects. postgresql. org/[9] http:/ / www. joeconway. com/ plr/[10] http:/ / www. nucleonsoftware. com[11] http:/ / www. sai. msu. su/ ~megera/ postgres/ gist/ tsearch/ V2/[12] http:/ / www. throwingbeans. org/ postgresql_and_xml. html[13] PostgreSQL affiliates.ORG domain (http:/ / www. computerworld. com. au/ index. php?id=760310963)[14] Sony Online opts for open-source database over Oracle (http:/ / www. computerworld. com/ databasetopics/ data/ software/ story/

0,10801,109722,00. html)[15] « PostgreSQL, Award Winning Software (http:/ / www. postgresql. org/ about/ awards)». postgresql.org (19-01-2008). Consultado el

31-01-2008.

Page 21: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

PostgreSQL 19

Enlaces externos• Wikimedia Commons alberga contenido multimedia sobre PostgreSQL. Commons• Asistencia técnica profesional para PostgreSQL (http:/ / www. postgresql. org/ support/ professional_support)• Sitio web oficial de PostgreSQL (http:/ / www. postgresql. org)• Guía de administración básica de PostgreSQL bajo Linux (http:/ / wiki. woop. es/ PostgreSQL)• Base de datos basada en PostgreSQL (http:/ / www. pervasivepostgres. com/ )• PostgreSQL-es.org (http:/ / www. postgresql-es. org/ ) - Portal en español sobre PostgreSQL• Comunidad de usuarios y sitio de PostgreSQL de Argentina (http:/ / www. arpug. com. ar)• Comunidad de usuarios y sitio de PostgreSQL de Perú (http:/ / www. postgresql. org. pe/ )• Comunidad de usuarios de PostgreSQL de Chile (http:/ / www. postgresql. cl/ )• Cliente escrito en PHP (http:/ / phppgadmin. sourceforge. net/ )

SQLite

SQLite

Desarrollador

D. Richard Hipphttp:/ / www. sqlite. org/ ''

Información general

Diseñado por D. Richard Hipp

Lanzamiento inicial 17 de agosto de 2000 (info [1])

Última versión estable 3.7.4 (info [2])8 de diciembre de 2010

Género RDBMS

Escrito en C

Sistema operativo Multiplataforma

Licencia Dominio público[3]

En español ?

SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamentepequeña (~275 kiB)[4] biblioteca en C. SQLite es un proyecto de dominio público[3] creado por D. Richard Hipp.A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un procesoindependiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con elprograma pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través dellamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que lasllamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos(definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host.Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.

Page 22: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

SQLite 20

En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión decampos tipo BLOB.El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión ycifrado.

CaracterísticasLa biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas,consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultascomplejas.SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de lossistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar unstring en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en unentero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil,sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un graninconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar losdatos al tipo de la columna hasta la versión 3.Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden serservidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro accesoconcurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puedeautomáticamente reintentarse hasta que expira un timeout configurable). Esta situación de acceso concurrente podríacambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un deadlock debido almultithread.[5] Este punto fue tratado en la versión 3.3.4, desarrollada el 11 de febrero de 2006.Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y gestionar losficheros de base de datos SQLite. También sirve como ejemplo para la escritura de aplicaciones utilizando labiblioteca SQLite.

Lenguajes de programación• La biblioteca puede ser usada desde programas en C/C++, aunque enlaces para Tcl y muchos otros lenguajes de

programación interpretado están disponibles.• SQLite se encuentra embebido en el REALbasic framework, haciendo posible que aplicaciones desarrolladas en

REALbasic para Windows, Linux o Mac OS X usen la base de datos SQLite.• Existe un módulo DBI/DBD para Perl disponible en CPAN, DBD::SQLite [6], no es una interface para SQLite,

sino que incluye el motor completo de SQLite en sí mismo por lo cual no necesita ningún software adicional.• Hay también un módulo para Python llamado PySQLite.[7]

• Hay otro módulo para Visual Basic 6 llamado VBSqlite[8]• Desde Delphi se puede usar SQLite a través de los componentes libres ZeosLib[9].• PHP incluye SQLite, desde la versión 5. SQLite también funciona con PHP 4 pero no viene incluido en él. Para

más detalles vea el manual [10] y PECL info [11].• Desde Java se puede acceder mediante el driver de SQLiteJDBC [12]

• Desde Lazarus 0.9.8 y Free Pascal 2.0.0, SQLite está disponibles para programadores de Pascal. Hay un tutorialen inglés aquí [13].

• Mac OS X v10.4 incluye SQLite, y es una de las opciones en la Core Data API de Apple. AppleScript puedeabrir, crear, y manipular base de datos SQLite por medio de la aplicación de ayuda "Database Events" de Mac OSX 10.4.

Page 23: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

SQLite 21

• BlitzMAX posee un MOD que permite trabajar con bases de datos SQLite. Para más detalles y descarga del MODvea [14].

• El componente de base de datos (gb.db) de Gambas soporta SQLite en sus versiones 1, 2 y 3• El lenguaje de programación de vídeo juegos Bennu [15] tiene un mod [16] de SQlite disponible

Productos que utilizan SQLite• Desde hace tiempo Mozilla Firefox usa SQLite para almacenar, por ejemplo, las cookies, los favoritos, el

historial, las direcciones de red válidas.• SQLite es usado por el entorno de base de datos Kexi como un motor de base de datos interno por defecto.• SQLite se ha usado para guardar el índice para un set de DVD conteniendo todos los números publicados de la

revista The New Yorker.• Yum, la herramienta de gestión de paquetes de Fedora Core, ha cambiado a SQLite y pysqlite para el

almacenamiento de datos y parseo de XML desde el núcleo de Fedora 4. De acuerdo con los comentarios de losusuarios, el incremento de funcionamiento es impresionante, así como la reducción en el consumo dememoria.[cita requerida]

• Los desarrolladores de OpenOffice.org han considerado embeber SQLite en el modelo de base de datos de Base,pero esto depende en gran manera del progreso de sqlite-sdbc-driver [17], que está todavía en estado de alpha.Actualmente han decidido [18] usar HSQLDB, pero la opción está todavía abierta siempre y cuando el driversqlite-sdbc acabe siendo maduro y de confianza.• También es interesante este how-to: Using SQLite Database with OpenOffice.org [19].

• Open Outlook Connector [20], un conector open source de Microsoft Outlook/MAPI ha sido hecho usandoSQLite.

• Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de RSS que se distribuye con OSX. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite, utilizandola API Core Data.

• Monotone, un sistema de control de versiones de libre distribución lo usa.• El nuevo sistema de almacenamiento implementado en el núcleo de Mozilla (MozStorage) utiliza SQLite. Mozilla

Firefox 3 usa un sistema basado en SQLite para almacenar bookmarks y el histórico de navegación. Se estáconsiderando también utilizar SQLite en Mozilla Calendar y Mozilla Thunderbird.

• PyKota [21], una solución gratuita de cuotas de impresión y contabilidad, puede utilizar SQLite como su base dedatos.

• Clementine usa SQLite para guardar su colección de datos por defecto.• XMMS2 usa SQLite para su biblioteca de Medios. La biblioteca de medios consta de un índice de metadatos de

las canciones en la biblioteca, así como un lugar en el cuál almacenar listas de reproducción.• SQLFilter, un plugin para OmniPeek, usa SQLite para indexar paquetes en una base de datos para poder se

consultada por medio de SQL.• HaXe usa SQLite como parte de su servidor embebido.• Adobe Photoshop Elements utiliza SQLite como motor de base de datos en su última versión del producto (la 6.0)

en sustitución del Microsoft Access, utilizado en las versiones anteriores.• XBMC Media Center (antes conocido como "XBox Media Center") es un reproductor de medios de audio, video,

fotos, etc de código libre (open source) multi-plataforma a la vez que un centro de entretenimiento. Usa SQLitepara administrar las librerías de música, video y fotografías, listas de reproducción y bookmarks entre otrasutilidades menores.

• Android usa SQLite para almacenamiento de datos estructurados (package android.database.sqlite [22]).• SimilarImages [23], programa para encontrar imágenes duplicadas.

Page 24: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

SQLite 22

Publicaciones• The Definitive Guide to SQLite, ISBN 1-59059-673-0

Referencias[1] http:/ / www. sqlite. org/ src/ info/ f37dd18e3f[2] http:/ / www. sqlite. org/ releaselog/ 3_7_4. html[3] « SQLite Copyright (http:/ / www. sqlite. org/ copyright. html)». sqlite.org. Consultado el 28 de diciembre de 2010.[4] « Distinctive Features Of SQLite (http:/ / www. sqlite. org/ different. html)». SQLite (3 de Marzo, 2008). Consultado el 5 de Abril, 2010.[5] http:/ / www. emailbattles. com/ archive/ battles/ group_aacihgadjd_aa/[6] http:/ / search. cpan. org/ perldoc?DBD::SQLite[7] PySQLite: Bindings para Python (http:/ / trac. edgewall. org/ wiki/ PySqlite)[8] http:/ / www. vbsqlite. com. ar/[9] http:/ / sourceforge. net/ projects/ zeoslib[10] http:/ / php. net/ ref. sqlite[11] http:/ / pecl. php. net/ sqlite[12] http:/ / www. zentus. com/ sqlitejdbc[13] http:/ / wiki. lazarus. freepascal. org/ index. php/ Lazarus_Database_Tutorial[14] http:/ / www. blitzbasic. com/ Community/ posts. php?topic=48455#538795[15] http:/ / bennugd. org/[16] http:/ / bennupack. blogspot. com/[17] http:/ / dba. openoffice. org/ drivers/ sqlite/ index. html[18] http:/ / dba. openoffice. org/ miscellaneous/ dba20. html[19] http:/ / documentation. openoffice. org/ HOW_TO/ data_source/ SQLite. pdf[20] http:/ / openconnector. org/[21] http:/ / www. librelogiciel. com/ software/ PyKota/ action_Presentation/[22] http:/ / developer. android. com/ reference/ android/ database/ sqlite/ package-descr. html[23] http:/ / celebnamer. celebworld. ws/ similarimages/

Enlaces externos• Sitio Oficial de SQLite (http:/ / www. sqlite. org/ ) (en inglés)• SQLite Latinoamérica (http:/ / sqlite-latino. blogspot. com/ ) (en español)• Entrevista con Richard Hipp (http:/ / www. linuxformat. co. uk/ modules. php?op=modload& name=Sections&

file=index& req=viewarticle& artid=19) (en inglés)• Webinar Introducción a SQLite (Google Video) (http:/ / video. google. com/

videoplay?docid=-5160435487953918649) (en inglés)• Introducción acerca de la extensión de SQLite para PHP5. (http:/ / www. zend. com/ php5/ articles/ php5-sqlite.

php)

Implementaciones• SQLiteSpy (http:/ / www. yunqa. de/ delphi/ sqlitespy/ ), compatible con Unicode, para Win32. Freeware• SQLite Administrator. (http:/ / sqliteadmin. orbmu2k. de)• SQLite Database Browser. (http:/ / sqlitebrowser. sf. net/ )• Database Master-SQLite Management Tool (http:/ / www. nucleonsoftware. com/ )• DaDaBIK (http:/ / www. dadabik. org/ )

Page 25: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 23

MySQL

MySQL

Instalador de MySql Server 5.0 Desarrollador

Sun Microsystems (hasta febrero de 2008 MySQLAB)

www.mysql.com [1]

Información general

Última versión estable 5.1.482 de junio de 2010

Género RDBMS

Escrito en C, C++

Sistema operativo Multiplataforma

Licencia GPL o Uso comercial [2]

En español ?

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones deinstalaciones.[3] MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de OracleCorporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresasque quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permitaeste uso. Está desarrollado en su mayor parte en ANSI C.Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyrightdel código está en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee elcopyright de la mayor parte del código.Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licenciasprivativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundoque colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Page 26: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 24

Historia del proyectoSQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fuepresentado 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 ycuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue estaempresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.Michael "Monty" Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajonivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo llevó a crear una API SQLdenominada MySQL para bases de datos muy similar a la de mSQL pero más portable.El nombre de MySQL procede de la combinación de My, hija del cofundador Michael "Monty" Widenius, con elacrónimo SQL (según la documentación de la última versión en inglés [4] ). Por otra parte, el directorio base ymuchas de las bibliotecas usadas por los desarrolladores tenían el prefijo My.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 abiertoafricano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad enArusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

Lenguajes de programaciónExisten varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las basesde datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con unaimplementació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 interfazODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse conlas bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.

Aplicaciones

Toma de pantalla programa de Monitoreo Mtop.

MySQL es muy utilizado en aplicaciones web, como Drupal ophpBB, en plataformas(Linux/Windows-Apache-MySQL-PHP/Perl/Python), y porherramientas de seguimiento de errores como Bugzilla. Supopularidad como aplicación web está muy ligada a PHP, que amenudo aparece en combinación con MySQL. MySQL es unabase de datos muy rápida en la lectura cuando utiliza el motor notransaccional MyISAM, pero puede provocar problemas deintegridad en entornos de alta concurrencia en la modificación. Enaplicaciones web hay baja concurrencia en la modificación dedatos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo deaplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre eldesempeño para detectar y corregir errores tanto de SQL como de programacion. [5]

Page 27: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 25

Versiones de MySQL

[6] [7] [8] [9] [10] [11]

Especificaciones

PlataformasMySQL funciona sobre múltiples plataformas, incluyendo:• AIX• BSD• FreeBSD• HP-UX• GNU/Linux• Mac OS X• NetBSD• Novell Netware• OpenBSD• OS/2 Warp• QNX• SGI IRIX• Solaris• SunOS• SCO OpenServer• SCO UnixWare• Tru64• eBD• Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows

Server (2000, 2003 y 2008).• OpenVMS[12]

Page 28: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 26

Características de la versión 5.0.22• Un amplio subconjunto de ANSI SQL 99, y varias extensiones.• Soporte a multiplataforma.• Procedimientos almacenados• Disparadores (triggers).• Cursores• Vistas actualizables.• Soporte a VARCHAR• INFORMATION_SCHEMA• Modo Strict• Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el

motor InnoDB de Oracle.• Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e

integridad referencial).• Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints)

con InnoDB.• Soporte para SSL.• Query caching• Sub-SELECTs (o SELECTs anidados).• Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros

por esclavo.• indexing y búsqueda de campos de texto completos usando el motor de almacenamiento MyISAM.• Embedded database library• Soporte completo para Unicode.• Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster.• Shared-nothing clustering through MySQL Cluster.

Características adicionales• Usa GNU Automake, Autoconf, y Libtool para portabilidad• Uso de multihilos mediante hilos del kernel.• Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice• Tablas hash en memoria temporales• El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una

herramienta GPL• Completo soporte para operadores y funciones en cláusulas select y where.• Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación• Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el

tráfico de contraseñas está cifrado al conectarse a un servidor.• Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.• Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16

columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).• Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas

Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.• En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida.• MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la

distribución de MySQL.

Page 29: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 27

Características (versión 4.0)Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales comointegridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenidodinámico, justamente por su simplicidad.Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, comopor desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar:• Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.• Disponibilidad en gran cantidad de plataformas y sistemas.• Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de

operaciones disponibles.• Transacciones y claves foráneas.• Conectividad segura.• Replicación.• Búsqueda e indexación de campos de texto.MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablasque contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumende información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, ustednecesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandescantidades de información, los administradores de bases de datos juegan un papel central en computación, comoaplicaciones independientes o como parte de otras aplicaciones.MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos entablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Lastablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo ymodificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesadopuede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License)para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta alGPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comerciallicenciada.

Mejoras futurasEl mapa de ruta de MySQL 5.1 [13] indica soporte para:• Particionado de la base de datos.• Backup en línea para todos los motores de almacenamiento.• Replicación segura• Restricciones a nivel de columna.• Planificación de eventos.• Funciones XML

Page 30: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 28

Características distintivasLas siguientes características son implementadas únicamente por MySQL:• Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster,

Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuadapara cada tabla de la base de datos.

• Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el númerode transacciones por segundo.

Tipos de compilación del servidorHay tres tipos de compilación del servidor MySQL:• Estándar: Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el

motor de almacenamiento InnoDB.• Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales

que no han sido lo bastante probadas o que normalmente no son necesarias.• MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada

en sistemas en producción porque el código de depuración puede reducir el rendimiento.

Especificaciones del código fuenteMySQL está escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internasen http:/ / dev. mysql. com/ doc/ internals/ en/ (en inglés).

Desarrollo del proyectoEl desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL ABquienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solución a losproblemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugsrevisando el manual en línea [14] que contiene las soluciones a problemas encontrados; el historial de cambios [15];la base de datos bugs [16] que contiene bugs reportados y solucionados y en las listas de correo MySQL [17].A través de las listas de correo los usuarios pueden enviar preguntas y éstas serán contestadas por desarrolladoresbrindándoles soporte.

Otras funcionalidades de las listas de correo• Anuncios: informan sobre nuevas versiones de MySQL y programas relacionados.• MySQL: lista principal de discusión de MySQL.• Bugs: permite a la gente buscar y arreglar bugs.• Temas internos: para gente que trabaja con el código de MySQL. Es el fórum para discutir sobre el desarrollo de

MySQL.• MySQLdoc: para gente que trabaja en documentación.• Pruebas de rendimiento: para gente interesada en temas de rendimiento no sólo de MySQL, sino de otros motores

de bases de datos.• Empaquetadores: para discusiones sobre empaquetamiento y distribución de MySQL.• Java: discusiones sobre MySQL Server y Java.Otras listas de correo son: MyODBC, Herramientas GUI, Cluster, Dotnet, PlusPlus y Perl.Adicional a las listas de correo, se encuentra el soporte de IRC de la comunidad MySQL. Además, hay soporte a través de foros [18] agrupados en categorías tales como: Migración, Uso de MySQL, Conectores MySQL,

Page 31: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 29

Tecnología MySQL y Negocios.

Estructuras organizativas/asociativas o de decisiónLa dirección y el patrocinio de los proyectos MySQL están a cargo de la empresa MySQL AB quien posee elcopyrigth del código fuente MySQL, su logo y marca registrada. MySQL, Inc. y MySQL GmbH son ejemplos deempresas subsidiarias de MySQL AB. Están establecidas en los Estados Unidos y Alemania respectivamente.MySQL AB, cuenta con más de 200 empleados en más de 20 países y funcionan bajo la estrategia de teletrabajo.

En enero del 2008 Sun Microsystems anuncia su compra.En abril del 2009 Oracle anunció la compra de Sun Microsystems[19]

Industria relacionadaLa industria radica en la venta de productos software y de algunos servicios relacionados a numerosas empresas queutilizan estos productos.MySQL AB clasifica los productos así:• MySQL Enterprise: incluye MySQL Enterprise Server , Monitoreo de la red MySQL, servicios de consulta y

soporte de producción MySQL.• MySQL Cluster• MySQL Embedded Database.• MySQL Drivers: para JDBC, ODBC y .Net• MySQL Tools: MySQL Administrator, MySQL Query Browser, and the MySQL Migration Toolkit.• MaxDB: MaxDB es una base de datos de código abierto certificada para SAP/R3.Los ingresos de esta empresa por la venta de licencias privativas de sus productos y los servicios suma los U$12millones.

MySQL en cifras• Según las cifras del fabricante, existirían más de seis millones de copias de MySQL funcionando en la actualidad,

lo que supera la base instalada de cualquier otra herramienta de bases de datos.• El tráfico del sitio web de MySQL AB superó en 2004 al del sitio de IBM.

LicenciaLa licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se hagabajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajootra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacerjustamente eso.

Estado actualLa serie en desarrollo de MySQL Server actualmente, es la 5.1 a la cual se añaden nuevas características en relacióna la serie 5.0. La serie de producción actual de MySQL es 5.0, cuya penúltima versión estable es la 5.0.26 lanzada enoctubre de 2006. Actualmente, se puede descargar la serie 5.0.27. La serie de producción anterior fue la 4.1, cuyaversión estable es 4.1.7 lanzada en octubre de 2004. A estas versiones de producción sólo se arreglan problemas, esdecir, ya no se añaden nuevas características. Y a las versiones anteriores solamente se les corrigen bugs críticos.

Page 32: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 30

Usuarios destacados

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías,prensa diaria o páginas de Internet fidedignas.Puedes añadirlas así o avisar al autor principal del artículo [20] en su página de discusión pegando: {{subst:Aviso referencias|MySQL}}~~~~

• Amazon.com• Cox Communications - La cuarta televisión por cable más importante de EEUU, tienen más de 3.600 tablas y

aproximadamente dos millones de inserciones cada hora.• Craigslist• CNET Networks• Digg - Sitio de noticias.• Flickr, usa MySQL para gestionar millones de fotos y usuarios.• Google - Para el motor de búsqueda de la aplicación AdWords.• Joomla!, con millones de usuarios.• phpBB, Uno de los más famosos sitios de foros, con miles de instalaciones y con millones de usuarios.• LiveJournal - Cerca de 300 millones de páginas servidas cada día.[21]

• NASA• NetQOS, usa MySQL para la gestión de algunas de las redes más grandes del mundo como las de Chevron,

American Express y Boeing.• Nokia, usa un cluster MySQL para mantener información en tiempo real sobre usuarios de redes de móviles.• Omniture• Sabre, y su sistema de reserva de viajes Travelocity.• Slashdot - con cerca de 50 millones de páginas servidas [22] cada día.• Wikipedia, sirve más de 200 millones de consultas y 1,2 millones de actualizaciones cada día, con picos de

11.000 consultas por segundo.• WordPress, con cientos de blogs alojados en él.• Yahoo! - para muchas aplicaciones críticas.

Tools• Database Master - MySQL Manager [10]

Referencias[1] http:/ / www. mysql. com[2] http:/ / www. mysql. com/ company/ legal/ licensing/ commercial-license. html[3] MySQL :: Dispelling the Myths (http:/ / dev. mysql. com/ tech-resources/ articles/ dispelling-the-myths. html)[4] MySQL 5.5 Manual: History of MySQL (http:/ / dev. mysql. com/ doc/ refman/ 5. 5/ en/ history. html)[5] mtop: monitoreo de carga en MySQL (http:/ / tecnocacharrero. blogspot. com/ 2009/ 10/ mtop-monitoreo-de-carga-en-mysql. html)[6] « B.3. Changes in Release 3.23.x (Lifecycle Support Ended) (http:/ / dev. mysql. com/ doc/ refman/ 4. 1/ en/ news-3-23-x. html)». Oracle.

Consultado el 24-08-2010.[7] « B.2. Changes in Release 4.0.x (Lifecycle Support Ended) (http:/ / dev. mysql. com/ doc/ refman/ 4. 1/ en/ news-4-0-x. html)». Oracle.

Consultado el 24-08-2010.[8] « B.1. Changes in Release 4.1.x (Lifecycle Support Ended) (http:/ / dev. mysql. com/ doc/ refman/ 4. 1/ en/ news-4-1-x. html)». Oracle.

Consultado el 24-08-2010.[9] « C.1. Changes in Release 5.0.x (Production) (http:/ / dev. mysql. com/ doc/ refman/ 5. 0/ en/ news-5-0-x. html#news-5-0-x)». Oracle.

Consultado el 24-08-2010.[10] « C.1. Changes in Release 5.1.x (Production) (http:/ / dev. mysql. com/ doc/ refman/ 5. 1/ en/ news-5-1-x. html#news-5-1-x)». Oracle.

Consultado el 24-08-2010.

Page 33: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

MySQL 31

[11] « C.1. Changes in Release 5.5.x (Development) (http:/ / dev. mysql. com/ doc/ refman/ 5. 5/ en/ news-5-5-x. html#news-5-5-x)». Oracle.Consultado el 24-08-2010.

[12] (http:/ / www. pi-net. dyndns. org/ anonymous/ kits/ )[13] http:/ / dev. mysql. com/ doc/ refman/ 5. 1/ en/ roadmap. html[14] http:/ / dev. MySQL. com/ doc/[15] http:/ / dev. MySQL. com/ doc/ MySQL/ en/ News. html[16] http:/ / bugs. MySQL. com/[17] http:/ / lists. MySQL. com/[18] http:/ / forums. MySQL. com[19] http:/ / www. elpais. com/ articulo/ internet/ Oracle/ adquiere/ Sun/ Microsystems/ 5710/ millones/ elpeputec/ 20090420elpepunet_3/ Tes[20] http:/ / en. wikipedia. org/ wiki/ Mysql?action=history[21] Alexa Internet - Website Information (http:/ / www. alexa. com/ data/ details/ traffic_details?& compare_sites=& y=p& q=&

url=livejournal. com)[22] http:/ / www. alexa. com/ data/ details/ traffic_details?& compare_sites=& y=p& q=& url=slashdot. org

Véase también• PostgreSQL Otra base de datos basada en software libre.• PHP Lenguaje en web comúnmente usado con MySQL.• Base de datos• Bonsai cvs• Appserv• Firebird SQL (http:/ / www. firebirdsql. org) sistema de administración de base de datos relacional de código

abierto y multiplataforma.

Enlaces externos• Wikimedia Commons alberga contenido multimedia sobre MySQL. Commons• Sitio web oficial de MySQL (http:/ / www. mysql. com) (en inglés)• MySQL Developer Zone (http:/ / dev. mysql. com) (en inglés)• Misqli (http:/ / es. php. net/ mysqli) - Extensión de MySQL para PHP (en inglés y otros idiomas)• Benetl (http:/ / www. benetl. net) - ETL utilizando MySQL (en inglés)• Crear una base de datos MySQL (http:/ / am-gc. blogspot. com/ 2010/ 07/ crear-una-base-de-datos-mysql. html) -

Tutorial en el que se explica cómo crear una base de datos mediante MySQL Workbench.

Page 34: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

32

1.3 Instalación y Configuración del EntornoOperativo

phpMyAdmin

Apariencia del phpMyAdmin.

phpMyAdmin es una herramientaescrita en PHP con la intención demanejar la administración de MySQL através de páginas web, utilizandoInternet. Actualmente puede crear yeliminar Bases de Datos, crear,eliminar y alterar tablas, borrar, editary añadir campos, ejecutar cualquiersentencia SQL, administrar claves encampos, administrar privilegios,exportar datos en varios formatos yestá disponible en 62 idiomas. Seencuentra disponible bajo la licencia GPL.

Este proyecto se encuentra vigente desde el año 1998, siendo el mejor evaluado en la comunidad de descargas deSourceForge.net como la descarga del mes de diciembre del 2002. Como esta herramienta corre en máquinas conServidores Webs y Soporte de PHP y MySQL, la tecnología utilizada ha ido variando durante su desarrollo.

HistoriaTobias Ratschiller, por entonces un consultor IT y después fundador de Maguma, una compañía de software,comenzó a trabajar en la elaboración de una red administrativa basada en PHP cliente-servidor en MySQL en 1998 einspirado por Peter Kuppelwieser y su MySQL-Webadmin. Cuando Ratschiller dejó el proyecto, así como elphpAdsNew del cual es también su inventor a causa de falta de tiempo, el phpMyAdmin se había convertido en unade las aplicaciones PHP más populares, y las herramientas de administración MySQL constituían una grancomunidad de usuarios y administradores. Es de anotar que esto incluía una buena contribución por parte dedistribuidores de Linux.Para coordinar el creciente número de parches, tres desarrolladores de software, Olivier Müller, Marc Delisle y LoïcChapeaux, registraron el proyecto phpMyAdmin en SourceForge.net y continuó su crecimiento en 2001.

Page 35: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

phpMyAdmin 33

Estado actualEl software, en la actualidad está disponible en 62 idiomas, aún se encuentra mantenido por el ProyectophpMyAdmin bajo responsabilidad de Olivier Müller, Marc Delisle, Alexander M. Turek, Michal Čihař y GarvinHicking.

Productos similaresUna herramienta similar es phpPgAdmin, la cual ofrece funcionalidades similares para PostgreSQL y que comenzócomo una copia de phpMyAdmin pero con una base de códigos completamente diferente.Otros productos para el manejo de base de datos Microsoft SQL Server, es phpMSAdmin.Otro gestor de base de datos conocido como phpMinAdmin para el manejo de MySQL, tiene las características másimportantes de phpMyAdmin, pero consiste en un único archivo php.

Enlaces externos• Guía de Instalación de PhpMyAdmin en GNU/Linux Ubuntu [1]

• Página oficial de PhpMyAdmin [2] (inglés)• wiki phpMyAdmin [3]

• Guía de uso en inglés [4]

• Lista de idiomas [5]

• www.phpmyadmin.net Página oficial [6]

• PhpMyAdmin Tutorials [7] - Learn how to use this database management system to manage the DBs.

Referencias[1] http:/ / www. tecnologiaslibres. net/ 2008/ 11/ 13/ instalar-phpmyadmin-en-ubuntu-810-intrepid-ibex/[2] http:/ / www. phpmyadmin. net/ home_page/[3] http:/ / wiki. cihar. com/ pma/ phpMyAdmin[4] http:/ / www. php-editors. com/ articles/ sql_phpmyadmin. php[5] http:/ / www. phpmyadmin. net/ documentation/ translators. html[6] http:/ / www. phpmyadmin. net[7] http:/ / www. webhosting. uk. com/ phpmyadmin-tutorials. php

Page 36: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Administrador de base de datos 34

Administrador de base de datosEl administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una base dedatos. En general esto incluye lo siguiente:• Recuperabilidad - Crear y probar Respaldos• Integridad - Verificar o ayudar a la verificación en la integridad de datos• Seguridad - Definir o implementar controles de acceso a los datos• Disponibilidad - Asegurarse del mayor tiempo de encendido• Desempeño - Asegurarse del máximo desempeño incluso con las limitaciones• Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a utilizar eficientemente la base de

datos.El diseño lógico y físico de las bases de datos a pesar de no ser obligaciones de un administrador de bases de datos,es a veces parte del trabajo. Esas funciones por lo general están asignadas a los analistas de bases de datos o a losdiseñadores de bases de datos.

DeberesLos deberes de un administrador de bases de datos dependen de la descripción del puesto, corporación y políticas deTecnologías de Información (TI). Por lo general se incluye recuperación de desastres (respaldos y pruebas derespaldos), análisis de rendimiento y optimización, y algo de asistencia en el diseño de la base de datos.Debe incorporarse una metodología basada en calidad y administración de riesgos al proceso de la administración debases de datos. http:/ / www. slinfo. una. ac. cr

Definición de base de datosAntes de continuar, necesitamos describir brevemente lo que es una "base de datos." Una base de datos es unacolección de información, accedida y administrada por un SGBD (Sistema Gestor de Bases de Datos) o en inglésDBMS (Database Manager System). Después de experimentar con SGBDs jerárquicos y de red durante los 70's, laindustria de IT se vio dominada por SGBDs tales como Oracle y MySQL.Un SGBD relacional manipula la información a manera de tipos de cosas del mundo real (entidades) en tablas querepresentan esas entidades. Una tabla es como una hoja de cálculo; cada renglón representa una entidad en particular(instancia), y cada columna representa la información respecto de la entidad (dominio). En ocasiones las entidadesestán hechas de entidades más pequeñas, como órdenes y líneas de orden.Una base de datos relacional bien manejada, minimiza la necesidad de las aplicaciones de contener informaciónrespecto al almacenamiento físico de los datos que se van a acceder. Para maximizar el aislamiento de los programasde las estructuras de datos, los SGBDs restringen el acceso a los datos mediante el lenguaje SQL, un lenguaje noprocedimental que limita al programador a obtener ciertos resultados.

DisponibilidadLa disponibilidad significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender alas necesidades del negocio. De manera incremental los negocios han ido requiriendo que su información estédisponible todo el tiempo (7x24", o siete días a la semana, 24 horas del día). La industria de TI ha respondido a estasnecesidades con redundancia de red y hardware para incrementar las capacidades administrativas en línea. siempre ycuando estes en la administracion de la TI.

Page 37: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Administrador de base de datos 35

RecuperabilidadLa recuperabilidad significa que, si se da algún error en los datos, hay un bug de programa ó de hardware, el DBA(Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba enestado consistente antes de que el daño se causara. Las actividades de recuperación incluyen el hacer respaldos de labase de datos y almacenar esos respaldos de manera que se minimice el riesgo de daño o pérdida de los mismos,tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del área enantelación a un desastre anticipado. La recuperación es una de las tareas más importantes de los DBA's.La recuperabilidad, frecuentemente denominada "recuperación de desastres", tiene dos formas primarias. La primerason los respaldos y después las pruebas de recuperación.La recuperación de las bases de datos consisten en información y estampas de tiempo junto con bitácoras los cualesse cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos dela base de datos que no incluyan las estampas de tiempo y las bitácoras, la diferencia reside en que el DBA debesacar de línea la base de datos en caso de llevar a cabo una recuperación.Las pruebas de recuperación consisten en la restauración de los datos, después se aplican las bitácoras a esos datospara restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados.Alternativamente se puede restaurar una base de datos que se encuentra fuera de línea sustituyendo con una copia dela base de datos.Si el DBA (o el administrador) intentan implementar un plan de recuperación de bases de datos sin pruebas derecuperación, no existe la certeza de que los respaldos sean del todo válidos. En la práctica, los respaldos de lamayoría de los RDBMSs son raramente válidos si no se hacen pruebas exhaustivas que aseguren que no ha habidoerrores humanos o bugs que pudieran haber corrompido los respaldos.

IntegridadLa integridad de una base de datos significa que, la base de datos o los programas que generaron su contenido,incorporen métodos que aseguren que el contenido de los datos del sistema no se rompan así como las reglas delnegocio. Por ejemplo, un distribuidor puede tener una regla la cual permita que sólo los clientes individuales puedansolicitar órdenes; a su vez cada orden identifique a uno y sólo un proveedor. El servidor Oracle y otros DBMSsrelacionales hacen cumplir este tipo de reglas del negocio con limitantes, las cuales pueden ser configuradasimplícitamente a través de consultas. Para continuar con este ejemplo, en el proceso de inserción de una nueva ordena la base de datos, esta a su vez tendría que cerciorarse de que el cliente identificado existen en su tabla para que laorden pueda darse.

SeguridadSeguridad significa la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las políticas delnegocio, así como, las decisiones de los encargados. Al igual que otros metadatos, una DBMS relacional maneja laseguridad en forma de tablas. Estas tablas son las "llaves del reino" por lo cual se deben proteger de posiblesintrusos.

RendimientoEl rendimiento significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muycomplejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan laexperiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayoresmotivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneasburocráticas tradicionales.

Page 38: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Administrador de base de datos 36

Desarrollo/Soporte a pruebasUno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas,mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Lasactividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a losprogramadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedanproporcionar nuevos tipos de almacenamientos para las funciones de los programas.Algunos roles del personal de TI relacionados con la administración de base de datos:• programador de aplicaciones• Administrador de sistema• Administrador de datos

Page 39: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Fuentes y contribuyentes del artículo 37

Fuentes y contribuyentes del artículoSistema de gestión de bases de datos  Fuente: http://es.wikipedia.org/w/index.php?oldid=43691213  Contribuyentes: 4lex, Banfield, Biasoli, Diegusjaimes, Dodo, Eligna, Humbefa,Leugim1972, Nioger, Olivares86, Poco a poco, Riviera, Robertorp, Savh, Super braulio, Technopat, Tirithel, 73 ediciones anónimas

Anexo:Comparación de sistemas administradores de bases de datos relacionales  Fuente: http://es.wikipedia.org/w/index.php?oldid=41911360  Contribuyentes: Azraq, Byj2000,Cristianrock2, Cuellared, Emijrp, Jachguate, Juank8041, ManoloKosh, Muro de Aguas, Shooke, Taichi, Triku, Yrithinnd, 50 ediciones anónimas

Microsoft SQL Server  Fuente: http://es.wikipedia.org/w/index.php?oldid=43711617  Contribuyentes: Acbernal, Alexav8, Anam11, Artistadelpecado, Buzzedw, Calbimonte.daniel, Cheesy,Cinabrium, Cojin, Cookie, DYN DaTa, Danielba894, Dbmaster125, Death Master, Diegusjaimes, Dodo, Dreitmen, Elen6m, Eval2de, Fanattiq, Ferenckv, Fremen, GeoAvila, GermanX,Gotencool, Hobbitts, Hprmedina, Ialad, Javierito92, Jhoropopo, Jjdelperal, Joseneno, Juank8041, Juliosm, Jynus, LastCyborg, M S, Madrimx, Magister Mathematicae, Maldoror, Marim3e,Matdrodes, Monta990, Montgomery, Muro de Aguas, Oscar ., Pandres95, Piero71, Retama, Roberzen, RoyFocker, SergiRiego, Sergioperea, Shooke, Sir Magician, Superzerocool, Symonblade,VARGUX, Vitorres, Wilfredor, Xavi2m, Xosema, 136 ediciones anónimas

PostgreSQL  Fuente: http://es.wikipedia.org/w/index.php?oldid=43731116  Contribuyentes: Aadrover, Aruelo, ArwinJ, Avh, Biasoli, Carcediano, Casivaagustin, Chiunti, Comae, Danthux,Daschapa, Dhidalgo, Diegusjaimes, Dodo, Dogor, Earizon, Elwikipedista, Emijrp, Er Komandante, Fanattiq, Gabrielperez, Gcsantiago, GermanX, Globalpegasus, Gronky, Hari Seldon, Jane Doe,Jsanchezes, Macumbero86, Matdrodes, Miguelo on the road, Moleculax, Mstreet linux, Niqueco, Pacofelc, Pilaf, PoLuX124, Ralfm, Reingart, Robregonm, Rybueno, Sanbec, Shooke, Tavopc,Toad32767, Tolano, Tony Rotondas, VARGUX, Vitorres, Vszjvll, Wastingmytime, Wikante, Willigulip, 140 ediciones anónimas

SQLite  Fuente: http://es.wikipedia.org/w/index.php?oldid=43752788  Contribuyentes: 3coma14, Adryitan, Aikurn, Alex LE, Anonimato1990, AquiLesBailoYo, Buzange, Cabero, Calsbert,Comae, Death Master, Dodo, Drini2, Drjackzon, Elwikipedista, Emijrp, Frantama, Gaeddal, Gato ocioso, GermanX, Götz, Hari Seldon, JoaquinFerrero, Josemiguel93, Karcrack, NeCuDeCo,Pablete2005, PabloCastellano, Pabloa, Paintman, Paradoja, Phirosiberia, Pvalentini, Shooke, Viko, Willigulip, 40 ediciones anónimas

MySQL  Fuente: http://es.wikipedia.org/w/index.php?oldid=43557119  Contribuyentes: 3coma14, Abakus, Abece, Akkan, Amgc56, Amitie 10g, Andreasmperu, Angel GN, Angel.F, Aparejador,Artistadelpecado, Ascánder, Avh, Biasoli, BlackBeast, Camoralesm, Catalania, Ciges, Cookie, Cratón, DYN DaTa, Damifb, Dark512, Death Master, Dferg, Diegusjaimes, Dodo, Dzegarra, E bmoya, Edub, Elwikipedista, Epsilom, Er Komandante, Ezarate, Fidelmoquegua, Frontelo, Frutoseco, Furti, Gabriel Acquistapace, Gacq, Gbarrer, GermanX, Götz, Hashar, Hispa, Hobbitts, Huds,Humberto, Icvav, Ignacio Icke, Ing amc, Isha, Ivancp, JAEAndTheBooks, JEDIKNIGHT1970, Jaimate, Jane Doe, Jarfil, Javierito92, Jesuja, Jisanche, JorgeGG, Josell2, Jucapac, Knocte, Levhita,Locovich, Logoff, LordTomas, Lrojasm, M S, Macar, Mafores, Maldoror, Maleiva, Mandramas, ManoloKosh, Martingala, Matdrodes, Monta990, Monty oso, Mortadelo2005, Muro de Aguas,Murphy era un optimista, Nihilo, Niqueco, OMenda, PabloStraub, PasabaPorAqui, Pipepupo, Platonides, Ppfk, Programador, Raiden32, Raysonho, Rbuj, RoyFocker, Rsg, Rutrus, Shaggy boy,SpeedyGonzalez, Spirit-Black-Wikipedista, Stuz ocuB, Sumolari, Superzerocool, Tano4595, Taty2007, Terko, Texai, Tomatejc, Tony Rotondas, Txuspe, Ty25, Unf, VARGUX, Valyag,Vitamine, Vitorres, Wilfredor, Wilinckx, Will vm, Willigulip, Xexito, Yachar, Zanaqo, Zufs, Ál, 345 ediciones anónimas

phpMyAdmin  Fuente: http://es.wikipedia.org/w/index.php?oldid=42512198  Contribuyentes: Albeiror24, Alexav8, Dianai, Dylaks, GermanX, Gnovaro, Levhita, Luis Fernando De Luna, Murode Aguas, Superzerocool, Surfaz, 13 ediciones anónimas

Administrador de base de datos  Fuente: http://es.wikipedia.org/w/index.php?oldid=42985329  Contribuyentes: .Sergio, Alhen, Anual, Arthurlb, BL, Banfield, Bombadil1986, Diegusjaimes,Edupedro, Farisori, Humbefa, Isha, Marvelshine, Pan con queso, Pertile, Tomatejc, Toxickore, Tyrannosaurusreflex, Vatelys, 75 ediciones anónimas

Page 40: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Fuentes de imagen, Licencias y contribuyentes 38

Fuentes de imagen, Licencias y contribuyentesArchivo:Yes check.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Yes_check.svg  Licencia: Public Domain  Contribuyentes: User:Gmaxwell, User:WarXArchivo:X mark.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:X_mark.svg  Licencia: GNU Free Documentation License  Contribuyentes: Abnormaal, DieBuche, Gmaxwell,Kilom691, Kwj2772, MGA73, Mardetanha, Penubag, Pseudomoi, WikipediaMaster, 1 ediciones anónimasArchivo:Pg logo.png  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Pg_logo.png  Licencia: BSD  Contribuyentes: Jeff MacDonaldArchivo:Commons-logo.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Commons-logo.svg  Licencia: logo  Contribuyentes: User:3247, User:GruntArchivo:SQLite370.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:SQLite370.svg  Licencia: Creative Commons Attribution-Sharealike 3.0  Contribuyentes: User:MwtoewsArchivo:Mysql.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Mysql.svg  Licencia: GNU General Public License  Contribuyentes: Frédéric BellaicheArchivo:Mysql9.JPG  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Mysql9.JPG  Licencia: Creative Commons Attribution-Sharealike 2.5  Contribuyentes: Ncsadmin, Raysonho, 1ediciones anónimasArchivo:Mtop.png  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Mtop.png  Licencia: Creative Commons Attribution-Sharealike 3.0  Contribuyentes: User:GbarrerImagen:Question book.svg  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Question_book.svg  Licencia: GNU Free Documentation License  Contribuyentes: Diego Grez, Javierme,Loyna, Remember the dot, Victormoz, Wouterhagens, 5 ediciones anónimasImagen:PhpMyAdmin screenshot.png  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:PhpMyAdmin_screenshot.png  Licencia: desconocido  Contribuyentes: PhpMyAdmin

Page 41: Taller de Bases de Datosdocshare04.docshare.tips/files/5734/57346925.pdfAnexo:Comparación de sistemas administradores de bases de datos relacionales 6 Nota (1): Para las transacciones

Licencia 39

LicenciaCreative Commons Attribution-Share Alike 3.0 Unportedhttp:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/