sábado, 31 de mayo de 2014

MODELO RELACIONAL

El modelo de Bases de Datos Relacionales son las mas utilizadas en la actualidad para implementarlas en sistemas de información ya planificados, Este modelo permite establecer relaciones entre sus datos por medios de tablas en las que están guardados y a través de dichas conexiones se pueden relacionar los datos de ambas tablas.





TIPOS DE RELACIONES


  • Relación de uno a varios (1,n). Se crea una relación de uno a varios si uno de los campos relacionados es una clave principal. Esta relación es la más común. Cada registro de una tabla puede estar enlazado con varios registros de una segunda tabla, pero cada registro de la segunda sólo puede estar enlazado con un único registro de la primera.

  •  Relación de uno a uno (1,1). Se creará una relación de este tipo si ambos campos relacionados son claves principales. En este tipo de relación, un registro de la tabla uno sólo puede estar relacionado con un único registro de la tabla dos y viceversa.


  •  Relación de varios a varios (n,m). En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la primera tabla puede estar enlazado con varios registros de la segunda y viceversa. Este tipo de relación implica la repetición de los campos de cada tabla. Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté relacionada con las dos de uno a varios.




NORMALIZACION

            







MODELOS- Relacionales




Soluciones Web (Semestre 3 día) - ITFIP
Estudiante: Bryan Steven Ortiz Barrero



( Web-grafía de la imagen: http://uacm-it.blogspot.com/2011/04/modelo-entidad-relacion.html ).

Lo primero a tener en cuenta es que se está trabajando en base al modelo relacional, que consiste en hacer una conexión entre diferentes tablas y así se logra hacer una relación entre los datos guardados dentro de dichas tablas.

-Ejemplo:


Como dato curioso me gustaría agregar que el inventor de dicho sistema Edgar Frank Codd en el año 1970 ( Web-grafía del dato y de la última imagen: http://es.wikipedia.org/wiki/Base_de_datos_relacional ).

-Tipos de relaciones:

Relación 1:N

En esta relación una de las tablas va a hacer referencia a un solo ente, mientras que la otra puede abarcar diversos entes.

-Ejemplo:

(Web-grafía de la imagen: http://www.cyta.com.ar/elearn/bd/2_presentaciones_1.html)
Aquí nos damos cuenta de que es una tabla con un solo ente (PROFESOR) que se relaciona a otra tabla que se refiere a varios entes (MATERIA); y se da de forma que un solo profesor puede dictar varias materias.

Relación 1: 1

En esta relación las dos tablas trabajan haciendo referencia a un solo ente.

-Ejemplo:

(Web-grafía de la imagen: http://oscarsotorrio.com/post/2010/10/12/Transformacion-del-Modelo-ER-al-Modelo-Relacional.aspx)

En este ejemplo se ve como una persona puede estar casada solo con otra persona, en este caso la tabla se relaciona consigo misma, pero de igual forma puede relacionarse con otra sin cambiar la ideología, y esto seguiría siendo una relación 1:1.

Relación N:N


(Web-grafía de la imagen: http://www.ite.educacion.es/formacion/materiales/93/cd/m2_3/muchos_a_muchos.html)

Fijándonos en la parte superior de la imagen, nos damos cuenta de que se presenta una situación en donde muchos profesores pueden dictar muchos cursos incluso si estos llegan a repetirse. Esto es lo que se considera relación N:N.

A continuación dejo unos link que redireccionan cada uno a un vídeo en youtube, en donde se trabaja la arquitectura de una base de datos relacional.



Modelos ,relaciones y normalizacion

DB Relacional
Estas DB son las que cumplen con el modela relacional, que a su vez es el que permite crear relaciones entre tablas y por ende entre sus campos.
Este tipo de DB se constituyen de la siguiente manera:
Restricciones: de limitaciones de datos.
Claves: primaria, foranea. son los identificadores de relaciones.
Relaciones Bases y Derivadas:es la interconexion entre datos

Algo muy importante en esta Db son los tipos de relaciones:
1:N=uno a varios=esta relación permite que un elemento de la tabla A se relacione con varios elementos de la tabla B. Ejemplarizando: un padre puede tener varios hijos.

N:1=varios a uno=varios elementos de la tabla A se pueden relacionar con uno solo de la tabla B. Ejemplo: varios hijos pueden tener solo un padre.

N:M=varios a varios=varios elementos de la tabla A se pueden relacionar con varios elementos de la tabla B. Ejemplo:varios alumnos reciben clases de varios profesor.



NORMALIZACION
La normalizacion es el proceso mediante el cual se busca en un DB relacional la forma de encontrar y solucionar posibles conflictos, mediante las llamadas NF de Frank Cood.
Las formas normales mas utilizadas son las tres primeras, las cuales buscan "desmenusar" los mas posible los batos para poder logar una mejor relación entre ellos.

1NF

en esta se pide que existan solo campos atómicos, es decir, campos indivisibles. Ejemplo. Caros Turner lo puedo dividir en 2 campos Carlos Y Turner. También pide la existencia de identificaciones,es decir, Claves.

2NF

la 2NF eige para poder clasificar una tabla en este nivel, que una tabla este en 1NF y que no dependa totalmente e la clave primaria de otra tabla.

3NF

este nivel exige que ningún dato no-primario dependa transitivamente de la calve primaria.






viernes, 30 de mayo de 2014

MODELOS DE BASES DE DATOS

                                                        BD RELACIONALES




una base de datos relacional es un conjunto de datos que se integran entre si con una conexión directa o indirecta, El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámica mente.

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que éstos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información.

Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo.

Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver.



      


TIPO DE RELACIONES
El funcionamiento de una relación se basa en hacer coincidir datos de columnas clave, normalmente columnas que tienen el mismo nombre en ambas tablas. En la mayoría de los casos, la relación hace coincidir la clave principal de una tabla, que proporciona un identificador único para cada fila, con una entrada de la clave externa de la otra tabla. Por ejemplo, se pueden asociar las ventas de libros con los títulos específicos vendidos mediante la creación de una relación entre la columna title_id de la tabla titles (la clave principal) y la columna title_id de la tabla sales (la clave externa).

El tipo de relación se define tomando los máximos de las cardinalidades que intervienen en la relación. Hay cuatro tipos posibles:  

Una a una (1:1). En este tipo de relación, una vez fijado un elemento de una entidad se conoce la otra. Ejemplo: nación y capital.


 Una a muchas (1:N). Ejemplo: cliente y pedidos.



Muchas a una (N:1). Simetría respecto al tipo anterior según el punto de visto de una u otra entidad.


Muchas a muchas (N:N). Ejemplo: personas y viviendas





Tipos especiales de relación

  • Relación reflexiva o re cursiva. Relaciona una entidad consigo misma. Ejemplo: empleados que pueden ser jefes de otros empleados.
  • Dos relaciones entre las mismas dos entidades. Muy útil en el caso de necesitar almacenar información histórica completa. Ejemplo: proyectos en los que trabaja actualmente un empleado y proyectos en los que ha trabajado anteriormente.
  • Relación ternaria. Asociación de tres entidades. La forma de hallar cardinalidades en las relaciones ternarias es fijar una combinación de elementos en dos de los extremos de la relación y obtener lógicamente las cardinalidades mínima y máxima en el otro extremo libre. Ejemplo: el título de un libro, un autor y una editorial se relacionan las tres mediante la acción de publicar el libro (en un año concreto, con un ISBN y con un determinado número de páginas en la edición). Para determinar las cardinalidades hay que preguntarse por:
    1. Cuántos autores puede tener un determinado libro publicado en una determinada editorial(cardinalidd en el extremo de la entidad autor).
    2. Cuántos libros puede tener un determinado autor publicados en una determinada editorial (cardinalidad en el extremo de la entidad libro).
    3. En cuántas editoriales puede un determinado autor publicar un mismo libro (cardinalidad en el extremo de la entidad editorial).

  Normalizacion





normalizacion es el proceso de organizar de manera eficiente los datos dentro de una base de datos. esto incluye la creación de tablas y el establecimiento de relaciones entre ellas según, pre-diseñan tanto para proteger los datos y la base de datos, como para hacer mas flexible al eliminar la redundancia y dependencia e incoherencias,  estos puntos reducen la cantidad de espacio en la base de datos y asegura que estos son almacenados de manera lógica (integridad), la normalizacion también se puede entender como el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos mas pequeñas, que ademas de ser mas simples y mas estableas, son mas fáciles de mantener...











1) forma de normalizacion:
  •  elimina grupos de datos repetidos en tablas individuales...
  • crear una tabla separada por cada conjunto de datos relacionados...
  • identificar cada conjunto de datos relacionados con una clave principal...






2) forma de normalizacion

  • crear tablas separadas para aquellos conjuntos de valores que se aplican a varios registros...
  • relacionar estas tablas por medio de una clave externa...



3) forma de normalizacion:
  • eliminar los campos que no dependan de las claves, los valores de un registro que no forma parte de la  clave de registro no tiene cabida en la tabla.





4) forma de normalizacion:
  • 4NF se asegura de que las dependencias multivaluadas independientes estén correcta y eficientemente representadas en un diseño de base de datos. La 4NF es el siguiente nivel de normalización después de la forma normal de Boyce-Codd (BCNF).
  • Una tabla está en 4NF si y solo si esta en Tercera forma normal o en BCNF (Cualquiera de ambas) y no posee dependencias multivaluadas no triviales. 
  • Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal.





5) forma normalizacion:



  • Un esquema de relaciones R está en 5FN con respecto a un conjunto D de dependencias funcionales, de valores múltiples y de producto, si para todas las dependencias de productos en D se cumple por lo menos una de estas condiciones:(R1, R2, R3, ... Rn) es una dependencia de producto trivial.Toda si es una superllave de R. La quinta forma normal se refiere a dependencias que son extrañas. Tiene que ver con tablas que pueden dividirse en subtablas, pero que no pueden reconstruirse.

  • los objetivos de la normalizacion son:




    1.) la eliminación de datos redundantes, los cuales ocupan mas espacio en disco y crean problemas de mantenimiento...


    2.) evitar problemas de actualización de los datos en las tablas...


    3.) garantizar que las dependencias que tienen los datos entre ellos; sean lógicas y presenten algún sentido...




    MODELOS RELACIONALES "2"


    Angie Lorena Moreno V.


    MODELO RELACIONAL: Es un modelo de datos que nos permite realizar relaciones de varias tablas para poder comunicarlas mutuamente y poder modelar problemas reales y datos dinamicamente.





    TIPOS DE RELACIONES.

    Relacion de uno a varios (1-N): se crea una relacion de uno a varios si uno de los campos relacionadoses una clave principal. Esta relacion es la mas común. Cada registro de una tabla puede estar enlazado con varios registros de una segunda tabla, pero cada registro de la segunda solo puede estar enlazado con un unico registro de la primero.



    Relacion de uno a uno (1-1): Se creara una relacion de este tipo si ambos campos relacionados son claves principales. En este tipo de relacion, un registro de la tabla uno solo puede estar relacionado con un unico registro de la tabla dos y viceversa.


    Relacion de varios a varios (N-N): En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la primera puede estar enlazado co varios de la segunda y viceversa.



    NORMALIZACION EN BASE DE DATOS:  consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.










    jueves, 29 de mayo de 2014

    Definicion y concepto de BD y SGBD

    Definición y concepto de: BASES DE DATOS

    Es una herramienta para recopilar y organizar información, se puede almacenar información sobre personas, productos, pedidos, o cualquier otra cosa. Muchas bases de datos empiezan siendo una lista en un programa de procesamiento de texto o en una hoja de cálculo.Una base de datos es una colección de archivos relacionados que permite el manejo de la información de alguna compañía. Cada uno de dichos archivos puede ser visto como una colección de registros y cada registro está compuesto de una colección de campos. Cada uno de los campos de cada registro permite llevar información de algún atributo de una entidad del mundo realSe le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clarificarlos en conjunto.Interpretando las relaciones podemos definir que la Base de Datos. Es una herramienta organizadora, y/o bancos de informaciones que están relacionadas entre sí para que permitan el manejo de los datos. Que por cierto al principio es una aplicación de texto pero que no se pueden unir, por eso es importante la auto descripción para que el programa del sistema sea independiente a los datos.







    Definición y concepto de: SISTEMA GESTOR DE BASES DE DATOS

    Sistema Gestor de Base de Datos. Un Sistema Gestor de Base de Datos (SGBD, en inglés DBMS: DataBase Management System) es un sistema de software que permite la definición de bases de datos; así como la elección de las estructuras de datos necesarios para el almacenamiento y búsqueda de los datos, ya sea de forma interactiva o a través de un lenguaje de programación. Un SGBD relacional es un modelo de datos que facilita a los usuarios describir los datos que serán almacenados en la base de datos junto con un grupo de operaciones para manejar los datos.

    Los SGBD relacionales son una herramienta efectiva que permite a varios usuarios acceder a los datos al mismo tiempo. Brindan facilidades eficientes y un grupo de funciones con el objetivo de garantizar la confidencialidad, la calidad, la seguridad y la integridad de los datos que contienen, así como un acceso fácil y eficiente a los mismos.




    miércoles, 28 de mayo de 2014

    Bases de datos y SGBD

    BASE DE DATOS




    Una base de datos es una colección de información organizada de forma que un programa de ordenador (SGBD) pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico, que tiene como finalidad almacenar y ordenar datos que están relacionados entre si. 

    Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.


    SISTEMAS GESTORES DE BASES DE DATOS




    Los Sistemas de gestión de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de: un lenguaje de definición de datos, un lenguaje de manipulación de datos y un lenguaje de consulta.

    Un SGBD debe proporcionar a los usuarios la capacidad de almacenar datos en la base de datos, acceder a ellos y actualizarlos. Esta es la función fundamental de un SGBD y por supuesto, el SGBD debe ocultar al usuario la estructura física interna (la organización de los ficheros y las estructuras de almacenamiento).


    Un SGBD debe proporcionar un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (metadatos).





    BD y SGBD

                                                                    BASES DE DATOS

      BD  es un sistema que tiene como finalidad de darle un orden a los datos (ALMACENADOS) en ella para que sea más fácil su uso, puede contener una gran variedad de datos como: personas, objetos , animales, imágenes, sonido... dependiendo del uso que se le tiene destinado hacer, pero cada uno de los datos devén de estar relacionados en orden lógico para que sea fácil ubicar los datos, las bases de datos son manipuladas por  un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan, llamados gestores de bases de datos.

          características de las bases de datos...


    ·         *Independencia lógica y física de los datos.
    ·         * Redundancia mínima.
    ·         *Acceso concurrente por parte de múltiples usuarios.
    ·         *Integridad de los datos.
    ·         *Consultas complejas optimizadas.
    ·         *Seguridad de acceso y auditoria.
    ·         *Respaldo y recuperación.
    ·         *Acceso a través de lenguajes de programación estándar.




                                                 


       SISTEMA GESTOR DE BASES DE DATOS

                                     
    Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.Una de las principales herramientas que existen dentro de los gestores de base de datos, es la administración de usuarios, privilegios y funciones de contraseñas de usuarios y el establecimiento de límites de recursos de la base de datos, este manipula la bases de datos por medio de un sistema de programas que facilita trabajo.


    administración de una SGBD:


    1. La definición del esquema lógico y físico de la base de datos.
    2. La definición de las vistas de usuario.
    3. La asignación y edición de permisos para los usuarios.
    4. Mantenimiento y seguimiento de la seguridad en la base de datos.
    5. Mantenimiento general del sistema gestor de base de datos.

                                       


    Las características del sistema gestor de base de datos son:
    1. Abstracción de la información. Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.
    2. 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.
    3. Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante.
    4. Consistencia. Vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
    5. Seguridad. Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.
    6. Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.
    7. Respaldo y recuperación. Deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos.
    8. Control de la concurrencia. Lo más habitual es que sean muchas las personas que acceden a una base de datos; ésta debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.

                                               

    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.