ASIGNATURA: BASE DE DATOS ASIGNATURA: BASE DE DATOS
TEMA: LENGUAJES EN BASES DE DATOS TEMA: LENGUAJES EN BASES DE DATOS
1.- LENGUAGE DE MANIPULACION DE DATOS MDL 1.- LENGUAGE DE MANIPULACION DE DATOS MDL
2.- LENGUAJE DE DEFINICION DE DATOS DDL 2.- LENGUAJE DE DEFINICION DE DATOS DDL
3.- Lenguaje de Control de Datos3.- Lenguaje de Control de Datos (DCL) (DCL)
CARRERA: COMPUTACION E INFORMATICA CARRERA: COMPUTACION E INFORMATICA
LENGUAJE DE MANIPULACION DE DATOS LENGUAJE DE MANIPULACION DE DATOS
(DML) (DML)
LasLas sentencias DML son aquellas utilizadas sentencias DML son aquellas utilizadas para insertar, borrar, modificar y consultar para insertar, borrar, modificar y consultar
los datos de una base de datos.
los datos de una base de datos.
Las sentencias DML, son las siguientes:Las sentencias DML, son las siguientes:
• SelectSelect
• InsertInsert
• UpdateUpdate
• DeleteDelete
Sentencia SELECT (1) Sentencia SELECT (1)
Recupera información de la Base de Recupera información de la Base de Datos y permite la selección de una o Datos y permite la selección de una o
más filas o columnas de una o muchas más filas o columnas de una o muchas
tablas.
tablas.
Sintaxis Sintaxis : :
SELECT
SELECT lista_columnas lista_columnas FROMFROM tabla_origentabla_origen
[WHERE
[WHERE condicióncondición]] [GROUP BY columna
[GROUP BY columna1,…1,…]] [HAVING
[HAVING condicióncondición]]
[ORDER BY columna1, …
[ORDER BY columna1, … [ASC][DESC]][ASC][DESC]]
(*) Las cláusulas que están entre corchetes “[ ]” son (*) Las cláusulas que están entre corchetes “[ ]” son
opcionales.
opcionales.
Sentencia SELECT (2) Sentencia SELECT (2)
CursoID
CursoID NombreNombre CréditoCrédito
ss HorasHoras
C01C01 MatemáticMatemátic
aa 44 44
C02C02 Física IFísica I 44 44 C03C03 AlgebraAlgebra 33 44 C04C04 Filosofía Filosofía 22 22
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
Nombre CréditosCréditos HorasHoras Matemática
Matemática 44 44
Física I
Física I 44 44
Algebra
Algebra 33 44
Filosofía
Filosofía 22 22
Resultado
Como se puede observar solo se
visualiza los campos nombre, créditos y horas de los cursos.
Sentencia SELECT (3) Sentencia SELECT (3)
CursoID
CursoID NombreNombre CréditosCréditos HorasHoras
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
Nombre HorasHoras Matemática
Matemática 44
Física I
Física I 44
Simulación
Simulación 44
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) Sentencia INSERT (1)
La sentencia INSERT para agregar La sentencia INSERT para agregar registros a una tabla
registros a una tabla
Sintaxis Sintaxis
INSERT
INSERT [INTO] <Nombre de la Tabla> [(<campo1,….>)] [INTO] <Nombre de la Tabla> [(<campo1,….>)]
VALUES
VALUES (Valor1, ....) (Valor1, ....)
Sentencia INSERT(2) Sentencia INSERT(2)
CursoI CursoI
DD NombreNombre CreditoCredito
ss HoraHora ss C01 Matemátic
a
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 CursoI
DD NombreNombre CreditoCredito
ss HoraHora ss 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) Sentencia UPDATE (1)
Esta sentencia nos permite modificar Esta sentencia nos permite modificar la información de las tablas
la información de las tablas
Sintaxis Sintaxis
UPDATE
UPDATE <Nombre de la Tabla> <Nombre de la Tabla>
SETSET <columna> = <Nuevo Valor> <columna> = <Nuevo Valor>
[WHERE <condición>]
[WHERE <condición>]
Sentencia UPDATE (2) Sentencia UPDATE (2)
CursoI CursoI
DD NombreNombre CreditCredit
osos HoraHora ss
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 CursoI
DD NombreNombre CreditoCredito
ss HoraHora ss
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) Sentencia UPDATE (3)
CursoI CursoI
DD NombreNombre CreditCredit
osos HoraHora ss
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) Sentencia DELETE (1)
La instrucción DELETE permite La instrucción DELETE permite
eliminar una o más filas de una tabla.
eliminar una o más filas de una tabla.
Sintaxis Sintaxis DELETE
DELETE <Nombre de la tabla> <Nombre de la tabla>
[WHERE <Condición>]
[WHERE <Condición>]
Sentencia DELETE (2) Sentencia DELETE (2)
CursoI CursoI
D
D NombreNombre CréditCrédit os
os HoraHora s 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 CursoI
DD NombreNombre CréditCrédit
osos HoraHora ss
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 LENGUAJES DE BASES DE
DATOS DATOS
Un sistema de bases de datos proporciona Un sistema de bases de datos proporciona un lenguaje de definición de datos para un lenguaje de definición de datos para especificar el esquema de la base de datos especificar el esquema de la base de datos y un lenguaje de manipulación de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de para expresar las consultas a la base de
datos y las modificaciones.
datos y las modificaciones.
Los lenguajes de definición y manipulación Los lenguajes de definición y manipulación de datos no son dos lenguajes separados;
de datos no son dos lenguajes separados;
forman parte de un único lenguaje de forman parte de un único lenguaje de
bases de datos, tal como SQL.
bases de datos, tal como SQL.
LENGUAJE DE DEFINICIÓN LENGUAJE DE DEFINICIÓN
DE DATOS 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
LENGUAJE DE
MANIPULACIÓN DE DATOS MANIPULACIÓN DE DATOS
Lenguaje de manipulación de datos.- Lenguaje de manipulación de datos.-
La manipulación de datos es:
La manipulación de datos es:
La recuperación de información La recuperación de información
almacenada en la base de datos.
almacenada en la base de datos.
La inserción de información nueva en La inserción de información nueva en
la base de datos.
la base de datos.
LENGUAJE DE
LENGUAJE DE
MANIPULACIÓN DE DATOS MANIPULACIÓN DE DATOS
El borrado de información de la base de El borrado de información de la base de
datos.
datos.
La modificación de información La modificación de información
almacenada en la base de datos.
almacenada en la base de datos.
Un lenguaje de manipulación de datos Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los (LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos usuarios acceder o manipular los datos organizados mediante el modelo de datos organizados mediante el modelo de datos
apropiado.
apropiado.
TIPOS DE LMD TIPOS DE LMD
LMDs procedimentales.- LMDs procedimentales.-
Requieren que el usuario especifique Requieren que el usuario especifique
que datos se necesitan y como que datos se necesitan y como
obtener esos datos.
obtener esos datos.
LMDs declarativos
LMDs declarativos .- .- También También conocidos como LMDs no conocidos como LMDs no procedimentales. Requieren que el procedimentales. Requieren que el
usuario especifique que datos se usuario especifique que datos se
necesitan sin especificar como necesitan sin especificar como
obtener esos datos.
obtener esos datos.
TIPOS DE LMD TIPOS DE LMD
Los lenguajes declarativos son fáciles de Los lenguajes declarativos son fáciles de aprender y usar que los LMDs aprender y usar que los LMDs procedimentales. Sin embargo, como el procedimentales. Sin embargo, como el usuario no especifica como conseguir los usuario no especifica como conseguir los datos, el sistema de bases de datos tiene datos, el sistema de bases de datos tiene que determinar un medio eficiente de que determinar un medio eficiente de acceder a los datos. El componente LMD acceder a los datos. El componente LMD
del lenguaje SQL es no procedimental.
del lenguaje SQL es no procedimental.
TIPOS DE LMD TIPOS DE LMD
Una consulta es una instrucción de Una consulta es una instrucción de solicitud para recuperar información. La solicitud para recuperar información. La parte de un LMD que implica recuperación parte de un LMD que implica recuperación de información se llama lenguaje de de información se llama lenguaje de
consultas.
consultas.
Esta consulta en el lenguaje SQL Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo encuentra el nombre del cliente cuyo
identificador de cliente es 19.283.746 identificador de cliente es 19.283.746
TIPOS DE LMD TIPOS DE LMD
SELECT CLIENTE.NOMBRE_CLIENTE SELECT CLIENTE.NOMBRE_CLIENTE
FROM CLIENTE FROM CLIENTE
WHERE CLIENTE.ID_CLIENTE = ’19.283.746’
WHERE CLIENTE.ID_CLIENTE = ’19.283.746’
Las consultas pueden involucrar información de Las consultas pueden involucrar información de mas de una tabla. Por ejemplo, la siguiente mas de una tabla. Por ejemplo, la siguiente consulta encuentra el saldo de todas las cuentas consulta encuentra el saldo de todas las cuentas pertenecientes al cliente cuyo identificador de pertenecientes al cliente cuyo identificador de
cliente es 19.283.746 cliente es 19.283.746
TIPOS DE LMD TIPOS DE LMD
SELECT CUENTA.SALDO SELECT CUENTA.SALDO
FROM IMPOSITOR, CUENTA FROM IMPOSITOR, CUENTA
WHERE
WHERE IMPOSITOR.ID_CLIENTE = IMPOSITOR.ID_CLIENTE =
’19.283.746’ AND
’19.283.746’ AND
IMPOSITOR.NUMERO_CUENT
IMPOSITOR.NUMERO_CUENT A = A = CUENTA.NUMERO_CUENTA
CUENTA.NUMERO_CUENTA
Un Un Lenguaje de Control de DatosLenguaje de Control de Datos ( (DCLDCL por sus por sus siglas en inglés:
siglas en inglés: DData ata CControl ontrol LLanguage)anguage)
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.