sistema avanzado de base de datos

18
1. Sistema Manejador de Base de Datos El sistema manejador de bases de datos es un conjunto de programas que se encargan de manejar la creación y todos los accesos a la base de datos. Se compone de un lenguaje de definición de datos (DDL), un lenguaje de manipulación de datos (DML) y de un lenguaje de consulta (SQL). El SMBD sirve como interfaz entre la base de datos física y las peticiones del usuario. El SMBD interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En resumen, un SMBD es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar. 2. Objetivos de un Sistema Manejador de Base de Datos. Permitir la definición de todos los datos. Permitir manipular los datos. Establecer controles para la seguridad de los datos. Permitir accesos concurrentes. 3. Funciones de los Sistemas Manejadores de Base de

Upload: jose-yanez

Post on 05-Sep-2015

221 views

Category:

Documents


2 download

DESCRIPTION

teoría acerca de SABD

TRANSCRIPT

1. Sistema Manejador de Base de DatosEl sistema manejador de bases de datos es un conjunto de programas que se encargan de manejar la creacin y todos los accesos a la base de datos. Se compone de un lenguaje de definicin de datos (DDL), un lenguaje de manipulacin de datos (DML) y de un lenguaje de consulta (SQL).El SMBD sirve como interfaz entre la base de datos fsica y las peticiones del usuario. El SMBD interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En resumen, un SMBD es el corazn de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.2. Objetivos de un Sistema Manejador de Base de Datos. Permitir la definicin de todos los datos. Permitir manipular los datos. Establecer controles para la seguridad de los datos. Permitir accesos concurrentes.3. Funciones de los Sistemas Manejadores de Base de Datos. Manejo de diccionario de datos: Definiciones y relaciones entre los datos. Transformacin y presentacin de los datos: Transformacin de los datos nuevos para que satisfaga la estructura definida. Seguridad: Fortalecer la seguridad y privacidad de la informacin. Control de Concurrencia: Controla el acceso multiusuario. Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar la consistencia de los datos. Integridad de datos: Minimiza la redundancia y maximiza la consistencia. Consiste en contar con mecanismos que permiten el control de la consistencia de los datos, evitando que estos se vean perjudicados por cambios no autorizados o previstos. Lenguaje de acceso a la base de datos: Interfaz para la programacin de aplicaciones. Provee acceso a los datos va lenguaje de consulta SQL y va lenguaje procedural (pascal, c, etc). Interfaz de comunicacin de datos: Permite el requerimiento de usuarios en ambiente de red. Crea y organiza la base de datos, establece y mantiene las trayectorias de acceso a la base de datos para que puedan ser accesados rpidamente. Maneja los datos de acuerdo a las peticiones de los usuarios. Registra el uso de la base de datos. Interaccin con el manejador de archivos: Esto la hace a travs de sentencias en DML al comando del sistema de archivos. As el SMBD es el responsable del verdadero almacenamiento de la informacin. Respaldo y recuperacin: Consiste en contar con mecanismos implantados que permiten la recuperacin fcilmente de los datos en caso de ocurrir fallas en el sistema.4. Niveles de un Sistema Manejador de Base de Datos.Los niveles estn definidos como una arquitectura esta a su vez sirve como referencia y es llamada como arquitectura referencial de tres niveles.Estos Niveles son: Nivel Interno: el nivel interno es el ms bajo de abstraccin, este describe que datos deben de ser almacenados realmente en la base de datos y las relaciones que existen entre los mismos, as se describe la base de datos completa en trminos de estructura de diseo.El diseo fsico es el proceso de producir la descripcin de la implementacin de la base de datos en la memoria segundaria estructuras de almacenamiento y mtodos de acceso que garanticen un acceso eficiente a los datos. Nivel Externo: es el nivel ms alto de abstraccin esto es lo que el usuario final puede visualizar una vez que el sistema est terminado.Las vistas son una forma lgica de ver los datos fsicos almacenados en tablas, cuando se crea una vista se selecciona un formato que incluye datos los cuales pueden ser tomados por una o ms tablas, aunque un usuario puede consultar una vista y manipularla, las vistas no estn almacenadas fsicamente.Dichas vistas son dinmicas porque los cambios que se realicen sobre las tablas base que afectan una vista se reflejan inmediatamente sobre ella. Nivel Conceptual: este nivel conceptual se describe como la lgica global de la base de datos mediante un modelo abstracto de datos comprensibles por el manejador de base de datos, se define la descripcin de atributos de entidades, conexiones y las restricciones de integridad asociadas a la semntica.Esta describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre ellos dan una descripcin completa de la base de datos en trmino de su estructura y diseo como tal.5. Seguridad que proporciona un Sistema Manejador de Base de Datos.Un SMDB cuenta con un subsistema de seguridad y autorizacin que se encarga de garantizar la seguridad de la base de datos contra el acceso no autorizado. Identificacin y autorizacin de usuarios: en este se utiliza los cdigos de acceso, palabras claves, impresiones digitales, reconocimientos de voz, entre otros ms. Autorizacin: en GNU/Linux (usa los derechos de acceso dados por el terminal), en Windows (uso de la Identificacin y autorizacin previa). Cifrado: es usado para proteger la base de datos distribuidos con previo acceso a internet. Tipos de Cuentas: cada cuenta tiene permisos en especficos segn sea el perfil creado por el administrador. Manejo de tabla usuario: cada usuario tiene cdigo y contrasea, lo cual facilita una auditoria a la base de datos.6. Criterios para la seleccin de un SMDB. Tamao de la base de datos (nmero de registros). Cantidad de usuarios concurrentes. Desempeo. Integracin. Caractersticas. Proveedor. Costo.7. Vas de Acceso.Entre las vas de accesos ms conocidos tenemos: Acceso Secuencial: el proceso lee en orden todos los registros del archivo comenzando por el principio sin poder saltar registros, leer en otro orden. Acceso Aleatorio: el proceso puede leer los registros en cualquier orden utilizando dos mtodos para determinar el punto de inicio en esto cada operacin de lectura da la posicin en el archivo con el cual iniciar, una operacin especial establece la posicin de trabajo pudiendo leerse despus como archivo secuencial. Ruta de Acceso Absoluta: cada archivo posee una ruta absoluta, consta de una ruta de acceso desde el directorio raz hasta el archivo, los componentes de la ruta de acceso se separan mediante algn carcter llamado separador. Control de acceso por clase de usuarios: una matriz de control de acceso puede ser muy grande y resulta ser muy difcil mantenerla, por eso se utiliza una tcnica que requiere menos espacio que controlar el acceso a varias clases de usuarios un ejemplo el administrador es el dueo del archivo, esta especifica quien puede usar el archivo. Si existe un grupo o proyecto los diferentes usuarios pueden acceder sobre el proyecto mediante archivos relacionados con dicho proyecto.8. Mtodo Hashing. Hash: se refiere a una funcin o mtodo para generar claves o llaves que representen de manera casi unvoca a un documento, registro, archivo, etc., resumir o identificar un dato a travs de la probabilidad, utilizando una funcin hash o algoritmo hash. Un hash es el resultado de dicha funcin o algoritmo. Funcin de Hash: Es una funcin para resumir o identificar probabilsticamente un gran conjunto de informacin, dando como resultado un conjunto imagen finito generalmente menor. Varan en los conjuntos de partida y de llegada y en cmo afectan a la salida similitudes o patrones de la entrada. Algoritmo de Hashing: Algoritmo que se utiliza para generar un valor de hash para algn dato, como por ejemplo claves. Un algoritmo de hash hace que los cambios que se produzcan en los datos de entrada provoquen cambios en los bits del hash. Gracias a esto, los hash permiten detectar si un dato ha sido modificado. SHA-1: algoritmo de hash seguro, algoritmo de sntesis que genera un hash de 160 bits. Se utiliza, por ejemplo, como algoritmo para la firma digital. MD2 y MD4 Algoritmos de hash que generan un valor de 128 bits. MD5 Esquema de hash de 128 bits muy utilizado para autenticacin cifrada. Gracias al MD5 se consigue, por ejemplo, que un usuario demuestre que conoce una contrasea sin necesidad de enviar la contrasea a travs de la red.9. Funciones de Hash. Residuo de la divisin: La idea de este mtodo es la de dividir el valor de la llave entre un numero apropiado, y despus utilizar el residuo de la divisin como direccin relativa para el registro (direccin = llave mdulo divisor).Mientras que el valor calculado real de una direccin relativa, dados tanto un valor de llave como el divisor, es directo; la eleccin del divisor apropiado puede no ser tan simple. Existen varios factores que deben considerarse para seleccionar el divisor Medio del cuadrado: En esta tcnica, la llave es elevada al cuadrado, despus algunos dgitos especficos se extraen de la mitad del resultado para constituir la direccin relativa. Si se desea una direccin de n dgitos, entonces los dgitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando n dgitos intermedios. Las mismas posiciones de n dgitos deben extraerse para cada llave. Mtodo por pliegue: En esta tcnica el valor de la llave es particionada en varias partes, cada una de las cuales (excepto la ltima) tiene el mismo nmero de dgitos que tiene la direccin relativa objetivo. Estas particiones son despus plegadas una sobre otra y sumadas. El resultado, es la direccin relativa. Igual que para el mtodo del medio del cuadrado, el tamao del espacio de direcciones relativas es una potencia de 10. Tabla Hash: Una tabla hash o mapa hash es una estructura de datos que asocia llaves o claves con valores. La operacin principal que soporta de manera eficiente es la bsqueda: permite el acceso a los elementos (telfono y direccin, por ejemplo) almacenados a partir de una clave generada (usando el nombre o nmero de cuenta, por ejemplo). Funciona transformando la clave con una funcinhashen un hash, un nmero que la tabla hash utiliza para localizar el valor deseado. Mtodo de Insercin: Consiste en ordenar de menor a mayor usando una estrategia que reside en comparar un valor con sus antecesoras, si este valor es menor que su antecesor, este valor se rueda hacia atrs tantas casillas ese valor sea menor a su antecesor y el antecesor se mueve hacia adelante. Hashing Abierto: A diferencia del hashing cerrado, cuando existe una colisin, el programa coloca los nmeros que colisionan en una lista, es decir, que trabaja el vector con memoria dinmica haciendo que la posicin que colisiona el numero se va incrementando una lista de esa posicin haciendo que este hash sea infinito, es decir, no tiene lmites. Hashing Cerrado: Es un vector que a medida que se le va introduciendo los nmeros se va dispersando por el vector mediante una funcin ya preestablecida en el programa; cuando ocurre una colisin, es decir, que el numero que introdujo el usuario al aplicarle la funcin da una posicin en el vector que ya estaba ocupado, el programa aplicar un sistema, primero aplicar una exploracin cuadrtica para encontrar otra casilla desocupada, esta exploracin consiste en sumarle a la posicin un contador que comienza en uno elevndolo al cuadrado hasta que llegue a la misma posicin en la cual colision; si esto sucede y no se encontr una casilla disponible entonces el programa ejecutar una exploracin lineal, esta consiste en sumarle la posicin que colision un contador que comienza en uno, si la suma se pasa el tamao del vector, se comienza de cero hasta llegar a la misma posicin en que colision; si esta exploracin no encontr ninguna casilla disponible entonces quiere decir que el vector est lleno y termina el programa.10. Indexacin.En una base de datos, un ndice es una estructura de datos que mejora la velocidad de las operaciones en las tablas de la misma. Los ndices pueden ser creados utilizando una o ms columnas de la base de datos, proporcionando las bases para un acceso rpido a los registros.La indexacin se usa para aumentar la eficiencia en cuanto a la bsqueda y registro de nuevos datos, esto se resume en tiempo de acceso a datos, tiempo de insercin de datos, tiempo de eliminacin de datos y espacio extra necesario para la indexacin de mas terminologa.Para aumentar la eficiencia de acceso e indexacin se disean estructuras adicionales asociadas a los archivos que mantienen la informacin de las bases de datos. Existen distintas formas generales para la indexacin y bsqueda. La indexacin ser ineficiente si se realizan muchas inserciones o eliminaciones. Se pueden indexar atributos a aquellos trminos que no se encuentran secuencialmente ordenados, como palabras compuestas utilizando etiquetas que direccionen la bsqueda y recuperacin de informacin.Existen distintas tcnicas de indexacin: Indexacin por acceso secuencial: Supone que los archivos (tuplas) se encuentran ordenados secuencialmente y por lo tanto tienen una llave de bsqueda primaria.Este a su vez se divide en ndice denso e ndice escaso: ndice Denso: Un registro de ndice para cada valor de la llave de bsqueda. El registro contiene el valor de la llave y un puntero a la tupla. Indice Escaso: Los registros del ndice solo existen para algunos valores de la llave. Indexacin por Arboles-B: Para mantener un ndice al atributo nombre. No es necesario que el archivo de datos (tabla) est ordenado en forma secuencial.11. Ejemplos de modelos internos de diferentes SMBD comerciales.Entre los SMBD comerciales tenemos: MySQL: Es un sistema de gestin de base de datos relacional, multihilo y multiusuario. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Es decir, que se ofrece bajo licencia libre (GNU GLP) como su licencia privativa para uso de empresas que deseen adquirirla.Entre sus caractersticas: Amplio subconjunto del lenguaje SQL. Disponibilidad en gran cantidad de plataformas y sistemas. Posibilidad de seleccin de mecanismos de almacenamiento que ofrecen diferente velocidad de operacin, soporte fsico, capacidad, distribucin geogrfica, transacciones. Transacciones y claves forneas. Conectividad segura. Replicacin. Bsqueda e indexacin de campos de texto. Seguridad: ofrece un sistema de contraseas y privilegios seguro mediante verificacin basada en el host y el trfico de contraseas est cifrado al conectarse a un servidor. Oracle: Es un sistema de gestin de base de datos relacional (o RDBMS por el acrnimo en ingls de Relational Data Base Management System), fabricado por Oracle Corporation.Se considera a Oracle como uno de los sistemas de bases de datos ms completos, destacando su: Soporte de transacciones. Estabilidad. Escalabilidad. Es multiplataforma.Su mayor defecto es su enorme precio, que es de varios miles de euros (segn versiones y licencias). Un inconveniente muy visto en ello, es que fue criticado por algunos especialistas, debido a la seguridad que esta posea, y las polticas de suministros de parches de seguridad, haciendo esto, un incremento en las exposiciones de los usuarios.Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta que hace aparicin de su competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Microsoft SQL Server: Es un sistema de gestin de bases de datos relacionales (SGBD) basada en el lenguajeTransact-SQL, capaz de poner a disposicin de muchos usuarios grandes cantidades de datos de manera simultnea. Entre sus caractersticas: Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye tambin un potente entorno grfico de administracin, que permite el uso de comandos DDL y DML grficamente. Permite trabajar en modo cliente-servidor donde la informacin y datos se alojan en el servidor y las terminales o clientes de la red slo acceden a la informacin. Adems permite administrar informacin de otros servidores de datos Microsoft SQL Server, al contrario de su ms cercana competencia, no es multiplataforma, ya que slo est disponible en Sistemas Operativos de Microsoft. Microsoft Access: Es un sistema de gestin de bases de datos Relacional creado y modificado por Microsoft (DBMS) para uso de pequeas empresas o para uso personal. Es un componente de la suite Microsoft Office. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas.Caractersticas: Crear tablas de datos indexadas. Modificar tablas de datos. Relaciones entre tablas (creacin de bases de datos relacionales). Creacin de consultas y vistas. Consultas referencias cruzadas. Consultas de accin (INSERT, DELETE, UPDATE). Formularios. Informes. Llamadas a la API de Windows. Interaccin con otras aplicaciones que usen VBA (resto de aplicaciones de Microsoft Office, Autocad, etc.). Macros. Interconexin con entornos de bases de datos de gran nivel (como por ejemplo SQL Server) a travs de vinculacin. Soporte de lectura de sistemas de archivos individuales (como FoxBase y similares) a travs de vinculacin e importacin de datos. Visual FoxPro: Es un lenguaje de programacin orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versin 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.Entre sus caractersticas: Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos. Flexibilidad para crear todo tipo de soluciones de bases de datos. Lenguaje de programacin Orientado a objetos. Utilizacin de sentencias SQL en forma nativa. Poderoso manejo de vistas y cursores y control completo de estructuras relacionales. Su propio gestor de base de datos incorporado. Sin embargo, tambin puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL. Cuenta con un motor de generacin de informes renovado y muy flexible para soluciones ms robustas. Desde la versin 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XLM.