Вы находитесь на странице: 1из 15

SUBSECRETARIA DE EDUCACIN SUPERIOR DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA INSTITUTO TECNOLGICO SUPERIOR DE LA SIERRA NEGRA DE AJALPAN

PROGRAMACION DE BASE DE DATOS

ING. VICTOR CESAR OLGUIN ZARATE

PROGRAMACION DE BASE DE DATOS

3.1. Programacin del lado del servidor 3.1.1. Creacin de vistas. 3.1.2. Creacin de cursores. 3.1.3. Creacin de funciones. 3.1.4. Elementos de un lenguaje de Programacin (Transact SQL, PL/SQL, etc.) 3.1.5. Disparadores (Triggers) 3.1.6. Procedimientos almacenados (Stored Procedures) 3.2. Programacin del lado del cliente. 3.2.1. SQL embebido con C. 3.2.2. JDBC con Java. 3.2.3. ADO y ADO.NET con Visual Basic, C#, C++.

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS Una vista es una tabla virtual cuyo contenido est definido por una consulta, debido a que las tablas y vistas comparten el mismo entorno no deben tener el mismo nombre. SINTAXIS:

ING. VICTOR CESAR OLGUIN ZRATE

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS
Esta sentencia crea una vista nueva o reemplaza una existente si se incluye la clusula OR REPLACE. La sentencia_select es una sentencia SELECT que proporciona la definicin de la vista. Puede estar dirigida a tablas de la base o a otras vistas.

Se requiere que posea el permiso CREATE VIEW para la vista, y algn privilegio en cada columna seleccionada por la sentencia SELECT. Para columnas incluidas en otra parte de la sentencia SELECT debe poseer el privilegio SELECT. Si est presente la clusula OR REPLACE, tambin deber tenerse el privilegio DELETE para la vista. Toda vista pertenece a una base de datos. Por defecto, las vistas se crean en la base de datos actual. Pera crear una vista en una base de datos especfica, indquela con base_de_datos.nombre_vista al momento de crearla.

ING. VICTOR CESAR OLGUIN ZRATE

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS EJEMPLO:

Las tablas y las vistas comparten el mismo espacio de nombres en la base de datos, por eso, una base de datos no puede contener una tabla y una vista con el mismo nombre. Al igual que las tablas, las vistas no pueden tener nombres de columnas duplicados. Por defecto, los nombres de las columnas devueltos por la sentencia SELECT se usan para las columnas de la vista.
ING. VICTOR CESAR OLGUIN ZRATE

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS
Las columnas devueltas por la sentencia SELECT pueden ser simples referencias a columnas de la tabla, pero tambin pueden ser expresiones conteniendo funciones, constantes, operadores, etc.

Los nombres de tablas o vistas sin calificar en la sentencia SELECT se interpretan como pertenecientes a la base de datos actual. Una vista puede hacer referencia a tablas o vistas en otras bases de datos precediendo el nombre de la tabla o vista con el nombre de la base de datos apropiada. Las vistas pueden crearse a partir de varios tipos de sentencias SELECT. Pueden hacer referencia a tablas o a otras vistas. Pueden usar combinaciones, JOIN y subconsultas.

ING. VICTOR CESAR OLGUIN ZRATE

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS
En el siguiente ejemplo se define una vista que selecciona dos columnas de otra tabla, as como una expresin calculada a partir de ellas:

ING. VICTOR CESAR OLGUIN ZRATE

3.1.1.-CREACION DE VISTAS
3.1.1.-VISTAS
SINTAXIS DE SHOW CREATE VIEW

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
CURSORES
En el lenguaje SQL existen unos tipos de controles llamados cursores que son tiles para recorrer los registros que devuelve una consulta. Este tipo de estructuras slo deben utilizarse cuando no haya otra forma de manipular conjuntos de datos en una sola instruccin.
Cada base de datos tiene su forma de declarar un cursor e incluso sus propios tipos de cursores (Oracle PL/SQL, Transact, etc). En este caso nos detendremos a ver cmo es la sintaxis para definir un cursor en MySQL.

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
CURSORES
Usar cursores involucra varios pasos: Antes de usar un cursor este debe ser declarado (definido). En este proceso no se recuperan datos, simplemente define como se usar la sentencia SELECT. Despus de ser declarada este debe ser abierto para su uso, este proceso recupera datos usando la sentencia definida previamente de SELECT. Con el cursor cargado con los datos , las lneas de manera individual pueden ser recuperadas (fetched) como se vayan necesitando. Cuando se termina, el cursor debe ser cerrado. Despus de que un cursor es declarado este puede ser abierto o cerrado tan frecuentemente como se necesite. despus de que el cursor es abierto pueden hacerse operaciones de fetch (recuperacin). - Son tiles para recorrer los registros de una consulta.
ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
DECLARAR CURSORES

Este comando declara un cursor. Pueden definirse varios cursores en una rutina, pero cada cursor en un bloque debe tener un nombre nico. El comando SELECT no puede tener una clusula INTO . APERTURA DE CURSORES

Este comando abre un cursor declarado previamente

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
SENTENCIA DE CURSOR FETCH

Este comando trata el siguiente registro (si existe) usando el cursor abierto que se especifique, y avanza el puntero del cursor. Si no existen ms registros disponibles, ocurrir una condicin de Sin Datos con el valor SQLSTATE 02000. Puede configurar un manejador (handler) para detectar esta condicin (o para una condicin NOT FOUND).

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
SENTENCIA DE CURSOR CLOSE

Este comando cierra un cursor abierto previamente. Si no se cierra explcitamente, un cursor se cierra al final del comando compuesto en que se declara. Se soportan cursores simples dentro de procedimientos y funciones almacenadas. La sintaxis es la de SQL empotrado. Los cursores no son sensibles, son de slo lectura, y no permiten scrolling. No sensible significa que el servidor puede o no hacer una copia de su tabla de resultados. Los cursores deben declararse antes de declarar los handlers, y las variables y condiciones deben declararse antes de declarar cursores o handlers.

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
EJEMPLO:

ING. VICTOR CESAR OLGUIN ZRATE

3.1.2.-CREACION DE CURSORES
EJEMPLO:

ING. VICTOR CESAR OLGUIN ZRATE

Вам также может понравиться