Upload
seguroparaviajecom
View
183
Download
5
Embed Size (px)
Citation preview
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 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
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
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
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
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
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
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
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 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
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
- 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
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
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
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
Uno a uno (1:1)
Tipos de Cardinalidad
Uno a uno (1:N)
http://technologyandweb.blogspot.com/ 18
Tipos de Cardinalidad
N a Muchos (N:M)
http://technologyandweb.blogspot.com/ 19