ASIGNATURA: BASE DE DATOS
TEMA: LENGUAJES EN BASES DE DATOS
1.- LENGUAGE DE MANIPULACION DE DATOS MDL 2.- LENGUAJE DE DEFINICION DE DATOS DDL
3.- Lenguaje de Control de Datos (DCL)
CARRERA: COMPUTACION E INFORMATICA
LENGUAJE DE MANIPULACION DE DATOS (DML)
■ Las sentencias DML son aquellas utilizadas para insertar, borrar, modificar y consultar los datos de una base de datos.
■ Las sentencias DML, son las siguientes:
• Select
• Insert
• Update
• Delete
Sentencia SELECT (1)
■
Recupera información de la Base de Datos y permite la selección de una o más filas o columnas de una o muchas tablas.
■
Sintaxis:
SELECT lista_columnas FROM tabla_origen
[WHERE condición]
[GROUP BY columna1,…]
[HAVING condición]
[ORDER BY columna1, … [ASC][DESC]]
(*) Las cláusulas que están entre corchetes “[ ]” son opcionales.
Sentencia SELECT (2)
CursoID Nombre Crédito s
Horas
C01 Matemátic a
4 4
C02 Física I 4 4
C03 Algebra 3 4
C04 Filosofía 2 2
TABLA: CURSO
Sentencia
Select nombre, créditos, horas from curso
Requerimiento
Mostrar el nombre, numero de créditos y números de horas de los cursos.
Nombre Créditos Horas
Matemática 4 4
Física I 4 4
Algebra 3 4
Filosofía 2 2
Resultado
Como se puede observar solo se
visualiza los campos nombre, créditos y horas de los cursos.
Sentencia SELECT (3)
CursoID Nombre Créditos Horas
C01 Matemática 4 4
C02 Física I 4 4
C03 Algebra 3 4
C04 Filosofía 2 2
C05 Simulación 4 4
Sentencia
Select nombre, horas from Curso
Where creditos > 3
Nombre Horas
Matemática 4
Física I 4
Simulación 4
TABLA: CURSO
Requerimiento
Mostrar el nombre y numero de horas de los Cursos donde su numero de créditos sea mayor a 3.
Resultado
Como se puede observar solo se visualiza los campos nombre y horas de los cursos donde su numero de créditos es mayor a 3.
Sentencia INSERT (1)
■
La sentencia INSERT para agregar registros a una tabla
■
Sintaxis
INSERT [INTO] <Nombre de la Tabla>
[(<campo1,….>)]
VALUES (Valor1, ....)
Sentencia INSERT(2)
CursoI D
Nombre Credito s
Horas
C01 Matemática 4 4
C02 Fisica I 4 4
C03 Algebra 3 4
C04 Filosofia 2 2
TABLA: CURSO
Sentencia
Insert into Curso
(CursoID, nombre, creditos, horas) Values(“C05”,’’Simulación”,3,4)
Luego de ejecutar la sentencia se agrega al final de la tabla.
CursoI D
Nombre Credito s
Hora s C01 Matemátic
a
4 4
C02 Fisica I 4 4
C03 Algebra 3 4
C04 Filosofia 2 2
C05 Simulación 3 4
Resultado
Requerimiento
Registrar los datos del siguiente curso:
Código: C05, Nombre: Simulación, Créditos: 3 y Horas: 4.
Sentencia UPDATE (1)
■
Esta sentencia nos permite modificar la información de las tablas
■
Sintaxis
UPDATE <Nombre de la Tabla>
SET <columna> = <Nuevo Valor>
[WHERE <condición>]
Sentencia UPDATE (2)
CursoI D
Nombre Credito s
Hora s
C01 Matemática 4 4
C02 Fisica I 4 4
C03 Algebra 3 4
C04 Filosofia 2 2
C05 Simulación 3 4
Requerimiento
Modificar el numero de horas de todos los cursos.
Set horas = 0
TABLA: CURSO
CursoI D
Nombre Credito s
Hora s
C01 Matemática 4 0
C02 Física I 4 0
C03 Algebra 3 0
C04 Filosofía 2 0
C05 Simulación 3 0
Como se puede observar actualiza a todas las filas de la tabla
Sentencia Update Curso Set horas = 0
Resultado
Sentencia UPDATE (3)
CursoI D
Nombre Credito s
Hora s
C01 Matemática 4 4
C02 Fisica I 4 4
C03 Algebra 3 4
C04 Filosofia 2 2
C05 Simulación 3 4
Sentencia Update Curso
Set horas = 5, creditos=3 Where CursoID = “C01”
TABLA: CURSO
CursoID Nombre Creditos Horas
C01 Matemática 3 5
C02 Física I 4 4
C03 Algebra 3 4
C04 Filosofía 2 2
C05 Simulación 3 4
Como se puede observar actualiza a solo aquella fila, donde el código es igual a C01
Requerimiento
Modificar el numero de horas y créditos del curso que tiene el código C01.
Resultado
Sentencia DELETE (1)
■
La instrucción DELETE permite eliminar una o más filas de una tabla.
■
Sintaxis
DELETE <Nombre de la tabla>
[WHERE <Condición>]
Sentencia DELETE (2)
CursoI D
Nombre Crédito s
Hora s
C01 Matemática 4 4
C02 Física I 4 4
C03 Algebra 3 4
C04 Filosofía 2 2
C05 Simulación 3 4
TABLA: CURSO
CursoI D
Nombre Crédito s
Hora s
C01 Matemática 4 4
C02 Física I 4 4
C04 Filosofía 2 2
Como se puede observar solo permanecen aquellas filas donde, el valor de la columna créditos es diferente a 3
Resultado
Sentencia
Delete from Curso Where creditos=3 Requerimiento
Modificar el numero de horas y créditos del curso que tiene el código C01.
LENGUAJES DE BASES DE DATOS
Un sistema de bases de datos proporciona un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de datos y las modificaciones.
Los lenguajes de definición y manipulación de datos no son dos lenguajes separados; forman parte de un único lenguaje de bases de datos, tal como SQL.
LENGUAJE DE DEFINICIÓN DE DATOS
Lenguaje de definición de datos.- Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición de datos (LDD)
Por ejemplo, la siguiente instrucción en el lenguaje SQL define la tabla cuenta:
Create table cuenta (numero_cuenta char(10), saldo integer)
La ejecución de la instrucción LDD anterior crea la tabla cuenta.
LENGUAJE DE MANIPULACIÓN DE DATOS
Lenguaje de manipulación de datos.- La manipulación de datos es:
La recuperación de información almacenada en la base de datos.
La inserción de información nueva
en la base de datos.
LENGUAJE DE MANIPULACIÓN DE DATOS
El borrado de información de la base de datos.
La modificación de información almacenada en la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante el modelo de datos apropiado.
TIPOS DE LMD
LMDs procedimentales.- Requieren que el usuario especifique que datos se necesitan y como obtener esos datos.
LMDs declarativos.- También
conocidos como LMDs no
procedimentales. Requieren que el
usuario especifique que datos se
necesitan sin especificar como
obtener esos datos.
TIPOS DE LMD
Los lenguajes declarativos son fáciles de aprender y usar que los LMDs procedimentales. Sin embargo, como el usuario no especifica como conseguir los datos, el sistema de bases de datos tiene que determinar un medio eficiente de acceder a los datos. El componente LMD del lenguaje SQL es no procedimental.
TIPOS DE LMD
Una consulta es una instrucción de solicitud para recuperar información. La parte de un LMD que implica recuperación de información se llama lenguaje de consultas.
Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo identificador de cliente es 19.283.746
TIPOS DE LMD
SELECT CLIENTE.NOMBRE_CLIENTE FROM CLIENTE
WHERE CLIENTE.ID_CLIENTE = ’19.283.746’
Las consultas pueden involucrar información de mas de una tabla. Por ejemplo, la siguiente consulta encuentra el saldo de todas las cuentas pertenecientes al cliente cuyo identificador de cliente es 19.283.746
TIPOS DE LMD
SELECT CUENTA.SALDO
FROM IMPOSITOR, CUENTA
WHERE IMPOSITOR.ID_CLIENTE =
’19.283.746’ AND
IMPOSITOR.NUMERO_CUENT A = CUENTA.NUMERO_CUENTA
Un Lenguaje de Control de Datos (DCL por sus siglas en inglés: Data Control Language)
es un lenguaje proporcionado por el Sistema de Gestión 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.
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:
CONNECT;SELECT;INSERT;UPDATE;DELETE;USAGE
•En Oracle, la ejecución de un comando DCL implica un COMMIT de forma implícita. Sin embargo, en PostgreSQL, la ejecución de un comando DCL forma parte de una transacción, por lo que puede ser deshecha mediante el comando ROLLBACK.