19
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

Sql Lenguaje Estructurado de Consulta

Embed Size (px)

Citation preview

Page 1: Sql Lenguaje Estructurado de Consulta

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

Page 2: Sql Lenguaje Estructurado de Consulta

LAS DDLLENGUAJE 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ónCREATE 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

Page 3: Sql Lenguaje Estructurado de Consulta

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

Page 4: Sql Lenguaje Estructurado de Consulta

http://technologyandweb.blogspot.com/ 4

Page 5: Sql Lenguaje Estructurado de Consulta

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

Page 6: Sql Lenguaje Estructurado de Consulta

CursoIDCursoID NombreNombre CréditosCréditos HorasHoras

C01 Matemática 4 4

C02 Física I 4 4

C03 Algebra 3 4

C04 Filosofía 2 2

C05 Simulación 4 4

SentenciaSelect nombre, horas from Curso Where creditos > 3

NombreNombre HorasHoras

MatemáticaMatemática 44

Física IFísica I 44

SimulaciónSimulación 44

TABLA: CURSO

Requerimiento

Mostrar el nombre y numero de horas de los Cursos donde su numero de créditos sea mayor a 3.

El Resultado

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.

http://technologyandweb.blogspot.com/ 6

Page 7: Sql Lenguaje Estructurado de Consulta

CursoICursoIDD

NombreNombre CreditoCreditoss

HoraHorass

C01 Matemática

4 4

C02 Fisica I 4 4

C03 Algebra 3 4

C04 Filosofia 2 2

CursoICursoIDD

NombreNombre CreditoCreditoss

HoraHorass

C01 Matemática

4 4

C02 Fisica I 4 4

C03 Algebra 3 4

C04 Filosofia 2 2

C05 Simulación 3 4

TABLA: CURSO

Sentencia

Insert into Curso

(CursoID, nombre, creditos, horas)

Values(“C05”,’’Simulación”,3,4)

Luego de ejecutar la sentencia se agrega al final de la tabla.

El Resultado

Requerimiento

Registrar los datos del siguiente curso: Código: C05, Nombre: Simulación, Créditos: 3 y Horas: 4.

http://technologyandweb.blogspot.com/ 7

Page 8: Sql Lenguaje Estructurado de Consulta

CursoICursoIDD

NombreNombre CreditCreditosos

HoraHorass

C01 Matemática 4 4

C02 Fisica I 4 4

C03 Algebra 3 4

C04 Filosofia 2 2

C05 Simulación 3 4

Sentencia

Update Curso

Set horas = 5, creditos=3

Where CursoID = “C01”

TABLA: CURSOCursoID 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

Como se puede observar actualiza a solo aquella fila, donde el código es igual a C01

Requerimiento

Modificar el numero de horas y créditos del curso que tiene el código C01.

El Resultado

http://technologyandweb.blogspot.com/ 8

Page 9: Sql Lenguaje Estructurado de Consulta

CursoICursoIDD

NombreNombre CréditCréditosos

HoraHorass

C01 Matemática 4 4

C02 Física I 4 4

C03 Algebra 3 4

C04 Filosofía 2 2

C05 Simulación 3 4

TABLA: CURSO

CursoICursoIDD

NombreNombre CréditCréditosos

HoraHorass

C01 Matemática 4 4

C02 Física I 4 4

C04 Filosofía 2 2

Como se puede observar solo permanecen aquellas filas donde, el valor de la columna créditos es diferente a 3

El Resultado

SentenciaDelete from CursoWhere creditos=3

Requerimiento

Modificar el numero de horas y créditos del curso que tiene el código C01.

http://technologyandweb.blogspot.com/ 9

Page 10: Sql Lenguaje Estructurado de Consulta

Para cambiar el nombre de una tabla, vista, secuencia o sinónimo, debemos ejecutar la sentencia RENAME.

Debe ser el propietario del objeto que se va renombrar.

RENAME old_name TO new_name;

SQL> RENAME dept TO detalle_dep;Table renamed.Table renamed.

http://technologyandweb.blogspot.com/ 10

Page 11: Sql Lenguaje Estructurado de Consulta

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

Page 12: Sql Lenguaje Estructurado de Consulta

FORMAS NORMALES MAS IMPORTANTES

Primera Forma NormalEsta regla establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas.

Segunda Forma NormalEsta 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

Page 13: Sql Lenguaje Estructurado de Consulta

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

Page 14: Sql Lenguaje Estructurado de Consulta

- ORDENES

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

http://technologyandweb.blogspot.com/ 14

Page 15: Sql Lenguaje Estructurado de Consulta

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.

ARTICULOS

ARTICULO_ORDENES

http://technologyandweb.blogspot.com/ 15

Page 16: Sql Lenguaje Estructurado de Consulta

Eliminar Cualquier columna no llave que sea dependiente de otra columna no llave

3FN

» 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

Page 17: Sql Lenguaje Estructurado de Consulta

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

Page 18: Sql Lenguaje Estructurado de Consulta

Uno a uno (1:1)

Tipos de Cardinalidad

Uno a uno (1:N)

http://technologyandweb.blogspot.com/ 18

Page 19: Sql Lenguaje Estructurado de Consulta

Tipos de Cardinalidad

N a Muchos (N:M)

http://technologyandweb.blogspot.com/ 19