Sei sulla pagina 1di 13

BASES DE DATOS, MODELOS DE DATOS Y DBMS

Maestra en Bioinformtica Marzo 2010

Bases de Datos
Algunas definiciones: Bases de Datos y DBMS Procesos y Actores Involucrados Por qu usar DBMSs? Cundo no usar un DBMSs?

Algunas Definiciones
Qu es un Base de Datos (BD)?
Conjunto de datos relacionados NO tiene por qu ser un programa. Ej: agenda de telfonos

Qu es un Database Management System (DBMS)?


Software especializado en la gestin de Bases de Datos Por lo general pensado para grande volmenes de datos

Procesos y Actores Involucrados


Procesos:
Definicin de una BD Construccin de una BD Manipulacin de una BD

Actores:
Administrador de BDs. Diseador de BDs Desarrolladores de Sistemas de Informacin Usuarios finales

Por qu usar DBMSs? (I)


Qu aporta esta tecnologa ?
Software especfico para manejo de datos relacionados.

Qu se hara si no se puede usar ?


Desarrollar programas usando lenguajes de propsito general.
C, Java, C++, ...

y esto que problemas trae ?


Ms trabajo para manipular datos. Productividad, Costos, Calidad.

Ejemplo - Aplicacin Bancaria


Un banco posee un Sistema de Informacin. Est formado por los siguientes programas:
Un programa que debita y/o acredita $ en cuentas. 2. Un programa que crea una cuenta nueva. 3. Un programa que devuelve el saldo de una cuenta. 4. Un programa que genera los movimientos mensuales de una cuenta. 5. Un programa que lista el cliente, la direccin y el saldo de su cuenta. Los datos se almacenan en archivos y los programas se escriben en lenguajes de propsito
1.

Problemas al no usar DBMSs (I)


Especficos a la implementacin basada en archivos, a resolver por el programador.
Inconsistencia de datos.
Programar control de restricciones de Integridad.

Dificultades para el acceso a informacin.


Programar consultas/listados especficos.

Aislamiento de datos.
Programar algoritmos de merge (apareo archivos).

Seguridad en datos.
Programar los controles de acceso para los tems.

Problemas al no usar DBMSs (II)


Control de concurrencia.
Qu pasa si se ejecuta el programa DEBITO desde dos estaciones ?
Programa DEBITO (nro_cuenta, cant_retiro) cuenta = ObtenerCuenta(nro_cuenta);
/* lectura de la cuenta a fin de visualizar el saldo actual de la misma y poder modificarlo */

cuenta.saldo := cuenta.saldo cant_retiro;


/* se actualiza el saldo */

GuardarCuenta(cuenta);
/* se hace efectivo el retiro */

END

Problemas al no usar DBMSs (III)


Una ejecucin podra ser de la forma:
Puesto 1 (DEBITO(#10,50) cuenta = ObtenerCuenta(#10) saldo = cuenta.saldo // ($ 500) saldo = saldo - 50 // (quedan $ 450) cuenta.saldo = saldo GuardarCuenta(cuenta) Puesto 2 (DEBITO(#10,100) cuenta = ObtenerCuenta(#10)

saldo = cuenta.saldo // ($ 500) saldo = saldo - 100 // (quedan $ 400) cuenta.saldo = saldo GuardarCuenta(cuenta) Fin DEBITO El saldo es $ 400 tiempo

Fin DEBITO El saldo es $ 450

Por qu usar DBMSs? (II)


Organizacin de la informacin:
Definicin central de datos. Abstraccin de Datos. Permite mltiples vistas de los datos.

Programacin del acceso a datos:


Separacin entre programas y datos. Control de Restricciones de Integridad. Estandarizacin de modelos y lenguajes.

Por qu usar DBMSs? (III)


Explotacin de la Base de Datos:
Datos compartidos. Control de concurrencia. Seguridad y Recuperacin ante fallas. Datos persistentes en modelos avanzados.

Por qu no usar DBMSs?


Para evitar ciertos costos:
Inversin en :
Hardware Software Capacitacin tcnica

Costo de administracin del DBMS y la base de datos. Costo computacional para proveer:
Control de concurrencia Restriccin de acceso, etc.

Por qu no usar DBMSs? (II)


En algunos casos el uso de un DBMS no se justifica :
Muy pocos datos (planillas) Datos muy estables Alta performance (sistemas de tiempo real) Cuando no hay acceso concurrente

Modelos de Datos y DBMS


Modelos de Datos Esquemas e Instancias Arquitectura en tres niveles Tipos de DBMS Cmo se interacta con un DBMS? Estructura bsica de DBMSs

Modelos de Datos: Definicin


Lenguajes usados para especificar Bases de Datos Los Modelos de Datos permiten expresar:
Estructuras: objetos de los problemas
EJ: CUENTAS(nro_cuenta, tipo, moneda, saldo)

Restricciones: reglas que deben cumplir los datos


EJ: (c CUENTAS) (c.saldo > 0)

Operaciones sobre los datos: insertar, borrar y consultar la BD


EJ: INSERT INTO CUENTAS (2584,Caja de ahorros,pesos,5000)

Modelos de Datos: Clasificacin


Segn el nivel de abstraccin:
Conceptuales:
Representan la realidad independientemente de cualquier implementacin de BD Usados en etapa de Anlisis

Lgicos:
Representan la implementacin del conceptual en un DBMS particular Usado en etapas de Diseo e Implementacin

Fsicos:
Implementacin de estructuras de datos

Modelos de Datos Conceptuales


La realidad expresada en trminos de:
Entidades: conceptos u objetos del mundo real Atributos: propiedades de las entidades Relaciones: asociaciones entre 2 o ms entidades

Utilizaremos un lenguaje grfico para construir nuestros modelos (Modelo Entidad Relacin)

Modelos de Datos: Aplicacin


MUNDO REAL

MODELADO CONCEPTUAL EJ: MODELO ENTIDAD RELACION ESQUEMA CONCEPTUAL CUENTAS CAJAS DE AHORROS

POSEEN

PERSONAS

CUENTAS CORRIENTES DISEO DEL SISTEMA

EJ: MODELO RELACIONA L

ESQUEMA LGICO TABLA CUENTAS(nro_cuenta, moneda, saldo) TABLA PERSONAS (cdula, nombre, ) TABLA POSEEN(cdula, nro_cuenta)

Esquema e Instancias
Esquema de una BD:
Estructura y significado Muy estables.

CUENTAS(nro_cuenta, moneda, saldo) PERSONAS (cdula, nombre, direccion, telefono) POSEEN(cdula, nro_cuenta)

Instancias:

Nro_cuenta

moneda pesos dlares dlares

saldo 15000 500 850

Datos almacenados 25440 23456 Muy voltiles


23457

Recordemos ...
Propiedades importantes de DBMSs:
Control centralizado de la BD. Separacin entre esquema y aplicaciones.
Esquema: visin global de los datos de la realidad. Aplicaciones: programas sobre la BD.

Soporte a diferentes visiones de los datos.


Usuarios/aplicaciones ven subconjuntos de la BD.

Independencia de datos.
Esquema lgico independiente de implementacin.

Niveles de Abstraccin (arquitectura)


NIVEL EXTERNO

VISTA EXTERNA 1

VISTA EXTERNA 2

VISTA EXTERNA 3

NIVEL CONCEPTUAL ESQUEMA CONCEPTUAL

NIVEL INTERNO

ESQUEMA INTERNO

Tipos de DBMS
Segn el Modelo de Datos que usan para la representacin interna:
Relacional (RDBMS) Orientado a Objetos (OODBMS) Otros: Redes, Jerrquico, Deductivo

Segn distribucin de la BD:


Centralizado Distribuido

En el curso usaremos un RDBMS centralizado: PostgreSQL

Cmo se interacta con un DBMS?


Existen lenguajes que me permiten:
Definir el esquema (crear, borrar, modificar)
Data Definition Language (DDL)

Manipular las instancias (crear borrar, modificar)


Data Manipulation Language (DML)

Hacer consultas
Query Language (QL)

Crear vistas
View Definition Language (VDL)

SQL (Structured Query Language) lenguaje que permite hacer todo esto sobre los RDBMS

Cmo se interacta con un DBMS? (II)


Mediante lenguajes de programacin:
Los lenguajes definen abstracciones (ej: bibliotecas) Usndolas interactuo con el DBMS

Tambin puedo interactuar usando programas cliente que provee el fabricante del DBMS

Estructura de DBMS

Referencias
Fundamentals of Database Systems 5th Ed., Elmasri & Navathe, Addison Wesley, 2007. (cap. 2 y 3) Curso Fundamentos de Bases de Datos, INCO, http://www.fing.edu.uy/inco/cursos/bdatos/

Potrebbero piacerti anche