Data Manipulation Language (DML) Lenguaje de Manipulación de Datos

11
Data Manipulation Language (DML) Lenguaje de Manipulación de Datos Unidad 3

description

Data Manipulation Language (DML) Lenguaje de Manipulación de Datos. Unidad 3. Transacciones de la Base de datos. - PowerPoint PPT Presentation

Transcript of Data Manipulation Language (DML) Lenguaje de Manipulación de Datos

Page 1: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Data Manipulation Language (DML) Lenguaje de Manipulación de Datos

Unidad 3

Page 2: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Transacciones de la Base de datos

• Proporcionan mayor flexibilidad y control cuando los datos cambian y ello asegura la consistencia de los datos en el caso de un fallo en el proceso del usuario o del sistema.

• Las transacciones consisten de sentencias DML que componen un cambio consistente en los datos.

Page 3: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

DML

• Se utiliza para: – Agregar, actualizar o eliminar datos de una base

de datos.

• Cuando algo impide que una de las sentencias en la transacción sea ejecutada, las otras sentencias de la transacción pueden ser desechadas.

Page 4: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Errores comunes al insertar datos

• Olvidar valores obligatorios para columnas que no aceptan valores nulos • Duplicar valores violando reglas de valores únicos• Infringir reglas de integridad de llaves foráneas • Romper reglas de integridad de tipo CHECK o verificación • Incompatibilidad en tipos de datos • Valores más grandes que los especificados para la columna

Page 5: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

AgregarAgregar una fila (registro) a una tabla:INSERT INTO table [(column [, column …])]VALUES (value [, value….]);

Ejemplo:INSERT INTO agenda(id_ag, nombre, direccion);VALUES (34, Luis Alejandro, 7 Sur 234);

INSERT INTO `biblio`.`libros` (`id_l` ,`titulo` ,`autor` ,`editorial` , `seccion` )VALUES ('1', 'Cálculo Integral', 'Leithold', 'Mc Graw Hill', 'Matemáticas'), ('2', 'Algebra', 'Baldor', 'Prentice Hall', 'Matemáticas');

Page 6: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Copiar filas de otras tablas

• Se copian los datos de una tabla existente utilizando una subconsulta

INSERT INTO ALUMNO(id_al, nombre, direccion)SELECT id_g, nombre, direccionFROM GENTEwhere edad>15;

• Si se van a copiar TODASINSERT INTO ALUMNOSELECT *FROM GENTE

Page 7: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Actualizar: Cambiar datos en una tabla

UPDATE requi SET cantidad = 3, precio = 1200 WHERE depto=1;Actualizar filas basado en otra tablaUPDATE copiaEmpleadoSET id_dep = (SELECT id_dep FROM empleado WHERE id_emp=10)WHERE id_trab =20

Page 8: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Borrar filas de una tabla• DELETE FROM deptoWHERE nombre_depto=‘Academico’;

Basado en otra tablaDELETE FROM empleadoWHERE id_dep =(SELECT id_dep

FROM departamento WHERE nombre_dep=´Sistemas’)

Page 9: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Consultas SQL• Muestra información seleccionada de una base de datos empleando lenguaje SQL.

• Una consulta SQL básica puede constar con un máximo de seis cláusulas, de las cuales sólo dos son obligatorias (SELECT y FROM). Las cláusulas se especifican en el siguiente orden:

SELECT < lista de atributos > : indica qué atributos o funciones se van a recuperar.

FROM < lista de tablas > : especifica todas las relaciones (tablas) que se necesitan en la consulta.

WHERE < condición > : especifica las condiciones, si es que hacen falta, para seleccionar tuplas de esas relaciones, incluyendo las condiciones de reunión.

GROUP BY < atributo(s) de agrupación > : especifica atributos de agrupación.

HAVING < condición de agrupación > : especifica una condición que deben cumplir los grupos seleccionados, no las tuplas individuales. Las funciones agregadas integradas COUNT, SUM, MIN, MAX y AVG se usan junto con la agrupación.

ORDER BY < lista de atributos > : especifica un orden para presentar el resultado de una consulta.

SELECT id_car FROM cargo WHERE nombre=´Docente’

Page 10: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Consultas

• Obtener una lista de empleados y de los proyectos en los que trabajan

• Ordenados por departamento y, dentro de cada departamento, alfabéticamente por apellido y nombre

SELECT nombred, apellido, nombre, nombrepFROM departamento, empleado, trabaja_en, proyectoWHERE numerod=nd and nss=nsse and np=numeropORDER BY nombred desc, apellido, nombre

Page 11: Data  Manipulation Language  (DML) Lenguaje de Manipulación de Datos

Consultas• SELECT ponente, titulo, count( * )

FROM conferenciasWHERE precio =200GROUP BY ponente

• SELECT Avg( precio ) AS PromedioFROM conferenciasWHERE precio >100

• SELECT Ponente, Avg( precio_estudiante ) AS Promedio, min( precio ) AS MayorFROM conferenciasWHERE precio >100ORDER BY ponente