Sunteți pe pagina 1din 44

Introduccin

Bases de datos
Cristian Rojas Prez
crrojasperez@gmail.com

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 AC
Escritura

Sistema de escritura cuneiforme Sumerio

200 A.C
Papel

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

Valor

Color

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 diagramas


Para representar una base de datos

Algunos DBMS
MySQL
PostgresSQL
MongoDB

SyBase

SQLServer
ORACLE

MariaDB

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

Desarrollo

Cmo modelar los datos de una problemtica para que representen bien la
realidad? Entidades, datos y relaciones.

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)

Columnas o campos (Columns)

Columna, o conjunto de stas que describen de manera nica a una fila.

Relaciones (Foreign Keys)

Registros. Representa una entidad concreta de una tabla

Llaves primarias (Primary keys)

Enteros, textos, decimales, etc

Filas o tuplas (Rows)

Datos, pares caracterstica valor de las entidades. Ej: {Color: Rojo}

Tipos de datos (Types)

Entidades. Ej: Alumno, Asignatura, Inscripcin

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?

Qu relacin hay entre pases y ciudades?

NaN
1aN

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.

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

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, pm@mail.com, 2010, M

12291047-4, Stacey M. Gooding, sg@mailcom, 2011, F

12754569-3, Andrew M. Wingard, aw@mai.com, 2011, M

16510123-5, Victor N. Woods, vw@mail.com, 2014, M

18215158-0, Cristina F. Snyder, cs@mail.com, 2015, F

10896142-2, Kenneth D. Long, kdl@mail.com, 2010, M

11940612-9, Jake G. Cohrs, jgc@mail.com, 2014, M

9252602-k, Virginia S. Stein, vss@mail.com, 2012, F

7011803-3, Carol C. Cabe, ccc@mail.com , 2011, F

13126929-3, Dennis G. West, dgw@mail.com 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, dph@mail.com, Phd

14931563-2, Brian M. Beck, bmb@mail.com, Msc

7157529-2, Sue J. Frost, sjf@mail.com, Ing

10075895-4, Timothy M. Ponce, tmp@mail.cm , 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]

S-ar putea să vă placă și