clase 1: introducción -...
TRANSCRIPT
![Page 2: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/2.jpg)
Información General
• Profesor: Aidan Hogan– Email: [email protected]
• Profesor Auxiliar: Sebastián Ferrada– Email: [email protected]
• Ayudantes: – Ismael Álvarez– Hernán Sarmiento
![Page 3: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/3.jpg)
POR QUÉ NECESITAN ESTE CURSO
![Page 4: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/4.jpg)
Un día cualquiera: 09:15Despierto
(Bostezo.)
![Page 5: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/5.jpg)
Un día cualquiera: 09:35 Reviso el correo
Nada urgente, ¡uf!
![Page 6: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/6.jpg)
Un día cualquiera: 09:50Café: pago con tarjeta
Mmm. Café.
![Page 7: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/7.jpg)
Un día cualquiera: 10:15Me meto al banco (me pagaron?)
Sí. Me pagaron.
![Page 8: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/8.jpg)
Un día cualquiera: 10:20Reviso u-cursos (algo en el foro?)
No, salvo ...
![Page 9: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/9.jpg)
Un día cualquiera: 10:30IMDb (Mr. Robot … ¿es bueno?)
Sí.
![Page 10: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/10.jpg)
Un día cualquiera: 10:35Amazon (Mr. Robot … ¿cuánto cuesta?)
Demasiado.
![Page 11: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/11.jpg)
Un día cualquiera: 10:36ThePirateBay (Mr. Robot … me pagaron pero …)
Listo. Pero tengo hambre …
![Page 12: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/12.jpg)
Un día cualquiera: 10:52Al supermercado (¿cuánto cuesta?)
Barrato.
![Page 13: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/13.jpg)
Un día cualquiera: 10:55Al supermercado (esperando en la fila …)
Meowth? Fomé.
![Page 14: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/14.jpg)
Un día cualquiera: 10:57Al supermercado (uso mi tarjeta de fidelidad)
Acumulas puntos? Sí.
![Page 15: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/15.jpg)
Un día cualquiera: 11:00Desayuno
…
![Page 16: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/16.jpg)
Un día cualquiera: antes que las 11:00Estas actividades tienen algo en común?
![Page 17: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/17.jpg)
Bases de datos:
![Page 18: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/18.jpg)
Interactuamos con bases de datostodo el tiempo, todos los días
• Especialmente con la Web: – Búsqueda (Google, Bing, Yahoo!, …)– Tiendas (Amazon, eBay, …)– Redes sociales (Facebook, Twitter, …)– Enciclopedias (Wikipedia, IMDb, …)– Bancos– Aerolíneas– U-cursos…
![Page 19: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/19.jpg)
Pero frecuentemente solo nos damos cuenta cuando hay un problema
![Page 20: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/20.jpg)
¿Por qúe este curso?Una base de datos es una de nuestrasherramientas más importantes
un carpintero : un martillo
un alumno de computación : una base de datos
![Page 21: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/21.jpg)
QUÉ ES UN SISTEMA DE “BASES DE DATOS”
![Page 22: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/22.jpg)
Una base de datos?
Un ejemplo de una base de datos?
![Page 23: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/23.jpg)
Una base de datos?
![Page 24: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/24.jpg)
Una base de datos?
![Page 25: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/25.jpg)
Una base de datos?
![Page 26: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/26.jpg)
Una base de datos?
![Page 27: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/27.jpg)
Una base de datos?
![Page 28: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/28.jpg)
Depende a como se defineuna “base de datos”
![Page 29: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/29.jpg)
Aquí, una base de datos es:
• Una colección de datos(típicamente datos estructurados)(típicamente datos electrónicos)
organizada en alguna forma
para facilitar hacer consultasen una forma eficiente
![Page 30: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/30.jpg)
Una base de datos?
(hablando de los datos, no la aplicación …) Aquí, sí!
![Page 31: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/31.jpg)
Una base de datos?
(es un sistema de base de datos entonces …) Aquí, no!
![Page 32: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/32.jpg)
Un sistema de bases de datos es:
• Un sistema (de software) generalpara manejar
bases de datos …• Facilitar (en una forma general):
• representar datos, • cargar datos,• organizar datos,• definir datos,• actualizar datos,• consultar datos,• …
• DBMS: (DataBase Management System)
![Page 33: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/33.jpg)
Un sistema general significa que podemos resolver un problema general …
Un sistema de bases de datos. Diez aplicaciones.
![Page 34: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/34.jpg)
Una base de datos?
(es una aplicación de base de datos entonces …) Aquí, no!
![Page 35: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/35.jpg)
Una base de datos?
(es una aplicación de base de datos entonces …) Aquí, no!
![Page 36: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/36.jpg)
Una base de datos?
Hmm.
![Page 37: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/37.jpg)
POR QUÉ SE NECESITAN SISTEMAS DE “BASES DE DATOS”
![Page 38: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/38.jpg)
Sé programar en Java, sé programar en Python,… podría programar algo sin problema!
![Page 39: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/39.jpg)
Intentemos implementar una aplicación sin un sistema de bases de datos (p.e., en Java)
Un sistema de bases de datos. Diez aplicaciones.
![Page 40: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/40.jpg)
cursos.csvnotas.csv
auxiliares.csv
profesores.csv
alumnos.csv
Tenemos información de profesores, auxiliares, integrantes y notas parciales en cada curso
![Page 41: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/41.jpg)
alumnos.csv
Queremos saber todos los códigos del cursos que toma el alumno “12.323.792-8”
• En Java, podemos leer todo el archivo, filtrar todas las filas con otros RUTs y entregar solo la información relevante
Algún problema aquí?
![Page 42: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/42.jpg)
Bueno, si los usuarios son impacientes y los archivos grandes …
Mapa en memoria principal de alumnos.csv
• En Java, podemos cargar los datos en memoria principal, y utilizar un índice con RUTs como claves (p.e., un “hashmap”)
Algún problema aquí?
![Page 43: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/43.jpg)
Indíce (m. principal)
Bueno, si los usuarios son impacientes y los archivos no caben en memoria …
alumnos.csv
• En Java, podemos crear bloques de datos ordenados por RUT, y utilizar un índice con el primer RUT en cada bloque
Algún problema aquí?
![Page 44: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/44.jpg)
Inserciones (m. principal)
Bueno, si tenemos que actualizar la tabla con datos nuevos …
• En Java, podemos crear un bloque en memoria principal, o podemos dejar espacio en los bloques para datos nuevos o …
Algún problema aquí?
Indíce (m. principal)
alumnos.csv
![Page 45: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/45.jpg)
Bien, si a veces hay que consultar por el nombre del alumno entonces …
• En Java, podemos crear otro índice ordenado por nombre …
Algún problema aquí?
Índice (m. principal)
alumnos.csv
![Page 46: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/46.jpg)
ok ok, si a veces hay que consultar por el nombre del cursos del alumno entonces …
• En Java, podemos crear otro índice para cursos.csv e implementar “joins” entre ambos índices
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 47: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/47.jpg)
… fine, si hay que asegurar que los alumnos solo tienen cursos que aparecen en cursos.csv …
• En Java, antes que hacer una inserción a alumnos.csv, podemos consultar a cursos.csv para verificar que el curso existe.
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 48: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/48.jpg)
… pues, si hay que permitir quitar cursos …
• En Java, podemos agrupar inserciones y/o borrados para mantener la consistencia de los datos (transacciones)
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 49: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/49.jpg)
… si hay múltiplos usuarios actualizando la base de datos al mismo tiempo …
• En Java, hay que aislar transacciones para evitar esta tipa de situación (y otras similares)
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 50: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/50.jpg)
… si hay que contar el numero de cursos que cada alumno toma u otra formas de consultas …
• En Java, podemos implementar un lenguaje de consulta general que cubre los rasgos más necesitados
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 51: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/51.jpg)
… si el rendimiento de consultas no basta para los usuarios podemos optimizar …
• En Java, podemos implementar varias optimizaciones en un planificador de ejecución
Algún problema aquí?
cursos.csv(Indexado por Codigo)
alumnos.csv(indexado por RUT y Nombre)
![Page 52: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/52.jpg)
(╯°□°)╯︵┻━┻
¡Sí!• Faltan valores• Cursos pueden tener más que un nombre• Tenemos valores como fechas, booleanos, etc., que queremos
comparar, ordenar, manipular, sumar …• El rendimiento de algunas consultas todavía es terrible • El cargo de datos todavía es demasiado lento• No hay suficiente memoria para mantener los índices• Los administradores quieren agregar columnas nuevas como
la carrera de los alumnos • Los alumnos no deberían tener acceso para cambiar sus notas• Hay “l33t h4cker$” que quieren pwnear nuestra base de datos
para cambiar sus notas• Tenemos que mantener backups en una forma segura
![Page 53: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/53.jpg)
… y si pudiéramos solucionar estos problemas en una forma general …
… habríamos implementado un sistema de bases de datos
![Page 54: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/54.jpg)
… y si pudiéramos solucionar estos problemas en una forma general …
… habríamos implementado un sistema de bases de datos
(… y probablemente tendríamosuna rueda no muy bien reinventada)
![Page 55: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/55.jpg)
Estos son problemas generales que se encuentran en muchas aplicaciones
![Page 56: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/56.jpg)
… muchas aplicaciones importantes
![Page 57: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/57.jpg)
Un sistema de bases de datos es:
• Un sistema (de software) generalpara manejar
bases de datos …• Facilitar (en una forma general):
• representar datos, • cargar datos,• organizar datos,• definir datos,• actualizar datos,• consultar datos,• …
• DBMS: (DataBase Management System)
![Page 58: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/58.jpg)
Con un DBMS …
Los usuarios se encargan de:
• diseñar la estructura de la base de datos,• escribir consultas, • actualizar los datos,• …
… solo las cosas especificas en el contexto de la aplicación especifica.
![Page 59: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/59.jpg)
Con un DBMS …Por debajo, el DBMS se encarga de:
• Almacenaje optimizado• Indexación• Motor de consultas• Optimizar consultas• Manejo de transacciones• Manejo de acceso concurrente• Seguridad• ¡y mucho más!
… las cosas generales que se necesitan en el contexto de muchas aplicaciones.
![Page 60: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/60.jpg)
Hay implementaciones con décadas de desarrollo por miles de expertos
![Page 61: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/61.jpg)
Pero DBMS están siempre evolucionando:tecnología cambia
![Page 62: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/62.jpg)
Pero DBMS están siempre evolucionando:los requisitos de las aplicaciones cambian
Logo bingo!!
![Page 63: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/63.jpg)
Por ejemplo, distribución es más importante
![Page 64: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/64.jpg)
Diluvio de datos
![Page 65: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/65.jpg)
BASES DE DATOS SIEMPRE MODELAN DATOS COMO TABLAS?
![Page 66: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/66.jpg)
cursos.csvnotas.csv
auxiliares.csv
profesores.csv
alumnos.csv
… son siempre modelados así?
![Page 67: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/67.jpg)
¿Se puede modelar una base de datos como grafos?
¡Sí!
![Page 68: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/68.jpg)
¡Sí!
¿Se puede modelar una base de datos como arboles?
![Page 69: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/69.jpg)
¿Se puede modelar una base de datos como un mapa?
¡Sí!
![Page 70: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/70.jpg)
cursos.csvnotas.csv
auxiliares.csv
profesores.csv
alumnos.csv
Bases de Datos Relacional
• Tablas = Un Modelo de Bases de Datos – Bases de Datos Relacionales
• El modelo más establecido
• El enfoque del curso
• Pero hablaremos brevemente de otros modelos
![Page 71: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/71.jpg)
UNA DIVERSIDAD DE TIPOS DE (SISTEMAS DE) BASES DE DATOS
![Page 72: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/72.jpg)
Los sistemas más utilizados en la práctica …
http://db-engines.com/en/ranking
![Page 73: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/73.jpg)
QUÉ VAMOS A APRENDER:
![Page 74: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/74.jpg)
Una introducción a bases de datos:
• Hay tres tipos tipicos de “usuarios” para un sistema de bases de datos:
1. Usuarios finales2. Administradores del sistema3. Desarrolladores de un sistema
• Enfocaremos en el primer tipo– Incluye desarrolladores de aplicaciones de bases de
datos• Hablaremos menos de tipos dos y tres
![Page 75: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/75.jpg)
En este curso, aprenderán
• Como se puede generalizar la consultación, la indexación, la gestión, etcétera, de datos
• Modelos de bases de datos– Con énfasis en el modelo relacional– Otros modelos: grafos, arboles, NoSQL …
• Usar y manejar sistemas de bases de datos– Cargar datos, escribir consultas, actualizar datos
![Page 76: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/76.jpg)
No aprenderán (específicamente)
• Rasgos específicos de todos los sistemas• Como se puede implementar un sistema de
basos de datos (en detalle)• Minería de datos• Sistemas distribuidos (en detalle)• Datalog / lógica / “deductive databases”• Temas de investigación
![Page 77: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/77.jpg)
La estructura del curso
• Introducción / Motivación• El Modelo Relacional• La Algebra Relacional• SQL (consultas)• Diseño Relacional• SQL (actualizaciones)• Transacciones / Vistas• Indexación / Optimización• OLAP• Otros Modelos: XML, Grafos, NoSQL
(Dado que es mi primera vez
dictando este curso, puede cambiar)
![Page 78: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/78.jpg)
METODOLOGÍA DEL CURSO:
![Page 79: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/79.jpg)
“Semi-flipped classroom”
• Los martes: una cátedra
![Page 80: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/80.jpg)
“Semi-flipped classroom”
• Los jueves: una sesión interactiva:– Ejercicios escritos o laboratorios con notebooks– Trabajar en grupos para solucionar algo
![Page 81: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/81.jpg)
Sesiones Auxiliares
• Los lunes: si perdemos una clase o si tratamos con temas difíciles, por ejemplo, tendremos una sesión auxiliar– No cada lunes!!– Pondré un mensaje en el foro al menos el jueves
antes en anticipación
![Page 82: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/82.jpg)
Material
• Subiré todas las diapositivas aquí después de cada cátedra:– http://aidanhogan.com/teaching/cc3201-1-2016/
• Las diapositivas sirvirán como el material canónico del curso– pero si quieren leer más, se recomienda:
• “Database Management Systems”– Ramakrishnan / Gehrke, Third Edition
![Page 83: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/83.jpg)
Evaluación del curso
• 50% tareas:– 40% ejercicios/laboratorios– 10% proyecto
• 50% exámenes:– 2 controles, 1 examen final
![Page 84: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/84.jpg)
Este jueves … laboratorio
• Vamos a implementar algo aquí
• Trabajaremos en grupos de dos o tres
• ¿Podrían llevar algunos notebooks por favor?
![Page 85: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/85.jpg)
Sé programar en Java, sé programar en Python,… podría programar algo sin problema!
… vamos a ver .
![Page 86: Clase 1: Introducción - aidanhogan.comaidanhogan.com/teaching/cc3201-1-2016/lectures/BdD2016-01.pdf · BASES DE DATOS PRIMAVERA 2016 Clase 1: Introducción Aidan Hogan ... Una base](https://reader031.vdocuments.co/reader031/viewer/2022021623/5bcd022a09d3f200148cc8f7/html5/thumbnails/86.jpg)
Preguntas?