Base de Datos I - ECOTEC

16
Base de Datos I Facilitador: César Bustamante Chong [email protected]

Transcript of Base de Datos I - ECOTEC

Base de Datos I

Facilitador: César Bustamante Chong

[email protected]

AGENDA• LENGUAJE S.Q.L.

• SUB-LENGUAJE D.M.L.

Introducción

DML es la parte de SQL que se usa para la recuperación o manipulación de

datos. Se refiere a los comandos responsables por las consultas y

modificaciones de los contenidos de las tablas.

Comandos más importantes:

Comando Función

SELECT Es el principal comando del lenguaje. Con él, el usuario

recupera datos de una tabla o vista.

INSERT Inserta una fila en una tabla.

DELETE Elimina filas de la tabla

UPDATE Modifica el contenido de las columnas (campos) de la tabla

COMMIT Graba en el disco las modificaciones introducidas.

ROLLBACK Deshace las modificaciones introducidas después del último

COMMIT

Lenguaje de Manipulación de Datos (DML) Expresiones y Operadores

SQL (SQL Server Particularmente) acepta los operadores más comunes que se

encuentran en la mayor parte de los lenguajes.

Los operadores actúan sobre operandos, o sea, sobre los elementos a los que

se les aplicará la operación determinada por el operador.

Existen dos tipos de operadores: los unarios, que actúan sobre un único

operando, y los binarios que actúan sobre dos operandos.

Aritméticos

Multiplicación ( * ), División ( / ), Sustracción ( - ), Adición ( + ), Módulo ( % ).

Comparación

Igualdad ( = ), Desigualdad ( <> ), Mayor que ( > ), Menor que ( < ), Mayor o

igual a ( >= ), Menor o igual a ( <= ), No menor que ( !< ), No mayor que ( !>),

No igual a ( != )

Lógicos NOT (Negación), AND (y lógico) , OR ( o lógico)

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

La instrucción SELECT se utiliza principalmente para la recuperación de datos

específicos de una Tabla o Vista.

Una instrucción SELECT puede ser simple o compleja (no es necesariamente

mejor que sea compleja). Hay que intentar construir las instrucciones SELECT

de la forma más sencilla posible siempre que recuperen los resultados

necesarios.

Por ejemplo, si se necesita mostrar solo dos columnas de una tabla, hay que

incluir solo esas dos columnas en la sentencia SELECT.

Nomenclatura:

SELECT nombre_de_columnas

FROM tabla_a_la_que_se_consulta

Se colocan los nombres de las columnas que se mostraran en el SELECT, separados por

una coma.

Se colocan los nombres de las Tablas a las cuales pertenecen las

columnas.

Ejemplo 1: Liste de la Tabla authors de la base de datos Pubs (base

de datos de ejemplo instalada por SQL SERVER) las columnas

au_fname (Primer Nombre) y au_lname (Segundo Nombre).

SELECT au_fname, au_lname

FROM authors

Ejemplo 2: Liste todos los atributos de la tabla authors. En SQL se

utiliza el comodín * para listar todos los campos de una tabla.

SELECT *

FROM authors

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

Después de que se haya decidido qué datos se necesitan y de qué tablas, se

puede determinar qué otras opciones, en caso necesario hay que utilizar. Estas

opciones pueden incluir especificar que columnas deberían estar en la cláusula

WHERE, especificar si hay que ordenar los datos devueltos y especificar si

sean de devolver solo valores distintos.

Cláusula WHERE

Esta cláusula permite hacer una selección sobre los atributos de las diversas

columnas que se desean mostrar, en base a diversas condiciones. Acá se

pueden ocupar algunos operadores de comparación y lógicos.

La clausula WHERE se ubica bajo la clausula FROM.

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

Cláusula WHERE

Ejemplo 1: Liste desde la tabla authors todos los autores que tengan dirección

en Oakland. Solo muestre el id, primer nombre, segundo nombre y la

ciudad.

Select au_id, au_fname, au_lname, city

From Authors

Where city = ‘Oakland’

Ejemplo 2: Utilizando operadores, realice una consulta que le permita listar el

id, primer nombre, segundo nombre y ciudad, de los autores que vivan en

Oakland y Palo Alto.

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

La clausula SELECT consiste en una lista de selección y posiblemente algunos

argumentos opcionales.

La lista de selección es la lista de expresiones o columnas que se especifican en

la clausula SELECT para indicar que datos hay que devolver.

Argumentos Opcionales Se pueden utilizar los siguientes dos argumentos en la

instrucción SELECT para controlar que filas se devuelven:

DISTINCT: devuelve solamente filas únicas. Si la lista de selección contiene

varias columnas, las filas se consideran únicas si los valores correspondientes en

al menos una de las columnas es diferente. Para que se dupliquen dos filas

deben contener valores idénticos en cada columna.

Ejemplo: Liste desde la tabla authors el primer nombre y el segundo, de tal

manera que no se repitan los datos.

SELECT DISTINCT au_fname, au_lname

FROM authors

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

TOP n [PERCENT]: Devuelve solamente las primeras filas del conjunto resultado.

PERCENT es opcional e indica un porcentaje de filas listadas de acuerdo al total

final, se debe por lo tanto indicar un porcentaje con valores entre 0 y 100.

Ejemplo 1: Liste la mitad de los primeros nombres y segundos nombres de la

tabla authors. (50 %)

SELECT TOP 50 PERCENT au_fname, au_lname

FROM authors

Ejemplo 2: Liste exactamente los 5 primeros nombres y segundos nombres de la

tabla authors.

SELECT TOP 5 au_fname, au_lname /* valores exactos no va PERCENT*/

FROM authors

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

Alias de Columna

Se puede utilizar un alias para clarificar el significado de los datos en una columna de salida, para

asignar una cabecera a una columna que se utiliza en una función.

Ejemplo: Cambiar el nombre de la columna de salida au_fname a Primer Nombre

SELECT au_fname AS PRIMER_NOMBRE

FROM authors

Cláusula ORDER BY

Esta cláusula permite ordenar el resultado de la consulta, definiendo el orden en que se presentan las

columnas seleccionadas en la lista de selección. Se pueden presentar en orden ascendente (por defecto)

y descendente (se coloca después de la columna a ordenar la palabra clave DESC).

Ejemplo 1: Liste los nombres de los autores (tabla authors) en orden descendente y ascendente.

a) SELECT au_fname, au_lname

FROM authors

ORDER BY au_fname

b) SELECT au_fname, au_lname

FROM authors

ORDER BY au_fname DESC

Lenguaje de Manipulación de Datos (DML) Instrucción SELECT

La instrucción INSERT se utiliza para insertar una fila de datos en una tabla o vista.

Nomenclatura:

INSERT INTO nombre_tabla (columna1, columna2, ….., columnaN)

VALUES ( valor1, valor2,….., valorN )

Ejemplo: Inserte los campos a la tabla Demo2 (codigo, nombre, estado)

INSERT INTO Demo2 (codigo, nombre, estado)

VALUES (1, ‘Sergio’, ‘CA’ )

NOTA: la lista de los datos a ingresar tienen que ser en el mismo orden de las columnas

definidas.

Si usted va ingresar todos los datos asociados a la Tabla, no necesita colocar el nombre de

las columnas solo los valores a registrar.

Ejemplo: Insertar una fila en la tabla Demo2.

INSERT INTO DEMO2 VALUES (2, ‘RAUL’, ‘CA’)

Lenguaje de Manipulación de Datos (DML) Instrucción INSERT

Lenguaje de Manipulación de Datos (DML) Instrucción UPDATE

La introducción UPDATE se utiliza para actualizar o cambiar un valor o valores en una fila o filas

de una tabla.

Nomenclatura:

UPDATE nombre_tabla_actualizar

SET columna_actualizar1 = nuevo_valor,

columna_actualizar2 = nuevo_valor

WHERE condiciones_para_actualizar

Ejemplo: Actualice el atributo nombre de la tabla Demo2, que referencia a RAUL por el Nombre

Pedro, y su estado de CA a UE.

Acá se colocan las columnas

que serán modificadas dentro

de la fila o filas.

Se colocan condiciones para poder

actualizar. De la condición dependen las

filas que se actualizan.

UPDATE Demo2

SET nombre = ‘PEDRO’,

estado = ‘UE’

WHERE codigo = 2 AND nombre = ‘RAUL’

Lenguaje de Manipulación de Datos (DML) Instrucción UPDATE

La instrucción DELETE se utiliza para borrar una fila o filas de datos de una tabla.

Se puede incluso borrar todas las filas de una tabla.

Nomenclatura:

DELETE FROM nombre_tabla

WHERE condiciones_para_borrar

Ejemplo 1: Borre desde la tabla Demo2 el código 2.

DELETE FROM Demo2

WHERE codigo = 2

Ejemplo 2: Borre todas las filas de la Tabla Demo2

DELETE FROM Demo2

Lenguaje de Manipulación de Datos (DML) Instrucción DELETE

BibliografíaTEXTO AUTOR EDITORIAL

“Sistema de Gestin de Bases de Datos” RaghuRamakrishnan, Johannes Gehrke Mc Graw Hill, 2003, 3ra Edición

“Fundamentos de bases de datos” Henry Korth y Abraham Silberschatz Mc Graw Hill,2006, 5ta Edición

“Bases de datos: Modelos, Lenguajes, Diseño” James L. Jonson

“El modelo entidad-relación” Barker Addison-Wesley Iberoamericana España,

“Bases de Datos” Rafael Camps Paré, Luis Alberto Casillas UOC

Bases de DatosDistribuidas BELZEBU Formato PDF (Atrium)

TEXTO AUTOR EDITORIAL

“Curso 2778 Writing Queries Using Microsoft SQL Server 2008 Transact-SQL”

Microsoft Microsoft Learning

PHP Y MySQL para Dummies Valade Janet Formato PDF (Atrium)

MySQL http://www.mysql.com Open Source