Universidad Privada del Valle Facultad De Tecnología Ing. Industrial y de Sistemas DISEÑO DE BASE DE DATOS I Arquitectura de DBMS NOMBRE: Tatiana Vargas Vega DOCENTE: Ing. Marco Zarate COCHABAMBA – BOLIVIA Agosto, 2010 Uso de DBMS Introducción Definición DBMS Database Management System Colección de datos interrelacionados y un conjunto de programas para acceder a esos datos Componentes de un DBMS Data definition language (DDL): Define elementos de los datos en la base de datos Data manipulation language (DML): Manipula datos para aplicaciones Data dictionary: Definiciones de todas las variables en la base DBMS más populares Ejemplos Logo Nombre URL Productos Sybase www.sybase.com Adaptive Server Oracle www.oracle.com Oracle8, Oracle8i, Oracle8iEE , Oracle9i, Oracle 10g PostgreSQ L www.postgresql.org PostgreSQ L Microsoft www.microsoft.com Access, MS-SQL Server MySQL www.mysql.com MySQL Informix www.informix.com Illustra, Universal Server, Dynamic Server IBM www.ibm.com DB2 Apache http://db.apache.org/derby Derby SQLite http://www.sqlite.org SQLite Firebird http://firebird.sourceforge.n et Firebird Arquitectura de un manejador de bases de datos (DBMS) Una base de datos en ejecución consta de 3 cosas: Archivos o Control (ctl): almacenan información acerca de la estructura de archivos de la base. o Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior. o Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de consulta incluyendo aquellas que no modifican los datos. o Datos (dbf): el tipo más común, almacena la información que es accesada en la base de datos. o Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido. o Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o alguna actividad particular que requiera espacio temporal adicional. Memoria o Shared Global Area (SGA): es el área más grande de memoria y quizás el más importante Shared Pool: es una caché que mejora el rendimiento ya que almacena parte del diccionario de datos y el parsing de algunas consultas en SQL Redo Log Buffer: contiene un registro de todas las transacciones dentro de la base, las cuales se almacenan en el respectivo archivo de Redo y en caso de siniestro se vuelven a ejecutar aquellos cambios que aún no se hayan reflejado en el archivo de datos (commit). Large Pool: espacio adicional, generalmente usado en casos de multithreading y esclavos de I/O. Java Pool: usado principalmente para almacenar objetos Java o Program Global Area (PGA): información del estado de cursores/apuntadores o User Global Area(UGA): información de sesión, espacio de stack Procesos o Threading o System Monitor: despierta periódicamente y realiza algunas actividades entre las que se encuentran la recuperación de errores, recuperación de espacio libre en tablespaces y en segmentos temporales. o Process Monitor: limpia aquellos procesos que el usuario termina de manera anormal, verificando consistencias, liberación de recursos, bloqueos. o Database Writer: escribe bloques de datos modificados del buffer al disco, aquellas transacciones que llegan a un estado de commit. o Log Writer: escribe todo lo que se encuentra en el redo log buffer hacia el redo file o Checkpoint: sincroniza todo lo que se tenga en memoria, con sus correspondientes archivos en disco Instancia de una bd en Oracle La arquitectura de un sistema de base de datos se basa en 3 niveles distintos: nivel físico: es el nivel más bajo de abstracción y el nivel real de los datos almacenados. Este nivel define cómo se almacenan los datos en el soporte físico, ya sea en registros o de cualquier otra forma, así como los métodos de acceso. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico. nivel conceptual: es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir se trata con la entidad u objeto representado, sin importar como está representado o almacenado éste. Es la representación de los datos realizada por la organización, que recoge los datos parciales de los requerimientos de los diferentes usuarios y aplicaciones parciales. Incluye la definición de los datos y las relaciones entre ellos. Este nivel lleva asociado un Esquema Conceptual. nivel de visión: son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios, por lo general, sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado de una organización que tiene acceso a la visión de su nómina, pero no a la de sus compañeros. El esquema asociado a éste nivel es el Esquema de Visión. Este modelo de arquitectura permite establecer el principio de independencia de los datos, ya se trate de una independencia lógica o física. La independencia lógica significa que los cambios en el esquema lógico no deben afectar a los esquemas externos que no utilicen los datos modificados; la independencia física significa que el esquema lógico no se va a ver afectado por los cambios realizados en el esquema interno, correspondientes a modos de acceso, etc. Esquema de un DBMS Lenguajes del DBMS En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estandar son: DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquma conceptual e interno (Base de datos Almacenada). SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada. VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual. En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores. DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación. o Tipos de DML's: De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos. Bibliografía http://ict.udlap.mx/people/carlos/is341/bases06.html http://www.unalmed.edu.co/~mstabare/Dbms.htm#Esquema%20de%20un%20DBMS