Unidad 1. Introducción a los conceptos de base de datos
1.1 Definición de base de datos
DBMS: DATA BASE MANAGEMENT SYSTEM (SISTEMA DE ADMINISTRACIÓN DE BASE DE DATOS). DBM: DATA BASE MANAGER (MANEJADOR DE BASE DE DATOS). DB: DATA BASE (BASE DE DATOS).
1.1 Definición de base de datos
Un SISTEMA DE ADMINISTRACIÓN DE BASE DE DATOS consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. La colección de datos, se conoce como BASE DE DATOS. Un manejador de bases de datos proporciona la interfaz entre los datos de bajo nivel y los programas de aplicación
1.1 Definición de base de datos
La gestión de datos implica:
La definición de estructuras para el almacenamiento de información.
Proporcionar mecanismos para la manipulación de la información.
La seguridad de la información almacenada.
Compartir información entre los usuarios.
1.1 Definición de base de datos
¿Por qué es importante la gestión de los datos? Dado que la información es el activo más valioso para una empresa.
1.1 Definición de base de datos
Las bases de datos son ampliamente utilizadas. Las siguientes son algunas de sus aplicaciones más representativas:
Banca. Para información de los clientes, cuentas, préstamos, y transacciones bancarias. Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de d e forma distribuida geográficamente.
1.1 Definición de base de datos
Universidades. Para información de los estudiantes, matrículas de las asignaturas y cursos. Transacciones de tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de informes. Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago.
1.1 Definición de base de datos
Recursos Humanos. Para información sobre empleados, salarios, impuestos y beneficios, y para la generación de las nóminas. Finanzas, compras, ventas, producción, etc.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
Un DBMS consiste de una base de datos y un conjunto de aplicaciones (programas) para tener acceso a ellos. Comúnmente , la base de datos contiene información interrelacionada y referente a una misma entidad o empresa. El objetivo principal de un DBMS es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto práctica como eficiente.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
Otro modelo que se utiliza comúnmente para manipular una base de datos es el llamado SISTEMA DE PROCESAMIENTO DE ARCHIVOS; que consta de un conjunto de programas que permiten el acceso a la base de datos, pero no optimizan los métodos utilizados, provocando entre otros los siguientes problemas:
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
REDUNDANCIA.- Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos. Esta redundancia aumenta los costes de almacenamiento y acceso y además puede llevar a inconsistencia de los datos. INCONSISTENCIA.- Ocurre cuando existe información contradictoria o incongruente en la base de datos.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
DIFICULTAD EN EL ACCESO A LOS DATOS.Debido a que los sistemas de procesamiento de archivos generalmente se conforman en distintos tiempos o épocas y ocasionalmente por distintos programadores, el formato de la información no es uniforme y se requiere de establecer métodos de enlace y conversión para combinar datos contenidos en distintos archivos.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
•
AISLAMIENTO DE LOS DATOS.- Se refiere a la dificultad de extender las aplicaciones que permitan controlar a la base de datos, como pueden ser, nuevos reportes, utilerías y demás debido a la diferencia de formatos en los archivos almacenados.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS •
•
ANOMALIAS EN EL ACCESO CONCURRENTE.Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar los procesos que afectan a la base de datos. Comúnmente se refiere a la poca o nula efectividad de los procedimientos de bloqueo. PROBLEMAS DE SEGURIDAD.- Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el sistema, facilitando así el acceso a intrusos.
1.2 OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS
•
•
PROBLEMAS DE INTEGRIDAD.- Ocurre cuan no existe a través de todo el sistema procedimientos uniformes de validación para los datos. PROBLEMAS DE ATOMICIDAD.- Es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo.
1.3 Abstracción de la información
Uno de los objetivos del DBMS es el ocultar al usuario final ciertos aspectos técnicos relativos al diseño de los manejadores, puesto que estos no son relevantes para este usuario final. Las estructuras de datos utilizadas para el almacenamiento y recuperación de la información son muchas veces altamente complejas con el objeto de crear un sistema eficiente.
1.3 Abstracción de la información
Para diferenciar las etapas en que cada operador, diseñador y otros personajes intervienen, debe distinguirse entre los siguientes niveles de diseño:
NIVEL FÍSICO
NIVEL LÓGICO
NIVEL DE VISIÓN
1.3 Abstracción de la información
Nivel de Visión Vista 1
Vista 2
Nivel lógico Nivel Físico
…
Vista n
1.3 Abstracción de la información
1. NIVEL FÍSICO.- Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware. Muchas veces se opta por mantener el nivel físico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo.
1.3 Abstracción de la información
2. NIVEL CONCEPTUAL.- Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre ellas. Ejemplos comunes de este nivel son el diseño de los registros y las ligas que permitirán la conexión entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos.
1.3 Abstracción de la información
1.
NIVEL DE VISIÓN.- Es aquel en el que se presenta al usuario final y que puede p uede tener combinaciones o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la información y sus relaciones.
1.4 Modelos de datos Un modelo de datos es un conjunto de herramientas conceptuales conceptua les para describir los datos, las relaciones entre ellos, su semántica y restricciones de consistencia. Los modelos de datos se clasifican en tres grupos principales:
MODELOS LÓGICOS BASADOS EN OBJETOS
MODELOS LÓGICOS BASADOS EN REGISTROS
MODELOS FÍSICOS DE DATOS
1.4 Modelos de datos MODELOS LÓGICOS BASADOS EN OBJETOS.Son aquellos que nos permiten una definición clara y concisa de los esquemas conceptual y de visión. Su característica principal es que permiten definir en forma detallada las restricciones de los datos.
1.4 Modelos de datos Ejemplos de este tipo de modelos son:
Modelo entidad relación.
Modelo Orientado a objetos
Modelo binario
Modelo semántico de los datos
Modelo infológico
Modelo funcional de datos
1.4 Modelos de datos MODELOS LÓGICOS BASADOS EN REGISTROS.Operan sobre niveles físico y conceptual. Su característica principal es que permiten una descripción de la estructura lógica global de la base de datos, pero no son capaces de especificar con claridad las restricciones de los datos. Son ejemplos de este tipo de modelos:
1.4 Modelos de datos Modelo relacional: Los datos y las relaciones se representan mediante tablas, cada una con diferentes columnas y nombres únicos.
Modelo de red: Los datos se representan mediante nombres de registros y las relaciones mediante conjunto de ligas.
Modelo jerárquico: Es semejante al
1.4 Modelos de datos Históricamente, el modelo de datos de red y el modelo de datos jerárquico, precedieron al modelo de datos relacional. Dichos modelos complicaban la tarea del modelado de datos. Como resultado se usan muy poco actualmente, excepto en el código de bases de datos antiguo que aún está en servicio en algunos lugares.
1.4 Modelos de datos En la década de los 80’s el modelo relacional no se utilizó inicialmente en la práctica debido a sus inconvenientes por el rendimiento. Las bases de datos relacionales no pudieron competir con el rendimiento de las bases b ases de datos de red y jerárquicas existentes. Esta situación cambió con System R, un proyecto innovador de IBM Research que desarrolló técnicas para la construcción de bases de datos relacionales eficiente.
1.4 Modelos de datos El prototipo de System R completamente funcional condujo al primer producto de bases de datos relacionales de IBM: SQL/DS. Los primeros sistemas de bases de datos relacionales fueron: DB2 de IBM, Oracle, Ingres y Rdb de DEC. Desde la década de 1980, el modelo relacional ha conseguido el reinado supremo entre todos los modelos de datos.
1.4 Modelos de datos MODELOS FÍSICOS DE DATOS.Describen los datos en el nivel más bajo y permiten identificar algunos detalles de implantación para el manejo del hardware de almacenamiento. Ejemplos de este tipo de modelos son: Modelo unificador Modelo memoria de cuadros
1.5 Instancias y esquemas Como es obvio, la base de datos es dinámica y por tanto se encuentra sujeta a modificaciones constantes por la agregación, eliminación y alteración de datos. Para definir las distintas etapas por las que atraviesa una base de datos, se utiliza el concepto de INSTANCIA DE LA BASE DE DATOS; esta se refiere al estado que esta guarda en un momento determinado.
1.5 Instancias y esquemas También es relevante el observar que uno o varios archivos pudieron ser sujetos a una reestructuración o reorganización. Para solucionar el problema referente al estado que guarda la estructura de la base de datos, se define el concepto de ESQUEMA DE LA BASE DE DATOS; este hace referencia al estado que guarda la organización conceptual (estructura, ligas, relaciones y demás) de la base de datos en un momento determinado.
1.5 Instancias y esquemas
REESTRUCTURACIÓN.REESTRUCTURACIÓN.- Cuando se hacen cambios en la estructura, quitar un campo, agregar, modificar longitud o un tipo. REORGANIZACIÓN.- Cambiar el modelo con el que se controla el acceso a los datos.
1.5 Instancias y esquemas NOTA: Comúnmente la reorganización trae como consecuencia la reestructuración. Existen varios esquemas para cada nivel de la base de datos; de tal forma, tenemos un esquema físico, esquema conceptual y esquema de visión (llamado también subesquema).
1.6 Independencia de los datos Esta se refiere a la libertad que pueda existir para modificar algunos de los esquemas sin que exista la necesidad de reescribir los programas de aplicación. Existen básicamente dos tipos de independencia: INDEPENDENCIA FÍSICA INDEPENDENCIA LÓGICA
1.6 Independencia de los datos INDEPENDENCIA FÍSICA.Esta se presenta cuando es posible la modificación del esquema físico sin afectar a los esquemas restantes. Las principales razones para llevar a cabo una modificación del esquema físico serán un ajuste en el hardware de almacenamiento o una redistribución de los datos en él.
1.6 Independencia de los datos INDEPENDENCIA LOGICA.Ocurre cuando se modifica el esquema conceptual sin afectar al resto de los esquemas. Básicamente se modifica el esquema conceptual cuando cambian las características de los datos a almacenar.
1.6 Independencia de los datos Es relativamente más sencillo y probable lograr la independencia física puesto que una modificación del esquema conceptual, (estructuras, ligas y demás ) inevitablemente requerirá de modificaciones el código para su manipulación.
1.7 Lenguaje de definición de datos DDL Un esquema de base de datos se especifica por medio de un conjunto de definiciones que se expresan mediante un lenguaje especial llamado lenguaje de definición de datos. El resultado de la combinación de sentencias de DDL es un conjunto de tablas las cuales se almacenan en un archivo especial llamado diccionario de datos.
1.7 Lenguaje de definición de datos DDL El DDL (Data Definition Language ) es aquel que permite describir un esquema de base de datos. Las definiciones resultantes conformaran al DICCIONARIO DE DATOS. Un DICCIONARIO DE DATOS es un archivo que contiene metadatos que se consulta antes de leer o modificar datos reales en el sistema de base de datos.
1.8 Lenguaje de manipulación de datos DML El DML (Data Manipulation Language ) nos sirve para manejar la información contenida en la base de datos. Este manejo consiste básicamente en la inserción, recuperación, eliminación y modificación de la información.
1.8 Lenguaje de manipulación de datos DML El DML aplicado a nivel físico será utilizado para realizar procesos que permitan un acceso más eficiente a la información. En el nivel de visión tendrá como finalidad mostrar al usuario destino los datos en una forma clara y sencilla.
1.8 Lenguaje de manipulación de datos DML Existen dos tipos de DML:
DE PROCEDIMIENTOS.PROCEDIMIENTOS.- Especifican cuales
datos habrán de ser manipulados y el método que se utilizara para ello.
SIN PROCEDIMIENTOS (Declarativos).Solamente especifican los datos a manejar.
1.8 Lenguaje de manipulación de datos DML Los DML de procedimientos son mucho mas eficientes en lo que respecta a sus capacidades de manejo y control de la información, pero su complejidad es mayor. Se define una consulta como una operación que solicita la recuperación de información. La parte del DML que se encarga de procesar esta recuperación se conoce como LENGUAJE DE CONSULTA .
1.9 Manejador de bases de datos Un manejador de bases de datos proporciona la interfaz entre los datos de bajo nivel n ivel y los programas de aplicación y módulos de consulta que se utilizan a nivel de usuario. El objetivo primordial es mantener la consistencia de la base de datos
1.9 Manejador de bases de datos Las funciones del manejador de bases de datos son:
La interacción con el manejador de archivos, esto se lleva acabo traduciendo proposiciones con el DML a instrucciones de bajo nivel para la manipulación de los datos. Implantación de integridad, se encarga de verificar que durante las actualizaciones no se viole ninguna limitante de consistencia.
1.9 Manejador de bases de datos
Mejoramiento del nivel de seguridad, se encarga de restringir el acceso mediante una serie de contraseñas u otros medios de identificación y validación. Respaldo y recuperación, proporciona medios automáticos o semiautomáticos para el respaldo de la información. Permite también la recuperación del sistema en caso de caídas, restablecimiento el estado original de la base de datos hasta antes de la falla.
1.10 Administrador de la base de datos El DBA es quien tiene el control centralizado de la base de datos. Definir un DBA ayuda reducir el número de personas que tienen acceso a los detalles técnicos y de diseño para la operación del DBMS.
1.10 Administrador de la base de datos Las funciones principales de un DBA son: DEFINICIÓN DEL ESQUEMA.
Crea el esquema original de la base de datos y genera el diccionario de datos por medio de proposiciones en DDL. DEFINICIÓN DE ESTRUCTURAS DE ALMACENAMIENTO Y MÉTODOS DE ACCESO.Se encarga de generar estructuras de almacenamiento y métodos de acceso.
1.10 Administrador de la base de datos Las funciones principales de un DBA son: MODIFICACIÓN DE ESQUEMA Y ORGANIZACIÓN.
Los DBA realizan cambios en el esquema y en la organización física para reflejar las necesidades cambiantes de la organización, o para alterar la organización física para mejorar el rendimiento
1.10 Administrador de la base de datos Las funciones principales de un DBA son: CONCESIÓN DE AUTORIZACIÓN PARA EL ACCESO A LOS DATOS.Se encarga de registrar a los usuarios para permitir su acceso al DBMS. Asigna a cada uno de ellos una serie s erie de atributos que le permiten gozar de privilegios como el acceso a determinadas áreas de aplicación, de los datos o del uso de recursos en el sistema.
1.10 Administrador de la base de datos Las funciones principales de un DBA son: ESPECIFICACIÓN DE LAS RESTRICCIONES DE INTEGRIDAD.Crea una serie de tablas donde se especifica el conjunto de restricciones que serán aplicables durante los procesos de actualización.
1.10 Administrador de la base de datos Las funciones principales de un DBA son: MANTENIMIENTO RUTINARIO. *Supervisión de los trabajos que se ejecutan en la base de datos y asegurarse de que el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
1.11 Usuarios de la base de datos
Las personas tienen acceso DBMS se clasifican de la siguiente manera: USUARIOS INGENUOS. – Son aquellos que interactúan con el sistema por medio de aplicaciones permanentes. USUARIOS SOFISTICADOS.-
Son aquellos con la capacidad de acceder a la información por medios de lenguajes de consulta.
1.11 Usuarios de la base de datos Las personas tienen acceso DBMS se clasifican de la siguiente manera: PROGRAMADORES DE APLICACIÓN.Son aquellos con un amplio dominio del DML capaces de generar nuevos módulos o utilerías capaces de manejar nuevos datos en el sistema. USUARIOS ESPECIALIZADOS.Son aquellos que desarrollan módulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imágenes, procesamiento de audio y demás.
1.12 Estructura general del sistema
Un sistema de base de datos se divide en módulos que tratan cada una de las responsabilidades responsabilidades del sistema general. En la mayoría de los casos, el sistema operativo del computador proporciona únicamente los servicios más básicos, y el sistema de la base de datos debe partir de esa base.
1.12 Estructura general del sistema
El sistema global puede verse como la agrupación e interacción de los siguientes elementos: MANEJADOR DE ARCHIVOS.-
Asigna espacio en el medio de almacenamiento para las estructuras que habrán de almacenar la información.
MANEJADOR DE BASE DATOS.Es la interface entre los datos de bajo nivel y los programas de aplicaciones.
1.12 Estructura general del sistema
El sistema global puede verse como la agrupación e interacción de los siguientes elementos: PROCESADOR DE CONSULTAS.- Se encarga
de traducir las proposiciones de un lenguaje de consultas a instrucciones de bajo nivel. PRECOMPILADOR DE DML.- Se encarga de traducir las proposiciones en DML al lenguaje de diseño del manejador (Pascal, C, Ensamblador etc. ). COMPILADOR DE DDL.- Se encarga de convertir las proposiciones en DDL a tablas que contienen metadatos.
1.12 Estructura general del sistema
Las estructuras de datos requeridas para la operación del DBMS son: ARCHIVOS DE DATOS.- Almacenan a la base
de datos.
DICCIONARIO DE DATOS.- Almacenan
información referente a la estructura de la base de datos, i.e., el esquema de la base de datos.
ÍNDICES.- Permiten un acceso eficiente (rápido y
confiable) a la información almacenada en la base de datos.