Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Programación y administración de la información. Introducción Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 1 Que es una base de datos? •Conjunto de datos almacenados. •Pertenecientes a un mismo contexto. •Indexados. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 2 Un día cualquiera: 7:30 am: Despierto y reviso el mail. 8:30 am: Metro. Pago con tarjeta Bip. 9:30 am: Reviso Emol, veo publicidad de Aliexpress. 11:00 am: Me meto al banco a revisar si me transfirieron. 12:00 pm: Busco artículos de bicicleta en Mercadolibre. 1:00 pm: Me llega una solicitud de seguidor en Instagram. … Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 3 Que tienen en común todas estas actividades? Todas involucran una base de datos! Las bases de datos están detrás de todo lo que hacemos día a día. Trabajen donde trabajen, van a interactuar con bases de datos! Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 4 En este curso aprenderán: Usar Sistemas de manejo de bases de datos (DBMS): •Hacer Queries o Consultas de forma que los sistemas las entiendan. •Implementar sus conocimientos en aplicaciones más complejas. •Ser un usuario final de una base de datos. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 5 Que es una base de datos? Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 6 Base de datos VS Excel •Redundancia mínima •Integridad de datos •Seguridad de acceso y auditorias •Respaldo y recuperación •Usuario concurrentes •Lenguajes de programación estándar Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 7 Que es un sistema de bases de datos? DBMS (Data Base Management System): es un programa que hace fácil el manejo de volúmenes de datos. En este curso nos enfocaremos en bases de datos relacionales (RDBMS), los más comunes, que son básicamente tablas. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 8 Como funciona un DBMS (y para que sirven) Manejo de datos: •Encontrar datos. •Modificar datos. •Asegurar la consistencia de datos. •Seguridad, privacidad. Aprenderemos los principios de manejo de datos. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 9 Como funciona un DBMS (y para que sirven) Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 10 Porque usar un DBMS? Ejemplo, imaginemos que la base de datos de cursos de la UAndes se maneja en archivos de texto en un servidor de la universidad: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 11 Tablas necesarias: • Estudiantes.txt • Cursos.txt • Profesores.txt Porque usar un DBMS? Primer problema: •Organización de datos ineficiente •Todos los datos de las tablas son interpretados como texto Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 12 Porque usar un DBMS? •Búsqueda de datos es costosa: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 13 Ejemplo, búsqueda de un estudiante: • Archivo Estudiantes.txt pesa 16 MB • Cada página de disco tiene 8KB • Archivo cuenta de un total de 2000 páginas de disco • Cada búsqueda en disco duro toma 0,1 ms (mínimo) Recorrer el archivo de estudiantes completo toma 0,2 segundos! Porque usar un DBMS? •Ahora hagamos un cruce de tablas: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 14 Ejemplo, cruce de datos: • Archivo Estudiantes.txt y Cursos.txt pesan 16 MB • Cada página de disco tiene 8KB • Archivo cuenta de un total de 2000 páginas de disco • Cada búsqueda en disco duro toma 0,1 ms (mínimo) El cruce de tablas toma 11 segundos en 55 cursos! Porque usar un DBMS? •No hay manejo de memoría: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 15 Ejemplo, no hay espacio suficiente: • Memoria RAM consta de 8GB • Disco duro es de 1 TB = 1000GB Que pasa si estudiantes.txt pesa 10GB? Porque usar un DBMS? •No hay control de concurrencia: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 16 Ejemplo: Andrés y Agustín quieren tomar el mismo curso y lo toman al mismo tiempo. Porque usar un DBMS? Otros problemas asociados: •No hay control de concurrencia •No es fiable (respaldos) •No tiene seguridad (cualquiera puede modificar el archivo) Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 17 Usando un DBMS Los usuarios se encargan de diseñar la estructura de la base de datos y de hacer queries: Por debajo, el sistema se encarga de: •Motor de consultas (encontrar los datos, actualizar, etc) •Optimizar consultas •Manejo de transacciones •Almacenaje óptimo •Seguridad y más… Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 18 Usando un DBMS El DBMS se encarga de optimizar las consultas, nosotros (el usuario) solo escribimos las consultas en lenguaje estándar. Independencia: Las consultas son independientes de la base de datos y no necesitamos decirle al programa como ir a buscar la información. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 19 Usando un DBMS Integridad de datos: •Todo chileno tiene RUT •No existen dos chilenos con un mismo RUT •Todo alumno de programación es también alumno de Ingeniería Comercial. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 20 Usando un DBMS Acceso concurrente: •Usuarios pueden leer y actualizar datos al mismo tiempo sin sufrir interferencias. •Cada usuario siente como si estuviese usando un sistema con un único usuario. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 21 Usando un DBMS Separación lógica: •Usuarios ven el modelo lógico de datos. •La implementación de las funcionalidades del DBMS está aislada del usuario. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 22 Ejemplos de DBMS Relacionales Open Source: •postgreSQL •MySQL – Fácil de manejar (este vamos a usar) •SQLite Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 23 Ejemplos de DBMS Relacionales con licencia: •Oracle •SAP HANA •Microsoft SQL Server Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 24 Modelo de datos relacional El modelo de datos es simplemente una notación para escribir datos. •En este curso vamos a ver el modelo relacional, el más ocupado y presente en todos los DBMS comerciales. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 25 Modelo de datos relacional Programación y administraciónde la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 26 Marca Producto Tipo Origen Austral Calafate Ale Punta Arenas Austral Lager Lager Punta Arenas Kuntsmann Torobayo Ale Valdivia Escudo Ambar Ale Santiago Relación: A cada tabla le llamamos Relación • En este caso tenemos la relación Cervezas Atributos: Son las columnas de la relación • Marca, Producto, Tipo y Origen. Modelo de datos relacional Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 27 Marca Producto Tipo Origen Austral Calafate Ale Punta Arenas Austral Lager Lager Punta Arenas Kuntsmann Torobayo Ale Valdivia Escudo Ambar Ale Santiago Tuplas: • Las filas de una relación, conteniendo datos Esquema Para denominar relaciones escribimos su nombre y sus atributos entre paréntesis: Cervezas(Marca, Producto, Tipo, Origen) •Un esquema es un conjunto de relaciones con sus atributos. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 28 Esquema Ejemplo: Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 29 Cervezas(Marca, Producto, Tipo, Origen) Produccion(Cerveceria, ID Producto, Fecha, Cantidad) Inventario(ID Producto, Bodega, Cantidad, Ubicacion) Dominio Cada atributo tiene un dominio. Un dominio es el tipo de dato, por ejemplo: •Char: caracter •String: cadena de caracteres (como una palabra) •Integer: Número entero •Float: Número con decimales •Date: Fecha Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 30 Instancia Una instancia es un conjunto de tuplas para cada relación de ese esquema. •Cervezas •Inventario Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 31 Marca Producto Tipo Origen Austral Calafate Ale Punta Arenas Kuntsmann Torobayo Ale Valdivia ID producto Bodega Cantidad Ubicacion 10028 Quilicura 998 PET-02 20029 Renca 320 VIN-12 Integridad de datos Como aseguramos la integridad en los esquemas? •Una restricción fundamental: Llaves Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 32 Integridad de datos Un conjunto de atributos forma una llave en una relación si no permitimos que no existan dos tuplas para esa relación con los mismos valores en todos los atributos de la llave, y no hay un subconjunto de esos atributos que cumpla esa condición. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 33 Integridad de datos Ejemplo, Cual es la llave? Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 34 ID producto Bodega Cantidad Ubicacion 10028 Quilicura 998 PET-02 10039 Renca 234 PET-03 18992 Santiago Sur 122 CERV-12 19900 Quilicura 453 VIN-12 20029 Renca 320 VIN-12 Integridad de datos Ejemplo, Cual es la llave? Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 35 ID producto Bodega Cantidad Ubicacion 10028 Quilicura 998 PET-02 10039 Renca 234 PET-03 18992 Santiago Sur 122 CERV-12 19900 Quilicura 453 VIN-12 20029 Renca 320 VIN-12 Integridad de datos Ejemplo, Cual es la llave? Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 36 Marca Producto Tipo Origen Austral Calafate Ale Punta Arenas Austral Lager Lager Punta Arenas Kuntsmann Torobayo Ale Valdivia Escudo Ambar Ale Santiago Escudo Lager Lager Santiago Royal Guard IPA Ale Temuco Integridad de datos Ejemplo, Cual es la llave? Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 37 Marca Producto Tipo Origen Austral Calafate Ale Punta Arenas Austral Lager Lager Punta Arenas Kuntsmann Torobayo Ale Valdivia Escudo Ambar Ale Santiago Escudo Lager Lager Santiago Royal Guard IPA Ale Temuco Integridad de datos Cuando escribimos las relaciones, subrayamos la llave. Stock(ID Producto, Bodega, Cantidad, Ubicación) Cervezas(Marca, Producto, Tipo, Origen) Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 38 El modelo relacional Una de las principales características del modelo relacional es que usa relaciones. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 39 El modelo relacional Tipos de relaciones: •Uno a uno Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 40 El modelo relacional Tipos de relaciones: •Uno a muchos Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 41 El modelo relacional Tipos de relaciones: •Muchos a muchos Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 42 El modelo relacional Tipos de relaciones: •Muchos a muchos Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 43 ¿Que pasa si no cumplo con el esquema? Los esquemas de una base relacional son estrictos y aceptan solo un tipo de datos por atributo. Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 44 Bases de datos no relacionales Existen además otros tipos de bases de datos llamadas bases de datos no relacionales o NoSQL Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 45 Bases de datos no relacionales Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 46 ¿SQL o NoSQL? SQL NoSQL Los datos usan esquemas rígidos Sin Esquemas definidos Se basa en relaciones No tiene relaciones Datos distribuidos en tablas Datos consolidados en colecciones La escalabilidad horizontal es casi imposible, solo permite escalabilidad vertical Fácil de escalar Limite de queries o consultas por segundo Tiene mejor performance con consultas definidas Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 47 ¿SQL o NoSQL? SQL NoSQL Los datos usan esquemas rígidos Sin Esquemas definidos Se basa en relaciones No tiene relaciones Datos distribuidos en tablas Datos consolidados en colecciones La escalabilidad horizontal es casi imposible, solo permite escalabilidad vertical Fácil de escalar Limite de queries o consultas por segundo Tiene mejor performance con consultas definidas Programación y administración de la información – Universidad de los Andes – Facultad de Ciencias Económicas y Empresariales 48 Mu cho má s co mp leja de dis eña r y ocu par ! Solo ver em os S QL en este cur so.
Compartir