1.3 BASES Y APLICACION BASE DE DATOS 1. banca: información de clientes, cuentas, transacciones,
préstamos,
etc. 2. líneas aéreas: inf. Clientes, horarios, vuelos, destinos, etc. (1ras bases
distribuidas geográficamente)
3.universidades: inf. Estudiantes, carreras, horarios, materias, etc. 4.transacciones de tarjeta de crédito: para comprar con tarjetas
de crédito y la generación de los extractos mensuales. 5.telecomunicaciones: para guardar registros de llamadas realizadas, gener generar ar factu factura rass mens mensua uale les, s, mant manten ener er el sald saldoo de las las tarj tarjet etas as,, telefónicas de prepago y almacenar información sobre las redes. 1.4 ARQUITECTURA BASE DE DATOS
(Dato) La arquitectura se divide en tres niveles generales: interno, conceptual y externo. Nivel Interno: es el más cercano al almacenamiento físico, es decir, el que concierne a la manera como los datos se almacenan en realidad. Nivel Externo: es el más cercano a los usuarios, es decir, el que atañe a la manera cómo cada usuario ve los datos. Nivel Conceptual: es un nivel de mediación entre los otros dos. 1.4.1 NIVELES ABSTRACCION BASE DE DATOS Los sistema sistemass de base base de datos datos se diseñan para manejar
grandes cantidades de información. El manejo de los datos implica tanto la definición de estructuras para el almacenamiento como la creación de mecanismos mecanismos para el manejo de la información. información. Además, el sistema sistema de base de datos debe de cuidar la seguridad de la información almacenada en la base de datos, previniendo caídas del sistema o intentos de acceso no autorizados. En el nivel físico se describe cómo se almacenan los datos en cuanto a detalles de estructuras de datos complejas del nivel más bajo. que es el sigu siguiiente ente nive nivell más más alto alto de En el nivel nivel concep conceptua tuall, que abst abstrac racci ción ón,, se descr describ ibee cuál cuáles es son son los los dato datoss reale realess que que está estánn almacenados en la base de datos y qué relaciones existen entre los datos. El nivel de visión es más alto, en el cual se describe solo una parte de la base de datos y se presentan vistas diferentes de la misma base de datos a los usuarios. result ltad adoo de la Leng Lengua uaje je de defi defini nici ción ón de dato datoss (DDL (DDL)). El resu Compilación de las proposiciones en DDL es un conjunto de tablas que se almacenan en un archivo especial especial llamado diccionario diccionario de datos que contiene meta datos, es decir, “datos acerca de los datos”. Un lenguaje de manejo de datos (DML) permite a los usuarios tener acceso a los datos o manejarlos. Existen básicamente dos tipos de DML: de procedimientos, que requieren que el usuario especifique cuáles datos necesita y cómo se van a obtener, y sin procedimientos, que requieren que el usuario especifique cuáles son los datos que necesita sin especificar la forma de obtención. Un manejador de base de datos es un módulo de programa que constituye la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicaciones y las consultas que se hacen hacen al sist sistem ema. a. El mane maneja jador dor de base base de dato datoss se encar encarga ga de interactuar con el manejador de archivos, de conservar la integridad, de garantizar la seguridad, del respaldo y recuperación y del control de concurrencia. Un sist sistem ema a de mane manejo jo de base base de dato datoss o DBMS DBMS (Dat (Datab abas asee consi con sist ste e básic bás icam amen ente te en un conju con junt nto o de Management Management System) System)
programas y una colección de datos interrelacionados para accesar a los mismos. Entonces, una base de datos es una colección integrada de datos, cada persona y cada programa autorizado a accesar la base de dato datoss puede puede hacer hacerlo lo.. Una Una base base de datos datos bien bien dise diseña ñada da debe debe de minimizar la cantidad de información redundante. 1.4.2 INDEPENDENCIA LOGICA Y FISICA DE LOS DATOS La Independencia Física De Datos debe permitir la realización
de estructuras estructuras de almacenamient almacenamientoo de datos en forma independient independientee de su estructura lógica en la realidad Ventajas: los cambios en la estructura lógi lógica ca no impl implic ican an camb cambio ioss en la de alma almace cena nami mien ento to,, las las consid considera eracio ciones nes sobre sobre el mejor mejor manejo manejoss de los datos datos almace almacenado nadoss qued quedan an a carg cargoo del del SMBD SMBD y los los camb cambio io en la estr estruc uctu tura ra de almacenamiento no implican cambios en los Programas de Aplicación. debe permi permiti tirr una una ciert ciertaa La Indepe Independe ndenci ncia a lógica lógica De Datos: Datos: debe independencia entre los datos vistos por las aplicaciones y la estructura lógica lógica de ellos ellos en la realidad. Ventajas: Ventajas: soporte soporte de la evolución de los datos y que cada grupo de trabajo vea esos datos como cada grupo lo desea. 1.5 ESTRUCTURA GENERAL SISTEMA DE BASE DE DATOS bastantee sencil sencilla. la. Las La estr estruc uctu tura ra de la base base de dato datoss es bastant
convenciones utilizadas aparecen implícitamente en este documento. Por ejemplo, la mayoría de los objetos se indexan con un entero auto incrementado incrementado cuyo nombre es de tipo id_objet, id_objet, y que se declara como clave primaria en la tabla apropiada. 1.5.1 EL GESTOR DE LA BASE DE DATOS Manejador de Bases de Datos El sistema sistema manejador manejador de bases de datos
es la porción más importante importante del software software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica. Las funciones principales de un DBMS son: Crear y organizar la Base de datos.
Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente. Manejar los datos de acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos . Interacción con el manejador de archivos.
Esto a través de las sentencias en DML al comando de el sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia.
Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos. Seguridad e integridad.
Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos. El DBMS es conocido también como Gestor de Base de datos. En sí, un sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.
1.5.2 LOS USUARIOS DE BASE DE DATOS Podemos definir a los usuarios como toda persona que tenga todo tipo
de contacto con el sistema de base de datos desde que este se diseña, elabora, termina y se usa. Programadores de aplicaciones
Los profesionales en computación que interactuan con el sistema por medio de llamadas en DML (Lenguaje de Manipulación de Datos), las cuales están incorporadas en un programa escrito en un lenguaje de programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.) Usuarios sofisticados
Los usuari usuarios os sofist sofistica icados dos interac interactua tuann con el sistem sistemaa sin escribi escribir r progr programas amas.. En cambio cambio escrib escriben en sus pregunt preguntas as en un lenguaj lenguajee de consultas de base de datos. Usuarios especializados
Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. Usuarios ingenuos
Los usuarios no sofisticados interactuan con el sistema invocando a uno de los los progr program amas as de apli aplicac cació iónn perm permane anent ntes es que que se han escr escrit itoo anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero. 1.5.3 EL ADMINISTRADOR DE BASE DE DATOS DBA responsable El administrador de base de datos (DBA) es la persona responsable
de los aspectos ambientales de una base de datos. En general esto incluye: • Recuperabilidad - Crear y probar Respaldos • Integridad Veri Verifi ficar car o ayudar ayudar a la verif verific icaci ación ón en la inte integr grid idad ad de datos datos • Seguridad - Definir y/o implementar controles de acceso a los datos • Disp Dispon onib ibil ilid idad ad - Asegu Asegurar rarse se del mayo mayorr tiem tiempo po de encen encendi dido do • Desemp Desempeño eño - Asegur Asegurarse arse del máximo máximo desemp desempeño eño incluso incluso con las limi limita taci cione oness • Desa Desarr rrol ollo lo y sopor soporte te a prueb pruebas as - Ayud Ayudar ar a los los programadores programadores e ingenieros ingenieros a utilizar utilizar eficientemente eficientemente la base de datos. datos. El diseño lógico y físico de las bases de datos a pesar de no ser obligaciones de un administrador de bases de datos, es a veces parte del trabajo. Esas funciones por lo general están asignadas a los analistas de bases de datos ó a los diseñadores de bases de datos. 1.5.4 1.5.4 SISTEM SISTEMA A DE COMUNI COMUNICAC CACION ION ENTRE ENTRE DISTIN DISTINTOS TOS COMPONENTES El SGBD también debe interactuar con software de comunicaciones,
cuya función es permitir que los usuarios situados en lugares remotos respecto al sistema de base de datos tengan acceso a éste a través de term erminal inales es de comp comput utad ador or,, esta estaci cion ones es de traba rabajo jo o sus sus microcomput microcomputadores adores o mini minicomput computadores adores locales. Éstos se conectan al sitio de la base de datos por medio de equipos de comunicación de datos: líneas telefónicas, redes de larga distancia o dispositivos de comunicación por satélite. Muchos sistemas comerciales de bases de datos tienen paquetes de comunicaciones que funcionan con el SGBD. El sistema integrado de SGBD y comunicación de datos se denomina sistema BD/DC (database/datacommunications). Por añadidura, algunos SGBD distribuidos están físicamente dispersos en varias máquinas. En este caso, se requieren redes de comunicaciones para conectar las máquinas. Con frecuencia se trata de redes de área local (LAN: local área networks), pero también pueden ser de otro tipo. El término arquitectura cliente -servidor se usa para caracterizar un SGBD cuando la aplicación se ejecuta físicamente en una máquina, llamada cliente, y otra, el servidor, se encarga del almacenamiento y el acceso de los datos. Los proveedores proveedores ofrecen diversas diversas combinaciones combinaciones de clientes y servidores. 1.6 ARQUITECTURA CLIENTE SERVIDOR
Esta arquitectura consiste básicamente en que un programa -el Cliente informáticoinformático- realiza realiza peticiones peticiones a otro programa -el servidor- que le da respuesta. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico. Ventajas de la arquitectura cliente-servidor Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente
defectuoso o no autorizado no pueda dañar el sistema. Escalabilidad: se puede aumentar aumentar la capacidad capacidad de clientes clientes y servidores servidores por separado. El servidor de cliente es la arquitectura de red que separa al cliente (a menudo un uso que utiliza un interfaz utilizador gráfico) de un servidor. Cada Cada caso caso del software software del client clientee puede puede enviar enviar petici peticiones ones a un servidor. Los tipos específicos de servidores incluyen los servidores web, los servidores del uso, los servidores de archivo, los servidores terminales, y los servidores del correo. Mientras que sus propósitos varían algo, la arquitectura básica sigue siendo igual. 1.6. 1.6.1 1 COMP COMPON ONEN ENTE TES S SERVIDOR
DE
APLI APLICA CACI CION ONES ES
CLIE CLIENT NTE E
La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo . La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información, en el que las transacciones se dividen en proces procesos os indepe independi ndient entes es que coopera cooperann entre entre sí para para interc intercamb ambiar iar información información,, servicios servicios o recursos. recursos. Se denomina denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor, al proceso que responde a las solicitudes. Es el modelo de interacción más común entre aplicaciones en una red. Beneficios: * Mejor Mejor aprovech aprovechami amient entoo de la potenci potenciaa de cómput cómputoo (Repart (Repartee el trabajo). * Reduce el tráfico en la Red. (Viajan requerimientos). * Opera bajo sistemas abiertos. * Permite el uso de interfaces gráficas variadas y versátiles. ¿Qué es el Cliente?
Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Los Clientes interactúan con el usuario, usualmente en forma gráfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexión con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronización y de seguridad. Características: • El Cliente oculta al Servidor y la Red. • Dete Detect ctaa e inte interce rcept ptaa peti petici cione oness de otras otras aplic aplicaci acione oness y puede puede redireccionarlas. • Dedicado a la cesión del usuario ( Inicia…Termina ). • El método más común por el que se solicitan los los servicios es a través de RPC (Remote Procedure Calls). Funciones Comunes del Cliente: • Mantener y procesar todo el dialogo dialogo con el usuario. • Manejo de pantallas. • Menús e interpretación de comandos. • Entrada de datos y validación. • Procesamiento de de ayudas. • Recuperación de errores. • Generación de consultas e informes sobre las bases de datos. ¿Qué es el Servidor?
Conjunto de Hardware y Software que responde a los requerimientos de un client cliente. e. Los Servid Servidore oress proporc proporcion ionan an un servic servicio io al client clientee y devuelven los resultados. En algunos casos existen procesos auxiliares que se encargan encargan de recibir recibir las solici solicitud tudes es del cliente, cliente, verific verificar ar la protección, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente. Funciones Comunes del Servidor:
• Acceso, almacenamiento y organización de datos. • Actualización de datos almacenados. almacenados. • Administración de recursos compartidos. • Ejecución de toda la lógica lógica para procesar una transacción. • Procesamiento común de elementos del servidor (Datos, capacidad de CPU, almacenamiento en disco, capacidad de impresión, manejo de memoria y comunicación). • Gestión de periféricos compartidos. • Control de accesos concurrentes a bases de datos compartidas. • Enlaces de comunicaciones con otras redes de área local o extensa Para que los clientes y los servidores puedan comunicarse se requiere una infraes infraestru tructu ctura ra de comuni comunicaci caciones ones,, la cual proporc proporcion ionaa los mecanismos mecanismos básicos de direccionami direccionamiento ento y transporte. transporte. La mayoría mayoría de los sistemas Cliente/Servidor actuales, se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexión, lo cual implica que las aplicaciones deben hacer las verificaciones. Red de comunicación.- Es todo aquel conjunto de elementos basados en hardware y software que permite establecer un enlace entre los clientes y los servidores, se clasifican por su tamaño LAN, MAN y WAN. WAN. La red debe debe tener tener caracter característ ística icass adecuada adecuadass de desemp desempeño, eño, confiabilidad, transparencia y administración. Entre las principale Entre principaless caracterís características ticas de la arquitectu arquitectura ra cliente cliente / servidor, se pueden destacar las siguientes:
• El servidor servidor presenta a todos sus clientes clientes una interface interface única y bien definida. • El cliente no necesita conocer la lógica del servidor, sólo su interface interface externa. • El cliente cliente no depende depende de la ubicación ubicación física del servidor, servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo. • Los cambios cambios en el servidor implican implican pocos pocos o ningún cambio cambio en el cliente. 1.6.1 COMPONENTES DE APLICACIONES. Una infraestructura Cliente/Servidor consta de
tres componentes esenciales, todos ellos de igual importancia y estrechamente ligados: • Plataforma Operativa • Entorno de Desarrollo de Aplicaciones. • Gestión de Sistemas.
• Funciones de componentes. • Plataforma Operativa.- La plataforma deberá soportar todos los modelo modeloss de distri distribuci bución ón Client Cliente/S e/Serv ervido idor, r, todos todos los servici servicios os de comuni comunicaci cación, ón, y deberá deberá utiliz utilizar, ar, prefer preferent entemen emente, te, compon component entes es está estánd ndar ar de la indu indust stri riaa para para los los servi servici cios os de dist distri ribuc bució ión. n. Los Los desarrollos propios deben coexistir con las aplicaciones estándar y su integr integració aciónn deberá deberá ser imp imperc ercept eptibl iblee para el usuari usuario. o. Igualm Igualment ente, e, podrán acomodarse programas escritos utilizando diferentes tecnologías y herramientas. • Entorno de Desarrollo Desarrollo de Aplicaciones Aplicaciones. - Debe elegirse después de la plataforma operativa. Un entorno de aplicación incremental, debe posibilit posibilitar ar la coexistencia coexistencia de procesos procesos cliente cliente y servidor servidor desarrollados desarrollados con distintos lenguajes de programación y/o herramientas, así como utiliz utilizar ar distin distintas tas tecnolo tecnología gíass (por (por ejempl ejemplo, o, lengua lenguaje je procedur procedural, al, lenguaje orientado a objetos, multimedia), y que han sido puestas en explotación en distintos momentos del tiempo. Estass funci funcion ones es aume aument ntan an • Gest Gestió ión n de de Sist Sistem emas as.. - Esta considerablem considerablemente ente el costo de una solución, pero no se pueden evitar. evitar. Siempre deben adaptarse a las necesidades de la organización, y al decidir decidir la plataforma plataforma operativa y el entorno de desarrollo, desarrollo, es decir, en las primeras fases de la definición de la solución, merece la pena considerar los aspectos siguientes: • ¿Qué necesitamos gestionar? • ¿Dónde estarán situados los procesadores y estaciones de trabajo? • ¿Cuántos tipos distintos distintos se soportarán? soportarán? 1.7 COMPONENTES GESTOR DE BASE DE DATOS convierte rte las sentenci sentencias as El pre prepro proces cesado adorr del LMD LMD convie
del LMD embebidas en los programas de aplicación, en llamadas a funciones estándar escritas en el lenguaje anfitrión. El preprocesador del LMD debe trabajar con el procesador de consultas para generar el código apropiado. El compilador compilador del LDD convierte las sentencias del LDD en un conjunto de tablas que contienen metadatos. Estas tablas se almacenan en el diccionario de datos. El gestor del diccionario controla los accesos al diccionario de datos y se encarga de mantenerlo. La mayoría de los componentes del SGBD acceden al diccionario de datos. Los principales componentes del gestor de la base de datos son los siguientes: Control de autorización. Este módulo comprueba que el usuario tiene
los permisos necesarios para llevar a cabo la operación que solicita. comprobado los Procesador de comandos. Una vez que el sistema ha comprobado permisos del usuario, se pasa el control al procesador de comandos. Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias. Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas. Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones. Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones operaciones que se realizan concurrentemente concurrentemente sobre la base de datos tienen lugar sin conflictos. Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo. Gestor de buffers. Este módulo es el responsable de transferir los datos entre entre memori memoriaa princi principal pal y los dispos dispositi itivos vos de almacen almacenami amient entoo secundario. A este módulo también se le denomina gestor de datos. 1.7.1 ESTRUCTURA GENERAL GESTOR BASE DATOS
Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales controla controla una parte de la responsabilidad responsabilidad total de sistema. El sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos. Los componentes funcionales de un sistema de base de datos, son: Gestor de archivos.
Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar información. Manejador de base de datos. Sirve de interfaz entre los datos y los programas de aplicación. Procesador de consultas. Traduce las proposiciones en lenguajes de consulta a instruccion instrucciones es de bajo nivel. Además convierte convierte la solicitud solicitud del usuario usuario en una forma más eficiente. Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos. Archivo de datos. En él se encuentran almacenados físicamente los datos de una organización. Diccionario de datos. Contiene la información referente a la estructura de la base de datos. Permit iten en un rápi rápido do acce acceso so a regi regist stro ross que que cont contie iene nenn Indices.Perm valoresespecíficos.