Upload
luisa-san-martin-perez
View
227
Download
1
Embed Size (px)
DESCRIPTION
ll
Citation preview
IntroduccinBases de datos
Cristian Rojas [email protected]
Historia El ser humano, gracias a su intelecto, ha
creado formas de registrar su historia y traspasar esta informacin a futuras generaciones.
Esto es uno de los principales precursores del desarrollo de la civilizacin humana.
40.000 A.C Pinturas rupestres
Pinturas en rocas y cavernas
4.000 ACEscritura
Sistema de escritura cuneiforme Sumerio
200 A.CPapel
En el Antiguo Egipto se escriba sobre papiro, un vegetal muy abundante en las riberas del ro Nilo.
El uso del papiro no comenz a ser universal hasta la poca de Alejandro Magno (siglo IV a. C.)
Sin embargo, los chinos ya fabricaban papel a partir de los residuos de la seda, la paja de arroz, y el camo, e incluso del algodn
Libros
Bibliotecas
Nacieron en los templos de las ciudades mesopotmicas.
Registro de hechos ligado a la actividad religiosa, poltica y econmica.
Tarjetas perforadas
Discos magnticos
Otros formatos
Capacidad de almacenamiento
Qu es un dato?
Expresin que describe una caracterstica tomo de informacin Par {Caracterstica, valor} Ejemplos
Caracterstica ValorColor Rojo
Edad 21
Estado Encendido
Ejemplo
Imagine el siguiente escenario
La escuela de industrial posee varios alumnos. Cmo llevaran un registro de estos?
Archivo de texto Plantilla de Excel
Cmo la compatira? Correo electrnico Google Drive Dropbox Sitio Web
Plantilla electrnica Excel
Nuevos requerimientos
Es necesario identificar los alumnos inscritos por asignatura
Cmo haran esto? En otra hoja de la planilla electrnica agregar esta
informacin Incorporar una columna en el listado de alumnos
que haga referencia al curso que corresponda
Nuevos requerimientos
Nuevos requerimientos
Almacenar las notas de los alumnos Registrar asistencia Registrar profesores y cursos por ramo Dada la cantidad de alumnos y cursos es
necesario que varias personas puedan trabajar en los archivos
Respaldo de la informacin Estadsticas de los cursos
Problemas del uso de archivos para almacenamiento de informacin
Acceso concurrente A medida que crecen las entidades se vuelve
difcil estructurar la informacin Validacin de los datos de entrada para evitar
errores de usuarios Integridad de la informacin (si se borra un
curso, Qu pasa con sus alumnos?)
Qu son las bases de datos?
Un conjunto de datos, que describe las actividades de una organizacin (Ramakrishnan, Gehrke)
Coleccin de datos bien organizados relacionados con sentido, que pueden ser accesados en distinto orden (Sumathi, Esakkirajan)
Una coleccin de datos organizados (Elmasri, Navathe)
Dos conceptos principales:
Conjunto de datos Poseen una estructura
Bases de datos
Son un conjunto organizado de informacin (Datos)
La data es organizada para modelar aspectos relevantes de la realidad Disponibilidad de cuartos en un hotel La relacin entre alumnos y asignaturas etc
ACID Cumplen con un conjunto de caractersticas que facilitan la gestin de la
informacin Atomicidad: es la propiedad que asegura que la operacin se ha realizado o no, y por lo
tanto ante un fallo del sistema no puede quedar a medias. Consistencia: Integridad. Es la propiedad que asegura que slo se empieza aquello que
se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos. La propiedad de consistencia sostiene que cualquier transaccin llevar a la base de datos desde un estado vlido a otro tambin vlido.
Aislamiento: es la propiedad que asegura que una operacin no puede afectar a otras. Esto asegura que la realizacin de dos transacciones sobre la misma informacin sean independientes y no generen ningn tipo de error.
Durabilidad: es la propiedad que asegura que una vez realizada la operacin, sta persistir y no se podr deshacer aunque falle el sistema.
Cumpliendo estos 4 requisitos un sistema gestor de bases de datos puede ser considerado ACID Compliant.
DBMS (SGBD) DBMS: Database Management System
SGBD: Sistema de gestin de bases de datos
Son un conjunto de programas que permiten el almacenamiento, modificacin y extraccin de la informacin en una base de datos.
Estos sistemas tambin proporcionan mtodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la informacin si el sistema se corrompe
Smbolo utilizado en diagramasPara representar una base de datos
Algunos DBMS
MySQLPostgresSQL
ORACLE MariaDB
MongoDB SQLServer
SyBase
Concepto de base de datos relacional
El Dr. E. F. Codd propuso el modelo relacional del sistema de bases de datos en 1970
Es la base del sistema de gestin de bases de datos relacionales (RDBMS)
El modelo relacional consta de lo siguiente.
Recopilacin de objetos o relaciones
Juego de operadores que actan en las relaciones
Integridad de datos para su precisin y consistencia
Etapas de creacin de una Base de datos
Toma de requerimientos y anlsis
Tamao: (Cantidad de usuarios, cantidad de registros, etc)
Tecnologas: Seleccionar DBMS y arquitectura
Diseo
Cmo modelar los datos de una problemtica para que representen bien la realidad? Entidades, datos y relaciones.
Desarrollo
Definir mtodos de acceso a los datos para administradores y usuarios finales. (Directo o a travs de programas)
Implementacin
Cmo implementar de forma eficiente la solucin DBMS seleccionada?
Estructuras de datos, bsquedas, ordenamiento, estndares de seguridad, sistemas operativos
Componentes de una Base de datos
Tablas (Table)
Entidades. Ej: Alumno, Asignatura, Inscripcin
Columnas o campos (Columns)
Datos, pares caracterstica valor de las entidades. Ej: {Color: Rojo}
Tipos de datos (Types)
Enteros, textos, decimales, etc
Filas o tuplas (Rows)
Registros. Representa una entidad concreta de una tabla
Llaves primarias (Primary keys)
Columna, o conjunto de stas que describen de manera nica a una fila.
Relaciones (Foreign Keys)
Tipo de relacin existente entre las entidades
Otros: Trigers, procedimientos almacenados, funciones, esquemas, etc.
Componentes de una base de datos
Tables (Tablas) Una base de datos relacional puede contener una o ms tablas. Una
tabla es la estructura bsica de almacenamiento de RDBMS.
Una tabla contiene todos los datos necesarios sobre algo del mundo real, como empleados, facturas o clientes.
Las tablas se componen de N columnas (datos)
Ejemplo: Departamento, Empleado, Producto, Categora, Alumno, Carrera, Escuela, etc.
COLUMS (Columnas) Anlogo a las columnas de una plantilla excel.
Almacenan un dato de una entidad.
Las columnas son de un tipo de dato especfico.
Entero, decimal, texto, etc. Ejemplos: Entidad Alumno.
Columnas: RUT, NOMBRES, CORREO, etc. Entidad Producto
Columnas: SKU, NOMBRE, MARCA, COLOR, PRECIO, etc
ROWS (Filas) Anlogo a las filas de EXCEL
Son los registros de la base de datos.
Cada fila representa una entidad concreta nica en una tabla.
Ejemplos.
Tabla Producto.
Primary Keys (Llaves primarias)
Es un dato (Columna) o una combinacin de ellos que identifican de manera nica a una tabla.
Tambin pueden ser de tipo numrico y son administrados por la Base de datos.
Ejemplos:
ALUMNO CURSO INSCRIPCIN
Relaciones Adems de modelar las entidades, una base de datos debe poder
representar las relaciones que existen entre estas.
Por ejemplo:
Un curso tiene varios alumnos
Los alumnos pueden tener varias notas por curso
Una empresa tiene varios clientes
Un cliente ha realizado una o ms compras Cuntos choferes puede tener una micro? Cuntas micros puede
manejar un chofer?
En cuntos proyectos puede trabajar una persona? Cuntas personas trabajan en un proyecto?
Cuntos esposos puede tener una mujer en Chile?
Relaciones Tipos de relaciones
1 a 1 (Un hombre puede tener solo una esposa y una mujer puede tener solo un esposo)
1 a N (Una escuela tiene N alumnos)
N a N (Un actor trabaja en N pelculas y una pelcula tiene N actores) Qu relacin hay entre productos y ventas?
N a N Qu relacin hay entre pases y ciudades?
1 a N Qu relacin hay entre una carrera y la direccin de escuela?
1 - 1
Foreign Keys (Llaves forneas) Sirven para especificar las relaciones entre las entidades
Es una columna (dato) que hace referencia a una fila de otra tabla (entidad) mediante su Primary Key
Ejemplo de relacin 1 N entre Carrera y alumnos.
1N
Relacin N-N En una base de datos relacional las relaciones N N se resumen en dos
relaciones 1 N y una tabla intermedia que representa el verbo que relaciona ambas entidades.
Un alumno inscribe N ramos y un ramo tiene N alumnos inscritos
N N11
Relaciones 1 - 1 Estas relaciones son restricciones impuestas al modelo de datos en la
etapa de diseo.
En chile el matrimonio es solo entre dos personas
En otros pases podra no ser as. Para implementar una relacin 1-1 es necesario aplicar la propiedad
Unique sobre una columna.
Prctico Modelar en una planilla EXCEL el siguiente escenario.
Una carrera de la universidad imparte varios cursos. Le interesa tener un registro de todos sus alumnos, los cursos y sus profesores.
Necesitan saber el profesor que dicta cada curso
Los alumnos inscritos por curso
Las notas de los alumnos en cada curso
Consideraciones. Un curso es dictado por un solo profesor. Asuma que el profesor no
cambia por ao. Un profesor puede dictar varias asignaturas Un alumno puede inscribir varios ramos en un semestre y puede
cursarlos nuevamente si no los aprueba. Las notas deben estar asociadas a la inscripcin ya que cambia por
semestre si el alumno cursa nuevamente el ramo. Debe indicar las columnas que son Primary Keys, Foreing Keys o Uniques.
En su planilla excel debe ingresar todos los datos que se muestran en las siguientes diapositivas.
Prctico: Alumnos Los datos que se guardarn por alumno deben ser.
RUT, Nombre, Correo, Promocin, gnero Los alumnos que debe ingresar son:
22080706-1, Phyllis S. McDowell, [email protected], 2010, M
12291047-4, Stacey M. Gooding, sg@mailcom, 2011, F
12754569-3, Andrew M. Wingard, [email protected], 2011, M
16510123-5, Victor N. Woods, [email protected], 2014, M
18215158-0, Cristina F. Snyder, [email protected], 2015, F
10896142-2, Kenneth D. Long, [email protected], 2010, M
11940612-9, Jake G. Cohrs, [email protected], 2014, M
9252602-k, Virginia S. Stein, [email protected], 2012, F
7011803-3, Carol C. Cabe, [email protected] , 2011, F
13126929-3, Dennis G. West, [email protected] 2012, M
Prctico: Asignaturas Los datos que se guardarn por cada asignatura son:
Cdigo, Nombre, rea Las asignaturas que debe ingresar son:
BAIN032, QUIMICA GENERAL, Bachillerato
BAIN034, GEOMETRA, Bachillerato
ICIV057, Intro. Ing. Industrial, Industrial
INFO065, Intro. Programacin, Informtica
ICIV083, Teora organizacional, Industrial
INFO068, Taller de TIC, Informtica
Prctico: Profesores Los datos que se guardarn de los profesores son:
RUT, Nombre, Correo, Grado. Los profesores que debe ingresar son:
13946094-4, Dorothy P. Horsley, [email protected], Phd
14931563-2, Brian M. Beck, [email protected], Msc
7157529-2, Sue J. Frost, [email protected], Ing
10075895-4, Timothy M. Ponce, [email protected] , Phd
Prctico: Quien dicta los cursos Dorothy P. Horsley dicta los cursos qumica general y geometra
Brian M. Beck dicta los cursos Intro. Ing. Industrial y Teora organizacional
Sue J. Frost dicta el curso Intro. A la programacin
Timothy M. Ponce dicta el curso Taller de TIC
Prctico: Inscripciones Los datos que se desea guardar de las incripciones son:
Alumno, asignatura, ao, semestre, estado, promedio Las incripciones que debe ingresar son:
Phyllis S. McDowell el 1er semestre del 2010 curso las asignaturas: BAIN032, BAIN034
Phyllis S. McDowell el 2do semestre del 2010 curso las asignaturas: INFO065, INFO068
Phyllis S. McDowell el 1er semestre del 2011 curso las asignaturas: ICIV057, ICIV083
Stacey M. Gooding el 1er semestre del 2011 curso las asignaturas: BAIN032, BAIN034
Stacey M. Gooding el 2do semestre del 2011 curso las asignaturas: INFO054, INFO068
Andrew M. Wingard el 1er semestre del 2011 curso las asignaturas: BAIN032, BAIN034
Andrew M. Wingard el 2do semestre del 2011 curso las asignaturas: BAIN032, BAIN034
Prctico: Notas Los datos de las notas que se desea registrar son:
Valor, nmero, ponderacin, tipo e informacin asociada a la inscripcin que pertenece
Las notas que debe ingresar son:
Stacey M. Gooding el 1er semestre del 2011 en la asignatura BAIN032 obtuvo las siguientes notas: [6.5, 1, 30%, prcticos], [7.0, 2, 30%, control], [6.0, 3, 40%, control]
Stacey M. Gooding el 2do semestre del 2011 en la asignatura INFO054 obtuvo las siguientes notas: [7.0, 1, 25%, practiocs], [7.0, 2, 25%, trabajo], [7.0, 3, 25%, control], [6.9, 4, 25%, control]
Andrew M. Wingard el 1er semestre del 2011 en BAIN032 obtuvo las siguientes notas: [3.2, 1, 30%, prcticos], [2.5, 2, 30%, control], [4.5, 3, 40%, control], [4.0, 4, 30%, sustitutiva], [3.2, 40%, examen]
Andrew M. Wingard el 2do semestre del 2011 en BAIN032 obtuvo las siguientes notas: [4.0, 1, 30%, prcticos], [4.2, 2, 30%, control], [3.9, 3, 40%, control], [4.2, 4, 30%, sustitutiva], [4.0, 40%, examen]
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44