lunes, 26 de mayo de 2014

Bases de datos y Sistemas Gestores de Bases de Datos

DEFINICION PERSONAL
Que es una base de datos ?
                                 

una base de datos es una colección de informacion organizada para que un programa de ordenador pueda selecionar rapidamente los fragmentos de datos que necesite para atender las necesidades de  un amplio grupo de usuarios su tipologia es variada y se caracterizan  por una alta estructuracion y estandarizacion de  la informacion.


                                         
sistema de gestión de bases de datos (SGBD) 

Que es ?


es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos.
 Funciones :
~los SGBD deben incluir un control de concurrencia
~Un SGBD se debe encargase de cumplir las reglas de integridad y redundancias 
~Restricción de accesos no autorizados.
~Suministrar múltiples interfaces de usuario.
~Representar relaciones complejas entre los datos.
~ un SGBD debe realizar copias de seguridad y de recuperación de datos.
Clasificación de los SGBD.



                            


~Relacional (SGBD): representa a la base de datos como una colección de tablas. Estas bases de datos suelen utilizar SQL como lenguaje de consultas de alto nivel.
~Orientado a objetos: define a la base de datos en términos de objetos, sus propiedades y sus operaciones. Todos los objetos que tienen la misma estructura y comportamiento pertenecen a una clase y las clases de organizan en jerarquías.
~ Objeto-relacional o relacional extendido: son los sistemas relacionales con características de los orientado a objetos

~ Jerárquico: representa los datos como estructuras jerárquicas de árbol.
~ En red o CODASYL DBTG.
Un SGBD también puede clasificarse por el número de usuario a los que da servicio:
~ Monousuario
~multiusuario 
También  puede clasificarse según el número de sitios en los que está distribuida la base de datos:
~ Centralizado: la base de datos y el software SGBD están almacenados en un solo sitio (una sola computadora).
~Distribuido (SGBDD): la base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red.

algunos tipos  y caracterisiticas de un SGBD:

~PostgreSQL
                                  


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

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.
Amplia variedad de tipos nativos
PostgreSQL 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 indexables gracias a la infraestructura GiST de PostgreSQL.

~firebird


                                       


Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1.



Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

  * Ejecutable pequeño, con requerimientos de hardware bajos.
  * Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
  * Soporte de transacciones ACID y claves foráneas.
  * Es medianamente escalable.
  * Buena seguridad basada en usuarios/roles.
  * Diferentes arquitecturas, entre ellas el Servidor Embebido (embedded server) que permite       ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.
 * Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin                 capacidad de escritura como cd-roms. 

  * Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc. 
  * Requisitos de administración bajos, siendo considerada como una base de datos libre de        mantenimiento, al margen de la realización de copias de seguridad. 

  * Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos. 
  * Completo lenguaje para la escritura de disparadores y procedimientos almacenados                  denominado PSQL. 
  * Capacidad de almacenar elementos BLOB (Binary Large OBjects). 
  * Soporte de User-Defined Functions (UDFs). 
  * Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-              Rom y para crear versiones de evaluación de algunas aplicaciones

~SQLite

                                   


SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (275 kiB) biblioteca en C. SQLite es un proyecto de dominio público 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 proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.

Características:

La 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 consultas complejas.

SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales.

Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente.

~DB2 express-C 
                 


DB2 express-C es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la versión de pago DB2 propiedad también de la empresa IBM, este motor de base de datos es gratuita pero no libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener limite de crecimiento en sus archivos de base de datos.

Apache Derby 

                                      





Apache Derby es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.

Características:
  * APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de                 SQL99. 
  * Su código mide alrededor de 2000KB comprimido. 
  * Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar        la información en un única base de datos y control completo de usuarios. 
  * Soporta internamente procedures, cifrado y compresión. 

Trae soporte multilenguaje y localizaciones específicas.

  * A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo.

  * Transacciones y recuperación ante errores ACID.
  * Posee tres productos asociados a la marca:
  * Derby Embedded Database Engine: El motor propiamente dicho.
  * Derby Network Server: Permite convertir Derby en una base de datos que sigue el modelo       cliente-servidor tradicional.
  * Database Utilities: Un paquete de utilidades.  

~MySQL
                               





MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation 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 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.

Características
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 MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software ibre. 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. 

 * Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferente                   velocidad de operación, soporte físico, capacidad, distribución geográfica, transacciones... 
 * Transacciones y claves foráneas. 
 * Conectividad segura. 
 * Replicación. 
 * Búsqueda e indexación de campos de texto.










No hay comentarios.:

Publicar un comentario