Está en la página 1de 18

Modulo 9a: SQL Server 2005 SQL Server Express 2005

SQL Server 2005 / SQL Server Express 2005


Componentes del SQL El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. Existen dos tipos de comandos SQL:
los DLL que permiten crear y definir nuevas bases de datos, campos e

ndices. los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

What is a View?

En SQL, una VISTA es una relacion virtual de un comando SELECT. Una vista contiene filas y columnas, al igual que una tabla real. Los campos en una vista son campos de una o ms tablas reales en la base de datos. En algunos casos, se puede modificar una vista y presentar los datos como si los datos fueron procedente de una nica tabla. Syntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition

SQL Relations, Tables & Views

Cuando hablamos de relacion, en una tabla o vista. Existen tres tipos de relacion:

1.

Stored relations entre tablas Tambien se usa el termino base relation o base table 2. Virtual relations entre tablas y/o views 3. Temporales, durante la ejecucion de un comando

SQL Create View


Ejemplo: Crear una vista con el titulo y ao y hecha por

Paramount studios.

Movie (title, year, length, inColor, studioName, producer) CREATE VIEW ParamountMovie AS SELECT title,year FROM Movie WHERE studioName = Paramount;

SQL Querying View


Una vista podra ser utilizada desde el interior de una

consulta, un procedimiento almacenado, o desde el interior de otra vista. Mediante funciones, JOINS, etc, a otra vista, nos permite presentar con exactitud los datos que queremos para el usuario.
SELECT * FROM ParamountMovie WHERE year = 1979;

View

Obtenemos el mismo resultado que la consulta


SELECT title, year Table FROM Movie WHERE studioName = Paramount AND year = 1979;

SQL - Querying View cont


Query que utiliza una tabla y una vista
SELECT DISTINCT starName FROM ParamountMovie, StarsIn

View Table

WHERE title = movieTitle AND year = movieYear;

SQL - Querying View example


Movie (title, year, length, inColor, studioName, producer) MovieExec (name, address, cert, netWorth)

CREATE VIEW MovieProd AS SELECT title, name FROM Movie, MovieExec WHERE producer = cert; SELECT name FROM MovieProd WHERE title = Gone With the Wind;
Obtenemos el mismo resultado que un Query con tablas:

SELECT title, name FROM Movie, MovieExec WHERE producer = cert AND title = The War Of the World;

SQL - Modifying View


Cuando modificamos una vista, realmente modificamos una tabla a travez de una vista. Muchas vistas no son actualizables. Reglas para poder actualizar una vista:

Seleccione (SELECT no SELECT DISTINCT) y algunas columnas de la tabla R (la cual puede ser otra vista actualizable)
La instruccion WHERE no debe contener a R en una

subconsulta.

La lista resultante del SELECT debe contener las

columnas que nos permitan insertar TUPLAS en la tabla (vista). Las demas columnas pueden llnarse con NULL o los valores default.

SQL Modifying View (INSERT)


INSERT INTO ParamountMovie VALUES (Star Trek, 1979); Para hacer la vista ParamountMovie updateable, necesitamos agregar la columna studioName al SELECT si no tiene valores default ni acepta valores NULL. CREATE VIEW ParamountMovie AS
SELECT studioName, title, year FROM Movie WHERE studioName = Paramount;

Quedando:

INSERT INTO ParamountMovie VALUES (Paramount, Star Trek, 1979); Title year length inColor studioName Star Trek 1979 0 NULL Paramount producerC# NULL

SQL - Modifying View (DELETE)


Si queremos borrar todas las peliculas cuyo nombre contenga Trek en el titulo desde la vista updateable ParamountMovie.
DELETE FROM ParamountMovie WHERE title LIKE %Trek%;

Es lo mismo que hacer un delete a la tabla asi:


DELETE FROM Movie WHERE title LIKE %Trek% AND studioName = Paramount;

SQL - Modifying View (UPDATE)


UPDATE desde una vista updateable
UPDATE ParamountMovie SET year = 1979 WHERE title = Star Trek the Movie;

Es lo mismo que hacer un update a la tabla asi


UPDATE Movie SET year = 1979 WHERE title = Star Trek the Movie AND studioName = Paramount;

SQL View (DROP)


DROP view: toda vista puede ser eliminada sea o no sea

updateable.

DROP VIEW ParamountMovie;

DROP VIEW no afecta ningun registro de su origen (tabla)

en este caso de la tabla Movie. Sin embargo, el comando DROP TABLE borrara toda la tabla y dejara a la vista ParamountMovie inservible.
DROP TABLE Movie

SQL Server 2005 / SQL Server Express 2005

los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.

los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

SQL Server 2005 / SQL Server Express 2005


Clusulas
Las clusulas son condiciones de modificacin utilizadas para

definir los datos que desea seleccionar o manipular.

Operadores Lgicos

SQL Server 2005 / SQL Server Express 2005


Operadores

Funciones de Agregado

de comparacin

Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros.

SQL Server 2005 / SQL Server Express 2005


Consultas con Predicado

El predicado se incluye entre la clusula y el primer nombre del campo a recuperar, los posibles predicados son:

Demostracion: Crear una base de datos con vistas y relaciones


Crear la base de datos Crear tablas de catalogo Crear tablas transaccionales con

relacion a catalogos Crear una vista Crear un store procedure

También podría gustarte