SQL es un lenguaje de consulta que permite manipular datos en una base de datos relacional. Permite crear, actualizar y eliminar objetos en la base de datos como tablas e índices. Las sentencias DML como SELECT, INSERT, UPDATE y DELETE se usan para consultar y modificar datos, mientras que las sentencias DDL se usan para definir y modificar la estructura de la base de datos. Normalizar la base de datos implica transformarla a diferentes formas normales para eliminar anomalías y dependencias.
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
Sql Lenguaje Estructurado de Consulta
1. Es un lenguaje estructurado de consulta que permite crear, actualizar y
manipular una base de datos, a su vez puede especificar restricciones,
como también el acceso relacional entre tablas donde permite
especificar diversos tipos de operaciones utilizando el calculo relacional
y el algebra relacional.
Con el lenguaje SQL podemos ejecutar varias cláusulas, por ejemplo:
FROM < Especifica de que tabla se cogen los registros >
WHERE < Especifica condición para seleccionar la tuplas de las
relaciones >
GROUP BY < atributo(s) de agrupación > Separa y crea grupos
específicos
HAVING < Expresa la condición para satisfacer a cada grupo
seleccionado>
ORDER BY < Ordena registros seleccionados de acuerdo a un orden
especifico>
http://technologyandweb.blogspot.com/
1
2. LAS DDL
LENGUAJE DEFINICIÓN DE DATOS
•Crea, modifica y elimina objetos en la base de datos
•Permite crear objetos en la DB (Tablas, Índices,
Vistas)
•Permite crear las siguientes funciones:
Sentencia
Descripción
CREATE TABLE
Crea una tabla
ALTER TABLE
Modifica la estructura de la tabla
DROP TABLE
Elimina las filas y estructura de la tabla
RENAME
Cambia el nombre de una tabla, vista,
sequence, o sinónimo
TRUNCATE
Elimina todas las filas de la tabla y libera
los espacios de almacenamiento
COMMENT
Adiciona comentarios a una tabla o vista
http://technologyandweb.blogspot.com/
2
3.
Se debe especificar los archivos y ubicaciones que se utilizarán
para la misma, además de otras indicaciones técnicas
Especificando otras características en la creación de la base
de datos
CREATE DATABASE prueba;
http://technologyandweb.blogspot.com/
3
5.
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
http://technologyandweb.blogspot.com/
5
6. TABLA: CURSO
CursoID
Nombre
El Resultado
Créditos
Horas
Nombre
Horas
C01
Matemática
4
4
Matemática
4
C02
Física I
4
4
Física I
4
C03
Algebra
3
4
Simulación
4
C04
Filosofía
2
2
C05
Simulación
4
4
Requerimiento
Mostrar el nombre y numero de horas de
los Cursos donde su numero de créditos
sea mayor a 3.
Sentencia
Select nombre, horas
from Curso
Where creditos > 3
http://technologyandweb.blogspot.com/
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
7. TABLA: CURSO
CursoI
D
El Resultado
Nombre
Credito
s
Hora
s
C01
Matemática
4
4
C02
Fisica I
4
4
C03
Algebra
3
C04
Filosofia
2
CursoI
D
Nombre
Credito
s
Hora
s
C01
Matemátic
a
4
4
C02
Fisica I
4
4
4
C03
Algebra
3
4
2
C04
Filosofia
2
2
C05
Simulación
3
4
Requerimiento
Registrar los datos del siguiente curso:
Código: C05, Nombre: Simulación,
Créditos: 3 y Horas: 4.
Luego de ejecutar la sentencia se
agrega al final de la tabla.
Sentencia
Insert into Curso
(CursoID, nombre, creditos, horas)
Values(“C05”,’’Simulación”,3,4)
http://technologyandweb.blogspot.com/
7
8. TABLA: CURSO
CursoI
D
El Resultado
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
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
Requerimiento
Modificar el numero de horas y
créditos del curso que tiene el código
C01.
Sentencia
Update Curso
Set horas = 5, creditos=3
Where CursoID = “C01”
http://technologyandweb.blogspot.com/
Como se puede observar actualiza a
solo aquella fila, donde el código es
igual a C01
8
10. Para cambiar el nombre de una tabla, vista, secuencia o sinónimo,
debemos ejecutar la sentencia RENAME.
RENAME old_name TO new_name;
Debe ser el propietario del objeto que se va renombrar.
SQL> RENAME dept TO detalle_dep;
Table renamed.
http://technologyandweb.blogspot.com/
10
11.
Proceso de transformación de datos complejos a un
conjunto de estructuras de datos más pequeñas,
simples y más estables, son más fáciles de mantener
•Primera Forma Normal 1FN
•Segunda Forma Normal 2FN
•Tercera Forma Normal 3FN
•Cuarta Forma Normal
•Quinta Forma Normal o Forma Normal de Proyección-Unión
•Forma Normal Boyce-Codd
•Forma Normal de Proyección-Unión Fuerte
•Forma Normal de Proyección-Unión Extra Fuerte y
•Forma Normal de Clave de Dominio
http://technologyandweb.blogspot.com/
11
12. FORMAS NORMALES MAS IMPORTANTES
Primera Forma Normal
Esta regla establece que las columnas repetidas deben eliminarse y
colocarse en tablas separadas.
Segunda Forma Normal
Esta establece que todas las dependencias parciales se deben eliminar
y separar dentro de sus propias tablas.
Tercera Forma Normal
Esta Señala que hay que eliminar y separar cualquier dato que no sea
clave.
http://technologyandweb.blogspot.com/
12
13. EJEMPLO
Para explicar vamos a considerar los datos de la siguiente
tabla.
Examinando los registros, podemos darnos cuenta que
contienen un grupo repetido para
NUM_ITEM,DESC_ITEM, CANT y PRECIO.
http://technologyandweb.blogspot.com/
13
14. La 1FN
Prohíbe los grupos repetidos, para convertir a forma normal
Los pasos a seguir son:
» Tenemos que eliminar los grupos repetidos.
» Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
Los registros quedan ahora conformados en dos tablas que llamaremos
ORDENES y ARTICULOS_ORDENES
- ORDENES
http://technologyandweb.blogspot.com/
14
15. La 2FN
eliminar cualquier columna no llave que no dependa de la llave
primaria de la tabla.
» Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla.
» Eliminar esas columnas de la tabla base.
» Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen.
ARTICULO_ORDENES
ARTICULOS
http://technologyandweb.blogspot.com/
15
16. 3FN
Eliminar Cualquier columna no llave que sea dependiente de otra columna
no llave
» Determinar las columnas que son dependientes de otra columna no llave.
» Eliminar esas columnas de la tabla base.
» Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes.
- ORDENES
http://technologyandweb.blogspot.com/
16
17. La Cardinalidad
•Cardinalidad en una relación es el número de veces que una
entidad aparece asociada a otra entidad.
Ejemplo:
http://technologyandweb.blogspot.com/
17