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

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
http://technologyandweb.blogspot.com/

4




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
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
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
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
TABLA:
CURSO
CursoI
Nombre
D

Crédito
s

Hora
s

El Resultado

C01

Matemática

4

4

CursoI
D

Nombre

Crédito
s

Hora
s

C02

Física I

4

4

C01

Matemática

4

4

C03

Algebra

3

4

C02

Física I

4

4

C04

Filosofía

2

2

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
Delete from Curso
Where creditos=3
http://technologyandweb.blogspot.com/

Como se puede observar solo
permanecen aquellas filas
donde, el valor de la columna
créditos es diferente a 3
9
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


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
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
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
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
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
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
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
Tipos de
Cardinalidad
Uno a uno
(1:1)

Uno a uno
(1:N)

http://technologyandweb.blogspot.com/

18
Tipos de
Cardinalidad

N a Muchos
(N:M)

http://technologyandweb.blogspot.com/

19

Sql Lenguaje Estructurado de Consulta

  • 1.
    Es un lenguajeestructurado 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ÓNDE 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 especificarlos 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
  • 4.
  • 5.
      Las sentencias DMLson 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ísicaI 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 FisicaI 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 FisicaI 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
  • 9.
    TABLA: CURSO CursoI Nombre D Crédito s Hora s El Resultado C01 Matemática 4 4 CursoI D Nombre Crédito s Hora s C02 Física I 4 4 C01 Matemática 4 4 C03 Algebra 3 4 C02 FísicaI 4 4 C04 Filosofía 2 2 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 Delete from Curso Where creditos=3 http://technologyandweb.blogspot.com/ Como se puede observar solo permanecen aquellas filas donde, el valor de la columna créditos es diferente a 3 9
  • 10.
    Para cambiar elnombre 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ónde 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 MASIMPORTANTES 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 vamosa 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 losgrupos 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 cualquiercolumna 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 columnano 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 enuna relación es el número de veces que una entidad aparece asociada a otra entidad. Ejemplo: http://technologyandweb.blogspot.com/ 17
  • 18.
    Tipos de Cardinalidad Uno auno (1:1) Uno a uno (1:N) http://technologyandweb.blogspot.com/ 18
  • 19.
    Tipos de Cardinalidad N aMuchos (N:M) http://technologyandweb.blogspot.com/ 19