Unidad 6 Flashcards
SQL
El Lenguaje de consulta estructurado (SQL Structured Query Language) es un lenguaje declarativo que da acceso a bases de datos relacionales y que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo hacer:
● consultas con el fin de recuperar información
● cambios con el fin de agregar, borrar y modificar información
en una base de datos.
Lenguajes declarativos y procedimentales
Lenguajes declarativos solo hay que indicar que se quiere hacer.
Lenguajes procedimentales, es necesario especificar cómo hay que hacer cualquier acción sobre la BD.
Características Generales (SQL)
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos.
Es un lenguaje declarativo de alto nivel o de no procedimiento, permite una alta productividad en codificación. De esta forma una sola sentencia puede equivaler a uno o más programas que utilizas en un lenguaje de bajo nivel.
Optimización (SQL)
El uso de índices acelera una instrucción de consulta, pero ralentiza la actualización de los datos.
Dependiendo del uso de la aplicación, se priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en cada motor de base de datos y depende de muchos
factores.
Componentes de SQL
● Lenguaje de Definición de datos (DDL)
● Lenguaje de Manejo de datos (DML)
● Lenguaje de Control de datos (DCL)
● Lenguaje de Control de Transacciones (TCL)
Lenguaje de Definición de Datos (DDL)
El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el que se encarga de la
modificación de la estructura de los objetos de la base de datos
Diccionario de Datos
El Diccionario de Datos o catálogo, es una base de datos del sistema que contiene información sobre las
bases de datos, las tablas, las vistas, los derechos de acceso, usuarios y demás elementos del motor de
base de datos.
El ANSI indica que el diccionario de datos debe ser accedido a través de una serie de vistas conocidas como
INFORMATION_SCHEMA.
Se puede consultar utilizando las instrucciones SELECT del SQL.
Operaciones Básicas del DDL
● CREATE -> para crear base de datos, tablas, dominios, aserciones y vistas
● ALTER -> para modificar tablas y dominios
● DROP -> para borrar base de datos, tablas, dominios aserciones y vistas
● TRUNCATE.-> para eliminar datos de una tabla
Vistas
Las vistas no existen realmente como un conjunto de valores almacenados en la base de datos, sino que
son tablas ficticias. Se construyen a partir de tablas reales
(materializadas) almacenadas en la base de datos.
La no existencia real de las vistas hace que puedan ser actualizables o no, simplifican las consultas generando independencia de los datos
Además podemos clasificar a las vistas en
● Simples: Poseen una sola tabla, no contiene funciones, no contiene grupos. Por estas características se pueden hacer operaciones de DML a través de la vista
● Compuestas: Poseen una o más tablas, contienen funciones y/o funciones de grupo. Por estas características NO se pueden hacer operaciones de DML a través de la vista
Lenguaje de Manipulación de Datos (DML)
Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos.
Operaciones Básicas del DML
● INSERT para agregar filas a una tabla,
● UPDATE para modificar filas de una tabla,
● DELETE para borrar filas de una tabla
Una vez que hemos insertado valores en nuestras tablas, tenemos que poder consultarlos.
La sentencia para hacer consultas a una base de datos con el SQL92 es:
● SELECT FROM.
Lenguaje de Control de Datos (DCL)
Establece mecanismos de control para resolver garantizar la seguridad de los datos.
Para la seguridad veremos cómo se puede autorizar y denegar privilegios a usuarios para acceder a la
base de datos.
Autorizaciones
Privilegios puede ser:
● ALL PRIVILEGES: todos los privilegios sobre el objeto especificado.
● USAGE: utilización del objeto especificado; en este caso el dominio.
● SELECT: permisos de consultas.
● INSERT [(columnas)]: permisos para insertar registros. Se puede definir las columnas sobre las que
se asigna el permiso
● UPDATE [(columnas)]: permisos para modificar registros. Se puede definir las columnas sobre las
que se asigna permiso.
● DELETE: permisos para borrar registros.
● REFERENCES [(columna)]: referencia del objeto en restricciones de integridad. Se puede definir a
qué columnas.
Objeto puede ser:
● DOMAIN: nombre_dominio
● TABLE: nombre_tabla.
● VIEW: nombre_vista
Usuarios pueden ser todos: PUBLIC, o bien una lista de los identificadores de los usuarios que queremos
autorizar.
WITH GRANT OPTION permite que el usuario que autoricemos pueda, a su vez, autorizar a otros usuarios a
acceder al objeto con los mismos privilegios con los que ha sido autorizado.
Lenguaje de Control de Transacciones (TCL)
Una transacción es una unidad lógica de trabajo. O informalmente, y trabajando con SQL, un conjunto de
sentencias que se ejecutan como si fuesen una sola. En general, las sentencias que forman parte de una
transacción se interrelacionan entre sí, y no tiene sentido que se ejecute una sin que se ejecuten las demás.
Diferencia entre COMMIT y ROLLBACK
● COMMIT confirma todos los cambios producidos en la BD durante la ejecución de la transacción
● ROLLBACK deshace todos los cambios que se hayan producido en la base de datos y la deja como
estaba antes del inicio de nuestra transacción.