Base de Datos Desarrollar la capacidad de análisis
de la importancia de los datos, su almacenamiento y su transformación en información mediante el estudio de SQL y NO-SQL Historia: • En la antigüedad, la necesidad de la población de mantener un registro de datos en las primeras bibliotecas da paso a un concepto similar al actual • 1884 Herman Hollerith creó la máquina automática de tarjetas perforadas, el concepto de tarjeta perforada genera el registro y almacenamiento de datos. • Aparecimiento de cintas magnéticas • 1960, disminución en el costo de computadores, popularización de discos como medio de almacenamiento y posterior consulta • En esta misma época se dio inicio a las primeras generaciones de bases de datos de red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y arboles. • Base datos como término aparece 1era vez en California Simposio 1963 • 1970 se define el modelo relacional (Edgar Frank Codd), en ese mismo año y basado en el trabajo de Codd, Lawrence J. Ellison, más conocido como Larry Ellison desarrolló el Relational Software System, o lo que es lo mismo, lo que actualmente se conoce como Oracle Corporation • 80’s se desarrolla SQL (Structured Query Language) Conceptos: • Dato: Un dato es una representación simbólica (numérica, alfabética, algorítmica, espacial, etc.) de un atributo o variable cuantitativa o cualitativa • Información: La información es un conjunto organizado de datos procesados.
• Base de datos: colección de datos de similar contexto
• Gestores de bases de datos (Database Managment System): permite el acceso y almacenamiento de datos de manera estructurada Componentes
• Existen cuatro elementos esenciales: tablas, consultas, informes y formularios.
• Las tablas permitirán almacenar los datos. • Con las consultas podremos acceder a los datos almacenados, ordenarlos y filtrarlos por diferentes criterios. • Los informes serán la forma más eficaz de presentar nuestros datos. • Con los formularios se facilitan las tareas de introducción de datos. Tablas Dentro de una base de datos, la información se almacena y se organiza en tablas(fig). En cada tabla esta compuesta por una serie de filas y columnas. A las filas de una tabla de una base de datos se les llama registros y a las columnas, campos. Todos los datos que aparecen en un mismo registro se refieren a un mismo individuo y todos los datos que aparecen en un campo se refieren a un mismo tipo de información sobre el individuo. A la intersección de un registro con un campo se le llama dato. Tipos de datos • Número: Es el tipo numérico más flexible. Permite determinar su tamaño y su precisión en cuanto al número de valores decimales que puede representar. • Texto [VARCHAR]: Tipo de campo destinado a cadenas de caracteres cuya longitud no es fija. En la propiedad Longitud se determina su longitud máxima. • Sí/No: Este tipo de datos, conocido como “booleano”, se utiliza para representar datos Verdadero/Falso o Sí/No o 1/0. • Fecha, Hora y Fecha/Hora: Estos tipos de datos se utilizan para almacenar información referida a horas, fechas o su combinación. El formato de presentación lo podemos seleccionar en la propiedad Formato. • Nota: Tipo carácter, destinado a almacenar textos de gran longitud como pueden ser comentarios, etc. Campos clave Permiten identificar univocamente los registros de una tabla Relaciones entre tablas Relaciones entre tablas Relaciones entre tablas Relaciones entre tablas Tipos de relaciones • No siempre las condiciones para establecer vínculos entre dos tablas son iguales, la manera en que se relacionan las tablas entre sí da lugar a comportamientos diferentes. En la estructura de cualquier base de datos encontramos principalmente tres tipos de relaciones: • Uno a muchos. • Muchos a muchos. • Uno a uno.
• Generalmente la más utilizada es uno a muchos
Establecimiento de relaciones Consultas Las consultas tienen como propósito recuperar la información almacenada en las tablas. Formularios • Los formularios nos ayudarán principalmente en tareas de introducción de información. • Es posible introducir directamente en cada tabla poca cantidad de datos, para grandes volúmenes los formularios adquieren enorme importancia Informes (reportes) Los informes tienen como objetivo proporcionar las herramientas necesarias para obtener una copia impresa de los datos existentes en una base de datos. Por lo general los informes se suelen construir a partir de los resultados obtenidos de la ejecución de consultas. Tareas • Agregar nuevos archivos vacíos a la base de datos; • Insertar datos dentro de los archivos existentes; • Recuperar datos de los archivos existentes; • Modificar datos en archivos existentes; • Eliminar datos de los archivos existentes; • Eliminar archivos existentes de la base de datos Tipos de Bases de datos • Existen diferentes tipos de bases de datos pero las más comunes son las OLTP y OLAP.
• Las bases de datos de tipo OLTP (On Line Transaction Processing)
también son llamadas bases de datos dinámicas lo que significa que la información se modifica en tiempo real, es decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada uno de los artículos que el cliente está comprando y a su vez el sistema va actualizando el Inventario.
• Las bases de datos de tipo OLAP (On Line Analytical Processing)
también son llamadas bases de datos estáticas lo que significa que la información en tiempo real no es afectada, es decir, no se insertan, no se eliminan y tampoco se modifican datos; solo se realizan consultas sobre los datos ya existentes para el análisis y toma de decisiones. Este tipo de bases de datos son implementadas en Business Intelligence para mejorar el desempeño de las consultas con grandes volúmenes de información. Tipos de bases de datos • Bases relacionales El mercado sigue siendo dominado por DB2, SQL Server, Oracle e IBM. En • MySQL, Mainframe o Unix/Linux, Oracle y DB2 suelen ser los líderes, mientas que en • SQL Server y sistemas operativos Windows SQL Server suele ser la mejor opción. • Oracle • Bases no relacionales NO-SQL (Not Only SQL) • NoSQL Orientados a Documentos • Mongo DB • Couchbase Server • Mark Logic Server • Elastic Search …Otras bases de datos a destacar son RavenDB, Apache Jena y Pivotal GemFire. • • No SQL Orientados a Clave-Valor • Redis • Riak • Oracle NoSQL • Microsoft Azure Table Storage • No SQL Orientados a Columnas • Apache Cassandra • Apache Hbase • Bases de datos orientadas a grafos No SQL • Neo4j • Infinite graph Bases de datos como servicio Bases de datos que ofrecen sus servicios en la nube: Amazon SimpleDB Taller 1