data manipulation language (dml) lenguaje de manipulación de datos
DESCRIPTION
Data Manipulation Language (DML) Lenguaje de Manipulación de Datos. Unidad 3. Transacciones de la Base de datos. - PowerPoint PPT PresentationTRANSCRIPT
Data Manipulation Language (DML) Lenguaje de Manipulación de Datos
Unidad 3
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.
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.
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
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');
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
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
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’)
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’
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
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