You are on page 1of 31

Data Definition Language

Data Manipulation Langua


SESIN 02

DOCENTE: Mg. Orleans Moiss Glvez Tapia


CURSO: GESTIN DE DATOS II UCV 2014-II

LENGUAJE SQL
Es el lenguaje de consulta
estructurado, SQL (Structured
Query Language) es actualmente
el lenguaje estndar para bases
de datos relacionales
comerciales.

Posee sentencias para:


la definicin,
consulta y
actualizacin de datos.

Permite especificar restricciones


de seguridad y definir el acceso a
datos, definir restricciones de
integridad, y para especificar el
control de transacciones.

LENGUAJE SQL
Es el lenguaje de consulta
estructurado, SQL (Structured
Query Language) es actualmente
el lenguaje estndar para bases
de datos relacionales
comerciales.

Posee sentencias para:


la definicin,
consulta y
actualizacin de datos.

Permite especificar restricciones


de seguridad y definir el acceso a
datos, definir restricciones de
integridad, y para especificar el
control de transacciones.

SQL se compone de varios elementos:

o Sentencias - Seleccionan o modifican datos u objetos del esquema, controlan el flujo de los
programas, etc.
o Consultas - Recuperan datos en funcin de unos criterios.
o Expresiones - Generan valores escalares.
o Predicados - Especifican las condiciones que sern evaluadas.
o Clusulas - Componen las sentencias. Opcionales en algunos casos.
o Punto y coma: No es requerido en todos los RDBMS pero es el estndar para indicar fin de la
sentencia.

PRINCIPALES SENTENCIAS SQL


o SELECT - Recupera informacin de la base de datos.
DML (Lenguaje de manipulacin de datos)
INSERT - Inserta nuevos registros en la base de datos.
UPDATE - Actualiza registros ya existentes.
DELETE - Borra registros.
MERGE - Realiza una combinacin de datos segn unas condiciones
DDL (Lenguaje de definicin de datos)
CREATE - Crea estructuras de datos (tablas, vistas, etc).
ALTER - Modifica estructuras de datos
DROP - Borra estructuras de datos.
RENAME - Renombra estructuras de datos.
TRUNCATE - Sirve para vaciar tablas.
Control de Transacciones
COMMIT - Confirma las operaciones DML.
ROLLBACK - Invalida las operaciones DML
SAVEPOINT - Introduce un punto de guardado para realizar COMMIT y ROLLBACK localizados.
DCL (Lenguaje de control de datos)
GRANT - Otorga permisos a usuarios.
REVOKE - Quita permisos de los usuarios.

Operadores de Comparacin
=

Igual

<>

Distinto

<

Menor

>

Mayor

<=

Menor Igual

<=

Mayor Igual

between

Utilizado para especificar un intervalo de valores.

like

Utilizado en la comparacin de un campo contra un patrn

in

Utilizado para verificar la existencia de un valor dentro de un conjunto


de valores
Operadores Lgicos

AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad


slo si ambas son ciertas.

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdar


si alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

TIPOS de DATOS en ORACLE


El tipo de dato especifica el tipo de informacin que puede guardar un
campo: caracteres, nmeros, fechas, etc.

varchar2(tamao)
o Se emplea para almacenar cadenas de caracteres. Una cadena es una secuencia de caracteres.
Se coloca entre comillas simples; ejemplo: 'Hola', 'Juan Prez', 'Colon 123'.
o Este tipo de dato definen una cadena de longitud variable en la cual indicamos el mximo
nmero de caracteres entre parntesis.

Por ejemplo: para almacenar cadenas de hasta 30 caracteres, definimos un campo


de tipo varchar2 (30), es decir, entre parntesis, junto al nombre del campo
colocamos la longitud.
Si intentamos almacenar una cadena de caracteres de mayor longitud que la definida,
la cadena no se carga, aparece un mensaje indicando tal situacin y la sentencia no
se ejecuta.
Por ejemplo, si definimos un campo de tipo varchar(10) e intentamos almacenar en l
la cadena 'Buenas tardes', aparece un mensaje indicando que el valor es demasiado
grande para la columna.

TIPOS de DATOS en ORACLE

El tipo de dato especifica el tipo de informacin que puede guardar un


campo: caracteres, nmeros, fechas, etc.

number(p,s):
o Se usa para guardar valores numricos con decimales. Definimos campos de este tipo cuando
queremos almacenar valores numricos con los cuales luego realizaremos operaciones
matemticas, por ejemplo, cantidades, precios, etc.
o Puede contener nmeros enteros o decimales, positivos o negativos. El parmetro "p" indica la
precisin, es decir, el nmero de dgitos en total (contando los decimales) que contendr el
nmero como mximo. El parmetro "s" especifica la escala, es decir, el mximo de dgitos
decimales. Por ejemplo, un campo definido "number(5,2)" puede contener cualquier nmero
entre 0.00 y 999.99 (positivo o negativo).
o Para especificar nmero enteros, podemos omitir el parmetro "s" o colocar el valor 0 como
parmetro "s". Se utiliza como separador el punto (.).

TIPOS de DATOS en ORACLE

Por ejemplo:
Si definimos un campo de tipo number(4,2) e intentamos guardar el valor 123.45, aparece un
mensaje indicando que el valor es demasiado grande para la columna.
Si ingresamos un valor con ms decimales que los definidos, el valor se carga pero con la
cantidad de decimales permitidos, los dgitos sobrantes se omiten.

Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado
para cada uno de ellos.
Por ejemplo:
Si en un campo almacenaremos nmeros telefnicos o un nmeros de documento, usamos
"varchar2", no "number" porque si bien son dgitos, con ellos no realizamos operaciones
matemticas. Si en un campo guardaremos apellidos, y suponemos que ningn apellido superar
los 20 caracteres, definimos el campo "varchar2(20)". Si en un campo almacenaremos precios con
dos decimales que no superarn los 999.99 pesos definimos un campo de tipo "number(5,2)", es
decir, 5 dgitos en total, con 2 decimales. Si en un campo almacenaremos valores enteros de no
ms de 3 dgitos, definimos un campo de tipo "number(3,0)".

DML: INSERT

Aade una fila a tabla emp con datos en todas sus columnas, incluido un valor nulo.

Aade una fila a tabla emp con datos en las


columnas referenciadas en la lista.

Aade filas con la sentencia SELECT

DML: UPDATE

Modifica el valor de la columna sal en todas las filas de la tabla.

Modifica el valor de varias columnas para las filas que cumplen la condicin.

DML: DELETE

Borra las filas que cumplen la condicin indicada

Si no se pone ninguna condicin, o sea, si no existe subclausula WHERE,


el borrado afecta a todas las filas de la tabla.

DDL: CREATE TABLE

Pueden ser de diverso tipo:


valor defectivo,
valor nulo,
clave primaria,
clave fornea o ajena,
de unicidad,

de comprobacin de una condicin, etc.

DDL: CREATE TABLE (restricciones)

PRIMARY KEY

CONSTRAINT cp_emp2 PRIMARY KEY

PRIMARY KEY (empno)

CONSTRAINT cp_emp2 PRIMARY KEY (empno)

DDL:

CREATE TABLE (restricciones)

Puede utilizar restricciones UNIQUE para garantizar que no se escriben valores duplicados en
columnas especficas que no forman parte de una clave principal.

UNIQUE

UNIQUE (dname)

Permiten declarar una condicin que debe cumplir uno o mas atributos

CHECK (condicin)

DDL: CREATE TABLE (restriccin de clave fornea)


EMP2
EMPNO (PK)
ENAME
MGR
DEPTNO (FK)

REFERENCES dept2 (deptno)

DEPT2
M

DEPTNO (PK)
DNAME
LOC

DDL: CREATE TABLE (restriccin de clave fornea)


EMP2
EMPNO (PK)
ENAME
MGR
DEPTNO (FK)

REFERENCES dept2 (deptno)

DEPT2
M

DEPTNO (PK)
DNAME
LOC

FOREIGN (deptno) REFERENCES dept2 (deptno)

OTRAS SENTENCIAS DDL

Eliminacin de tablas:

Modificacin de tablas: al aadir una columna a la tabla

Modificacin de tablas: al modificar la definicin de una columna existente

OTRAS

SENTENCIAS DDL

Modificacin de tablas - al modificar una columna existente

Modificacin de tablas - al eliminar una columna existente

Modificacin de tablas - al aadir una restriccin a una tabla existente

Modificacin de tablas - al eliminar una restriccin de una tabla

EJERCICIOS
SQL

Tablas de Ejemplo: Tenemos una tabla de empleados (EMP) y otra de departamentos


(DEPT).

Tabla: EMP

EMP
EMPNO (PK)
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO (FK)

DEPT

Tabla: DEPT

DEPTNO (PK)
DNAME
LOC

SELECT Consultas Simples

WHERE Consultas Simples

Tabla: EMP

ORDER BY Consultas Simples


Tabla: DEPT

Obtener los datos de los departamentos ordenados por el nombre del departamento:

ALIAS Consultas Simples

Obtener la comisin, departamento y nombre de los empleados cuyo salario sea inferior a 1.900,
ordenndolos por departamento en orden creciente, y por comisin en orden decreciente dentro de
cada departamento

Tabla: EMP

ALIAS Consultas Simples

Tabla: EMP

ALIAS Consultas Simples

Cul sera el resultado del SELECT?

TO_CHAR y DISTINC
01/04/11
To_char(fec_ingreso,dd/mm/yyyy),
To_char(fec_ingreso,yyyy-mm-dd),
To_char(fec_ingreso,month),
El resultado de esta query es el siguiente:

La funcin TO_CHAR() realiza la conversin de un


nmero o fecha a una cadena, el valor retornado
ser siempre un VARCHAR2 y opcionalmente
permite tambin una mascara para formatear la
salida

01/04/2011
2011-04-01
Abril
Los caracteres corresponden a:
dd= nmero del da,
mm= nmero del mes,
yyyy= nmero del ao,
month= nombre del mes.

La sintaxis para la funcin TO_CHAR() es:

TO_CHAR(Valor, [mascara])

TO_CHAR y DISTINC
Obtener el puesto de trabajo (JOB) y el ao de contratacin de los empleados que trabajan en el
departamento 30. Devolver solamente registros diferentes.

Tabla: EMP

TO_CHAR y DISTINC

Obtener el puesto de trabajo (JOB) y el ao de contratacin de los empleados que trabajan en el


departamento 30. Devolver solamente registros diferentes.

CONTRATADO

TO_CHAR y DISTINC

Obtener el puesto de trabajo (JOB) y el ao de contratacin de los empleados que trabajan en el


departamento 30. Devolver solamente registros diferentes.

El DISTINC afecta a toda la fila

CONTRATADO

You might also like