ITSE - TECNICATURA SUPERIOR EN PROGRAMACIÓN Base de Datos I Bases de datos y usuarios Introducción Profesor: Gregorio N. Tkachuk Objetivos de aprendizaje 1.1 Tipos de bases de datos y aplicaciones de bases de datos 1.2 Definiciones básicas 1.3 Funcionalidad típica de DBMS 1.4 Ejemplo de una base de datos (Universidad) 1.5 Principales características del enfoque de base de datos 1.6 Tipos de usuarios de bases de datos 1.7 Ventajas de utilizar el enfoque de base de datos Base de Datos I - Introducción 2 Usos de Bases de Datos ● ● ● Las redes sociales comenzaron a capturar mucha información sobre las personas y sobre las comunicaciones entre las personas: publicaciones, tweets, fotos, videos en sistemas como: ○ Facebook ○ Twitter ○ Linked-in Todo lo anterior constituye datos Motores de búsqueda: Google, Bing, Yahoo: recopilan su propio repositorio de páginas web para fines de búsqueda Base de Datos I - Introducción 3 Ejemplo gráfico Base de Datos I - Introducción 4 Definiciones básicas ● Base de datos (DB): ○ Una colección de datos relacionados. ● Datos: ○ Hechos conocidos que pueden registrarse y tienen un significado implícito. ● Mini-mundo: ○ Alguna parte del mundo real sobre la que se almacenan datos en una base de datos. Por ejemplo, calificaciones y expedientes académicos de los estudiantes en una universidad. ● Sistema de gestión de bases de datos (DBMS): ○ Un paquete / sistema de software para facilitar la creación y mantenimiento de una base de datos computarizada. ● Sistema de bases de datos: ○ El software DBMS junto con los datos en sí. A veces, también se incluyen las aplicaciones. Base de Datos I - Introducción 5 Entorno del sistema de base de datos simplificado Base de Datos I - Introducción 6 Entorno del sistema de base de datos simplificado Base de Datos I - Introducción 7 Impacto de las bases de datos y la tecnología de bases de datos ● Negocios: banca, seguros, comercio minorista, transporte, atención médica, manufactura ● Industrias de servicios: financiera, inmobiliaria, legal, comercio electrónico, pequeñas empresas ● Educación: recursos para contenido y entrega ● Más recientemente: Redes Sociales, Aplicaciones Científicas y Ambientales, Medicina y Genética ● Aplicaciones personalizadas: basadas en dispositivos móviles inteligentes Base de Datos I - Introducción 8 Funcionalidad típica de DBMS ● Definir una base de datos en particular en términos de sus tipos de datos, estructuras y restricciones. ● Cargar el contenido de la base de datos inicial en un medio de almacenamiento secundario ● Manipular la base de datos: ○ Recuperación: consulta, generación de informes ○ Modificación: Inserciones, eliminaciones y actualizaciones de su contenido. ○ Acceder a la base de datos a través de aplicaciones web ● Procesamiento y uso compartido por un conjunto de usuarios simultáneos y programas de aplicación, pero manteniendo todos los datos válidos y consistentes Base de Datos I - Introducción 9 Ejemplo de una base de datos (con un modelo de datos conceptual) (1 de 2) ● Mini-mundo para el ejemplo: ○ Parte de un entorno UNIVERSITARIO. ● Algunas entidades del mini-mundo: ○ ESTUDIANTES ○ CURSOS ○ SECCIONES (de CURSOS) ○ DEPARTAMENTOS (académicos) ○ PRERREQUISITOS Base de Datos I - Introducción 10 Ejemplo de una base de datos simple Base de Datos I - Introducción 11 Ejemplo de una base de datos (con un modelo de datos conceptual) (2 de 2) ● Algunas relaciones de mini-mundo: ○ Las SECCIONES son de CURSOS específicos ○ Los ESTUDIANTES toman SECCIONES ○ Los CURSOS tienen CURSOS de prerrequisito ○ Los INSTRUCTORES enseñan las SECCIONES ○ Los CURSOS son ofrecidos por DEPARTAMENTOS ○ ESTUDIANTES con especialización en DEPARTAMENTOS ● Nota: Las entidades y relaciones anteriores se expresan típicamente en un modelo de datos conceptual, como el modelo de datos ENTIDAD-RELACIÓN Base de Datos I - Introducción 12 Características principales del enfoque de base de datos (1 de 3) ● Naturaleza autodescriptiva de un sistema de base de datos: ○ ○ ○ El catálogo DBMS almacena la descripción de una base de datos en particular (por ejemplo, estructuras de datos, tipos y restricciones) La descripción se llama metadatos * . Esto permite que el software DBMS funcione con diferentes aplicaciones de bases de datos. ● Aislamiento entre programas y datos: ○ ○ Llamado independencia de datos de programa . Permite cambiar las estructuras de datos y la organización del almacenamiento sin tener que cambiar los programas de acceso al DBMS. * Algunos sistemas más nuevos, como algunos sistemas NOSQL, no necesitan metadatos: almacenan la definición de datos dentro de su estructura, lo que los hace autodescriptivos. Base de Datos I - Introducción 13 Ejemplo de Catálogo de la DB Base de Datos I - Introducción 14 Características principales del enfoque de base de datos (2 de 3) ● Abstracción de datos: ○ Se utiliza un modelo de datos para ocultar los detalles de almacenamiento y presentar a los usuarios una vista conceptual de la base de datos. ○ Los programas se refieren a las construcciones del modelo de datos en lugar de a los detalles del almacenamiento de datos. ● Soporte de múltiples vistas de los datos: ○ Cada usuario puede ver una vista diferente de la base de datos, que describe solo los datos de interés para ese usuario. Base de Datos I - Introducción 15 Características principales del enfoque de base de datos (3 de 3) ● Intercambio de datos y procesamiento de transacciones multiusuario: ○ Permitir que un conjunto de usuarios concurrentes recuperen y actualicen la base de datos. ○ El control de concurrencia dentro del DBMS garantiza que cada transacción se ejecute correctamente o se anule ○ El subsistema de recuperación asegura que cada transacción completada tenga su efecto registrado permanentemente en la base de datos ○ OLTP (Online Transaction Processing) procesamiento de transacciones en línea es una parte importante de las aplicaciones de bases de datos. Esto permite que se ejecuten cientos de transacciones simultáneas por segundo. Base de Datos I - Introducción 16 Usuarios de la base de datos ● Los usuarios pueden dividirse en ○ Aquellos que realmente usan y controlan el contenido de la base de datos, y aquellos que diseñan, desarrollan y mantienen aplicaciones de bases de datos (llamados "Actores en la escena"), y ○ Aquellos que diseñan y desarrollan el software DBMS y las herramientas relacionadas, y los operadores de sistemas informáticos (llamados “Actores detrás de escena”). Base de Datos I - Introducción 17 Usuarios de bases de datos: actores en escena ● DBA Administradores de bases de datos: ○ Responsable de autorizar el acceso a la base de datos, de coordinar y monitorear su uso, adquirir recursos de software y hardware, controlar su uso y monitorear la eficiencia de las operaciones. ● Diseñadores de bases de datos: ○ Responsable de definir el contenido, la estructura, las restricciones y funciones o transacciones contra la base de datos. Deben comunicarse con los usuarios finales y comprender sus necesidades. ● Usuarios finales: ○ Principales ○ Casuales Base de Datos I - Introducción 18 Usuarios de bases de datos: actores detrás de escena ● Diseñadores e implementadores de sistemas: diseñar e implementar paquetes DBMS en forma de módulos e interfaces y probarlos y depurarlos. El DBMS debe interactuar con aplicaciones, compiladores de lenguaje, componentes del sistema operativo, etc. ● Desarrolladores de herramientas : Diseñan e implementan sistemas de software llamados herramientas para modelar y diseñar bases de datos, monitoreo del desempeño, creación de prototipos, etc ● Operadores y personal de mantenimiento: administran el funcionamiento real y el mantenimiento del entorno de hardware y software del sistema de base de datos. Base de Datos I - Introducción 19 Ventajas de utilizar el enfoque de base de datos ● ● ● ● ● ● ● ● ● ● Controlar la redundancia en el almacenamiento de datos y en los esfuerzos de desarrollo y mantenimiento. ○ Intercambio de datos entre múltiples usuarios. Restringir el acceso no autorizado a los datos. Proporcionar almacenamiento persistente para objetos de programa Proporcionar estructuras de almacenamiento (por ejemplo, índices) para un procesamiento de consultas eficiente; Proporcionar optimización de consultas para un procesamiento eficiente. Brindar servicios de copia de seguridad y recuperación. Proporcionar múltiples interfaces para diferentes clases de usuarios. Representar relaciones complejas entre datos. Implementar las restricciones de integridad en la base de datos. Extraer inferencias y acciones a partir de los datos almacenados mediante reglas y disparadores deductivos y activos. Base de Datos I - Introducción 20 Preguntas ? Base de Datos I - Introducción 21