Diseño de interfaz de usuario

download Diseño de interfaz de usuario

of 44

description

Trabajo de Ingenieria del software II

Transcript of Diseño de interfaz de usuario

REPBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA LA EDUCACIN UNIVERSITARIA CIENCIA Y TECNOLOGIAUNIVERSIDAD POLITCNICA TERRITORIAL DEL ESTADO BARINAS JOS FLIX RIBAS PROGRAMA NACIONAL DE FORMACIN EN INFORMTICA. BARINAS BARINAS

BASES DE DATOS Y SISTEMAS GESTORES

Integrantes:Cordero YennysC.I: 20.599.623Ezeymar YchazutC.I: 20.012.987Carlos AldanaC.I: 20.197.625Maria ValeroC.I: 14.867.361Profesor:Alexis Adarmes

BARINAS, JUNIO DE 2015

Introduccin..3Base de datos ........4Sistema manejador de base de datos (SMBD) .4Evolucin de los sistemas manejador de base de datos....5Sistemas de base de datos relacionales ....8Arquitecturas ClienteServidor...11Arquitecturas multi-capas...19Componentes de un DBMS20Funcionalidades de DBMS.22Comandos del Lenguaje de definicin de datos.....24Procesamiento de Consultas ..30Procesador de Consultas 32 Procesamiento de transacciones32Manejo de almacenamiento ...33Administracin de Bases de Datos 41Tareas y funciones a realizar por un DBA.........43Conclusin..44Referencias.45ndice

INTRODUCCIN

Introduccin

Los datos son smbolos que describen condiciones, hechos, situaciones o valores. Los datos se caracterizan por no contener ninguna informacin. Un dato puede significar un nmero, una letra, un signo ortogrfico o cualquier smbolo que represente una cantidad, una medida, una palabra o una descripcin.Las bases de datos suelen ser creadas para almacenar grandes cantidades de datos de forma permanente. Por lo general, los datos almacenados en stas suelen ser consultados y actualizados constantemente.Actualmente, la informacin es una de los recursos ms importantes que posee cualquier organizacin. Es por ello, que la tecnologa ha evolucionado a sistemas que almacenan y recuperan la informacin de manera eficiente. El campo de base de datos ha sufrido muchos cambios hasta el da de hoy. En un principio se tenan sistemas de procesamiento de archivos, los cuales eran limitados por la fuerte dependencia entre los formatos de los archivos y los programas. A raz de estos surgen los sistemas manejadores de bases de datos, los cuales poseen muchas ventajas como son: la minimizacin de redundancia, control de concurrencia, recuperacin en caso de falla, etc. Los primeros sistemas manejadores de bases de datos estaban basados en estructuras jerrquicas y de red, pero debido a su complicacin surgen los modelos relacionales, que son usados ampliamente en la actualidad.

Base de DatosEs un conjunto de datos relacionados entre s. Por Datos entendemos hechos conocidos que pueden registrarse y que tienen un significado implcito.Este es un concepto muy general, el trmino Base de Datos es ms restringido y cumple las siguientes propiedades implcitas: Una base de datos representa algn aspecto del mundo real, llamado minimundo o universo de discurso. Las modificaciones del minimundo se reflejan en la base de datos. Una base de datos es un conjunto de datos lgicamente coherente, con cierto significado inherente. Una coleccin aleatoria de datos no sera una base de datos. Toda base de datos se disea, construye y puebla con datos para un propsito especfico. Est dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan a dichos usuarios.Sistema de Gestin de Bases de DatosUn Sistema de Gestin de Bases de Datos (SGBD, en ingls, Database Management System: DBMS) es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Este sistema permite:Definir la base de datos: que consiste en especificar los tipos de datos, las estructuras y las restricciones de los datos.Construir la base de datos: es el proceso de guardar los datos en algn medio de almacenamiento controlado por el SGBD.Manipular la base de datos: que consiste en funciones de consulta para obtener datos especficos, de actualizacin para reflejar cambios en el minimundo y de generacin de informes.EvolucinComo punto de inicio en la evolucin del concepto de base de datos se toma el comienzo de la dcada de los sesenta. Para esa poca las computadoras manejaban sus E/S a travs de programas de E/S y el procesamiento de los programas en el computador era nicamente en lotes. Los archivos eran secuenciales solamente, por lo que la distribucin fsica de los datos estaba incorporada al PA y por ello, no haba distincin entre archivo lgico y fsico. As, si se cambiaban las estructuras de datos o los dispositivos de almacenamiento, se deba cambiar, recompilar y probar de nuevo los PA. Esto implicaba que los datos eran diseados para una nica aplicacin existiendo varias copias de los datos sin posibilidad de compartirlos y en consecuencia, se tena una alta redundancia de datos en los sistemas de archivos de una organizacin, y como producto de esta redundancia, se tena inconsistencia incontrolada en los datos almacenados. Esta inconsistencia se deba a las mltiples copias de los datos, no todas actualizadas de la misma manera, y que al momento de consultarlos arrojaban valores almacenados diferentes, sin poderse verificar cul era el real.A finales de los aos 60 aparecen los mtodos selectivos de acceso a los archivos, estos son el directo, aleatorio e indizado, el procesamiento de los programas se hace en lotes, en lnea o en tiempo real, se pueden cambiar las unidades de almacenamiento de los datos sin cambiar los PA, aparecen los procesadores de E/S y se usan algunos recursos de seguridad de los datos. Adems, se mantiene la tendencia de diseo de datos por aplicacin y la redundancia de los mismos. En general, no hay recuperacin de datos por claves mltiples, no hay administracin de datos y si se necesitaban usar estructuras jerrquicas era necesario construirlas. Segn la opinin de W. Kim en [Kim-91] los SMA desarrollados en esta poca representan la primera generacin, cuyos principales exponentes fueron el ndice secuencial (ISAM) y el virtual (VSAM).Entre los aos 70 y 80 se comercializan los primeros SMBD, que permiten el acceso a los datos de diferentes maneras segn lo indique el PA, los datos son compartidos, la organizacin fsica de los mismos es ms independiente de los PA y es hecha con estructuras de datos complejas, que no se reflejan en los PA, los datos son direccionables a nivel de campo y grupo de datos, hay recuperacin por clave mltiple y administracin de datos. El SMBD provee los medios para reducir la redundancia, conservar la integridad y darle seguridad a los datos, as como tambin el soporte de lenguajes de descripcin de datos y los de manipulacin de los mismos.Al inicio de los aos 70 se seala la aparicin de la segunda generacin de SMBD, caracterizada por la separacin de los datos del PA y la llegada de los lenguajes de acceso navegacionales y cuyo mejor exponente es el SMBD denominado IMS de la compaa IBM, basado en el modelo jerrquico.La tercera generacin est representada por los SMBD basados en el modelo de redes y cuya estructura fue normalizada por el grupo CODASYL. Los mejores exponentes de este grupo son: IDSS, IDMS y ADABAS. Estas dos generaciones comparten el uso de lenguajes de acceso navegacionales, pues desde un tipo de registro es posible acceder a otros tipos de registros hijos o enlazados al primero.La cuarta generacin aparece luego de los aos 70, con el modelo relacional que simplifica el acceso a los datos para los usuarios externos. Estos sistemas han sido comercializados al inicio de los aos 80 y cuyos mejores exponentes son: el sistema R y DB2 de la compaa IBM e INGRES desarrollado en la Universidad de Berkeley-California y comercializado por Rational Technology, Inc. A esta generacin se le conoce tambin como tecnologa de bases de datos relacionales, y ella est caracterizada por el uso de lenguajes de interrogacin o de consulta declarativos, es decir lenguajes donde no es necesario colocar explcitamente como encontrar los datos, sino que basta indicar que datos se desean obtener, dejando al SMBD la tarea de encontrarlos y mostrarlos.Una quinta generacin se encuentra en desarrollo actualmente. Ella est caracterizada por un modelo de datos ms rico y amplio, que puede soportar una gran cantidad de aplicaciones como: diseo y manufactura asistido por computador (CAD/CAM), diseo de software asistido por computador (CASE), sistemas de informacin geogrfica (SIG), etc. Ellos poseen una amplia gama de facilidades o tiles necesarios para apoyar dichas aplicaciones. Entre sus principales exponentes estn: POSTGRES basado en el enfoque relacional extendido y los SMBD orientados por objetos (SMBDOO) como son: ORION, GemStone, O2, ONTOS, Jasmine, Poet, etc.Los Sistemas de Bases de Datos Relacionales (RDBMS)Los sistemas de bases de datos relacionalesRDBMS(Relational Database Management System, por sus siglas en ingls) tales comoOracle, MySQL, SQL Server, PostgreSQL, Informix, entre otros, le permiten ejecutar las tareas que se mencionan a continuacin, de una forma entendible y razonablemente sencilla:1. Le permiteningresar datosal sistema.2. Le permitenalmacenar los datos.3. Le permitenrecuperar los datos y trabajar con ellos.4. Le proveenherramientas para capturar, editar y manipular datos.5. Le permitenaplicar seguridad.6. Le permitencrear reportes e informes con los datos.Definicin y terminologa de un rdbmsLos sistemas debase de datos relacionalesson aquellos quealmacenan y administran de manera lgica los datos en forma de tablas. UnaTABLA es, a su vez, un mtodo para presentar los datos en la forma de filas y columnas.Cada columna representa un campo nico de un registro. Varias de estas columnas o campo componen un registro, proveyendo informacin significativa e interrelacionada.Cada registro es representado en una fila. Una tabla puede consistir en varias columnas. Muchas de las tablas que poseen datosinterrelacionados e interdependientes son agrupadas por medio del establecimiento de relaciones entre ellas. Al administrar las tablas y sus relaciones, encontramos los medios parainsertar, borrar, consultar y actualizar la informacin de un sistema RDBMS.Llave PrimariaHemos visto que los datos son almacenados de manera lgica en tablas en laBases de datos relacionales. Cada tabla tiene un nombre nico. Para identificar una fila particular en una tabla, se usa una columna o combinacin de columnas. Esta columna debe ser tal que identifique de manera nica e inequvoca cada fila.No puede haber ms dedos filas(registros) en una tabla que tengan el mismo valor para la columna que haya sido elegida comollave primaria. Una columna identificada como la llave primariano puede tener valores duplicados no nulos.Por ejemplo, considerando la tabla de Empleados presentada en la Figura No. 1, podemos ver que cada empleado tiene un nico nmero de empleado. La columna "NUM-EMP" puede ser escogida comola llave primaria. Similarmente, la columna "NUM-DEPT" en la tabla de Departamentos puede ser igualmente una llave primaria.Llave ForneaLallave primariay lallave forneason usadas para establecer relaciones entre tablas. En la Figura No. 1 el dominio de los valores de la columna "NUM-DEPT" de latabla Empleadosse encuentra dentro del rango de valores de la columna "NUM-DEPT" de latabla Departamentos. Un empleado deber pertenecer a un Departamento que est listado en latabla Departamentos.Se considera entonces que la columna "NUM-DEPT" en la tabla Empleados es unallave fornea. De esta manera,la existencia de esta llave forneaen latabla Empleadoscontrola queno pueda ser ingresadoun nuevo registro de un empleado si este no perteneceprimero a un Departamento.Si el empleado que desea ingresarse a la tabla trabaja en unDepartamentoque no est listado en la tabla Departamentos, primero debe crearse el registro del departamento en su respectiva tabla, y luego si procedemos a ingresar al empleado. Este tipo de control que impone la asignacin de una llave fornea en una tabla es de mucha utilidad para evitar la existencia de registros hurfanos y para evitar la incongruencia de datos, temas que veremos ms adelante. Adems, como dijimos al principio,la llave fornea nos permite relacionar dos tablas, lo cual nos permite compartir y repartir la informacin de manera que no tengamos los mismos datos duplicados en varias tablas. Estos conceptos sern aterrizados en la seccin de Normalizacin de tablas que se estudiar en un capitulo posterior.NulosUn Nulo se puede interpretar como un valor indefinido o comoningn valor. Los nulos son usados en las columnas donde se desconozca su valor.Un nulo no significa espacios en blanco. Un valor "nulo" no puede ser usado para hacer ningn clculo u operaciones de comparacin. Un "nulo" puede ser comparable a un infinito. Un "nulo"no es igual a otro"nulo".VistasLosRDBMSgestionan la estructura fsica de los datos y su almacenamiento. Con esta funcionalidad, elRDBMSse convierte en una herramienta de gran utilidad. Sin embargo, desde el punto de vista del usuario, se podra discutir que losRDBMShan hecho las cosas ms complicadas, ya que ahora los usuarios ven ms datos de los que realmente quieren o necesitan, puesto que ven la base de datos completa. Conscientes de este problema, losRDBMSproporcionan un mecanismo devistasque permite que cada usuario tenga su propia vista o visin de la base de datos. El lenguaje de definicin de datos permite definir vistas como subconjuntos de la base de datos. Las vistas, adems de reducir la complejidad permitiendo que cada usuario vea slo la parte de la base de datos que necesita, tienen otras ventajas: Las vistas proporcionan un nivel de seguridad, ya que permiten excluir datos para que ciertos usuarios no los vean. Las vistas proporcionan un mecanismo para que los usuarios vean los datos en el formato que deseen. Una vista representa una imagen consistente y permanente de la base de datos, incluso si la base de datos cambia su estructuraArquitectura Cliente/ServidorEs una arquitectura de hardware y software adecuada para un conjunto de fases sucesivas distribuidas y el proceso es un programa de ejecucin.La arquitectura cliente/servidor, es un punto de referencia para la progresividad del sistema de informacin en el que las transacciones se separan en procesos autnomos que cooperan entre s para intercambiar informacin, servicios, recursos entre otros. Se denomina cliente a la persona que utiliza con asiduidad (frecuencia) las solicitudes de servicios y servidor al proceso adscrito que responde las solicitudes, un proceso servidor se puede comunicar con varios procesos cliente o viceversa, estos procesos pueden ejecutarse en la misma mquina o en distintas siempre que estn conectada a travs de una red.La aplicacin que proporciona el cliente es busca la mejor manera de realizar y ejercer mutuamente con el usuario, ejecutndose en su mquina que se denomina Terminal o cliente y el servidor crea las funciones de varios usuarios de manera centralizada y se ejecuta en mquinas remotas denominadas, servidor.Los servidores (hardware) tiene dos funciones fundamentales que son: Servidores de aplicaciones y Servidores de base de datos. Los servidores de aplicaciones almacenan distintos tipos de programas que puedan llamarse desde los terminales y ejecutarse. Los servidores de base de datos almacenan archivos de datos que pueden ser consultados, editados y modificados en los terminales o clientes.En una red LAN, la interconexin entre los servidores y los clientes es directa, ya sea a travs de cableado o que la red sea inalmbrica, si es una red corporativa o Internet, la interconexin es indirecta, aunque comnmente se hace mediante un MODEM y una va telefnica.En las aplicaciones, el servidor debe mostrar y compartir con varios usuarios (informacin, etc.), y el cliente debe mantener solo lo particular de cada usuario, los clientes generalmente realizan funciones como, la utilizacin de interfaz perteneciente a los usuarios, aprehender y validar los datos de entrada, y los servidores realizan funciones como, la conexin de correspondencia con otras redes RAL o extensa, administracin de perifricos compartidos entre otros.El servidor del cliente, es quien separa al cliente de un servidor por medio de la arquitectura de red, cada suceso del software perteneciente al cliente puede enviar solicitudes a un servidor. Hay muchos tipos de servidores; los servidores pueden ser aptridas, estos no guardan informacin entre las peticiones y los servidores stateful, guardan la informacin entre las peticiones y las informaciones pueden ser enlazadas de manera global.Caractersticas del servidor: Espera la peticin. Procesa los recibos de peticin para que los servidores sean respondidos.Caractersticas del cliente: Es quien hace la peticin. Espera las respuestas del servidor de acuerdo sus solicitudes.Caractersticas de la arquitectura cliente/servidor:1. Caractersticas fsicas: En las unidades de almacenamiento, agregan elementos que protegen y evaden los daos y prdida de datos, y permite una gran cantidad de accesos que ocurren al mismo tiempo. Se encuentra una plataforma que sustituye al ordenador central que brinda los servicios a los clientes autorizados, estos servicios tienen funciones como de seguridad, clculos, comunicaciones, base de datos entre otros. La conexin de varias partes que conforman la arquitectura, aprovecha el poder de los ordenadores personales para realizar servicios de presentacin de algunos procesos.2. Caractersticas lgicas: Evita la duplicacin de los datos, tenindolos disponibles para su uso inmediato de manera nica y correcta. Muestra un sistema de informacin y hace ms fcil el manejo de la interfaz grfica que le ofrece al usuario, presentando los datos, editndolos y validndolos a travs de la aplicacin del cliente, para el manejo eficaz esto hace uso del mouse. El usuario puede trabajar con diferentes datos y aplicaciones desde su estacin de trabajo, sin tener en cuenta donde estarn estos datos y donde se ejecutaran.3. Caractersticas de sus funciones:Las caractersticas funcionales de la arquitectura cliente/servidor se pueden clasificar en cinco niveles, los cuales son: En el primer nivel existe una presentacin distribuida ya que el servidor ejecuta todos los procesos y aloja la totalidad de los datos, este nivel se responsabiliza de algunas partes de las funciones de aplicacin y presentacin. En el segundo nivel el servidor se encuentran directamente las aplicaciones soportadas, excluyendo la presentacin remota y establecida en el cliente, los terminales del cliente soportan validacin completa al aprehender los datos y una presentacin de las consultas. En el tercer nivel la lgica de los procesos se separa en varios componentes pertenecientes tanto al cliente como al servidor, el servidor es el nico responsable del control de los datos, los papeles del cliente y del servidor son intercambiables ya que el diseador de la aplicacin debe fijar con claridad las interfaces y servicios del sistema de informacin. En el cuarto nivel el servidor aloja y conduce los datos que se encuentran en una base de datos centralizada (gestor de datos remota), el cliente lleva a cabo las funciones de presentacin como los procesos. En el quinto nivel el gestor de base de datos separan sus componentes entre el servidor y el cliente, no choca con la informacin de las aplicaciones lo que permite que las funciones del gestor de base de datos posea ambas interfaces.Esta arquitectura muestra un sistema de informacin como un entorno que ofrece acceso a la coleccin de servicios a travs de una fase que a continuacin se desarrollara.Fases de implementacin:Esta fase se divide en cinco etapas o fases, a continuacin se mencionaran y desarrollaran. Fase de iniciacin, esta primera etapa se centraliza en la distribucin fsica de los componentes entre las plataformas, estos dos tipos de plataformas son; plataforma cliente y plataforma servidora. Para la presentacin, una plataforma cliente, por lo general es un ordenador personal. Para la gestin de datos y ejecucin de procesos, un ejemplo seria: el servidor de una base de datos relacional. En esta fase de iniciacin pueden surgir algunos problemas como; las formas convenientes de dividir la lgica de la aplicacin entre las plataformas cliente y servidor, y que esta arquitectura permita que cualquier cliente se conecte con cualquier servidor. Fase de planificacin, esta etapa se caracteriza por multiplicar abundantemente las plataformas clientes y servidoras, pueden hacerse ms complejo, el ambiente la interaccin entre clientes y servidores, pueden realizar distribuciones entre una red de rea extensa (WAN) ya que a travs de ella se pueden acceder a los datos de los servidores y una red de rea local (RAL) a travs de esta red se accede a los datos. Esta fase puede presentar inconvenientes como; de acuerdo a la estructura de esta implementacin de la arquitectura, la gestin de acceso se transforma en crtica y compleja, la actualizaciones de datos son requisitos solicitados al sistema cliente/servidor, ahora se puede insertar, borrar datos, envo de peticiones para las actualizaciones y consultar los datos. Fase de control, en esta tercera etapa o fase se solidifican los caminos de acceso desde las plataformas particulares clientes y servidora, por medio de la transparencia en la localizacin, gestin de copias y especializacin de los equipos servidores. Fase de integracin, es la distribucin de datos de operacin y datos de informacin. Los datos de operacin varan seguidamente y los datos de informacin no varan y se obtiene tomando muestras en el tiempo de los datos de operacin. La informacin se debe gestionar y entregar de tal manera que pueda ser guiada por servidores que almacenan los datos a las plataformas clientes que los requieran. Fase de madurez, es de visin flexible de las plataformas fsicas de unidad lgica, esta tecnologa se ha generalizado en las empresas.Ventajas de la arquitectura cliente/servidor:a) Aumenta la productividad, los usuarios pueden usar herramientas como, acceso a base de datos y hoja de clculo, los usuarios pueden construir soluciones que se ajusten a sus necesidades, la interfaz grfica del usuario disminuye el tiempo de aprendizaje de las aplicaciones.b) Menores coste de aplicacin, protege la inversin de los sistemas existentes, hace un mejor acceso de los datos, ofrece una manera relativa de ver el sistema indiferentemente de las actualizaciones o cambios que se realicen y del direccionamiento informativo, es de menor coste el funcionamiento de un ordenador central hacia los clientes locales o servidores.c) Mejora en el rendimiento de red, en esta arquitectura los servidores controlan los datos, procesan peticiones y transfiere los datos que solicita el cliente sin necesidad de mover grandes bloques de informacin por la red, el cliente y el servidor se enlazan a las necesidades de las aplicaciones, los clientes y los servidores son independientes, pueden renovarse para aumentar su capacidad y funciones, sin afectar al resto del sistema.Inconvenientes de arquitectura cliente/servidor:a) Dificultosamente no se puede agregar un elevado grado de seguridad de cliente/servidor que un sistema con ordenadores centralizados.b) En la actualidad hay pocas implementaciones que garantizan funciones eficaces, esta tcnica es muy compleja y se presenta en la base de datos distribuida.c) Al integrar varios productos la complejidad tecnolgica se vuelve elevada.d) Los problemas en la red con respecto al congestionamiento del sistema es por debajo de los resultados de la arquitectura centralizada. La lenificacin de las funciones de la aplicacin las puede proveer la interfaz grfica de usuario.Diferencias entre arquitectura cliente/servidor y arquitectura multicapas: a) La arquitectura cliente/servidor, consiste en una separacin lgica, el servidor no necesariamente se ejecuta en una sola mquina y puede poseer varios programas.b) En la arquitectura multicapa los servidores se separan en diversos programas que pueden ejecutarse en variedad de ordenadores elevando la calidad de distribucin del sistema.c) La arquitectura cliente/servidor, posee dos niveles, ya que tiene dos tipos de nodos en la red, denominados clientes y servidores.d) La arquitectura multicapa la integran diferentes nodos denominados, clientes, servidores que procesan los datos para los clientes y servidores de base de datos que alojan la informacin o datos para los servidores.

Arquitecturas MulticapasCon el paso del tiempo, se ha considerado que era conveniente subdividir an ms las capas. En las arquitecturas modernas se habla de arquitecturas cliente / servidor en multicapas.Una arquitectura multicapas es aquella donde se particiona todo el sistema en distintas unidades funcionales: cliente, presentacin, lgica de negocio, integracin y sistema de informacin empresarial (EIS).Esto hace que el sistema sea ms mantenible y extensible. Los sistemas multicapas se han probado como ms escalables y flexibles que un sistema cliente-servidor, en el que no existe la capa central de lgica de negocios.CapasLa capa del clienteEs donde se consumen y presentan los modelos de datos, para una aplicacin Web, la capa cliente normalmente es un navegador web. Los clientes pequeos basados en navegador no contienen lgica de presentacin; esto se trata en la capa de presentacin.La capa de presentacinExpone los servicios de la capa de lgica de negocio a los usuarios. Sabe cmo procesar una peticin de cliente, cmo interactuar con la capa de lgica de negocio y cmo seleccionar la siguiente vista a mostrar. Contiene todo lo relativo a la presentacin (ventanas, informes, textos, sonidos, video) hacia el usuario y toda la interaccin con el mismo a travs de teclado, ratn y micrfonos, entre otros. Tpicamente se ejecuta en un PC.La capa de la lgica de negocioContiene los objetos y servicios de negocio de la aplicacin. Recibe peticiones de la capa de presentacin, procesa la lgica de negocio basada en las peticiones, y media en los accesos a los recursos de la capa EIS. Contiene los algoritmos, procesos y workflows de la aplicacin. Es la esencia de la aplicacin propiamente dicha. Tpicamente se ejecuta en los servidoresLa capa de integracinEs el puente entre la capa de lgica de negocio y la capa EIS. Encapsula la lgica para interactuar con la capa EIS. Algunas veces se le conoce como capa central.Los datos de la aplicacin persisten en la capa EIS. Contiene bases de datos relacionales, bases de datos orientadas a objetos, y sistemas antiguos. Gestiona todo lo relativo al almacenamiento y recuperacin de datos. Tpicamente se ejecuta en los servidoresComponentes DBMSLos SGBD son paquetes de software muy complejo y sofisticado. No se puede generalizar sobre los elementos que componen un SGBD ya que varan mucho unos de otros. Sin embargo, es muy til conocer sus componentes y cmo se relacionan cuando se trata de comprender lo que es un sistema de bases de datos. Un SGBD tiene varios mdulos, cada uno de los cuales realiza una funcin especfica. El sistema operativo proporciona servicios bsicos al SGBD, que es construido sobre l. El procesador de consultas es el componente principal de un SGBD. Transforma las consultas en un conjunto de instrucciones de bajo nivel que se dirigen al gestor de la base de datos. El gestor de la base de datos es la interface con los programas de aplicacin y las consultas de los usuarios. El gestor de la base de datos acepta consultas y examina los esquemas externo y conceptual para determinar qu registros se requieren para satisfacerla peticin. Entonces el gestor de la base de datos realiza una llamada al gestor de ficheros para ejecutar la peticin. El gestor de ficheros maneja los ficheros en disco en donde se almacena la base de datos. Este gestor establece y mantiene la lista de estructuras e ndices definidos en el esquema interno. Si se utilizan ficheros dispersos, llama a la funcin de dispersin para generar la direccin de los registros. Pero el gestor de ficheros no realiza directamente la entrada y salida de datos. Lo que hace es pasar la peticin a los mtodos de acceso del sistema operativo que se encargan de leer o escribir los datos en el buffer del sistema.Principales componentes del gestor de base de datos Control de autorizacin. Este mdulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operacin que solicita. Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos. Control de la integridad. Cuando una operacin cambia los datos de la base de datos, este mdulo debe comprobar que la operacin a realizar satisface todas las restricciones de integridad necesarias. Optimizador de consultas. Este mdulo determina la estrategia ptima para la ejecucin de las consultas.Funcionalidades de DBMSGestor de archivos.Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas para representar datos.Manejador de base de datos.Sirve de interfaz entre los datos y los programas de aplicacin.Procesador de consultas.Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Adems convierte la solicitud del usuario en una forma ms 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 fsicamente los datos de una organizacin.Diccionario de datos.Contiene la informacin referente a la estructura de la base de datos.ndices.Permiten un rpido acceso a registros que contienen valores especficos.Para cumplir los Objetivos mencionados se tiene que 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 rpidamente. Manejar los datos de acuerdo a las peticiones de los usuarios. Registrar el uso de las bases de datos. Interaccin con el manejador de archivos. Esto a travs de las sentencias en DML al comando del sistema de archivos. As el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperacin. Consiste en contar con mecanismos implantados que permitan la recuperacin fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia. Consiste en controlar la interaccin 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.Comandos DLLExisten dos tipos de comandos SQL: DLL que permiten crear y definir nuevas bases de datos, campos e ndices. DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DLL

ComandoDescripcin

CREATEUtilizado para crear nuevas tablas, campos e ndices

DROPEmpleado para eliminar tablas e ndices

ALTERUtilizado para modificar las tablas agregando campos o cambiando la definicin de los campos.

Comandos DML

ComandoDescripcin

SELECTUtilizado para consultar registros de la base de datos que satisfagan un criterio determinado

INSERTUtilizado para cargar lotes de datos en la base de datos en una nica operacin.

UPDATEUtilizado para modificar los valores de los campos y registros especificados

DELETEUtilizado para eliminar registros de una tabla de una base de datos

ClusulasLas clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular.ClusulaDescripcin

FROMUtilizada para especificar la tabla de la cual se van a seleccionar los registros

WHEREUtilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar

GROUP BYUtilizada para separar los registros seleccionados en grupos especficos

HAVINGUtilizada para expresar la condicin que debe satisfacer cada grupo

ORDER BYUtilizada para ordenar los registros seleccionados de acuerdo con un orden especfico

Operadores LgicosOperadorUso

ANDEs el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas.

OREs el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOTNegacin lgica. Devuelve el valor contrario de la expresin.

Operadores de ComparacinOperadorUso

Mayor que

Distinto de

=Mayor o igual que

=Igual que

BETWEENUtilizado para especificar un intervalo de valores.

LIKEUtilizado en la comparacin de un modelo

InUtilizado para especificar registros de una base de datos

Funciones de AgregadoLas funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros.FuncinDescripcin

AVGUtilizada para calcular el promedio de los valores de un campo determinado

COUNTUtilizada para devolver el nmero de registros de la seleccin

SUMUtilizada para devolver la suma de todos los valores de un campo determinado

MAXUtilizada para devolver el valor ms alto de un campo especificado

MINUtilizada para devolver el valor ms bajo de un campo especificado

Orden de ejecucin de los comandosDada una sentencia SQL de seleccin que incluye todas las posibles clusulas, el orden de ejecucin de las mismas es el siguiente:1. Clusula FROM2. Clusula WHERE3. Clusula GROUP BY4. Clusula HAVING5. Clusula SELECT6. Clusula ORDER BY

Procesamiento de Consulta Descomposicin de Consultas:Es la interpretacin de una consulta basada en el clculo de las relaciones globales y que nos permite conocer el sitio donde se encuentra la informacin. Esa interpretacin consta de varios procesos: Normalizacin Anlisis Simplificacin ReestructuracinNormalizacinConsiste en verificar la cantidad y calidad de las consultas en funcin de su relacin con otros elementos de informacin. El objetivo de la normalizacin es transformar una consulta a una forma normalizada para facilitar su procesamiento posterior.La normalizacin consiste en dos partes: el anlisis lxico y sintctico. En esta parte se verifica la validez de la expresin que da origen a la consulta; y en la otra, se verifica que las relaciones y atributos invocados en la consulta estn acordes con la definicin en la base de datos.AnlisisPermite detectar y rechazar consultas incorrectas (sintaxis). El anlisis de consultas permite rechazar consultas normalizadas para los cuales no se requiere mayor procesamiento. Una consulta se puede rechazar si alguno de sus atributos o nombres de relacin no estn definidas en el esquema global. Tambin se puede rechazar si las operaciones que se aplican a los atributos no son del tipo adecuado.SimplificacinPermite eliminar los comandos u rdenes redundantes. Una evaluacin directa de la consulta con redundancia puede llevarnos a realizar trabajo duplicado.ReestructuracinEs una consulta basada en los clculos y reglas de transformacin obtenidas de los pasos anteriores.Localizacin de datosEs la aplicacin para determinar la ubicacin de los fragmentos distribuidos en varios sitios. El principal objetivo de este paso es determinar que fragmentos estn involucrados en la consulta de datos.Optimizacin globalConsiste en obtener la mejor opcin de un predicado final que cumpla con las condiciones ms ptimas para realizar las consultas. Estas optimizaciones se presentan en funcin de los siguientes elementos: Minimizar el costo de la funcin Procesamiento distribuido Mtodos de uninOptimizacin localConsiste en la aplicacin de las reglas y funciones que llegan de un contexto global a un modo local. Aqu se determinan y se llevan a cabo los comandos a bajo nivel para el procesamiento de la informacin y su acceso.Procesador de ConsultasUn procesador de consultas es uno de los componentes principales de una base de datos relacional o una base de datos electrnica en la que los datos se almacenan en las tablas de filas y columnas. Complementa el motor de almacenamiento, que escribe y lee datos desde y hacia los medios de almacenamiento. Funcionamiento bsico usuario, o un programa de aplicaciones, interacta con el procesador de consultas y el procesador de consultas, a su vez interacta con el motor de almacenamiento. Esencialmente, el procesador de consultas recibe una instruccin o instrucciones escritas en lenguaje de consulta estructurado (SQL), elige un plan de ejecucin de las instrucciones y lleva a cabo el plan. Procesamiento de TransaccionesUn concepto que se asocia con frecuencia con los de proteccin y seguridad de una base de datos es el de transaccin de la misma, que puede definirse como se expone a continuacin. Cuando se realiza una modificacin en una base de datos, refleja un cambio en el sistema del mundo real al que representa. A menudo, la modificacin puede conllevar la edicin o la alteracin de varios datos individuales de la base de datos. Este conjunto completo de cambios sufridos por la misma es lo que se conoce como una transaccin.Para que la informacin de la base de datos conserve la consistencia, es necesario que todos los cambios que sufre la base de datos como parte de una transaccin se realicen al mismo tiempo. Si slo se efecta parte de estos cambios, y se aborta el proceso de la transaccin, la base de datos pasar a encontrarse en un estado inconsistente. Esta suspensin puede haberse debido a un gran nmero de motivos: fallos del hardware o del software, errores humanos, o incluso a un suceso catastrfico. Desde el punto de vista de la consistencia de la base de datos, la causa es irrelevante: una transaccin abortada puede dar como resultado una base de datos inconsistente.Muchos SGBD permiten que los usuarios definan el comienzo y el final de una transaccin completa, de forma que el sistema pueda saber exactamente dnde empieza y acaba. Por tanto, si se aborta una transaccin, por una razn cualquiera, el SGBD puede eliminar ms tarde los cambios realizados en la base de datos hasta el instante de la suspensin, devolviendo de este modo la base de datos a un estado consistente. De los sistemas de bases de datos que soportan esto se dice que tienen la capacidad de procesamiento de transacciones.Manejo de AlmacenamientoTodo el procesamiento de informacin ocurre en memoria, es decir en la instancia, pero el almacenamiento de datos, ocurre en disco.Los usuarios nunca visualizan archivos fsicos, sino segmentos lgicos. La informacin se guarda lgicamente en segmentos y fsicamente en datafiles.Los tablespaces, resuelven la relacin entre segmentos y datafiles. Esto significa que un segmento puede estar alojado en varios datafiles y que un datafile puede tener informacin uno o varios segmentos. Los tablespaces son identificados por su nombre nico en la Base de Datos.Un segmento representa cualquier objeto que guarda informacin y por lo tanto, que ocupa espacio en un tablespace. Los segmentos guardan informacin de esquemas, se identifican mediante el nombre del segmento calificado con el nombre del esquema al que pertenece.Los datafiles constan de Data Blocks, numerados consecutivamente. Un registro puede medir algunos cientos de bytes, pero cuando la sesin requiera obtener la informacin de un registro, el block (por completo) que contiene el registro ser copiado al DataBase Buffer Cache.El parmetro DB_BLOCK_SIZE es utilizado para dar formato a los datafiles, no se puede cambiar despus de definido ya que se utiliza para configurar el tablespace de SYSTEM.Los bloques se agrupan en extents. Un extent es un grupo de Data Blocks. Un segmento consiste de uno o ms extents ordenados numericamente.Un segmento contiene uno o ms extents. Oracle podr alojar uno o ms extents a cualquier tablespace que se le indique. Eventualmente, un extent se llenar. Si esto ocurre, Oracle alojar un segundo extent en el mismo tablespace, pero no necesariamente en el mismo datafile.Para asignar un extent a un tablespace, se utiliza la instruccin:ALTER TABLE nombreTabla ALLOCATE extent;Para revisar todos los extents de la Base de Datos, se utiliza la vista dba_extents.SELECT * FROM dba_extents; Un extent consta de uno o ms data blocks numerados consecutivamente. Todo bloque tendr una rea de cabecera (header) y una rea de informacin. La cabecera es de tamao variable, entre otras cosas contiene un directorio de registros(el cual indica en que parte del bloque inicia cada registro) y una rea para bloquear los registros que se encuentren en una transaccin.Un espacio libre se va fragmentado conforme se vaya insertando, actualizando o borrando informacin. Esto es insignificante, ya que todo esto ocurre en memoria(en el DataBase Buffer Cache). Despus, la informacin se copiar a disco.Los datafiles pueden existir en cuatro tipos de dispositivos: Local File Systems Clustered File Systems ASM Disk Groups Raw DevicesFile System: Los archivos son tratados como cualquier otro fichero del Sistema Operativo alojados en discos que trabajan directamente con la instancia que se esta ejecutando.Clustered File Systems: Un Clustered File System consiste en un conjunto de discos externos montados al mismo tiempo en mas de una computadora a la vez. El Clustered File System, controla los accesos a los discos por medio de procesos que se ejecutan en computadoras pertenecientes al cluster.Raw Devices: Es posible crear datafiles en discos que no posean algn sistema de archivos.ASM: Es un manejador lgico el cual le permite a Oracle gestionar un grupo de Raw Devices. ASM es un manejador de volumenes diseado para los archivos de Oracle. Puede manejar backup files, archived redo log files, control files, etc.Los Tablespaces son repositorios de esquemas de informacin. Todas las Bases de Datos deben tener un SYSTEM, SYSAUX, undo y temporary tablespace.Un smallfile tablespace es un tablespace al cual se le pueden asignar uno ms archivos. Mientras que a un bigfile tablespace se le puede asignar solamente un datafile.Un tablespace se puede renombrar mientras esta en uso, pero un datafile no, ya que debe renombrase tanto a nivel Sistema Operativo como a nivel Base de Datos.Los cambios ms comunes que se hacen a un tablespace son: Renombramiento. Ponerlos conectados y desconectados. Ponerlos en solo lectura o lectura/escritura. Cambiarlos de tamao.La sintaxis para renombrar un tablespace es la siguiente:ALTER TABLESPACE nombreTablespace RENAME TO nombreTablespaceInternamente, Oracle mantiene la relacin de tablespaces y datafiles por medio del nmero de datafile.Un online tablespace o datafile est disponible para su uso. Mientras que un offline tablespace o datafile existen como una definicin del diccionario de datos pero no puede ser utilizado.La sintaxis para poner offline a un tablespace es la siguiente:ALTER TABLESPACE nombreTablespace OFFLINE [ NORMAL | IMMEDIATE | TEMPORARY ] Un offline de manera normal, forzar un checkpoint para todos los datafiles pertenecientes al tablespace. Todo dirty buffer en el DataBase Buffer Cache que pertenezca al tablespace ser escrito en el datafile y posteriormente, tanto los tablespaces como datafiles se pondrn offline.Un offline de manera inmediata, pondr tanto al tablespace como al datafile en modo offline sin copiar dirty buffer alguno. En consecuencia de esto, los datafiles estarn en un estado inconsistente y tendrn que ser reconstruidos por medio de los vector changes que se encuentran en los redo logs antes de que el tablespace se pueda poner online nuevamente.Un offline de manera temporal aplicar un checkpoint a todos los datafiles a los cuales se les pueda aplicar y despus de esto, pondr al tablespace en modo offline de una manera ordenada. Cualquier archivo daado se pondr offline inmediatamentePoner a un tablespace en modo read only, causar que el tablespace no sea afectado por sentencias DML. Su sintaxis es la siguiente:ALTER TABLESPACE nombreTablespace [ READ ONLY | READ WRITE ] Un tablespace puede ser cambiado de tamao ya sea que se le agreguen datafiles o se le ajusten los datafiles que ya le pertenecen. Su sintaxis es la siguiente:ALTER TABLESPACE DATAFILE nombreDatafile RESIZE n[ M | G | T ] Un incremento en la memoria se podr lograr siempre y cuando quede espacio en disco o se podr bajar siempre y cuando el espacio no se haya sido utilizado.Para aadir un datafile a un tablespace se utiliza la siguiente instruccin:ALTER TABLESPACE nombreTablespace ADD DATAFILE rutaDatafile SIZE n[m | G | T ] Para modificar un datafile y aadirle extensin automtica se utiliza la siguiente instruccin:ALTER DATABASE DATAFILE rutaDataFile AUTOEXTEND ON NEXT n[m | G | T ] MAXSIZE n[m | G | T ]Para dar de baja un tablespace, es necesario utilizar la instruccin DROP TABLESPACE. Su sintaxis es la siguiente:DROP TABLESPACE nombreTablespace [ INCLUDING CONTENTS [ AND DATAFILES ] ]Si no se especifica la instruccin INCLUDING CONTENTS, el drop del tablespace fallar si existen objetos en el tablespace. Esta instruccin hace que se den de baja los objetos primero y posteriormente el tablespace.Si no se especifica la instruccin AND DATAFILES, los datafiles continuarn existiendo en disco. Oracle no sabr nada de ellos y tendrn que ser borrados con comandos del Sistema Operativo.Los Oracle Managed Files le quitan la necesidad al DBA de tener conocimiento alguno del Sistema Operativo. La creacin de los archivos de la Base de Datos puede ser totalmente automtica. Para que esto sea posible se deben fijar algunos parmetros de la instancia tales como:DB_CREATE_FILE_DEST: Ubicacin de todos los Datafiles.DB_CREATE_ONLINE_LOG_DEST_n: Ubicacin de los Online Redo Logs.DB_RECOVERY_FILE_DEST: Ubicacin de los Archived Redo Logs y Backup Files.As como se especifican ubicaciones de archivos por default, tambin se especifican tamao y nombres de archivo.La administracin de espacio ocurre a varios niveles. Primero, se le asigna espacio a algn tablespace, esto se hace ajustando el espacio en los datafiles. Posteriormente, el espacio de un tablespace es asignado a segmentos, esto por medio de alojamiento de extents. Tercero, el espacio de los segmentos es asignado a los registros. Esto se lleva a cabo manteniendo bitmaps que busquen espacio libre en cada data block.La administracin de extents es fijado por el tablespace y es aplicado a todos los extents pertenecientes al tablespace. Puede ser de dos maneras: Local Extent Management Data Dictionary ManagementDictionary Extent Management utiliza dos tablas: SYS.UET$ y SYS.FET$ para encontrar espacio disponible para aplicar sentencias DML y alojar informacin en segmentos.Local Extent Managament utiliza bitmaps en todos los datafiles que pueden ser actualizados de forma concurrente. Para crear un tablespace con local extent management, se utiliza la siguiente sintxis:CREATE TABLESPACE nombreTablespace DATAFILE Ruta Datafile SIZE n[ m | G | T ] EXTENT MANAGEMENT LOCAL UNIFORM SIZE n[ m | G | T ] Cuando se especifica un uniform size (tamao uniforme), entonces todo segmento alojado en el tablespace ser de este tamao.El manejamiento de espacio de segmentos es fijado por tablespace y aplica a todos los segmentos en el tablespace. Existen dos tcnicas utilizadas para manejar los segmentos:1. Manual2. AutomticaEl manejo automtico de tablespaces utiliza bitmaps que describen que tan lleno est cada bloque. Existen cinco bitmaps por cada segmento y cada bloque aparecer exactamente en un bitmap.Administracin de Base de DatosAdministrador de base de datos (DBA):Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene(n) experiencia en DBMS, diseo de bases de datos, Sistemas operativos, comunicacin de datos, hardware y programacin.Los sistemas de base de datos se disean para manejar grandes cantidades de datos, la manipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de la DB como la provisin de mecanismos para la manipulacin de la DB, adems un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la integridad de la DB, a pesar de cadas del sistema o intentos de accesos no autorizados.Un objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertos detalles de cmo se almacenan y mantienen los datos.Persona que toma las decisiones estratgicas y de poltica con respecto a la DB de la empresa, y el DBA es quin proporciona el apoyo tcnico necesario para poner en prctica esas decisiones. Por tanto el DBA est encargado del control general del sistema en el nivel tcnico.Es importante entonces identificar el tipo de usuarios que acceden a una DB, que generalmente se clasificarn en dos tipos: desarrolladores y usuarios finales.Los Desarrolladores o Diseadores estn operando dentro de un DBMS en los Niveles de Diseo, Fsico y Conceptual.Nivel Fsico: Es aquel en el que se determinan las caractersticas de almacenamiento en el medio secundario. Los diseadores de este nivel poseen un amplio dominio de cuestiones tcnicas y de manejo de hardware (Uno o ms computadoras, medios de almacenamiento secundario como: discos duros, CDR, etc.Nivel Conceptual: Es aquel en el que se definen las estructuras lgicas de almacenamiento y las relaciones que se darn entre ellas. Ejemplos comunes de este nivel son el diseo de los registros y las ligas que permitirn la conexin entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos.El Usuario final es el que finalmente accede a la BD a travs del DBMS, conocido como Nivel de Edicin.Nivel de Edicin: Es aquel en el que se presenta al usuario final y que puede 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 DB y sus relaciones.Tareas y Funciones a Realizar por un Administrador de Base de DatosPara el DBA sus funciones principales son:

Conclusin.La administracin de las capacidades de la base de datos de una manera efectiva y eficaz proporciona un producto de calidad. El resultado final de los esfuerzos ser una base de datos seria, robusta, segura, ampliable y diseada para cumplir los objetivos de las aplicaciones a las que d servicio.En s, un sistema manejador de base de datos es el corazn de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar. En la mayora de los casos, el sistema operativo proporciona nicamente los servicios ms bsicos y el sistema de la base de datos debe partir de esa base y controlar adems el manejo correcto de los datos. As el diseo de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.Es importante aqu tener presente en forma breve, los medios en un sistema de cmputo en donde se pueden almacenar datos, usualmente llamada memoria, para tener una visin completa del DBMS y DB,En informtica, la Memoria (tambin llamada almacenamiento) se refiere a los componentes de una computadora, dispositivos y medios de almacenamiento que retienen datos informticos durante algn intervalo de tiempo. Las memorias de computadora proporcionan unas de las principales funciones de la computacin moderna, la retencin o almacenamiento de datos. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una Unidad Central de Procesamiento (CPU por su acrnimo en ingls, Central Processing Unit), implementa lo fundamental del modelo de computadora de Von Neumann, usado desde los aos 1940.Referencias.Jorge Snchez (2004), Principios Sobre Bases de Datos Relacionales. Recuperado de http://www.jorgesanchez.netM. Alejandro G (s.f), Bases de Datos, Centro Cultural Itaca S.C, clave MIS 308Pons Capote Olga (2005), Introduccin a las Bases de Datos. El Modelo Relacional, Thomson Paraninfo, S.A

45