Logo Studenta

1-Intro - Yuliana Ruiz Borrayo

¡Este material tiene más páginas!

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.

Continuar navegando