OBJETIVOS DE LAS BASES DE DATOS Ing. Luis Reyes Diseño de Base de Datos Contenidos Conceptos y Definiciones Origen de Las Bases de Datos Sistemas administradores de Bases de Datos Integridad Independencia Seguridad Diferencias entr BD y DBMS Enfoque de Bases de Datos Arquitectura ANSI Objetivo Estructura CONCEPTOS Y DEFINICIONES Origen de Las Bases de Datos SISTEMA DE ARCHIVOS - Anterior a las Bases de datos, solo existía una colección de Archivos tradicionales. - Su administración se realizaba a través de cada programa que lo utilizaba. - Los sistemas se desarrollaban absolutamente “Parcelados” dentro de la misma organización. - Cada “Parcela” generaba datos similares, lo que produce la no deseada “Duplicidad” - Cada “Parcela” actualizaba en sus ciclos los datos comunes a la Organización, lo que produce la no deseada “noIntegridad” CONCEPTOS Y DEFINICIONES Enfoque de Bases de Datos Definiciones y Conceptos de Base de Datos Base de Datos (BD): colección de datos relacionados que representa un cierto modelo o abstracción del mundo real (algunas veces llamado el mini-mundo). Una base de datos es diseñada, construida y llenada con datos para un propósito específico. Tiene un grupo de usuarios particular, y aplicaciones preestablecidas en las cuales estos usuarios están interesados. CONCEPTOS Y DEFINICIONES Enfoque de Bases de Datos En otras palabras, una base de datos tiene alguna "fuente" de la cual los datos son derivados, algún grado de interacción con eventos en el mundo real, y una audiencia que está activamente interesada en su contenido. El almacenamiento, manipulación y recuperación de información en forma eficiente, es vital y estratégico para cualquier organización. Las bases de datos juegan un rol crítico en casi todas las áreas donde las computadoras son usadas. CONCEPTOS Y DEFINICIONES Enfoque de Bases de Datos En el enfoque de bases de datos se mantiene un único almacén de datos que se define una sola vez y al cual tienen acceso muchos usuarios. Las principales ventajas del enfoque de Base de Datos sobre el enfoque tradicional son: • Evita los datos repetidos (redundancia). • Evita que distintas copias de un dato tengan valores distintos (inconsistencia). • Evita que usuarios no autorizados accedan a los datos (seguridad). • Protege los datos contra valores no permitidos (integridad o restricciones de consistencia). • Permite que uno o más usuarios puedan accesar simultáneamente a los datos (concurrencia). CONCEPTOS Y DEFINICIONES Enfoque de Bases de Datos La importancia de almacenar, manipular y recuperar la información en forma eficiente ha llevado al desarrollo de una teoría esencial para las bases de datos. Esta teoría ayuda al diseño de bases de datos y procesamiento eficiente de consultas por parte de los usuarios. • Las arquitecturas de bases de datos han evolucionado mucho desde sus comienzos, aunque la considerada estándar es la descrita por el comité ANSI/X3/SPARC (Standard Planning and Requirements Committee of the American National Standards Institute on Computers and Information Processing), que data de finales de los años setenta. CONCEPTOS Y DEFINICIONES Enfoque de Bases de Datos Este comité propuso una arquitectura general para DBMSs basada en tres niveles o esquemas: - el nivel físico, o de máquina, - el nivel externo, o de usuario, y - el nivel conceptual. Así mismo describió las interacciones entre estos tres niveles y todos los elementos que conforman cada uno de ellos. • EL uso de las BD es contrario al enfoque tradicional, en que cada sistema maneja sus propios datos y archivos. Al usar BD, todos los datos se almacenan en forma integrada, y están sujetos a un control centralizado. Las diversas aplicaciones operan sobre este conjunto de datos. ENFOQUE DE BASE DE DATOS La importancia de almacenar, manipular y recuperar la información en forma eficiente ha llevado al desarrollo de una teoría esencial para las bases de datos. Esta teoría ayuda al diseño de bases de datos y procesamiento eficiente de consultas por parte de los usuarios. Las arquitecturas de bases de datos han evolucionado mucho desde sus comienzos, aunque la considerada estándar hoy en día es la descrita por el comité ANSI/X3/SPARC (Standard Planning and Requirements Committee of the American National Standards Institute on Computers and Information Processing), que data de finales de los años setenta. ARQUITECTURA Este comité propuso una arquitectura general para DBMS’s basada en tres niveles o esquemas: el nivel físico, o de máquina, el nivel externo, o de usuario, y el nivel conceptual. Así mismo describió las interacciones entre estos tres niveles y todos los elementos que conforman cada uno de ellos. EL uso de las BD es contrario al enfoque tradicional, en que cada sistema maneja sus propios datos y archivos. Al usar BD, todos los datos se almacenan en forma integrada, y están sujetos a un control centralizado. Las diversas aplicaciones operan sobre este conjunto de datos. ARQUITECTURA ANSI Objetivo Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. Propiedad que asegura que los programas de aplicación sean independientes de los cambios realizados en datos que no usan o en detalles de representación física de los datos a los que acceden ARQUITECTURA ANSI Estructura Grupo de estudio ANSI/SPARC en 1977 propuesta de arquitectura para los DBMS que plantea la definición de la base de datos a tres niveles de abstracción: - Nivel conceptual - Nivel interno - Nivel externo ARQUITECTURA ANSI Estructura Nivel conceptual En el nivel conceptual tiene un esquema lógico que describe la estructura de toda la base de datos para una comunidad de usuarios. El esquema conceptual oculta los detalles de las estructuras físicas de almacenamiento y se concentra en describir entidades, tipos de datos, vínculos o relaciones, operaciones de los usuarios y restricciones. ARQUITECTURA ANSI Estructura - Nivel interno En el nivel interno se describe la estructura física de la base de datos mediante un esquema interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como los métodos de acceso. Esquema interno: descripción de la BD en términos de su representación física. ARQUITECTURA ANSI Estructura - Nivel externo En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas. Esquema externo: descripción de las vistas parciales de la BD que poseen los distintos usuarios. CONCEPTOS Y DEFINICIONES Diferencias entre BD y DBMS Diferencia Conceptual Cuando hablamos de”BD” nos referimos a los “DATOS” que estan contenidos en una coleccion de tablas que reflejan una realidad representada en un Modelo de Datos , y cuando hablamos de un “DBMS” nos referimos al conjunto de programas que componen el software que administra los datos que le encargaron. CONCEPTOS Y DEFINICIONES Origen de Las Bases de Datos Solución La creación de un Software especializado que se encargue de realizar la ADMINISTRACION de los datos de que hacen uso los Software de Aplicaciones... CONCEPTOS Y DEFINICIONES Sistema Administrador de Base de Datos (DBMS: Data Base Managment System) Definicion de DBMS Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea específica en relación a la administración y organización de las bases de datos. El objetivo primordial de un sistema manejador base de datos es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular información de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS. CONCEPTOS Y DEFINICIONES Sistema Administrador de Base de Datos Potencialidades Redundancia mínima Acceso concurrente por parte de múltiples usuarios Distribución espacial de los datos CONCEPTOS Y DEFINICIONES Sistema Administrador de Base de Datos Objetivos de los DBMS Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual. Integridad de los datos: se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas externas), como de operación (introducción de datos incoherentes). Consultas complejas optimizadas: la optimización de consultas permite la rápida ejecución de las mismas. CONCEPTOS Y DEFINICIONES Sistema Administrador de Base de Datos Seguridad de acceso y auditoría: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El sistema de auditoria mantiene el control de acceso a la base de datos, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento. Respaldo y recuperación: se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la pérdida de datos. Acceso a través de lenguajes de programación estándar: se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programación basados en estándares. Conceptos y Definiciones Sistema Administrador de Base de Datos El Rol de las Bases de Datos y los SIAs - Prácticamente todo Sistema de Información esta sustentado por una Base de Datos. - La eficiencia e integridad de un Sistema de Información se ve directamente influenciado por el diseño de la base de datos que lo sustenta y sus mecanismos de acceso. - En el mundo informático empresarial existen básicamente dos áreas de especialización: - Desarrollo: el rol del diseñador de Bases de Datos - Producción: el rol del Administrador de Base de Datos Conceptos y Definiciones Sistema Administrador de Base de Datos DBMS: COMPONENTES Un DBMS típico integra los siguientes componentes: - Un lenguaje de definición de datos (DDL: Data Definition Language). - Un lenguaje de manipulación de datos (DML: Data Manipulation Language) - Un lenguaje de consulta (QL: Query Language). - De forma accesoria, pero ya casi obligada, los DBMS modernos añaden un interfaz de usuario gráfico (GUI: Graphical User Interface). Conceptos y Definiciones Sistema Administrador de Base de Datos DBMS COMERCIALES Existen numerosos DBMS comerciales, los principales son: - Oracle (Oracle Corp.) - Sybase (Sybase Inc.) - SQL Server (Microsoft) - Informix (actualmente pertenece a IBM) - DB2 (IBM) - Ingres (Computer Associates) - Otros CONCEPTOS Y DEFINICIONES Independencia Concepto de Independencia Propiedad que asegura que los programas de aplicación sean independientes de los cambios realizados en datos que no usan o en detalles de representación física de los datos a los que acceden Este concepto es uno de las ventajas principales en el uso DBMS, lo que hace que los programas del usuario no se vean afectados con modificaciones a las estructuras de la Base de Datos que no usan. En general la mayoría de los DBMS consideran en su arquitectura la implementación implícita de esta propiedad. CONCEPTOS Y DEFINICIONES Integridad Que es la Integridad? “La Integridad es el Objetivo Principal de la bases de datos y es en donde se sustentan las tecnologias de Bases de Datos” Calidad de la información: “Los datos deben estar estructurados reflejando adecuadamente, los objetos, relaciones y las restricciones existentes en la parcela del mundo real que modela la base de datos” Representación de los objetos, relaciones y restricciones en el esquema de la base de datos La información contenida en la base de datos debe preservar la definición del esquema CONCEPTOS Y DEFINICIONES SEGURIDAD Objetivo: • a la información sólo pueden acceder las personas autorizadas y en la forma autorizada. Técnicas: • • • Identificación del usuario Determinación de los accesos permitidos • • Lista de autorizaciones (objeto y operaciones permitidas) por usuario Niveles de autorización Gestión de autorizaciones transferibles: traspaso de autorizaciones de un usuario a otro Conceptos y Definiciones Enfoque de Bases de Datos MODELOS DE DATOS Una característica fundamental del enfoque de BD es que proporciona cierto nivel de abstracción de los datos, al ocultar detalles de almacenamiento que la mayoría de los usuarios no necesitan conocer. Los modelos de datos son el principal instrumento para ofrecer dicha abstracción. • Un modelo de datos es un conjunto de conceptos que pueden ser usados para describir la estructura de una BD. Con el concepto de estructura de una BD nos referimos a los tipos de datos, las relaciones y las restricciones que deben cumplirse para esos datos. Conceptos y Definiciones Enfoque de Bases de Datos MODELOS DE DATOS Por lo general, los modelos de datos contienen además un conjunto de operaciones básicas para especificar lecturas y actualizaciones de la base de datos. Los principales objetivos del proceso de modelamiento es saber identificar cuál es el problema y encontrar la forma de representarlo en un sistema. Esto significa saber de los datos, saber quienes van a usarlos y como van a ser usados. Conceptos y Definiciones Enfoque de Bases de Datos Modelos de Datos “Los modelos de datos son medios formales para representar los datos asociados a una situación real y para manipular tal representación” Modelos de Datos Ejemplo: Alumnos Relationship_2 Asignaturas Notas Relationship_3 Ejemplo Consideremos el siguiente ejemplo: Se desea almacenar la información de los alumnos de esta escuela, con los ramos que inscriben cada semestre y sus respectivas notas. Estos datos se pueden almacenar en una matriz, fijando un máximo de cursos que pueden inscribir cada semestre. La siguiente tabla muestra el enfoque tradicional: Matricula Nombre Semestre Curso 1 Nota 1 Curso 2 Nota 2 Curso 3 Nota3 654564 Priscila Olivares 2005/1 BDD 4.5 ALG 4.2 PRG 4.3 353090 Angelo Rosso 2005/1 BDD R CAL 4,6 PRG 5.5 672680 Raúl Berrios 2005/1 ALG * FIS * CAL * ... ... 654564 Priscila Olivares 2005/2 FIS R ECU 5.7 ARQ E 353090 Angelo Rosso 2005/2 BDD 6,2 FIS 4,5 ECU R 672680 Raúl Berrios 2005/2 ALG R FIS R CAL 4.2 ... ... Ejemplo • Se pueden observar las siguientes desventajas: – Se repiten varios datos, como el nombre del alumno, su número de matrícula, etc. – Si se desea modificar el nombre de una persona, entonces se debe buscar en toda la matriz. – Para obtener la carga académica de una persona, o saber cuanta gente inscribe un curso cada semestre, debo leer secuencialmente todo el archivo. – Etc. Cuando se tienen pocos datos no es mucha la perdida de tiempo y espacio, pero cuando hablamos de cientos de miles de datos, o peor aún, millones de datos, nos enfrentamos a un serio problema. Esta redundancia al definir y almacenar los datos implica espacio de almacenamiento desperdiciado y esfuerzos redundantes para mantener actualizados los datos. Conceptos y Definiciones Enfoque de Bases de Datos PERFILES DE USUARIOS Una base de datos típica conlleva la existencia de tres tipos de usuarios con relación a su diseño, desarrollo y uso: 1. El administrador de bases de datos (DBA: Database Administrator): diseña y mantiene la DB. 2. El desarrollador de aplicaciones (programador): implementa las transacciones e interfaces. 3. Los usuarios finales: consultan y editan los datos de la DB mediante una aplicación especifica o lenguaje de consulta de alto nivel. Conceptos y Definiciones Enfoque de Bases de Datos EL DBA (DATABASE ADMINISTRATOR) No cabe duda de que la parte más importante es la llevada a cabo por el DBA. A él le corresponde la elección de un determinado modelo de datos y el diseño de la DB. La etapa de diseño es la más importante, ya que es ahí donde se refleja la semántica de la información contenida en la BD a través del denominado esquema conceptual. Conceptos y Definiciones Enfoque de Bases de Datos CONSULTAS Y TRANSACCIONES En general, podemos decir que el propósito de una base de datos es doble: - responder a consultas sobre los datos que contiene - ejecutar transacciones • Una consulta (query) es una expresión lógica de lectura sobre los objetos y relaciones definidos en el esquema conceptual; el resultado es un subconjunto lógico de la base de datos. • Una transacción consiste en un número de consultas y operaciones de modificación o actualización. Las transacciones son atómicas por definición: todos los pasos de una transacción han de ser debidamente ejecutados y confirmados como requisito previo para que la transacción pueda ser llevada a cabo en su conjunto, en caso contrario ha de ser invalidada.