Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de...

26
Introducción Informática Aplicada

Transcript of Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de...

Page 1: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Introducción

Informática Aplicada

Page 2: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Contenido

• Propósitos de las bases de datos• Punto de vista de los datos• Lenguajes de base de datos• Bases de datos relacionales• Diseño de bases de datos• Bases de datos orientadas a objetos y semisetructuradas• Consultas y almacenamiento de datos• Control de Transacciones• Arquiectura de bases de datos• Usuarios y administradores de bases de datos• Estructura general• Historia de sistemas de bases de datos

Page 3: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Sistemas de administración de bases de datos

•Un sistema de base de datos contiene información de una empresa

•Colección de datos interrelacionados

•Conjunto de programas para manejar los datos

•Un ambiente que sea conveniente y eficiente de usar

•Aplicaciones

•Bancarias: todas las transacciones

•Aerolíneas: reservaciones, intinerarios

•Universidades: inscripciones, calificaciones

•Ventas: clientes, productos, facturas

•Manufactura: producción, inventario, ordenes, cadena de suministros

•Recursos Humanos: registros de empleados, salarios, impuestos

Las bases de datos se aplican en todos los aspectos de la vida

Page 4: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Propósito de los sistemas de base datos

Al principio, las aplicaciones se construían directamente sobre el sistema de archivos.

•Desventajas•Redundancia en los datos e inconsistencia

•Múltiples formatos de archivo, duplicado de la información en diferentes archivos

•Dificultad en el acceso a los datos•Necesidad de escribir nuevos programas para cada nueva aplicación

•Aislamiento de los datos - múltiples archivos y formatos•Problemas de integridad

•Restricciones de integridad (p.ej. balance>0) se inserta en el código del programa en lugar de hacerlo explícitamente•Difícil agregar nuevas restricciones o cambiar las actuales

Page 5: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Propósito de los sistemas de base datos (cont.)

•Desventajas (cont)•Atomicidad de las actualizaciones

•Las fallas pueden dejar la base de datos en un estado inconsistente con actualizaciones parciales•Ejemplo: transferencia de fondos de una cuenta a otra debe completarse o no ocurrir

•Acceso concurrente por múltiples usuarios•Acceso concurrente necesario por eficiencia•Acceso concurrente sin control puede crea inconsistencias

•Ejemplo: dos usuarios leyendo un saldo y actualizándolo al mismo tiempo

•Problemas de seguridad•Difícil proveer a usuarios acceso a todos, pero no todos los datos

•Los sistemas de bases de datos proveen soluciones para todos estos problemas

Page 6: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Niveles de abstracción

•Nivel físico: describe como se almacenan los registros•Nivel Lógico: describe los datos guardados en la base de datos y la relación entre los datos

type custumer = recordcustomer_id:string;customer_name:string;customer_street:string;customer_city:string;

end;•Nivel de vista: los programas de aplicación ocultan detalles de los tipos de datos. Las vistas también ocultan información (tal como el salario de un empleado) con propósitos de seguridad.

Page 7: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Punto de vista de los datos

Vista 1 Vista 2 Vista N

Nivel lógico

Nivel físico

Arquitectura de un sistema de bases de datos

Nivel de vista

Page 8: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Instancias y esquemasAnálogo a tipos y variables en lenguajes de programaciónEsquema - La estructura lógica de la base de datos

•ejemplo: La base de datos consiste de información acerca de un conjunto de clientes y cuentas y la relación entre ellos.•Análogo a los tipos de información de una variable en un programa•Esquema físico: diseño de la base de datos en el nivel físico•Esquema lógico: diseño de la base de datos en el nivel lógico

Instancia - el contenido actual de la base de datos en un punto particular del tiempo.

•Análogo al valor de una variableIndependencia física de los datos - habilidad para modificar el esquema físico sin cambiar el esquema lógico

•Las aplicaciones dependen del esquema lógico•En general, la interfase entre varios niveles y componentes deberá estar bien definida para que los cambios en alguna parte no influye seriamente en otras.

Page 9: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Modelo de los datos

•Un conjunto de Herramientas para describir •Datos•Relaciones entre datos•Semántica de los datos•Restricciones de los datos

•Modelo relacional•Modelo Entidad-Relación (principalmente para diseño) •Modelos basados en objetos (Orientados a objetos y Objeto-relacionales)•Modelo Semi-estructurados (XML)•Otros modelos antiguos:

•Modelo de red•Modelo jerárquico

Page 10: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

El modelo relacional

• Ejemplo de una tabla de datos en el modelo relacional

Atributos

Page 11: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Ejemplo de una base de datos relacional

Page 12: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Lenguaje de definición de datos (DDL)

•Notación de especificación pra definir esquemas de base de datosEjemplo create table account ( account-number char(10), balance integer);

•El compilador DDL genera un conjunto de tablas almacenadas en un diccionario de datos•El diccionario de datos contiene metadatos (i.e., datos acerca de los datos)

•Esquema de base de datos•Almacenamiento de datos y lenguaje de definición

•Especifica la estructura del almacenamiento y los métodos de acceso usados•Restricciones de integridad

•Restricciones de dominio•Integridad referencial (restricciones de referencia en SQL)•Asertos

•Autorización

Page 13: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Lenguaje de manipulación de datos (DML)

Lenguaje para acceder y manipular los datos organizados por un modelo apropiado de datos

•El DML es conocido como lenguaje de consulta

Dos clases de lenguajes

•Procedural - el usuario especifica que datos son requeridos y como obtener esos datos.•Declarativo (no procedural) - el usuario especifica que datos son requeridos sin especificar como obtener esos datos.

SQL es el lenguaje más utilizado como lenguaje de consulta.

Page 14: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

SQLSQL: lenguaje no procedural más utilizado

Ejemplo: Encontrar el nombre del cliente con clave 192-83-7465select customer.customer_namefrom customerwhere customer.customer_id = ‘192-83-7465’

Example: Encontrar los saldos de todas las cuentas de un cliente con clave 192-83-7465

select account.balancefrom depositor, accountwhere depositor.customer_id = ‘192-83-7465’ and

depositor.account_number = account.account_numberLos programas de aplicación generalmente acceden a las bases de datos a través de extensiones del lenguaje para permitir SQL embebido

Las interfases de los programas de aplicación (p.e., ODBC/JDBC) las cuales permiten que consultas SQL sen enviadas la base de datos

Page 15: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Diseño de bases de datos

El proceso de diseño de la estructura general de bases de datos:

•Diseño Lógico – Desición del esquema de la base de datos. El diseño de la base de datos requiere encontrar una colección “buena” de esquemas de relación.

•Decisión de negocios – Cuáles atributos guardaremos en la base de datos?•Decisión de Ciencias de la computación – Que esquemas de relación tendremos y como se distribuirán a lo largo de los esquemas de relación?

•Diseño físico – Decidiendo sobre plano físico de la base de datos

Page 16: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Modelo entidad-relación•Modela una empresa como una colección de entidades y relaciones

•Entidad: una “cosa” u “objeto” en una empresa que es distinguible de otros objetos.

•Descrito por un conjunto de atributos.

•Relación: una relación entre varias entidades.

•Representado gráficamente mediante un diagrama entidad-relación

Page 17: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Modelo de datos objeto-relacional

•Extiende el modelo de datos relacional incluyendo orientación a objetos y constructores para trabajar con tipos de datos agregados.•Permite atributos de tuplas que tengan tipos complejos, incluyendo valores no atómicos tal como relaciones anidadas.•Retiene los fundamentos relacionales, en particular el acceso declarativo de datos, mientras extiende la potencia del modelado.•Provee compatibilidad hacia arriba con los lenguajes relacionales existentes.

Page 18: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

XML: Extensible Markup Language

Lenguaje de Marcado Extensible

•Definido por el consorcio WWW (W3C)•Originalmente definido como un lenguaje de marcado de documentos no como un lenguaje de base de datos.•Habilidad para especificar nuevos objetivos (tags), y crear estructuras objetivos anidados hacen de XML una forma conveniente •para intercambiar datos, no solo documentos.•XML ha llegado a ser la base para una nueva generación de formatos de intercambio de datos.•Una variedad amplia de herramientas están disponibles para reconocimiento, espulgado y consulta de documentos/datos.

Page 19: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Manejador de almacenamiento

•El manejador del almacenamiento es un módulo de programa que provee la interfase entre el almacenamiento de datos de bajo nivel en la base de datos y los programas de aplicación y las consultas enviadas al sistema.•El manejador del almacenamiento es responsable de las siguientes tareas:

Interacción con el manejador de archivos El eficiente almacenamiento y recuperación y actualización de datos

•Provee: Acceso al almacenamiento

Organización de archivos Indexado y hashing

Page 20: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Procesamiento de consultas

Analizador ytraductor

Optimizador

Máquina deevaluación

ConsultaExpresión de

Álgebrarelacional

Salida de laconsulta

Plan deejecusión

Estadísticas

de los datosDatos

1. Análisis y traducción

2. Optimización

3. Evaluación

Page 21: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Procesamiento de consultas (cont.)

• Formas alternativas de evaluar una consulta dadas– Expresiones equivalentes– Diferentes algoritmos para cada operación

• Las diferencias en costo entre una forma buena y mala de evaluar una consulta puede ser enorme

• Necesidad de estimar el costo de las operaciones– Depende críticamente de información estadística acerca de

las relaciones la cual la base de datos debe mantener– Necesidad de estimar estadísticas para resultados

intermedios para computar el costo de expresiones complejas

Page 22: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Manejador de transacciones

• Una transacción es una colección de operaciones que lleva a cabo una función lógica única en una aplicación de base de datos

• La componente de manejador de transacciones asegura que la base de datos permanezca en un estado consistente (correcto) sin importar las fallas (p.ej. Fallas de potencia, caídas del sistema operativo) y fallas en las transacciones.

• Manejador de control de concurrencia controla la interacción entre las transacciones concurrentes, para asegurar la consistencia de la base de datos.

Page 23: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Arquitecturas de bases de datos

La arquitectura de las bases de datos esté muy influenciada por el sistema de cómputo en los que la base de datos se ejecuta:

• Centralizado• Cliente-servidor• Paralelo (multi-procesador)• Distribuida

Page 24: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Usuarios de bases de datos

Los Usuarios son diferenciados por la manera en que se espera que interactúen con el sistema

• Programadores de aplicación – interactúan con el sistema a través de llamadas DML

• Usuarios Sofisticados – formulas preguntas en la base de datos en un lenguaje de consultas de base de datos

• Usuarios especializados – escriben aplicaciones de bases de datos que no se ajustan a la organización del procesamiento de datos tradicional

• Usuarios novatos – ejecutan uno de los programas permanentes de aplicación que han sido escritos previamente– Ejemplos, gente que acceda la base de datos por la web, cajeros

automáticos, personal de oficina

Page 25: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Administrador de base de datos

• Coordina todas las actividades en el sistema de base de datos; el administrador tiene un buen conocimiento de los recursos de la empresa y sus necesidades.

• Los deberes del administrador se incluye:– Definición del esquema– Estructura del almacenamiento y definición del método de

acceso– Modificación del esquema y organización física– Otorga autoridad a los usuarios de la base de datos– Especifica restricciones de integridad– Actúa como coordinador de usuarios– Monitorea comportamiento y responde a cambios en los

requerimientos

Page 26: Introducción Informática Aplicada. Contenido Propósitos de las bases de datos Punto de vista de los datos Lenguajes de base de datos Bases de datos relacionales.

Estructura completa del sistemaUsuarios novatos

)cajeros, agentes,Usuarios web(

Programadores deaplicaciones

Usuariossofisticados

Administrador deBase de datos

InterfaseDe aplicación

ProgramasDe aplicación

HerramientasDe consulta

Herramientasde administración

Código objetoDe programasDe aplicación

Compilador yligador

Interprete DDLConsultas DML

Compilador DMLY organizador

Máquina evaluadoraDe consultas

Manejador de buffer Manejador de archivo Manejador deAutorización e integridad

Manejador de transacciones

Datos

ÍndicesDiccionario de datos

Datos estadísticos

Procesador de consultas

Manejador de almacenamiento

Usa Usa UsaEscribe

Disco