Prueba Escrita DB
Prueba Escrita DB
Prueba Escrita DB
DCL: Lenguaje de Control de Datos Un Lenguaje de Control de Datos (DCL por sus siglas en ingls: Data Control Language) es un lenguaje proporcionado por el Sistema de Gestin de Base de Datos que incluye una serie de comandos SQL que permiten al administrador controlar el acceso a los datos contenidos en la Base de Datos. Algunos ejemplos de comandos incluidos en el DCL son los siguientes:
GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas. REVOKE: Permite eliminar permisos que previamente se han concedido con GRANT.
Las tareas sobre las que se pueden conceder o denegar permisos son las siguientes:
En Oracle, la ejecucin de un comando DCL implica un COMMIT de forma implcita. Sin embargo, en PostgreSQL, la ejecucin de un comando DCL forma parte de una transaccin, por lo que puede ser deshecha mediante el comando ROLLBACK. 2. DML: Lenguaje de Manipulacin de Datos (Data Manipulation Language, DML) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. Clasificacin del lenguaje de manipulacin de datos Son DML : Select, Insert, Delete y Update Se clasifican en dos grandes grupos:
Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final.
En los lenguajes no procedimentales el usuario describe la informacin deseada sin un procedimiento especfico para obtener esa informacin. 3. DDL: Lenguaje de definicin de datos Un lenguaje de definicin de datos (Data Definition Language, DDL por sus siglas en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definicin de las estructuras que almacenarn los datos as como de los procedimientos o funciones que permitan consultarlos. Un Data Definition Language o Lenguaje de descripcin de datos ( DDL ) es un lenguaje de programacin para definir estructuras de datos . El DDL trmino fue introducido por primera vez en relacin con el Codasyl modelo de base de datos, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripcin de datos que describen los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos . Ms tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genrico para referirse a cualquier lenguaje formal para describir datos o estructuras de informacin, como los esquemas XML. SQL A diferencia de muchos lenguajes de descripcin de datos, SQL utiliza una coleccin de verbos imperativo cuyo efecto es modificar el esquema de la base de datos, aadiendo, cambiando o eliminando las definiciones de tablas y otros objetos. Estas declaraciones se pueden mezclar libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente. La declaracin ms comn es CREATE TABLE. El lenguaje de programacin SQL, el ms difundido entre los gestores de bases de datos, admite las siguientes sentencias de definicin: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos. CREAR Crear - Para hacer una nueva base de datos, tabla, ndice, o consulta almacenada. A CREAR declaracin en SQL crea un objeto dentro de un sistema de gestin de bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden crear depende del RDBMS est siendo utilizado, pero la mayora de apoyar la creacin de tablas , ndices , usuarios , sinnimos y bases de datos . Algunos sistemas (como PostgreSQL ) permiten CREAR , y otros comandos DDL, en el interior de una transaccin y por lo tanto puede ser revertido . Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementacin del estndar SQL que lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios especficos o a un rol creado dentro de la base de datos.
Cuadro sentencia crear Tal vez la ms comn CREAR comando es el CREATE TABLE comando. El uso tpico es: CREATE [TEMPORARY] TABLA tabla [nombre] ( [columna definiciones] ) [tabla de parmetros] . 4. SGDB o SMDB: Los sistemas de gestin de bases de datos (en ingls database management system, abreviado DBMS) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Propsito El propsito general de los sistemas de gestin de bases de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirn en informacin relevante para una organizacin. Objetivos Existen distintos objetivos que deben cumplir los SGBD:
Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programacin de este tipo de condiciones. Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Manejo de transacciones. Una transaccin es un programa que se ejecuta como una sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho ms simple que si no se dispusiera de ellos.
Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD demora en proporcionar la informacin solicitada y en almacenar los cambios realizados.
Ventajas
Proveen facilidades para la manipulacin de grandes volmenes de datos (ver objetivos). Entre stas: o Simplifican la programacin de equipos de consistencia. o Manejando las polticas de respaldo adecuadas, garantizan que los cambios de la base sern siempre consistentes sin importar si hay errores correctamente, etc. o Organizan los datos con un impacto mnimo en el cdigo de los programas. o Disminuyen drsticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperacin de los datos.
Inconvenientes 1. Tpicamente, es necesario disponer de una o ms personas que administren la base de datos, de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o ms personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operacin en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. 2. Si se tienen muy pocos datos que son usados por un nico usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una hoja de clculo. 3. Complejidad: los software muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al mximo. 4. Tamao: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamao, que requiere de gran cantidad de memoria para poder correr. 5. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero. Productos SGBD disponibles en el mercado Sistemas libres
PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD Firebird basada en la versin 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0. SQLite (http://www.sqlite.org SQLite) Licencia Dominio Pblico
DB2 Express-C (http://www.ibm.com/software/data/db2/express/) Apache Derby (http://db.apache.org/derby/) MariaDB (http://mariadb.org/) MySQL (http://dev.mysql.com/) Drizzle (http://www.drizzle.org/)
Sistemas no libres
MySQL: Licencia Dual, depende del uso. No se sabe hasta cundo permanecer as, ya que ha sido comprada por Oracle. Sin embargo, existen 2 versiones: una gratuita que sera equivalente a la edicin "express" SQL server de Microsoft Windows, y otra ms completa de pago. Advantage Database dBase FileMaker Fox Pro gsBase IBM DB2: Universal Database (DB2 UDB) IBM Informix Interbase de CodeGear, filial de Borland MAGIC Microsoft Access Microsoft SQL Server NexusDB Open Access Oracle Paradox PervasiveSQL Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase IBM IMS Base de Datos Jerrquica CA-IDMS
Microsoft SQL Server Compact Edition Basica Sybase ASE Express Edition para Linux (edicin gratuita para Linux) Oracle Express Edition 10 (solo corre en un servidor, capacidad limitada)
5. DBA: El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una base de datos.
6. Funciones:
Recuperabilidad - Crear y probar Respaldos Integridad - Verificar o ayudar a la verificacin en la integridad de datos Seguridad - Definir o implementar controles de acceso a los datos Disponibilidad - Asegurarse del mayor tiempo de encendido Desempeo - Asegurarse del mximo desempeo incluso con las limitaciones Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos.
El diseo lgico y fsico 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 estn asignadas a los analistas de bases de datos o a los diseadores de bases de datos. Deberes Los deberes de un administrador de bases de datos dependen de la descripcin del puesto, corporacin y polticas de Tecnologas de Informacin (TI). Por lo general se incluye recuperacin de desastres (respaldos y pruebas de respaldos), anlisis de rendimiento y optimizacin, y cierta asistencia en el diseo de la base de datos.
Debe incorporarse una metodologa basada en calidad y administracin de riesgos al proceso de la administracin de bases de datos. Disponibilidad La disponibilidad significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. De manera incremental los negocios han ido requiriendo que su informacin est disponible todo el tiempo (24x7", o siete das a la semana, 24 horas del da). La industria de TI ha respondido a estas necesidades con redundancia de red y hardware para incrementar las capacidades administrativas en lnea. siempre y cuando estes en la administracion de la TI. Recuperabilidad La recuperabilidad significa que, si se da algn error en los datos, hay un bug de programa de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en
estado consistente antes de que el dao se causara. Las actividades de recuperacin incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de dao o prdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del rea en antelacin a un desastre anticipado. La recuperacin es una de las tareas ms importantes de los DBA's. La recuperabilidad, frecuentemente denominada "recuperacin de desastres", tiene dos formas primarias. La primera son los respaldos y despus las pruebas de recuperacin. La recuperacin de las bases de datos consisten en informacin y estampas de tiempo junto con bitcoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitcoras, la diferencia reside en que el DBA debe sacar de lnea la base de datos en caso de llevar a cabo una recuperacin. Las pruebas de recuperacin consisten en la restauracin de los datos, despus se aplican las bitcoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de lnea sustituyendo con una copia de la base de datos. Si el DBA (o el administrador) intentan implementar un plan de recuperacin de bases de datos sin pruebas de recuperacin, no existe la certeza de que los respaldos sean del todo vlidos. En la prctica, los respaldos de la mayora de los RDBMSs son raramente vlidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores Integridad La integridad de una base de datos significa que, la base de datos o los programas que generaron su contenido, incorporen mtodos que aseguren que el contenido de los datos del sistema no se rompan as como las reglas del negocio. Por ejemplo, un distribuidor puede tener una regla la cual permita que slo los clientes individuales puedan solicitar rdenes; a su vez cada orden identifique a uno y slo un proveedor. El servidor Oracle y otros DBMSs relacionales hacen cumplir este tipo de reglas del negocio con limitantes, las cuales pueden ser configuradas implcitamente a travs de consultas. Para continuar con este ejemplo, en el proceso de insercin de una nueva orden a la base de datos, est a su vez tendra que cerciorarse de que el cliente identificado existen en su tabla para que la orden pueda darse. Seguridad Seguridad significa la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las polticas del negocio, as como, las decisiones de los encargados. Al igual que otros metadatos, una DBMS relacional maneja la
seguridad en forma de tablas. Estas tablas son las "llaves del reino" por lo cual se deben proteger de posibles intrusos. Rendimiento El rendimiento significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es slo uno de los elementos que determinan la experiencia de los usuarios en lnea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras reas del sistema fuera de las lneas burocrticas tradicionales. Desarrollo/Soporte a pruebas Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad ms importante de un DBA. Las actividades de soporte incluyen la colecta de datos de produccin para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeo; y hacer cambios a los diseos de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas. Algunos roles del personal de TI relacionados con la administracin de base de datos:
7. Instrucciones DML: Select, Insert, Delete, Update, FOR, From y Top 8. Instrucciones DDL: CREATE DATABASE: Crea una nueva base de datos y el archivo usado para almacenarla. CREATE TABLE: Crea una nueva tabla. ALTER TABLE:Modifica la definicin de una tabla alterando, agregando o eliminando columnas y restricciones. CREATE INDEX:Crea un ndice en una tabla determinada. DROP INDEX:Quita uno o varios ndices de la base de datos actual. DROP TABLE: Quita la definicin de una tabla y todos sus datos, ndices y restricciones.