220 likes | 428 Views
DBMS (SGBD) El Sistema de Gestión. Una base de datos nunca se accede o manipula directamente sino a través del SGBD. SGBD: conjunto de programas que permiten definir, manipular y utilizar los datos que contienen las BD.
E N D
Una base de datos nunca se accede o manipula directamente sino a través del SGBD. • SGBD: conjunto de programas que permiten definir, manipular y utilizar los datos que contienen las BD. • ->interfaz entre usuario y BD, proporciona un entorno conveniente y eficiente para ser utilizado al extraer y almacenar datos en la BD.
Definición • SGBD: • Conjunto coordinado de programas, procedimientos, lenguajes. • Suministra, a usuarios no informáticos como a analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base. • Manteniendo su integridad, confidencialidad y seguridad. • Nos permite interactuar con los datos.
Funciones • Definición de Datos • Debe permitir al administrador de la base: • especificar los datos que la integran • su estructura y las relaciones que existen entre ellos • las reglas de integridad semántica • los controles a efectuar antes de autorizar el acceso • las características de tipo físico y las vistas lógicas de los usuarios. • Esta función la realiza el lenguaje de definición de datos (DDL), propio del SGBD, y debe ser capaz de definir las estructuras de datos a los tres niveles (nivel externo, nivel conceptual y nivel interno).
A nivel interno se define: • Espacio reservado para la base (volúmenes, cilindros y pistas) • Longitud de los campos • Modo de representación de los datos (binario, decimal, alfanumérico, etc.) • Caminos de acceso como punteros e índices. • A nivel externo y conceptual, proporciona los instrumentos para la definición de entidades, su identificación, atributos, interrelaciones entre ellas, autorizaciones de acceso, restricciones de integridad, etc.
Manipulación de Datos • Permite a los usuarios la consulta, modificación, inserción y borrado de los datos, de acuerdo a las especificaciones y normas de seguridad dadas por el administrador. • Esto se realiza mediante el lenguaje de manipulación de datos (DML).
Seguridad e Integridad de los datos • Debe controlar las operaciones de los usuarios sobre la base de datos. • Impedir acciones que pongan en peligro la integridad y seguridad de la BD. • Debe controlar el acceso a los usuarios autorizados, confirmando a través de password su identidad. • Recuperación de datos y Concurrencia • Debe contener un gestor de transacciones capaz de recuperar un estado consistente de la base de datos ante errores del sistema (fallo de la alimentación, errores provocados por usuarios, etc.). • Debe permitir el acceso concurrente de distintos usuarios a la base de datos.
De Utilización • Reúne todas las interfaces que necesitan los diferentes tipos de usuarios para comunicarse con la base y proporciona un conjunto de procedimientos para el administrador. • Algunas de estas funciones de servicio son: • cambiar capacidades de los archivos • obtener estadísticas de utilización • respaldos • seguridad, etc.
Componentes • Lenguaje de Definición de Datos-Data Definition Language (DDL): define y describe los objetos de la base de datos, su estructura, relaciones y restricciones. (Resultado: diccionario de datos) • Lenguaje de Manipulación de Datos-Data Manipulation Language (DML): • Recuperar • Agregar • Quitar • Modificar
DBMS Motor: componente encargado de la interfaz entre las peticiones de los usuarios de la BD y los propios datos en sí. Convierte las peticiones en equivalentes físico y luego accede a la BD. • Gestor de datos. Administra el entorno de BD global. Esto incluye seguridad, respaldo y recuperación. • Diccionario de Datos-Data Dictionary: Definiciones de todas las variables en la base.
Arquitectura • La arquitectura centralizada es la más clásica. • El SGBD está implantado en un solo computador (plataforma) desde donde se gestiona directamente, de modo centralizado, la totalidad de los recursos. • La conexión en red permite que algunas tareas se ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes. Esta división de trabajo ha conducido al desarrollo de sistemas de bases de datos cliente-servidor.
La distribución de datos a través de las distintas sedes o departamentos de una organización permite que estos datos residan donde han sido generados o donde son más necesarios. • Son accesibles desde otros lugares o departamentos diferentes. • Guardar varias copias de la base de datos en diferentes sitios permite que puedan continuar las operaciones sobre la base de datos aunque algún sitio se vea afectado por algún desastre natural, como una inundación, un incendio o un terremoto.
El procesamiento paralelo dentro de un computador permite acelerar las actividades del sistema de base de datos. • Proporciona respuestas más rápidas, así como ejecuta más transacciones por segundo. • Las consultas pueden procesarse de manera que se explote el paralelismo ofrecido por el sistema informático subyacente (multiproceso). • No debe confundirse el SGBD con la arquitectura que se elige para implantarlo. Algunos SGBD sólo se pueden implantar en una de las arquitecturas y otros en todas ellas.
Roles y sus funciones en un entorno de BD • Administradores: DBA, se encarga de autorizar el acceso a la BD, coordinar y vigilar su empleo, y de adquirir los recursos necesarios de SW y HW. Responsable cuando surgen problemas como violaciones a la seguridad o una respuesta lenta del sistema. • Diseñadores de BD: identifican los datos que se almacenarán en la BD y eligen las estructuras apropiadas para representar y almacenar dichos datos. • Analistas y Programadores de Aplicaciones: los analistas determinan los requerimientos de los usuarios y desarrollan especificaciones. Los programadores las implementan y luego prueban, depuran, documentan y mantienen esas transacciones programadas. • Usuarios finales: personas que necesitan tener acceso a la BD para consultarla, actualizarla y generar informes; la BD existe primordialmente para que ellos la usen.
Arquitectura Cliente/Servidor • Funciona a través de una red de computadores. • Internet es una red de grandes servidores en configuración clienteservidor. • Cada equipo que participa en Internet recibe el nombre de host o nodo. Algunos sirven el contenido por lo que se les denomina servidores. • Otros, clientes, consumen el contenido o la información ofrecida por los servidores.
Servidor: aplicación que ofrece un servicio. • Cliente: aplicación que pide ese servicio. • Una aplicación consta de una parte servidor y una cliente. • Los usuarios invocan la parte cliente de la aplicación, que construye una solicitud para ese servicio y se la envía al servidor. • El servidor recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. • Generalmente un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.
Arquitectura Bases de Datos Distribuidas • No está almacenada en un sólo lugar físico (segmentada). • Se comunican a través de una red de computadoras distribuidas geográficamente. • Colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido en varios "sitios" de la red. • ->Un sistema de BDD se compone de un conjunto de sitios comunicados: • -Cada sitio es un sistema de base de datos en sí mismo. • -Los sitios han convenido trabajar juntos con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos los datos estuvieran almacenados en el sitio propio del usuario.
BDD -> especie de objeto virtual. • Unión lógica de esas BD. • Cada sitio tiene sus propias BD "reales" locales, usuarios locales, propios DBMS y programas. • Un usuario realiza operaciones sobre los datos en su sitio como si ese sitio no participara en absoluto en el sistema distribuido. • ->Sociedad entre los DBMS individuales locales de todos los sitios. • Una extensión del DBMS local realiza las funciones de sociedad necesarias.
Diferencia entre los sistemas de BD centralizados y los distribuidos: • en los primeros, los datos residen en una sola localidad, • en lo últimos, se encuentran en varias localidades. • Cada localidad puede procesar transacciones locales. • Una localidad puede participar en la ejecución de transacciones globales: aquellas que acceden a datos de varias localidades.
Ejemplo. • Un banco tiene tres sucursales, en cada sucursal, un computador con el sistema de cuentas. • Los computadores están conectados por la red. • Cada computador en cada sucursal constituye un "sitio" de la BDD. • Durante las operaciones normales, las aplicaciones en la sucursal necesitan solo accesar la BD de la misma. • Una típica transacción global sería una transferencia de fondos de una sucursal a otra. • Esta transacción requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualización en ambos sitios o en ninguno.
Desde el punto de vista del usuario: sistema distribuido deberá ser idéntico a un sistema no distribuido. • Beneficios e inconvenientes: • Reducen la vulnerabilidad de un lugar único central y voluminoso. • Dependen de la alta calidad de las líneas de comunicaciones, las cuales a su vez son vulnerables.
Replicadas • Consiste en que cada nodo debe tener su copia en muchos sitios distintos. • Costo en el almacenamiento de la información. • Actualización de los datos: alto costo de escritura. • Disponibilidad y fiabilidad de los datos. • Los cambios en los datos pueden ser justificados en la base correspondiente sobre las bases de lotes, en general por la noche. • Otra estrategia es la actualizacion en horas no laborales. • Debe ser "transparente para el usuario"; los usuarios deberán poder comportarse como si sólo existiera una copia de los datos.