PDF de programación - Bases de datos, modelos de datos y DBMS

Imágen de pdf Bases de datos, modelos de datos y DBMS

Bases de datos, modelos de datos y DBMSgráfica de visualizaciones

Publicado el 10 de Abril del 2020
354 visualizaciones desde el 10 de Abril del 2020
118,3 KB
13 paginas
Creado hace 14a (24/03/2010)
BASES DE DATOS,
MODELOS DE DATOS Y
DBMS

Maestría en Bioinformática – Marzo 2010

Bases de Datos

 Algunas definiciones: Bases de Datos y DBMS
 Procesos y Actores Involucrados
 ¿Por qué usar DBMSs?
 ¿Cuándo 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 teléfonos

 ¿Qué es un Database Management System

(DBMS)?
 Software especializado en la gestión de Bases de

Datos

 Por lo general pensado para grande volúmenes de

datos

Procesos y Actores Involucrados

 Procesos:

 Definición de una BD
 Construcción de una BD
 Manipulación de una BD

 Actores:

 Administrador de BDs.
 Diseñador de BDs
 Desarrolladores de Sistemas de Información
 Usuarios finales

¿Por qué usar DBMSs? (I)

 ¿Qué aporta esta tecnología ?

 Software específico para manejo de datos

relacionados.

 ¿Qué se haría si no se puede usar ?

 Desarrollar programas usando lenguajes de

propósito general.
 C, Java, C++, ...

 ¿y esto que problemas trae ?

 Más trabajo para manipular datos.
 Productividad, Costos, Calidad.

Ejemplo - Aplicación Bancaria

 Un banco posee un Sistema de Información.
 Está formado por los siguientes programas:

1. 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 dirección y el

saldo de su cuenta.

 Los datos se almacenan en archivos y los

programas se escriben en lenguajes de propósito

Problemas al no usar DBMSs (I)

 Específicos a la implementación basada en

archivos, a resolver por el programador.
 Inconsistencia de datos.

 Programar control de restricciones de Integridad.

 Dificultades para el acceso a información.

 Programar consultas/listados específicos.

 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 ejecución podría ser de la forma:

Puesto 1 (DEBITO(#10,50)

Puesto 2 (DEBITO(#10,100)

cuenta = ObtenerCuenta(#10)
saldo = cuenta.saldo // ($ 500)
saldo = saldo - 50 // (quedan $ 450)
cuenta.saldo = saldo
GuardarCuenta(cuenta)

cuenta = ObtenerCuenta(#10)

saldo = cuenta.saldo // ($ 500)
saldo = saldo - 100 // (quedan $ 400)
cuenta.saldo = saldo
GuardarCuenta(cuenta)

Fin DEBITO

Fin DEBITO

El saldo es $ 450

El saldo es $ 400

tiempo

¿Por qué usar DBMSs? (II)

 Organización de la información:

 Definición central de datos.
 Abstracción de Datos.
 Permite múltiples vistas de los datos.
 Programación del acceso a datos:
 Separación entre programas y datos.
 Control de Restricciones de Integridad.
 Estandarización de modelos y lenguajes.

¿Por qué usar DBMSs? (III)

 Explotación de la Base de Datos:

 Datos compartidos.
 Control de concurrencia.
 Seguridad y Recuperación ante fallas.
 Datos persistentes en modelos avanzados.

¿Por qué no usar DBMSs?

 Para evitar ciertos costos:

 Inversión en :

 Hardware
 Software
 Capacitación técnica

 Costo de administración del DBMS y la base de

datos.

 Costo computacional para proveer:

 Control de concurrencia
 Restricción 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
 ¿Cómo se interactúa con un DBMS?
 Estructura básica de DBMSs

Modelos de Datos: Definición

 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: Clasificación

 Según el nivel de abstracción:

 Conceptuales:

 Representan la realidad independientemente de

cualquier implementación de BD

 Usados en etapa de Análisis

 Lógicos:

 Representan la implementación del conceptual en un

DBMS particular

 Usado en etapas de Diseño e Implementación

 Físicos:

 Implementación de estructuras de datos

Modelos de Datos
Conceptuales
 La realidad expresada en términos de:

 Entidades: conceptos u objetos del mundo real
 Atributos: propiedades de las entidades
 Relaciones: asociaciones entre 2 o más

entidades

 Utilizaremos un lenguaje gráfico para construir

nuestros modelos (Modelo Entidad Relación)

Modelos de Datos: Aplicación

MUNDO REAL

MODELADO CONCEPTUAL

ESQUEMA CONCEPTUAL

CUENTAS

POSEEN

PERSONAS

CAJAS DE
AHORROS

CUENTAS

CORRIENTES

DISEÑO DEL SISTEMA

ESQUEMA LÓGICO
•TABLA CUENTAS(nro_cuenta, moneda, saldo)
•TABLA PERSONAS (cédula, nombre, …)
•TABLA POSEEN(cédula, nro_cuenta)

R
E
L
A
C
O
N

I

I

E
N
T
D
A
D


-

E
J
:


M
O
D
E
L
O



L

E
J
:


M
O
D
E
L
O



R
E
L
A
C
O
N
A

I

Esquema e Instancias

 Esquema de una BD:

 Estructura y significado
 Muy estables.

CUENTAS(nro_cuenta, moneda, saldo)
PERSONAS (cédula, nombre, direccion,
telefono)
POSEEN(cédula, nro_cuenta)

 Instancias:

 Datos almacenados
 Muy volátiles

Nro_cuenta moneda
25440
23456
23457

pesos
dólares
dólares

saldo
15000
500
850

Recordemos ...

 Propiedades importantes de DBMSs:

 Control centralizado de la BD.
 Separación entre esquema y aplicaciones.

 Esquema: visión 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 lógico independiente de implementación.

Niveles de Abstracción
(arquitectura)

NIVEL EXTERNO

VISTA

VISTA

VISTA

EXTERNA 1

EXTERNA 2

EXTERNA 3

NIVEL CONCEPTUAL

ESQUEMA CONCEPTUAL

NIVEL INTERNO

ESQUEMA INTERNO

Tipos de DBMS

 Según el Modelo de Datos que usan para la

representación interna:
 Relacional (RDBMS)
 Orientado a Objetos (OODBMS)
 Otros: Redes, Jerárquico, Deductivo

 Según distribución de la BD:

 Centralizado
 Distribuido

 En el curso usaremos un RDBMS centralizado:

PostgreSQL

¿Cómo se interactúa 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

¿Cómo se interactúa con un
DBMS? (II)

 Mediante lenguajes de programación:

 Los lenguajes definen abstracciones (ej: bibliotecas)
 Usándolas interactuo con el DBMS

 También 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/
  • Links de descarga
http://lwp-l.com/pdf17516

Comentarios de: Bases de datos, modelos de datos y DBMS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad