• No se han encontrado resultados

ASIGNATURA: BASE DE DATOS

N/A
N/A
Protected

Academic year: 2022

Share "ASIGNATURA: BASE DE DATOS"

Copied!
22
0
0

Texto completo

(1)

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

(2)

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

(3)

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.

(4)

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.

(5)

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.

(6)

Sentencia INSERT (1)

La sentencia INSERT para agregar registros a una tabla

Sintaxis

INSERT [INTO] <Nombre de la Tabla>

[(<campo1,….>)]

VALUES (Valor1, ....)

(7)

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.

(8)

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>]

(9)

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

(10)

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

(11)

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>]

(12)

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.

(13)

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.

(14)

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.

(15)

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.

(16)

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.

(17)

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.

(18)

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.

(19)

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

(20)

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

(21)

TIPOS DE LMD

SELECT CUENTA.SALDO

FROM IMPOSITOR, CUENTA

WHERE IMPOSITOR.ID_CLIENTE =

’19.283.746’ AND

IMPOSITOR.NUMERO_CUENT A = CUENTA.NUMERO_CUENTA

(22)

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.

Referencias

Documento similar