Gestión de Bases de Datos Prof. Marlene Goncalves Universidad Simón Bolívar Ubicación del Curso Sistema de Operación Algoritmia Estructuras Almacenamiento Memoria Secundaria Ingeniería de Software Técnicas de Análisis y Diseño Procesos Sincronización Scheduling Base de Datos Cercano al DBMS, SOP y Hardware Arquitectura y Administración Cercano al Usuario Final Paradigmas de Modelaje Lenguajes Declarativos Compilación Lenguajes de Programación ¿Qué es Diseñar? Mapping Problema Lenguaje de Alto Nivel (Lenguaje Natural) Especificación Mapping Especificación Req. Funcionales y No Funcionales Entendido por el hombre Entendido por una Máquina Virtual Conjunto de hechos conocidos, con significado explícito para quien los usa y que reflejan el estado actual de la realidad ¿Qué es una Base de Datos? Conjunto de Datos relacionados entre sí que se utilizan para representar •los Persistencia elementos que juegan un••Disponibilidad papel Consistencia • Seguridad protagónico en un mini-mundo. • Confiabilidad No son simplemente “archivos de datos” Procesamiento de Datos vs. Base de Datos Unidad de Trabajo: Archivo Lenguaje de propósito específico asistido por primitivas de I/O provistas por el SO y el Sistema Manejador de Archivos (FSM). Sistema de Procesamiento de Archivos: Programas + archivos de datos Unidad de Trabajo: Base de Datos Sistema Manejador de Base de Datos (DBMS): Permite crear, operar y mantener BD. Sistema de BD (DBS): Aplicaciones + DBMS + datos + metadatos. Ventajas de un DBS 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Redundancia Completitud de la información Catálogo Independencia Programa/Datos Abstracción de Datos Soporte de Visiones Facilidades de desarrollo y mantenimiento de aplicaciones Acceso Eficiente a Datos Ejecución Eficiente de las consultas Consistencia Concurrencia y recuperación ante fallas. Usuarios de un DBMS Analistas de Sistemas Programadores Diseñadores de BD Administradores de BD (DBA) Usuarios Finales ¿Qué es un DBMS? Un Sistema Manejador de Bases de Datos: Permite crear bases de datos – (Lenguaje de Definición de datos DDL) Permite hacer consultas (“query”) a bases de datos (Lenguaje de Interrogación del DML) Almacena gran volumen de datos (Insert, Update, Delete del DML) Controla el acceso a los datos (DCL) Características de los DBMS Maneja gran cantidad de datos (g.c.d.) Soporta acceso eficiente a g.c.d. Soporta acceso concurrente a g.c.d. Soporta acceso atómico seguro a g.c.d. Lenguajes que provee un DBMS DDL: Data Definition Language – – – VDL: View Definition Language DDL: Data Definition Language SDL: Storage Definition Language DML: Data Manipulation Language DCL: Data Control Language Modelo de Datos Herramienta conceptual que permite describir características, propiedades y el cómo se encuentran estructurados los entes del mini-mundo. Se compone de tres elementos: – – Estructuras Restricciones – Inherentes Implícitas Explícitas Operaciones Modelo de Datos Deben poseer las siguientes cualidades: – – – – Expresividad: Capacidad de la representación de la realidad Economía Conceptual: Capacidad de compresión de los esquemas generados Minimalidad: Ningún concepto puede ser expresado en función de otros provistos por el modelo. Las estructuras y restricciones del modelo poseen una única interpretación. Clasificación de los Modelo de Datos Primera Clasificación – – – Segunda Clasificación – – Alto Nivel, Conceptuales o Semánticos Implementación, Lógicos o Tradicionales Bajo Nivel o Físicos Identificación por valores Identificación por existencia Tercera Clasificación – – – Datos Estructurados Semi-Estructurados No Estructurados Modelo de Datos - Términos Esquema: Representación de un problema utilizando un modelo de datos Diagrama: Representación gráfica de un esquema Arquitectura ANSI/SPARC Visión USR1 … Independencia Lógica Esquema Conceptual Visión USRn Nivel Externo Nivel Conceptual Independencia Física Esquema Interno Nivel Interno Metodología MiniMundo Modelaje o Diseño Conceptual Diseño Lógico Diseño de la Implantación Diseño Físico El Modelo Relacional Basado en Relaciones, como: nombre f.ingreso salario Maria 01/01/91 1500 Josue 15/04/90 2000 Santiago 01/06/82 1000 DBMS Relacionales Usado en la mayoría de los DBMS Compañías de DBMS (Oracle e IBM) están entre las compañías de Software más grandes del mundo. – PostgreSQL y MySQL (SMBD libres) La Tendencia OO Las compañías “Relacionales” son actualmente retadas por la aparición de compañías de OO-DBMS. Actualmente se comercializan OR-DBMS “object-relational”, que retienen el núcleo relacional con extensiones OO. Tres aspectos a estudiar sobre DBMS Modelaje y diseño de bases de datos. – Programación: – Permite la exploración de los problemas antes de realizar una implementación. consultas y operaciones de Bases de Datos tales como las actualizaciones. Implementación de DBMS Modelo Entidad-Interrelación Diagramas para representar diseños Entidades (como objetos) = “cosas” Conjunto de Entidades (como clases) = conjuntos de entidades “similares” Atributo = propiedad de las entidades de un Conjunto de Entidades (similar a los “campos” o “variables de instancias”) Modelo Entidad-Relación Interrelaciones – Conectan dos o más Conjuntos de Entidades Conjuntos de Interrelaciones – El “valor”de un conjunto interrelación es como una tabla Una columna por cada conjunto entidad conectado Una fila por cada lista de las entidades conectadas por la interrelación Modelo Entidad-Relación Interrelaciones Múltiples Usualmente sólo se necesitan interrelaciones binarias – – Hay casos en que se necesita conectar tres o más conjuntos de entidad a través de una relación. Ejemplo: Profesor-Materia-Estudiante Nuestro ejemplo del curso “Lectores-Librerías” nombre dirección rif LIBRERÍAS Frecuenta Ofrece LIBROS nombre editorial Gusta LECTORES nombre dirección