0% encontró este documento útil (0 votos)
27 vistas35 páginas

S10 BD Lenguaje SQL (N.F)

La unidad 4 del curso de Ingeniería de Software se centra en la manipulación de datos utilizando SQL, incluyendo sentencias para insertar, modificar y eliminar datos en bases de datos. Se abordan conceptos clave como la estructura de las consultas SQL, el uso de cláusulas como WHERE y operadores lógicos, así como ejemplos prácticos de cómo ejecutar estas sentencias. Además, se incluyen ejercicios para aplicar lo aprendido y referencias bibliográficas para profundizar en el tema.

Cargado por

danipales1122
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas35 páginas

S10 BD Lenguaje SQL (N.F)

La unidad 4 del curso de Ingeniería de Software se centra en la manipulación de datos utilizando SQL, incluyendo sentencias para insertar, modificar y eliminar datos en bases de datos. Se abordan conceptos clave como la estructura de las consultas SQL, el uso de cláusulas como WHERE y operadores lógicos, así como ejemplos prácticos de cómo ejecutar estas sentencias. Además, se incluyen ejercicios para aplicar lo aprendido y referencias bibliográficas para profundizar en el tema.

Cargado por

danipales1122
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Base de datos

Ingeniería de Software – Presencial

Unidad 4
Lenguaje SQL: definición y manipulación de datos

Tema 1
Manipulación de datos

Richard Ramirez-Anormaliza
1
Semana 11: Manipulación de datos
Inicio
2
Por qué esta clase?
Aprender a ejecutar sentencias de manipulación de
datos
3
Objetivo & resultado de aprendizaje
Sistemas de bases de datos

Objetivo
Manipular datos en una base de datos.

Aplica sentencias SQL de manera eficiente para


Resultado la correcta administración de la información
que reside en un SGBD; la misma que ayude a
automatizar los procesos transaccionales dentro
Richard Ramirez-Anormaliza
de una empresa
4
@riramireza
Semana 11: Manipulación de datos
Desarrollo
5
Contenido
Sistemas de bases de datos

Tema:
• Manipulación de datos en un SGBD

Subtemas:
• Inserción de datos
• Modificación de datos
• Eliminación de datos

Richard Ramirez-Anormaliza
@riramireza
Sentencias de manipulación de datos
Sistemas de bases de datos

❑ SELECT - para consultar los datos de la base de datos;


❑ INSERT - para insertar datos en una tabla;
❑ UPDATE - para actualizar los datos de una tabla;
❑ DELETE - para borrar datos de una tabla.
Literales - son constantes
❑ Entre comillas simples – No numéricos
❑ Sin comillas simples – Numéricos

INSERT INTO Propiedad(PropiedadId, Calle, Ciudad, CodPostal,


Tipo, Habitaciones, Renta)
VALUES ('PAi4', '16 Holhead', 'Aberdeen', 'AB7 5SU’,
'House', 6, 650.00);
Richard Ramirez-Anormaliza 7
@riramireza
Consultas simples
Sistemas de bases de datos

SELECT | DISTINCT | ALL | {* | [ expresióncolumna [AS nuevoNombre]l [,...]]


FROM NombrelTabla [alias] [,...]
[WHERE condición]
[GROUP BY listaColumnas] [GROUP BY condición]
[ORDER BY listaColumnas]

❑ expresiónColumna nombre de columna o una expresión, NombreTabla nombre de una tabla vista, y alías es
una abreviatura opcional para nombreTabla.

❑ La secuencia de procesamiento en una instrucción SELECT es:


FROM especifica la tabla o tablas que hay que usar
WHERE filtra las filas de acuerdo con alguna condición
GROUP BY forma grupos de filas que tengan el mismo valor de columna
HAVING filtra los grupos de acuerdo con alguna condición
SELECT especifica qué columnas deben aparecer en la salida
ORDER BY especifica el orden de la salida

❑ El orden no puede cambiarse. Las dos únicas cláusulas obligatorias son las dos primeras: SELECT y FROM

Richard Ramirez-Anormaliza 8
@riramireza
Ejemplo consulta
Staff
Sistemas de bases de datos

❑ Lista todos los campos de la tabla Staff


SELECT StaffId, Nombre, Apellido, Posición, Sexo, FecNacimiento, Sueldo
FROM Staff

SELECT *
FROM Staff

Richard Ramirez-Anormaliza 9
@riramireza
Campos calculados
Staff
Sistemas de bases de datos

❑ Listar el salario mensual de todos los empleados en la que se muestre el


número del empleado, el nombre, el apellido y salario mensual.
SELECT StaffId, Nombre, Apellido,
Sueldo/12
FROM
SELECTStaffStaffId, Nombre, Apellido, Sueldo/12 AS
SueldoMes
FROM Staff
Richard Ramirez-Anormaliza 10
@riramireza
Ejemplo consulta
Staff
Sistemas de bases de datos

❑ Lista con los salarios de todos los empleados en la que sólo se muestre el
número de empleado, el nombre, el apellido y los datos salariales

SELECT StaffId, Nombre, Apellido,


Sueldo
FROM Staff

Richard Ramirez-Anormaliza 11
@riramireza
Selección de filas (cláusula WHERE)
Staff
Sistemas de bases de datos

❑ Generar una lista con todos los empleados cuyo salario sea superior a $ 10.000

SELECT StaffId, Nombre, Apellido,


Sueldo
FROM Staff
WHERE sueldo > 10000;

Richard Ramirez-Anormaliza 12
@riramireza
Condiciones y operadores
Sistemas de bases de datos

❑ En SQL, están disponibles los siguientes operadores simples de comparación


= igual
< > distinto (estándar ISO) != distinto (permitido en algunos dialectos)
< menor o igual que
> mayor o igual que

❑ Operadores lógicos AND, OR y NOT, con paréntesis (si se necesitan o desean) para
mostrar el orden de evaluación.
❑ Las reglas para evaluar una expresión condicional son:
Las expresiones se evalúan de izquierda a derecha;
Primero se evalúan las subexpresiones contenidas entre corchetes;
El operador NOT se evalúa antes que los operadores AND y OR;
El operador AND se evalúa antes que el operador OR.

❑ Se recomienda utilizar siempre paréntesis para eliminar cualquier posible ambigüedad.

Richard Ramirez-Anormaliza 13
@riramireza
Selección de filas (cláusula WHERE)
Staff
Sistemas de bases de datos

❑ Generar un listado con posición Manager y Assistant


SELECT StaffId, Nombre, Apellido, Posición, Sexo, FecNacimiento, Sueldo
FROM Staff
WHERE Posición = ‘Manager’ OR Posición = ‘Assistant';

❑ Listar los empleados con salario comprendido entre 20.000 y 30.000 $


SELECT StaffId, Nombre, Apellido, Posición, Sexo, FecNacimiento, Sueldo
FROM Staff
WHERE Sueldo BETWEEN 20000 AND 30000;
Richard Ramirez-Anormaliza 14
@riramireza
Selección de filas (cláusula WHERE)
Staff
Sistemas de bases de datos

❑ Listar los empleados con apellido White y Ford


SELECT StaffId, Nombre, Apellido, Posición, Sexo, FecNacimiento, Sueldo
FROM Staff
WHERE Apellido IN (‘White’, ‘Ford’);

Richard Ramirez-Anormaliza 15
@riramireza
Evaluación – retroalimentación
(Responder con una idea en el panel, máximo 4 palabras)
Sistemas de bases de datos

¿Qué es lo más importante/significativo


que aprendiste en la clase?

¿Cuál es la principal duda que todavía


tienes respecto a la clase?
Richard Ramirez-Anormaliza 16
@riramireza
Semana 11: Manipulación de datos
Práctica
17
Modelo datos
Sistemas de bases de datos

❑ Modelo Conceptual

Richard Ramirez-Anormaliza 18
@riramireza
Modelo de datos
Sistemas de bases de datos

❑ Generar el modelo Lógico

Richard Ramirez-Anormaliza 19
@riramireza
Modelo de datos
❑ Generar Modelo Físico
Sistemas de bases de datos

Richard Ramirez-Anormaliza 20
@riramireza
Generar base de datos
❑ Generar base de datos
Sistemas de bases de datos

❑ Luego ejecutar el script generado en SQL-Server Management Studio

Richard Ramirez-Anormaliza 21
@riramireza
Crear base de datos
❑ Luego ejecutar el script generado en ❑ Luego ejecutar el script generado en
Sistemas de bases de datos

SQL-Server Management Studio MySQL Workbench

Richard Ramirez-Anormaliza 22
@riramireza
Adición de datos a la base de datos
(INSERT)
Sistemas de bases de datos

❑ Opción 1
INSERT INTO NombrelTabla [(ListaColumnas)]
VALUES ( ListaValores );

❑ El número de elementos de cada lista debe ser el mismo;


❑ Correspondencia directa entre las posiciones de los elementos en ambas listas,
❑ El tipo de datos de cada elemento de ListaValores debe ser compatible con el tipo de datos de la
correspondiente columna.

❑ Opción 2
INSERT INTO NombreTabla [( ListaColumnas) l
SELECT...
❑ Permite copiar múltiples filas de una o más tablas en otra tabla

Richard Ramirez-Anormaliza 23
@riramireza
Ejemplo INSERT
Sistemas de bases de datos

❑ Insertar filas en la tabla DPTO

INSERT INTO DPTO (IdDpto, Dpto)


VALUES (1, 'Finanzas')

INSERT INTO DPTO (Dpto, IdDpto)


VALUES ('Contabilidad', 2)

INSERT INTO DPTO


VALUES (3, 'Auditoria')

Richard Ramirez-Anormaliza 24
@riramireza
Modificación de datos en la base de
datos (UPDATE)
Sistemas de bases de datos

UPDATE NombreTabla
SET NombreColumna1 = valorDatos1 [,
NombreColumna2 = valorDatos2 ,...]
[WHERE condiciónBúsqueda]

Richard Ramirez-Anormaliza 25
@riramireza
Ejemplo UPDATE
Sistemas de bases de datos

❑ Incrementar un 3% el salario de todos los empleados.


UPDATE EMPLEADO
SET Sueldo = Sueldo *1.03;

❑ Incrementar un 5% el salario de todos los gerentes.


UPDATE EMPLEADO
SET Sueldo = Sueldo *1.05
FROM EMPLEADO AS E, CARGO AS C
WHERE E.IdCargo = C.IdCargo
AND Cargo = 'Gerente';
Richard Ramirez-Anormaliza 26
@riramireza
Borrado de datos de la base de datos
(DELETE)
Sistemas de bases de datos

DELETE FROM NombrelTabla


[WHERE condiciónBúsqueda]

Richard Ramirez-Anormaliza 27
@riramireza
Ejercicio: A partir del modelo,
construir las siguientes sentencias
Sistemas de bases de datos

❑ Eliminar los empleados con cargo Asistente.

❑ Incrementar un 5% el salario de todos los gerentes.


Richard Ramirez-Anormaliza 28
@riramireza
Ejemplo DELETE
Sistemas de bases de datos

❑ Eliminar el empleado con Id = 1


DELETE FROM EMPLEADO
WHERE IdEmpleado = 1;

❑ Eliminar los empleados con cargo Asistente


DELETE FROM EMPLEADO
WHERE IdCargo IN (
SELECT IdCargo
FROM Cargo
WHERE Cargo = 'Asistente');
Richard Ramirez-Anormaliza 29
@riramireza
Modificar agregar un campo
❑ Agregar el campo Sexo a la tabla EMPLEADO
Sistemas de bases de datos

ALTER TABLE EMPLEADO ADD


Sexo Char(1) DEFAULT 'M';

Richard Ramirez-Anormaliza 30
@riramireza
Semana 11: Manipulación de datos
Cierre
31
Práctica
Sistemas de bases de datos

❑ Subir el scritp:
1. Ingresar a Sql Server Management Studio
2. Descargar el script: 202201-BD-Clase_S11-1-SQL-Server y ejecutar
en Sql Server Management Studio

Richard Ramirez-Anormaliza 32
@riramireza
Ejercicios
Sistemas de bases de datos

Una vez ejecutado de manera satisfactoria el script descrito en la


diapositiva anterior, desarrollar los siguientes sentencias SQL:
1. Listar los departamentos con sus empleados y sueldos ordenados alfabéticamente.
2. Listar los cargos existente en la base de datos con la cantidad de empleados en cada cargo.
3. Listar los departamentos con más de 40 empleados
4. Presentar el cargo que tiene más empleados
5. Presentar el departamento que tiene menos empleados
6. Aumentar el sueldo a empleados del departamento de Finanzas el 15% de su sueldo
7. Corregir el sexo a los empleados registrados en el sistema
8. Eliminar los cargos que no tienen empleados
9. Listar un reporte de Departamento y el total de sueldo que se paga
10. Presente el mayor sueldo, menor sueldo y sueldo promedio que se paga por departamento

Richard Ramirez-Anormaliza 33
@riramireza
Referencias
Sistemas de bases de datos

❑ Connolly, T. M., & Begg, C. E. (2005). Sistemas de bases de datos


(Pearson Educación (ed.); Cuarta).

Richard Ramirez-Anormaliza 34
@riramireza
Agenda
Sistemas de bases de datos

TEMA: 1.- Manipulación de datos en un


SGBD
• SUBTEMA: 1.- Inserción de datos con IDE
Próxima • SUBTEMA: 2.- Modificación de datos con
Clase IDE
• SUBTEMA: 3.- Eliminación de datos con
IDE

35

También podría gustarte