Download Base de Datos

Document related concepts

Arquitectura ANSI wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Base de datos wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Transcript
CI-1114
Bases de Datos
Prof. José Tomás Cadenas
1
Definiciones
 Datos: conjunto de hechos conocidos que se pueden
almacenar, con significado implícito para quien lo usa
y que reflejan el estado actual de la realidad
 Minimundo o Universo de discurso: Representa algún
aspecto del mundo real
 Base de Datos: Colección de datos relacionados entre
sí utilizados para representar los elementos que
juegan un papel protagónico
en un minimundo
2
Definiciones
 Sistema Gestor de Base de Datos (DBMS): Software
que facilita la creación y mantenimiento de una base
de datos automatizada. Es un mediador entre la Base
de Datos o capa física (nivel de almacenamiento real
de los datos) y los usuarios del sistema (capa lógica)
 Sistema de Base de Datos: El software DBMS junto
con los datos, incluyendo las aplicaciones
3
Sistema de Bases de Datos
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
4
Problemas a resolver en BD
Los que requieran del recurso Datos con las propiedades de





Persistencia: que puedan ser almacenados
Disponibilidad: Puedan ser accedidos cuando sea necesario
Consistencia: Cumplan con reglas del mini-mundo que describen
Seguridad: Puedan ser accedidos sólo por aquellos que tengan
privilegio para hacerlo
Confiabilidad: No se vean alterados por perturbaciones del
medio ambiente
5
Sistema de Bases de Datos (SBD)
Vista
Vista
Vista
Vista
6
Sistemas de Procesamiento de Datos (SPD)
 Se mantienen mediante un sistema operativo
convencional y la unidad de trabajo es el archivo
 Los registros permanentes (datos) son almacenados
en varios archivos
 Se escriben diferentes programas de aplicación para
extraer y añadir registros a los archivos adecuados
7
Desventajas SPD o Archivos Aislados
 No tiene mecanismos para garantizar la integridad y
consistencia de los datos cuando se requiere almacenar
gran cantidad de datos accedidos en forma concurrente
 Falta de consistencia debido a diseños con redundancia
en los datos (no utiliza modelo de datos)
 No proporciona el acceso restringido a cierta parte de los
datos (no maneja Vista de datos del usuario)
 Los datos están dentro de los programas
 Los datos no se interrelacionan (están aislados)
 Problemas de eficiencia computacional cuando se
efectúan consultas periódicas complejas sobre gran
cantidad de datos
8
Ejemplo: inconsistencia por redundancia
9
Ventajas de un SBD sobre un SPD









Independencia de Programas/Datos
Abstracción de Datos
Acceso eficiente a los Datos
Integridad de los Datos y Seguridad
Administración centralizada de los datos
Control de acceso concurrente y recuperación de fallos
Facilidad en el desarrollo de aplicaciones
Representación de la vista de datos de los usuarios
Posee mecanismos para garantizar la consistencia de
los datos
10
Personas que interactúan con un DBMS




Diseñadores de Base de datos
Administrador de Base de Datos (DBA)
Programadores de aplicaciones
Usuarios Finales:



Rutinarios o ingenuos: son personas que interactúan
con el SBD mediante la invocación de alguno de los
programas de aplicación
Casuales: acceden ocasionalmente a la Base de
datos, utilizando interfaces avanzadas para la
construcción de consultas en forma automática
Sofisticados: interactúan con herramientas de
desarrollo específicas, que le permiten desarrollar sus
propias aplicaciones
11
Razones para no usar un DBMS
 El DBMS es un software, optimizado para ciertos tipos trabajos tales
como: responder consultas complejas o manejar eficientemente
requerimientos concurrentes, y su rendimiento puede que no sea el
adecuado para ciertas aplicaciones especializadas
 Una aplicación puede necesitar manipular los datos en formas que no
son soportadas por un lenguaje de consulta de BD
 La administración de la BD requiere de personal calificado que
coordine las necesidades de los diferentes grupos, diseñe vistas,
defina esquemas de datos, establezca procedimientos de respaldo y
recuperación, además de entonar la estructura física para obtener
criterios de rendimiento aceptables
 Aplicaciones sencillas y bien definidas que no requieran cambios o
inexistencia del acceso multiusuario de los datos
 Costos económicos (hardware, software y personal)
12
Ejemplares y Esquemas
 Las bases de datos van cambiando a lo largo del
tiempo conforme la información se inserta, actualiza
y/o elimina
 La colección de información almacenada en la base de
datos en un momento particular se denomina ejemplar
o instancia de la base de datos
 El diseño completo de la base de datos se llama
esquema de la base de datos.
 Los esquemas son más permanentes en el tiempo.
13
Modelo de Datos
 Colección de herramientas conceptuales para
describir los datos, las interrelaciones, la semántica y
las restricciones de consistencia
 Herramienta de especificación formal que permite
representar las propiedades que caracterizan a los
entes de un minimundo englobado en un problema
 Esconde muchos detalles de almacenamiento de
bajo nivel: el usuario define qué datos desea
almacenar sin importarle el cómo se almacenan
14
Diseñar en Base de Datos (BD)
Proceso iterativo en el cual una especificación se va transformando
en otra especificación disminuyendo el nivel de abstracción y
acercándose a lo que una máquina virtual puede entender
Traducción
Lenguaje de
Alto nivel
Traducción
Especificación
(ambigua)
Problema
Especificación
(sin ambigüedad)
Requerimientos
Funcionales
y no Funcionales
Lenguaje Natural
Entendida por el
hombre
15
Entendida por una
máquina virtual
Elementos de un Modelo de Datos
 Estructuras: elementos que permiten definir las
características esenciales o estructurales de los datos
 Restricciones: Permite especificar condiciones que
deben cumplir los entes que pertenecen al universo de
discurso
 Operaciones: Indican cómo pueden ser utilizados los
datos para satisfacer los requerimientos
Usuario
Columna
Fila
Tabla
Entidad Relación (ER)
Atributo
Entidad
Conjunto de entidades
Modelo Relacional (MR)
Atributo
Tupla
Relación
16
Sistema de Archivos
Campo
Registro
Archivo
Esquemas y Diagramas
 Esquema: es la representación de un problema utilizando
un modelo de datos
 Diagrama: Es la representación gráfica de un esquema.
Son las descripciones que se utilizan comunmente para
establecer la comunicación con el usuario final
Diagrama Entidad Relación:
Esquema relacional:
PLATO(codPla, nombrePlato, costo, precioVenta)
INGREDIENTE(codIng, nombreI, precioI)
NECESITA(codPla, codIng, cantidadNecesaria)
codPla referencia a PLATO
codIng referencia a INGREDIENTE
17
Tipos de Modelos de Datos
En base a la capacidad de representación de las propiedades
estructurales de los entes del universo de discurso
 Estructurados: todos los datos de un mismo tipo, deben
estar caracterizados por las mismas propiedades (ER, MR)
 Semi-estructurados: los datos de un mismo tipo pueden o
no estar caracterizados por las propiedades estructurales
que caracterizan al tipo (XML)
 No estructurados: Cada dato tiene sus propias propiedades
estructurales (Documentos en Internet)
18
Lenguajes de un DBMS
 Lenguaje de Definición de Datos (DDL): Ofrece primitivas
para crear objetos de la Base de Datos
 Lenguaje de Manipulación de Datos (DML): Ofrece las
construcciones necesarias para implementar las operaciones
del MD que implementa el DBMS. Incluye facilidades para
insertar, consultar, eliminar y actualizar datos
 Lenguaje de Control de Datos (DCL): Ofrece las
construcciones necesarias para proporcionar a los usuarios
el acceso requerido a los datos y controlar el uso de los
mismos en el SBD
19
Lenguajes que provee un DBMS
Los DBMS suelen proporcionar uno o más de
 Lenguaje declarativo para operar sobre los datos: Los
RDBMS utilizan SQL (Structured Query Language)
 Lenguaje procedimental para operar sobre los datos:
Oracle ofrece PL/SQL, PostgreSQL ofrece PL/pgSQL
20
Metodología para el diseño de una BD
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe
21
Referencias
 Date, C.J. (2001). Introducción a los Sistemas de Bases de Datos.
Prentice Hall.
 Elmasri, R. y Navathe, S. (2007) Fundamentos de Sistemas de Base
de Datos. 5ta edición. Pearson Educación. Madrid, España.
 Hansen G. y Hansen J. (2000) Diseño y Administración de Bases de
Datos. Segunda edición. Prentice Hall
 Kronke D. (2003). Procesamiento de Bases de Datos. Fundamentos,
Diseño e Instrumentación. Octava edición. Prentice Hall.
 Ramakrishnan R. y Gehrke J. (2003). Database Management Systems.
Third Edition. McGraw-Hill Higher Education.
 Sabino, N. (2001) Sistema de Base de Datos I – CI3315. Tema Nro. 1:
Introducción, conceptos Básicos. Apuntes de Clase USB.
 Silsberchatz A., Korth H. y Sudarshan S. (2006) Fundamentos de Base
de Datos. Quinta edición. McGraw-Hill Interamericana de España.
22