BASE DE DATOS

Get Started. It's Free
or sign up with your email address
BASE DE DATOS by Mind Map: BASE DE DATOS

1. TIPO DE RELACIONE EN BASE DE DATOS

1.1. Existen relaciones de diferentes tipos. El tipo de relación que utiliza Access al unir dos tablas dependerá de cómo estén definidos los campos relacionados.

1.1.1. 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.

1.1.2. 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. No es muy usada.

1.1.3. 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; esto es lo que Access pretende evitar. Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté relacionada con las dos de uno a varios.

2. Se 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 clasificarlos en conjunto.

3. DIAGRMA ENTIDAD RELACION

3.1. Un diagrama o modelo entidad-relación (a veces denominado por sus siglas en inglés, E-R "Entity relationship", o del español DER "Diagrama de Entidad Relación") es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades

3.2. Entidad

3.2.1. Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se diferencia únicamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad. Algunos Ejemplos: Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo, el número de chasis). Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).

3.3. Atributos

3.3.1. Los atributos son las características que definen o identifican a una entidad. Estas pueden ser muchas, y el diseñador solo utiliza o implementa las que considere más relevantes. En un conjunto de entidades del mismo tipo, cada entidad tiene valores específicos asignados para cada uno de sus atributos, de esta forma, es posible su identificación unívoca. Ejemplos: A la colección de entidades «alumnos», con el siguiente conjunto de atributos en común, (id, nombre, edad, semestre), pertenecen las entidades: (1, Sofía, 38 años, 2) (2, Josefa, 19 años, 5) (3, Carlos, 20 años, 2)

3.4. Relación

3.4.1. Describe cierta dependencia entre entidades o permite la asociación de las mismas. Por ejemplo: Si tenemos dos entidades, CLIENTE y HABITACIÓN, podemos entender la relación entre ambas al tomar un caso concreto (ocurrencia) de cada una de ellas. Entonces, podríamos tener la ocurrencia Habitación 502, de la entidad HABITACIÓN y la ocurrencia Henry Johnson McFly Bogard, de la entidad CLIENTE, entre las que es posible relacionar que la habitación 502 se encuentra ocupada por el huésped de nombre Henry Johnson McFly Bogard.

4. REGLAS DE NORMALIZACION

4.1. xisten 3 niveles de Normalización que deben respetarse para poder decir que nuestra Base de Datos, se encuentra NORMALIZADA, es decir, que cumple con los requisitos naturales para funcionar optimamente y no perjudicar las Performance por mala arquitectura.Estas 3 reglas de Normalización se las conoce como las 3 FORMAS NORMALES.

4.1.1. La Primera Forma Normal Esta primera Forma Normal, nos lleva a no repetir datos en nuestras tablas. Los famosos maestro – detalle, deben aplicarse a la estructura de la tabla.Si nuestra tabla de ventas repite una y otra vez (por cada venta) , el nombre, el domicilio y otros datos del Cliente, es que no hemos aplicado esta Normalizaciòn.Si tenemos una tabla clientes, en la tabla ventas, solo deberia figurar el codigo del cliente, para que el resto de los datos se puedan referenciar automaticamente sin problemas y sin duplicar información.Lo mismo ocurriria en una tabla de detalle de ventas, si por cada item vendido colocamos el detalle del producto, con su descripción , medidas, etc…Tendriamos un desaprovechamiento de espacio y recursos muy grande. Para ello, tendremos nuestra tabla maestra de Productos y con solo grabar el código de dicho producto en nuestra tabla de ventas, será suficiente.

4.1.2. La Segunda Forma Normal (Si o si debe estar previamente aplicada la Primera Forma Normal) La Segunda Forma Normal nos habla de que cada columna de la tabla debe depender de la clave.Esto significa que todo un registro debe depender únicamente de la clave principal, si tuvieramos alguna columna que se repite a lo largo de todos los registros, dichos datos deberian atomizarse en una nueva tabla.Veamos un ejemplo VentaID ItemID FechaVenta ClienteVenta ProductoId Cantidad 1 1 01/12/2007 2 2334 10 1 2 01/12/2007 2 3333 2 1 3 01/12/2007 2 66643 34 1 4 01/12/2007 2 21 3 2 1 02/12/2007 5 3566 6

4.1.3. La Tercera Forma Normal En realidad si nos guiamos en el ejemplo de esta nota, ya no quedaria normalización por aplicar y podriamos decir que nuestro ejemplo cumple con las 3 formas normales, ya que la 3ra Forma Normal nos habla de que : Ninguna Columna puede depender de una columna que no tenga una clave No puede haber datos derivados

5. PROGRAMAS O GESTORES DE BASE DE DATOS

5.1. 1. MySQL

5.1.1. Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. Características:

5.1.1.1. Destinations

5.1.1.1.1. : Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como el 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 propiedad 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,

5.2. 2. Oracle:

5.2.1. 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), fabricado por Oracle Corporation. Características: Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: • Soporte de transacciones. • Estabilidad. • Escalabilidad.

5.2.1.1. • Es multiplataforma. Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de 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. Ventajas: • Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial • Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador. Desventajas: • El mayor inconveniente de Oracle es quizás su precio • necesidad de ajustes • elevado el coste de la información

5.3. 3. Microsoft SQL Server

5.3.1. Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir. Características:

5.3.1.1. : • 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 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 Ventajas:

5.3.1.2. : • Soporte de transacciones. • Escalabilidad, estabilidad y seguridad. • Soporta procedimientos almacenados. Desventajas: • Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software • La relación calidad-precio esta muy debajo comparado con Oracle

5.4. 4. Microsoft Access:

5.4.1. Es un sistema de gestión de bases de datos Relacional creado y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas. Características: Entre las principales funcionalidades de Access se encuentran:

5.4.1.1. : • Crear tablas de datos indexadas. • Modificar tablas de datos. • Relaciones entre tablas (creación de bases de datos relacionales). • Creación de consultas y vistas. • Consultas referencias cruzadas. • Consultas de acción (INSERT, DELETE, UPDATE). • Formularios. • Informes.

5.4.1.2. • Llamadas a la API de windows. Ventajas: • Tablas para almacenar los datos. • Consultas para buscar y recuperar únicamente los datos que necesita. • Formularios para ver, agregar y actualizar los datos de las tablas. Desventajas: • Limitaciones en el procesamiento de las búsquedas

5.5. 5. Visual FoxPro:

5.5.1. Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft. 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 enumera

5.5.1.1. • 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 puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL. •

5.5.1.2. Cuenta con un motor de generación de informes renovado y muy flexible para soluciones 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. Ventajas: • Menor costo • Entorno windows (Es mas familiar y predecible) Desventajas: • Integridad • Seguridad • Menor capacidad de procesamiento

5.6. 6. PostgreSQL

5.6.1. 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 apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Características Algunas de sus principales características son, entre otras: 1. Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) 2. Amplia variedad de tipos nativos: provee nativamente varios soportes Ventajas:

5.6.1.1. • Ahorros considerables de costos de operación • Estabilidad y confiabilidad Desventajas: • Consume más recursos que MySQL • La sintaxtis de algunos de sus comandos o sentencias no es nada intuitiva.

5.7. 7. Apache Derby Apache Derby

5.7.1. s 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:

5.7.1.1. • 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.

5.7.1.2. • A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo. • Transacciones y recuperación ante errores ACID. Ventajas: • se pude configurar como cliente/servidor • tiene la opción del manejador de base de datos soporta la arquitectura cliente/servidor desventajas: • es tedioso solo lo puedes manipular si conoces lo básico de SQL • necesitas códigos para crear la base de datos

5.8. 8. DB2

5.8.1. Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores. Características

5.8.1.1. • Permite el manejo de objetos grandes (hasta 2 GB) • la definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, • SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline. Ventajas

5.8.1.2. •Permite agilizar el tiempo de respuestas de esta consulta •Recuperación utilizando accesos de sólo índices. •Predicados correlacionados. •Tablas de resumen •Tablas replicadas •Uniones hash Desventajas: •Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar. •Influye en la elección

5.9. 9. DB2 express-C DB2 express-C

5.9.1. 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. Características

5.9.1.1. • Compatibilidad SQL, lo que facilita la ejecución de aplicaciones escritas para otras bases de datos principales, en DB2. • Mejorías para el desarrollo de aplicativos • Mejoras en seguridad Ventajas: • No hay Límites de Datos • No hay límites de conexiones

5.10. 10. SQLite

5.10.1. Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público. Características

5.10.1.1. • La biblioteca implementa la mayor parte del estándar SQL-92 • Varios procesos o hilos pueden acceder a la misma base de datos sin problemas • Varios accesos de lectura pueden ser servidos en paralelo. •

5.10.1.1.1. Destinations

5.10.1.2. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. Ventajas: • Rendimiento de base de datos • Interfaces • Costo Desventajas: • Falta de Clave Foránea • Falta de documentación en español