1. BASE DE DATOS
CARLOS TORRES GASTELU
25/10/2011
LADY DIANA RINCON OCHOA
JORGE MENGELLE CASTRO
2. BASE DE DATOS VERACRUZ, VER
SISTEMAS GESTORE DE BASE DE DATOS
LIBRES VS NO LIBRES
SGBD libres
PostgreSQL
PostgreSQL
Desarrollador:
PostgreSQL Global
Development Group
Últimaversión:
8.3 (4 de febrero de 2008)
S.O.:
Multiplataforma
Género:
RDBMS
Licencia:
BSD
Enespañol: No
Sitio web:
www.postgresql.org
PostgreSQL es un sistema de gestión de base de datos relacional orientada a
objetos de software libre, publicado bajo la licencia BSD.
Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es
manejado por una sola compañía sino que es dirigido por una comunidad de
desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo.
Dicha comunidad es denominada el PGDG (PostgreSQL Global
DevelopmentGroup).
Características
Algunas de sus principales características son, entre otras:
Alta concurrencia
Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por
sus siglas en inglés) PostgreSQL permite 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 uso de bloqueos por tabla o por filas común en otras
bases, eliminando la necesidad del uso de bloqueos explícitos.
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para:
Números de precisión arbitraria.
2
3. BASE DE DATOS VERACRUZ, VER
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 indizables gracias a la infraestructura GiST de PostgreSQL.
Algunos
ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.
Otras características
Claves ajenas también denominadas Llaves ajenas o Claves Foráneas
(foreignkeys).
Disparadores (triggers): Un disparador o trigger se define en una acción
especifica
basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto
significa la
ejecución de un procedimiento almacenado basado en una determinada acción
sobre
una tabla específica. Ahora todos los disparadores se definen por seis
características:
El nombre del trigger o disparador
El momento en que el disparador debe arrancar
El evento del disparador deberá activarse sobre...
La tabla donde el disparador se activara
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 de su sistema de activación de disparadores
(triggers).
Vistas.
Integridad transaccional.
Herencia de tablas.
Tipos de datos y operaciones geométricas.
Funciones
Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios
lenguajes, con la potencia que cada uno de ellos da, desde las operaciones
básicas de programación, tales como bifurcaciones y bucles, hasta las
complejidades de la programación orientada a objetos o la programación
funcional. Los disparadores (triggers en inglés) son funciones enlazadas a
operaciones sobre losdatos.
3
4. BASE DE DATOS VERACRUZ, VER
Algunos de los lenguajes que se pueden usar son los siguientes:
Un lenguaje propio llamado [PL/PgSQL [1] [2](similar al PL/SQL de oracle).
C.
C++.
Gambas.
Java PL/Java web.
PL/Perl.
plPHP.
PL/Python.
PL/Ruby.
PL/sh.
PL/Tcl.
PL/Scheme.
Lenguaje para aplicaciones estadísticas R por medio de PL/R.
PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse
como un conjunto de valores que pueden 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 un usuario previamente definido. El concepto de
funciones, en otros DBMS, son muchas veces referidas como "procedimientos
almacenados".
MySQL
Instalador de MySql Server 5.0
Desarrollador:
Sun Microsystems (hasta febrero
de 2008 MySQL AB)
Últimaversión:
5.1.32 (19 de enero de 2009)
Escrito en:
C, C++
S.O.:
Multiplataforma
Género:
RDBMS
Licencia:
GPL o Uso comercial
Sitio web:
www.mysql.com
4
5. BASE DE DATOS VERACRUZ, VER
MySQL es un sistema de gestión de base de
datos relacional, multihilo y multiusuario con más de seis millones de
instalaciones.
1
MySQL AB —desde enero de 2008 una subsidiaria de Sun
Microsystems— 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 empresas que quieran incorporarlo en productos
privativos deben comprar a la empresa una licencia específica que les permita
este 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 copyright del código está en poder del autor individual,
MySQL es propietario y está patrocinado por una empresa privada, que posee
el copyright de la mayor parte del código.
Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado.
Además de la venta de licencias privativas, la compañía ofrece soporte y servicios.
Para sus operaciones contratan trabajadores alrededor del mundo que colaboran
vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson, y Michael
Widenius.
Especificaciones
Plataformas
MySQL 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 y otras versiones de Windows.
OpenVMS (véase: www.pi-net.dyndns.org/anonymous/kits/).
5
6. BASE DE DATOS VERACRUZ, VER
Características de la versión 5.0.22
Un amplio subconjunto de ANSI SQL 99, y varias extensiones.
Soporte a multiplataforma
Procedimientos almacenados
Triggers
Cursores
Vistas actualizables
Soporte a VARCHAR
INFORMATION_SCHEMA
Modo Strict
Soporte X/Open XA de transacciones distribuidas; transacción en dos
fases comoparte 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; puntosde recuperación (savepoints) con InnoDB
Soporte para SSL
Querycaching
Sub-SELECTs (o SELECTs anidados)
Réplica con un maestro por esclavo, varios esclavos por maestro, sin
soporteautomático para múltiples maestros por esclavo.
indexing y buscando campos de texto completos usando el motor
dealmacenamiento MyISAM
Embeddeddatabaselibrary
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 groupby y orderby, soporte de
funciones deagrupación
Seguridad: ofrece un sistema de contraseñas y privilegios seguro
medianteverificación basada en el host y el tráfico de contraseñas está
cifrado al conectarse a unservidor.
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de
hasta 50millones de registros.
6
7. BASE DE DATOS VERACRUZ, VER
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada
índicepuede consistir desde 1 hasta 16 columnas o partes de columnas. El
máximo ancho delímite son 1000 bytes (500 antes de MySQL 4.1.2).
Los clientes se conectan al servidor MySQL usando sockets TCP/IP en
cualquierplataforma. En sistemas Windows se pueden conectar usando
named pipes y ensistemas Unix usando ficheros socket Unix.
En MySQL 5.0, los clientes y servidores Windows se pueden conectar
usandomemoria compartida.
MySQL contiene su propio paquete de pruebas de rendimiento
proporcionado conel código fuente de la distribución de MySQL.
Características (versión 4.0)
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases
de datos relacionales, tales como integridad referencial y transacciones. A pesar
de ello,atrajo a los desarrolladores de páginas web con contenido dinámico,
justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQLestán siendo incorporados
tanto por desarrollos internos, como por desarrolladores de software libre. Entr e
las características disponibles en las últimas versiones se puede destacar:
Amplio subconjunto del lenguaje SQL. Algunas extensiones son
incluidasigualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Diferentes opciones de almacenamiento según si se desea velocidad en
lasoperaciones 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 tablas que contienen datos. Esta puede ser desde
una simple lista de compras a una galería de pinturas o el vasto volumen de
información en un red corporativa. Para agregar, acceder a y procesar datos
guardados en un computador, usted necesita un administrador como
MySQLServer. Dado que los computadores son muy buenos manejando grandes
cantidades de información, los administradores de bases de datos juegan un papel
central en computación, como aplicacionesindependientes 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 en tablas separadas en vez de colocar todos los
datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están
conectadas por relaciones definidas que hacen posible combinar datos de
diferentes tablas sobrepedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para
7
8. BASE DE DATOS VERACRUZ, VER
cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código
fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el
código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General
PublicLicense) para definir que puede hacer y que no puede hacer con el software
en diferentes situaciones.
Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones
comerciales, usted puede comprar una versión comercial licenciada.
Mejoras futuras
El mapa de ruta de MySQL 5.1 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
Características distintivas
Las 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 adecuada para cada tabla de
la basde datos.
Agrupación de transacciones, reuniendo múltiples transacciones de
variasconexiones para incrementar el número de transacciones por
segundo.
Tipos de compilación del servidor
Hay tres tipos de compilación del servidor MySQL:
Estándar: Los binarios estándar de MySQL son los recomendados para la
mayoríade los usuarios, e incluyen el motor de almacenamiento InnoDB.
Max (No se trata de MaxDB, que es una cooperación con SAP): Los
binariosincluyen características adicionales que no han sido lo bastante
probadas o quenormalmente 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 porqué el
código de depuración puede reducir el rendimiento.
Especificaciones del código fuente
MySQL está escrito en una mezcla de C y C++. Hay un documento que describe
algunas de sus estructuras internas en http://dev.mysql.com/doc/internals/en/ (en
inglés).
8
9. BASE DE DATOS VERACRUZ, VER
Desarrollo del proyecto
El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores
contratados por la empresa MySQL AB quienes se encargan de dar soporte a los
socios comerciales y usuarios de la comunidad MySQL y dar solución a los
problemas encontrados por los usuarios. Los usuarios o miembros de la
comunidad MySQLpueden reportar bugs revisando el manual en línea que
contiene las soluciones a problemas encontrados; el historial de cambios; la base
de datos bugs que contiene bugs reportados y solucionados y en las listas de
correo MySQL.
A través de las listas de correo los usuarios pueden enviar preguntas y éstas
serán contestadas por desarrolladores brindá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 paradiscutir sobre el desarrollo de MySQL.
_ MySQLdoc: para gente que trabaja en documentación.
_ Pruebas de rendimiento: para gente interesada en temas de rendimiento
no solo deMySQL, sino de otros motores de bases de datos.
_ Empaquetadores: para discusiones sobre empaquetamiento y distribución
deMySQL.
_ 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 agrupados en categorías tales
como:
Migración, Uso de MySQL, Conectores MySQL, Tecnología MySQL y Negocios.
Estructuras organizativas/asociativas o de decisión
La dirección y el patrocinio de los proyectos MySQL están a cargo de la empresa
MySQL AB quien posee el copyrigth del código fuente MySQL, su logo y marca
registrada. MySQL, Inc. y MySQLGmbH son ejemplos de empresas 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. Apache Derby
9
10. BASE DE DATOS VERACRUZ, VER
SGBD no libres
Visual FoxPro
Características
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear
aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet
PC o para la Web.
Entre sus características se pueden enumerar:
_ Capacidades poderosas y muy Veloces para el manejo de datos nativos y
remotos.
_ Flexibilidad para crear todo tipo de soluciones de bases de datos.
_ Lenguaje de Programación Orientado a objetos.
_ Utilización de Sentencias SQL en forma nativa.
_ Poderoso manejo de vistas y cursores y control completo de estructuras
relacionales.
_ Su propio gestor de base de datos incorporado. Sin embargo, también
puedeconectarse con servidores de base de datos, tales como Oracle,
Microsoft SQLServer o MySQL.
_ Cuenta con un motor de generación de informes renovado y muy flexible
parasoluciones más robustas.
_ Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos
(por ej.,servicios Web basados en XML) como por generar reports en
formato XLM.
_ Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft
La última versión liberada es la 9.0.
Se planeo inicialmente la salida de una nueva versión llamada 'Sedna', la cual
pretendía ser un poderoso y completo lenguaje interactuando aun más con
VisualStudio.net, SQLServer2005, SQLExpress2005 y Office12 teniendo a su vez
soporte para Windows Vista. Posteriormente se supo que no habrá una próxima
versión (Mensaje a la comunidad VFP). Microsoft ha cancelado su desarrollo y
lanzó lo que han hecho hasta ahora como add-ons en conjunto con el service pack
2 ambos por el momento en versión Beta (SP2 y "Sedna" - Beta). Igualmente,
según las políticas de soporte de Microsoft, éste continuara dando soporte al
producto hasta el año 2015. Hay un movimiento MasFoxPro que está haciendo
presión para que Microsoft continúe, o deje el Visual FoxPro como código abierto
para que otra gente pueda seguir evolucionándolo.
La versión 9.0 de Visual FoxPro cuenta con el SP1 y el (más reciente) SP2 (en
inglés) en los que hay algunas nuevas características y especialmente brindan
estabilidad al producto.
Microsoft SQL Server
Microsoft SQL Server
10
11. BASE DE DATOS VERACRUZ, VER
Desarrollador:
Microsoft
Últimaversión:
2008 (10.00.1600.22) (2
de Agosto de2008)
S.O.:
Microsoft Windows
Género:
RDBMS
Licencia:
Microsoft EULA
Sitio web:
www.microsoft.com/sql/
Microsoft SQL Server es un sistema de gestión de bases de
datos relacionales (SGBD) basado en el lenguaje Transact-SQL, y
específicamente
enSybase IQ, capaz de poner a disposición de muchos usuarios grandes
cantidades de
datos de manera simultánea
[cita requerida]
, así como de tener unas ventajas que más abajo
se describen.
Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes
sistemas
gestores de bases de datos como son Oracle,Sybase
ASE, PostgreSQL, Interbase, Firebird o MySQL.
Características de Microsoft SQL Server
_ 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 enel servidor y las 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 a proyectos más pequeños, que en sus versiónes
2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma
gratuita.
Es común desarrollar completos proyectos complementando Microsoft SQL
11
12. BASE DE DATOS VERACRUZ, VER
Server y Microsoft Access a través de los llamados ADP (Access Data Project).
Deesta forma se completa labase de datos (Microsoft SQL Server), con el entorno
de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos
capas mediante el uso de formularios Windows.
Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft
SQL Server incluye interfaces de acceso para varias plataformas de desarrollo,
entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos
Windows.
Lo nuevo de SQL Server 2008
La nueva base de datos contiene mayor seguridad, integración con PowerShell,
remueve La consola configuración del área expuesta (consola para configurar
seguridad), tiene correctores de sintaxis del lenguaje Transact-SQL e intellisence
(una carácteristica del visual studio que permite a la base de datos sugerir objetos
existentes mientras uno escribe la mitad de la palabra). Así mismo incluye nuevos
tipos de datos y funciones.
Oracle
Oracle database
Desarrollador:
Oracle Corporation
Última versión: 11g Release 1 (2007)
S.O.:
Multiplataforma
Género:
RDBMS
Licencia:
Privativa
Sitio web:
www.oracle.com
Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el
acrónimo en inglés de Relational Data Base Management System), desarrollado
por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más
completos, destacando su:
_ Soporte de transacciones.
_ Estabilidad.
_ Escalabilidad.
_ Soporte multiplataforma.
Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las
políticas de suministro de parches de seguridad, modificadas a comienzos de
2005 y queincrementan el nivel de exposición de los usuarios. En los parches de
12
13. BASE DE DATOS VERACRUZ, VER
actualización provistos durante el primer semestre de 2005 fueron corregidas 22
vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de
más de 2 años.
Aunque su dominio en el mercado de servidores empresariales ha sido casi total
hasta hace poco, recientemente sufre la competencia del Microsoft SQL
Server de Microsoft y de la oferta de otros RDBMS con licencia libre como
PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido
certificadas para poder trabajar bajo GNU/Linux.
Oracle surge a finales de los 70 bajo el nombre de Relational Software a partir de
un estudio sobre SGBD (Sistemas Gestores de Base de Datos) de George Koch.
ComputerWorld definió este estudio como uno de los más completos jamás
escritos sobre bases de datos. Este artículo incluía una comparativa de productos
que erigía a RelationalSoftware como el más completo desde el punto de vista
técnico.
Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que
por aquella época era todavía desconocido.
En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La tecnología
Oracle se encuentra prácticamente en todas las industrias alrededor del mundo y
en las oficinas de 98 de las 100 empresas Fortune 100. Oracle es la primera
compañía de software que desarrolla e implementa software para empresas 100
por ciento activado por Internet a través de toda su línea de productos: base de
datos, aplicaciones comerciales y herramientas de desarrollo de aplicaciones y
soporte de decisiones.
Oracle es el proveedor mundial líder de software para administración de
información, y
la segunda empresa de software.
Oracle a partir de la versión 10g Release 2, cuenta con 5 ediciones:
_ Oracle Database Enterprise Edition(EE).
_ Oracle Database Standard Edition (SE).
_ Oracle Database Standard Edition One (SE1).
_ Oracle Database Express Edition (XE).
_ Oracle Database Personal Edition (PE).
La única edición gratuita es la Express Edition, que es compatible con las demás
ediciones de Oracle Databas.
13