Codea Blog  

Blog Details

Base de datos - Sublenguajes DCL y TCL

BASE DE DATOS: SUBLENGUAJES DLC -TLC

Huamán Chicoma Danfer Arián

danfer.huaman.c@uni.pe

Primer Bootcamp de Tecnología Aplicado a la Minería LATAM

CODEa UNI

Lima, Perú

CONTEXTO HISTÓRICO:

• Década de 1950 y principios de la década de 1960. La regla era el tratamiento de archivos secuenciales. Se desarrollaron las cintas magnéticas para el almacenamiento de datos. Las tareas de procesamiento de datos tales como las nóminas fueron automatizadas, con los datos almacenados en cintas. El procesamiento de datos consistía en leer datos de una o más cintas y escribir datos en una nueva cinta. Los datos también se podian introducir desde paquetes de tarjetas perforadas e impresos en impresoras. Todos los datos se almacenaban en archivos secuenciales, que exigían el tratamiento de archivos completos por los programas de aplicación, como ejemplo se puede mencionar que en aquellos tiempos la Nasa trabajaba en el proyecto Apolo. Para manejar toda la información que genera este proyecto, la North American Aviation, desarrolla el software GUAM (General Update Access Method). Este se basa en una estructura jerárquica como una especie de árbol, en que cada dato se desprende de otro, que a su vez dependen de uno mayor, como un tronco y las ramas de un árbol.

 

• En 1970, un artículo histórico de Codd, definió el modelo relacional y formas no procedimentales de consultar los datos en el modelo relacional, y nacieron las bases de datos relacionales. La simplicidad del modelo relacional y la posibilidad de ocultar completamente los detalles de implementación al programador fueron realmente atractivas. Inmediatamente después, se desarrollaron los sistemas de base de datos en redes que soportaron interrelaciones entre registros de archivos diferentes mucho más complejas.

 

• Hacia 1976, Chen diseña el modelo entidad-relación, buscando aumentar la capacidad de los sistemas para modelar los datos. En los años 80, se desarrolla el que es conocido como el lenguaje estándar de los modelos relacionales, el SQL (Structured Query Language).

 

Por ello se dice que en la medida en las empresas comenzaron a darse cuenta del valor de la información y del enorme potencial que los sistemas computacionales representaban para organizar y administrar estos recursos, se fue produciendo una demanda muy fuerte de sistemas de información y un reconocimiento siempre creciente de que la información como recurso que tiene valor necesita estar organizada y administrada. Aun cuando en las empresas se acostumbre a trabajar con activos tangibles, tales como el dinero, las instalaciones y el personal, cuyo valor puede evaluarse con cierta precisión, ha sido muy difícil de medir el valor de la información. Sin embargo, está claro que si los directivos tienen buena información, es más probable que puedan tornar decisiones pertinentes y certeras con un mayor impacto positivo en su negocio. Y viceversa, si su información es pobre, ellos deben trabajar con más incertidumbre y es menos probable que tomen decisiones convenientes. El desarrollo de los sistemas de bases de datos se convirtió en crucial para proporcionar información correcta y oportuna a los directivos.

 

¿QUÉ ES UNA BASE DE DATOS?

Una base de datos incluye información masiva depositada en un marco, lo que facilita la localización y exploración de información relevante. Una base de datos bien diseñada contiene información precisa y actualizada para análisis e informes. No podemos enfatizar lo suficiente en la importancia de una base de datos para una empresa que maneja montones de datos con regularidad. El diseño de la base de datos puede desempeñar un papel crucial a la hora de ejecutar consultas de forma eficiente y garantizar la coherencia de la información.

 

La Base de datos pueden clasificarse de acuerdo a 2 grandes criterios:

• Según el contenido de ellas: Aquí encontramos las bases de datos dinámicas, las que almacenan datos que cambian en el tiempo. Ello porque no sólo permiten consultas, sino también agregar, eliminar o actualizar datos contenidos en ellas, como las usadas en bibliotecas o centros de documentación. Mientras que las bases estáticas, son aquellas que almacenan datos que permanecen en el tiempo sin sufrir cambios, llamados datos de lectura. Son útiles para realizar estudios de comportamiento, proyecciones y tomar decisiones.

 

• Según la variabilidad de los datos almacenados: Aquí aparecen las bases bibliográficas. Estas son típicamente las que se usan en bibliotecas, pues direccionan hacia un registro que representa una fuente primaria, como lo es la descripción bibliográfica de un libro, a diferencia de las de texto completo que si llevan a la fuente primaria, como por ejemplo servicios de libros en línea. Mientras que los directorios, contienen una guía alfabética de datos, típicamente identificados con las guías telefónicas. Finalmente, las llamadas bibliotecas de información biológica, contienen información relacionada a la medicina y la biología, como las bases de datos clínicas.

 

Fig. 1 Tipos de bases de datos

 

SQL (Structured Query Language Lenguaje Estructurado de Consulta)

 

Es un lenguaje estándar utilizado para crear, modificar, mantener y consultar una base de datos relacional. Lo creó IBM a principios de los años 70. Una start-up llamada Relational Software produjo la primera versión comercial en 1979. Esta start- up se convirtió posteriormente en Oracle Corp

 

El lenguaje SQL se divide en varios subconjuntos:

• El DDL (Data Definition Language), que agrupa todos los comandos utiliza- dos para crear, modificar o eliminar las estructuras de la base de datos (ta- blas, índices, vistas, etc.). Se trata principalmente de los comandos CREATE, ALTER y DROP.

• El DML (Data Manipulation Language), que agrupa los comandos utilizados para manipular los datos contenidos en la base de datos. Se trata principal- mente de los comandos SELECT, INSERT, DELETE y UPDATE.

• El DCL (Data Control Language), que agrupa los comandos utilizados para administrar la seguridad de acceso a los datos. Se trata principalmente de los comandos GRANT y REVOKE.

• El TCL por (Transaction Control Language), que agrupa los comandos utiliza- dos para administrar la confirmación o no de actualizaciones realizadas sobre la base de datos. Se trata principalmente de los comandos COMMIT y ROLLBACK.

 

Fig. 2 Sublenguajes SQL

Para fines del presente artículo solo se tratarán los sublenguajes DCL y TCL:

 

• Sublenguaje DCL: Se centra en las operaciones de control de datos y seguridad. A través de comandos DCL, los administradores de bases de datos pueden autorizar o denegar acceso a usuarios y roles específicos, establecer permisos de lectura y escritura, y controlar quién puede ejecutar determinadas operaciones en la base de datos. Estas medidas son esenciales para garantizar la confidencialidad, la integridad y la disponibilidad de los datos almacenados. El lenguaje SQL permite asignar derechos a los usuarios a través de comandos DCL (Data Control Language o en castellano lenguaje de control de los datos (LCD)). La seguridad de los datos es muy importante en una empresa, por tanto estas funciones se tienen que manejar con precaución. En una empresa existen tipos de usuarios muy diferentes. Algunos simple- mente quieren consultar algunas tablas, otros tienen que insertar y modificar datos, las personas del departamento de informática tendrán necesidades más amplias como crear o eliminar tablas. Antes de asignar derechos a una tabla, hay que clasificar a todos los usuarios de la base de datos en función de su trabajo y determinar para cada uno qué tablas utiliza y para cada una de las tablas indicar si puede actualizar o sólo tener acceso de lectura. Las principales sentencias de este sublenguaje son:


○ GRANT: La sentencia GRANT se utiliza para otorgar permisos específicos a usuarios o roles para acceder a objetos de la base de datos. Puedes especificar qué operaciones están permitidas (por ejemplo, SELECT, INSERT) y en qué objetos (tablas, vistas) se aplican estos permisos.


○ REVOKE: La sentencia REVOKE se utiliza para revocar permisos previamente otorgados. Puedes quitar los derechos de acceso a ciertos usuarios o roles para ciertos objetos o acciones específicas.

 

• Sublenguaje TCL: Se encarga de gestionar las transacciones en una base de datos. Las transacciones son secuencias de operaciones que se consideran una unidad indivisible. El sublenguaje TCL permite iniciar, confirmar o deshacer transacciones, asegurando que las operaciones se realicen de manera coherente y que se mantenga la integridad de la base de datos en situaciones de fallo. es un subconjunto del lenguaje SQL (Structured Query Language) que se utiliza para controlar las transacciones en una base de datos. Las transacciones son secuencias de operaciones de base de datos que se consideran como una única unidad de trabajo. TCL permite garantizar la consistencia y la integridad de los datos cuando se realizan operaciones de múltiples pasos en una base de datos. Las principales sentencias son:


○ COMMIT: La sentencia COMMIT se utiliza para confirmar una transacción en una base de datos. Cuando se ejecuta COMMIT, todos los cambios realizados en la transacción se vuelven permanentes y se guardan en la base de datos. Esto significa que los cambios son visibles para otros usuarios y las operaciones posteriores se basarán en los datos actualizados.
○ ROLLBACK: La sentencia ROLLBACK se utiliza para deshacer una transacción en una base de datos y restaurar la base de datos al estado anterior a la transacción. Si se encuentra un error o una condición que requiere la reversión de la transacción, se puede usar ROLLBACK para deshacer todos los cambios no confirmados.
○ SET TRANSACTION: La sentencia SET TRANSACTION se utiliza para configurar atributos específicos para una transacción, como el nivel de aislamiento y otras características relacionadas con el control de la concurrencia


En resumen, el Lenguaje de Control de Transacciones (TCL) en SQL se utiliza para gestionar y controlar las transacciones en una base de datos, garantizando la integridad y la consistencia de los datos en operaciones complejas y asegurando que las transacciones sean atómicas.

Comentarios

Registrate o Inicia Sesión para comentar y obtener Cursos de pago gratis

function loadurl(){ var val1 = document.getElementById("valor3").value; console.log(val1); if(val1){ window.location = "/comunidad/blog/filtrar/"+val1+"/"} }