Bases de Datos: Introducción Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl
Sistemas de Información/Sistemas Informáticos v En toda organización es esencial la disponibilidad de información y la capacidad de gestionarla en forma eficaz. v Los sistemas de información (SI) son los que organizan y manejan la información a fin de que la organización pueda alcanzar sus propios objetivos. v La existencia de un SI es independiente de la automatización: normalmente coexisten una parte manual y una parte automatizada. Esta última llamada sistema informático. Franco Guidi Polanco 2
Sistema de Bases de Datos v Es un sistema cuyo propósito es almacenar datos y poner estos a disposición de los usuarios cuando así se requiera. v Los datos almacenados pueden corresponder a cualquier cosa de significación para el individuo u organización a que el sistema sirve. v El sistema se encuentra por integrado por datos, hardware, software y personas Franco Guidi Polanco 3
Sistema de base de datos DBMS DB Aplicaciones Usuarios Franco Guidi Polanco 4
Sistemas de Administración de Bases de Datos v Un Sistema de Administración de Bases de Datos (o DBMS Data Base Management System) es un sistema capaz de manejar grandes colecciones de datos en forma compartida y persistente, asegurando su confiabilidad y privacidad. v Una Base de Datos es una colección de datos manejada por un DBMS. Franco Guidi Polanco 5
Sistemas de Administración de Bases de Datos (cont.) v El DBMS controla los accesos a la base de datos Usuario Requerimiento sobre datos (opción de menú, botón, etc...) Requerimiento satisfecho Software de aplicación Requerimiento en lenguaje estructurado (Ej. SQL) Resultado del requerimiento estructurado DBMS Operaciones sobre la base de datos Resultado de las operaciones BD Franco Guidi Polanco 6
Datos en un Sistema de BD v Dato: dupla atributo-valor PRODUCTOS CODIGO_PRODUCTO DESCRIPCION COSTO ($) UNIDAD DE MEDIDA 095644398 Perno 150 Unidad Franco Guidi Polanco 7
Las Bases de Datos pueden ser grandes... v Pueden ocupar grandes cantidades de bytes, mucho más que lo disponible en memoria principal. v En consecuencia los DBMS proveen la gestión de datos en memoria secundaria. Franco Guidi Polanco 8
Las Bases de Datos pueden ser compartidas... v Aplicaciones y usuarios distintos pueden requerir acceso, bajo ciertas modalidades, a datos comunes. v Al evitar repeticiones, se reduce la redundancia de datos y, en consecuencia, su inconsistencia. v Para garantizar el acceso compartido a los datos, los DBMS disponen de un mecanismo denominado control de concurrencia. PRODUCTOS VENTAS DPTO. MARKETING PROVEEDORES DPTO. ABASTECIMIENTO Franco Guidi Polanco 9
Las Bases de Datos son persistentes... v El tiempo de vida de los datos no está limitado al tiempo de ejecución de una aplicación. v Aún más: el tiempo de vida de los datos ni siquiera está determinado por el ciclo de vida de la aplicación que los utiliza. Franco Guidi Polanco 10
Los DBMS garantizan la confiabilidad y la privacidad de los datos... v Confiabilidad: el DBMS es capaz de conservar el contenido de la base de datos (o al menos, de permitir su reconstrucción) en caso de fallas de hardware/software. Los DBMS definen funciones de respaldo y restablecimiento (backup y recovery). v Privacidad: por medio de mecanismos de autenticación y autorización, los usuarios son habilitados para efectuar determinadas acciones sobre los datos. Franco Guidi Polanco 11
Aplicaciones v Programas que emplean la BD para llevar a cabo una función específica dentro de la organización (ej.: Análisis de ventas, control del inventario, etc.). v Las aplicaciones se pueden desarrollar en distintos lenguajes de programación (COBOL, C++, Java, etc.). v Las aplicaciones accesan la BD mediante algún lenguaje de consulta (típicamente SQL) Franco Guidi Polanco 12
Usuarios v Programadores de aplicaciones: escriben programas en distintos lenguajes de programación. v Usuarios finales: acceden a la BD a través de aplicaciones desarrolladas o de interfaces provistas por el software del sistema de BD. v Administrador de bases de datos (DBA Database Administrator): controla el funcionamiento del sistema de BD desde el punto de vista técnico. Sus tareas principales son: definir el esquema lógico y físico, administrar usuarios, definir restricciones de seguridad e integridad, definir políticas de respaldo y recuperación de datos, monitorear la performance y responder a nuevos requerimientos. Franco Guidi Polanco 13
Hardware v Conjunto de dispositivos físicos sobre el que reside y opera el sistema. Uno o más computadores. Medios de almacenamiento secundario (Discos duros, CD-ROM, etc.). Impresoras. Cables y otros dispositivos de red. Franco Guidi Polanco 14
Modelos de datos v Un modelo de datos es un conjunto de conceptos utilizados para organizar los datos de interés, y describir su estructura en forma comprensible para un sistema informático. v Cada modelo de datos provee mecanismos de estructuración, que permiten definir nuevos tipos de datos a partir de tipos (elementales) predefinidos. Franco Guidi Polanco 15
Modelos de datos (cont.) v Existen distintos modelos de datos: Jerárquico: se basa en el uso de estructuras en forma de árbol (definido en la primera fase de desarrollo de los DBMS, años 60 s). Reticular (llamado también CODASYL): se basa en el uso de grafos (desarrollado sucesivamente al modelo jerárquico, inicio años 70 s) Relacional: hoy el más difundido. Permite definir tipos por medio de relaciones; organiza los datos en conjuntos de registros de estructura fija (definido a inicios de los 70 s, difundido en los 80 s). A objetos: evolución del modelo relacional, que extiende a las BD el paradigma de la POO (desarrollado en los 80 s). Franco Guidi Polanco 16
Esquemas e instancias de la BD v Esquema de la BD: describe las características de los datos de la BD; es una parte de la BD que permanece sustancialmente invariante en el tiempo. v Instancia o estado de la BD: conformada por los valores almacenados en la BD; es la parte variable de una BD. Curso(Clave, NombreAsignatura) Eii140 Introducción a la Ing. Industrial Eii147 Introducción a las T.I. Eii248 Estructuras de Datos Esquema Instancia Franco Guidi Polanco 17
Lenguajes para BD v Los lenguajes para BD se distinguen en dos categorías: Lenguaje de definición de datos (DDL Data Definition Language): se utiliza para definir esquemas lógicos, externos y físicos, y las autorizaciones para el acceso. Lenguaje de manipulación de datos (DML Data Manipulation Language): se utiliza para la interrogación y actualización de las instancias de BD. Franco Guidi Polanco 18
La adopción de sistemas de BD permite v Compartir datos entre aplicaciones existentes; nuevas aplicaciones pueden acceder a datos ya existentes. v Reducir la redundancia: los datos existen en un único lugar, y son compartidos por distintas aplicaciones (consecuencia de lo anterior). v Evitar inconsistencias (consecuencia de lo anterior) v Beneficiarse del soporte para transacciones: operaciones que involucran varias actualizaciones puedan ser ejecutadas en forma atómica. v Mantener integridad en los datos, por medio de la definición de restricciones de integridad. v Adoptar políticas de seguridad, por medio de restricciones de seguridad asociadas a los usuarios. Franco Guidi Polanco 19