UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1"

Transcripción

1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS ÍNDICES Y VIST Comprender la utilidad de los índices y su implementación Comprender el uso de las vistas y su implementación II. MARCO TEÓRICO 1. Definición El índice de un libro nos permite localizar información de una manera rápida sin la necesidad de hacer una búsqueda intensiva por todas las páginas del libro. El índice es una estructura adicional al contenido del libro en que se encuentran ordenados los temas del mismo, junto con un número que indica la página exacta en que se encuentra cada uno de ellos. Por supuesto, la información contenida en el libro es la misma con índice o sin él. El índice sólo influye en la velocidad con que se encuentra la información buscada. En el mundo de las bases de datos relacionales, los índices son estructuras que se pueden crear asociadas a tablas con el objetivo de acelerar algunas sentencias SQL ejecutadas sobre ellas. La ausencia o presencia de un índice asociado a una tabla no influye en la sintaxis de las sentencias SQL ejecutadas sobre esa tabla. SQLServer hace uso de los índices para incrementar el rendimiento cuando: - Busca registros con valores específicos en columnas indexadas. - Accede a una tabla en el orden de las columnas del índice. 2. Selección De Índices Los índices son creados para aumentar la eficiencia en los accesos a las tablas de la base de datos. A cambio se paga con el espacio extra ocupado por los índices y el tiempo necesario para mantenerlos. Aunque los índices agilizan la recuperación de los datos de las tablas, sin embargo ralentizan las actualizaciones y ocupan espacio en disco, ya que, cuando se realizan actualizaciones de una tabla de la base de datos, cada uno de los índices basados en esa tabla necesita también una actualización. Antes de crear un índice se debe determinar si es necesario, es decir, se debe estimar si el beneficio en el rendimiento que se obtendrá supera al costo derivado de su mantenimiento. El usuario sólo debe crear aquellos índices que considere necesarios y SQL Server se encargará de usarlos y mantenerlos automáticamente. El mantenimiento implica la modificación necesaria

2 del índice cuando se añaden, modifican o eliminan registros de la tabla. Por tanto, es importante utilizar los índices que se necesiten realmente y se deben borrar si no van a necesitarse de nuevo. 3. Creación de Índices Para la creación de índices usaremos la sentencia CREATE INDEX cuya sintaxis básica es: CREATE INDEX nombre_del_índice ON tabla(campo[c DESC],...) Por ejemplo, si queremos acelerar las consultas cuando busquemos a un proveedor por su nombre, podemos crear un índice asociado al campo nompro de la tabla proveedor. CREATE INDEX indice_proveedores ON proveedor(nompro) Cuando se crea una tabla es mejor insertar los registros antes de crear el índice. Si se crea antes el índice, SQLServer deberá actualizarlo cada vez que se inserte un registro. 4. Índices compuestos Un índice compuesto es aquél creado sobre más de un campo de la tabla. Los índices compuestos pueden acelerar la recuperación de información cuando la condición de la consulta correspondiente referencia a todos los campos indexados o sólo a los primeros. Por tanto, el orden de las columnas usado en la definición del índice es importante; generalmente, los campos por los que se accede con mayor frecuencia se colocan antes en la creación de índices. Supongamos que tenemos una tabla Libros con los campos: código, título, autor, editorial y género y creamos un índice compuesto sobre los campos género, título y editorial: CREATE INDEX indicelibros ON libros (genero, titulo, editorial) Dicho índice acelerará la recuperación de información de las consultas cuya condición incluya referencias al campo género, a los campos género y título o a los campos género, título y editorial Por ejemplo: SELECT codigo FROM libros WHERE genero= Novela AND titulo= Sin noticias de Gurb SELECT codigo FROM libros WHERE genero= Novela AND titulo= Sin noticias de Gurb AND editorial= Planeta Sin embargo no mejorará el acceso cuando las consultas no incluyan referencias a los primero campos del índice. Por ejemplo: SELECT codigo FROM libros WHERE titulo= Sin noticias de Gurb ; SELECT codigo FROM libros WHERE genero= Novela AND editorial= Planeta 5. Estructura de los índices Cuando se crea un índice, SQL Server recupera los campos indexados de la tabla y los ordena. A continuación almacena en una estructura especial los valores de los campos indexados junto con un identificador (ROWID) del registro correspondiente. Por lo general se usan árboles B* balaceados para igualar el tiempo necesario para acceder a

3 cualquier fila. 6. Eliminación de Índices Son varias las razones por las que puede interesar elimina un índice: - El índice no se necesitará más. - Por las características de la tabla el índice no mejora la eficiencia. - Necesitamos cambiar los campos que se indexan. - Necesitamos rehacer un índice muy fragmentado. Para eliminar un índice usaremos la sentencia: DROP INDEX nombre_del_índice Ejemplo: DROP INDEX Proveedor.indice_proveedores Se debe tener en cuenta que cuando se borra una tabla también se borran todos los índices asociados. ACTIVIDADES 1. Crearemos el fichero crear_tabla_libros con la siguiente información: create table libros( codigo varchar(8) constraint codigolibro_no_nulo not null constraint codigolibro_clave_primaria primary key, titulo varchar(40) constraint titulo_libro_no_nulo not null, autor varchar(30) constraint autor_libro_no_nulo not null, editorial varchar(20) constraint editorial_libro_no_nulo not null, genero varchar(15) ) Como resultado de la ejecución de este fichero se crea la tabla libros definiendo codigo como llave primaria. Name Null? Type CODIGO NOT NULL VARCHAR(5) TITULO NOT NULL VARCHAR(40) AUTOR NOT NULL VARCHAR(30) EDITORIAL NOT NULL VARCHAR(20) GENERO VARCHAR(15) 2. Encontrar el código del libro, el título del libro y el nombre del autor que imprime la editorial Diksiyo. (Darse cuenta del tiempo que toma el SGBD para encontrar tal nombre de editorial) SELECT codigo, titulo, autor, editorial FROM libros where editorial= Diksiyo 3. Crear un índice para que acelere las consultas cuando se busque a una editorial por su nombre. CREATE INDEX indice_editoriales ON libros(editorial) 4. Volver a realizar el paso Nro. 2. (Darse cuenta del tiempo que toma el SGBD para encontrar tal nombre de editorial, teniendo en cuenta que se ha creado un índice para tal campo) 5. Crear un índice compuesto para acelerar la recuperación de información de las consultas cuya condición incluya referencias el campo género, a los campos género y título o a los campos género, título y editorial

4 CREATE INDEX indicelibros ON libros (genero, titulo, editorial) 6. Encontrar el código y nombre del libro Muerte sin sombra : (Darse cuenta del tiempo que toma el SGBD para encontrar este título del libro) SELECT codigo, titulo FROM libros WHERE titulo= Muerte sin sombra 7. Encontrar el código y nombre de la novela Muerte sin sombra : (Darse cuenta del tiempo que toma el SGBD para encontrar este título del libro) SELECT codigo, titulo FROM libros WHERE genero= Novela AND titulo= Muerte sin sombra 8. Encontrar todas las novelas de la editorial Cornucopia : SELECT * FROM libros WHERE genero= Novela AND editorial= Cornucopia 9. Encontrar la novelas de la editorial Cornucopia titulada Muerte sin sombra SELECT * FROM libros WHERE genero= Novela AND titulo= Muerte sin sombra AND editorial= Cornucopia III. MARCO TEÓRICO 1. Definición VIST Una vista es una tabla lógica cuya información se deriva de una tabla, de un conjunto de ellas o bien de otras vistas de la base de datos. Si el contenido de las tablas cambia, este cambio se ve reflejado en las vistas. Dicho de otra forma: es una expresión que describe una tabla sin crearla (a veces se le llama tabla virtual). Una vista no contiene ningún dato, en lugar de ello ésta es definida sobre una o más tablas base. Se puede usar vistas para: - Seleccionar un subconjunto de registros de una tabla base. - Incluir únicamente un subconjunto de las columnas de una tabla base. - Juntar registros relacionados de múltiples tablas base. - Combinar subconjuntos de registros de múltiples tablas usando la operación de unión. 2. Creación de Vistas Para la creación de vistas usaremos la sentencia CREATE VIEW cuya sintaxis básica es: CREATE VIEW nombre_de_la_índice Consulta_SQL; Supongamos la vista VentasParis, que representa el conjunto de suministros realizados sólo con integrantes procedentes de Paris. CREATE VIEW VentasParis SELECT ventas.codpro,codp,ventas.codpj,cantidad FROM proveedor,pieza,proyecto,ventas WHERE proveedor.ciudad='paris' AND pieza.ciudad='paris' AND proyecto.ciudad='paris' AND proveedor.codpro=ventas.codpro AND pieza.codpie=ventas.codp AND proyecto.codpj=ventas.codpj En la cláusula se especifica la consulta que determina qué filas y columnas de la tabla o tablas almacenadas forman parte de la vista.

5 3. Consulta de Vistas Se trata las vistas como una tabla cualquiera. Así por ejemplo, podemos consultar la relación VentasParis y de ella mostrar los códigos de proveedores que suministran al proyecto J3. SELECT DISTINCT codpro FROM VentasParis WHERE codpj='j3' 4. Modificación de Vistas Se pueden usar los comandos DELETE, INSERT, UPDATE sólo en determinadas ocasiones, la razón es que puesto que la vista no existe como tabla base (tabla almacenada), para el caso de insertar una nueva tupla, la cuestión es dónde encajaría esa tupla. En otros casos se plantea como habría que completar algunos atributos de la tuplas. Por ejemplo supongamos la vista siguiente: CREATE VIEW PiezasParis SELECT codpie,nompie,color,peso FROM pieza WHERE pieza.ciudad= Paris Si hacemos una inserción del tipo: INSERT INTO PiezasParis VALUES ( P8, Pieza ocho, Rojo,10) La vista PiezaParis cumple las condiciones para actualizar la tabla piezas, pero inserta NULL como valor para ciudad. Bastaría con añadir un campo más en la inserción con el valor Paris pero el atributo ciudad no pertenece a la vista. Por tanto habría que redefinir la vista para que incluyera ciudad. La sentencia para borrar una vista es: DROP VIEW Nombre_vista Para eliminar la vista de nuestro ejemplo, la sentencia sería: DROP VIEW VentasParis 5. Re Creación de Vistas Se puede cambiar la definición de una vista, con la sentencia ALTER VIEW. ALTER VIEW PiezasParis SELECT codpie codigo,nompie Nombre,color,peso FROM pieza WHERE pieza.ciudad= Paris La sintaxis de usar ALTER VIEW es la misma de CREATE VIEW. La ventaja para usar ALTER VIEW (en lugar de borrar la vista y crearla de nuevo) es que los procedimientos almacenados, triggers y permisos que referencia la vista no son afectados. 6. El Catálogo SQL y la información del esquema Cada SQL Server tiene un conjunto de tablas del sistema que almacena información descriptiva sobre las estructuras de las tablas, vistas, y otros objetos de la BD. Las tablas tienen el prefijo sys. Se puede acceder a estas tablas directamente, sin embargo, para muchos propósitos, es mejor acceder a la información a través de sus vistas. Por ejemplo, la siguiente consulta producirá una lista de todas las tablas y vistas accesibles en la base de datos: SELECT * FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME

6 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 7 I. OBJETIVOS PROCEDIMIENTOS ALMACENADOS Y TRIGGERS II. Comprender el uso de los procedimientos almacenados y su implementación Comprender el uso de los triggers y su implementación MARCO TEÓRICO 1. Definición Procedimientos Almacenados (Stored Procedures o SP) Un procedimiento almacenado es creado con la sentencia CREATE PROCEDURE y es ejecutado con la sentencia EXECUTE (o una función de una interfaz de BD, como OLE DB). Se puede usar cualquier cantidad de sentencias SQL en un procedimiento almacenado, excepto las siguientes: CREATE PROCEDURE, CREATE RULE, CREATE TRIGGER y CREATE VIEW. Un procedimiento almacenado trabaja como un procedimiento en un lenguaje de alto nivel, y puede tener parámetros de entrada y salida, variables locales, asignaciones, operaciones con la DB (DML y DDL), etc. 2. Creación de Procedimientos Almacenados CREATE PROCEDURE Dec (5,2) SELECT * FROM pieza WHERE peso Un procedimiento almacenado es siempre creado en la base de datos actual. Para ejecutar este procedimiento, se puede usar la sentencia: EXECUTE ListarPiezasConPesoMayorA 0 La palabra EXECUTE es opcional si el procedimiento almacenado es la única o la primera sentencia en un lote (batch) de sentencias. 3. Modificando SP La sentencia ALTER PROCEDURE nos permite cambiar el código del procedimiento almacenado sin cambiar los permisos que han sido otorgados al procedimiento. ALTER PROCEDURE tiene una sintaxis similar a la sentencia CREATE PROCEDURE. El siguiente ejemplo muestra como se podría modificar el procedimiento anteriormente creado: ALTER PROCEDURE Dec (5,2) SELECT * FROM pieza

7 WHERE Ciudad IS NOT NULL AND peso Ahora ejecutemos la sentencia: EXECUTE ListarPiezasConPesoMayorA 0 Se puede renombrar un procedimiento almacenado con el procedimiento almacenado del sistema sp_rename, el cual toma tres argumentos: el nombre antiguo, el nuevo nombre y el tipo de objeto ( object es el tipo de objeto para el procedimiento almacenado, y es opcional). El siguiente ejemplo renombra el procedimiento ListarPiezasConPesoMayorA: sp_rename ListarPiezasConPesoMayorA, ListarTodasLasPiezasConPesoMayorA EXECUTE ListarTodasLasPiezasConPesoMayorA 0 4. Eliminando SP Puedes borrar un procedimiento almacenado con la sentencia DROP PROCEDURE: DROP PROCEDURE ListarTodasLasPiezasConPesoMayorA 5. Mostrando información sobre procedimientos almacenados Tres procedimientos almacenados del sistema muestran información sobre procedimientos almacenados: - sp_help nombre_del_procedimiento: Muestra el propietario del procedimiento y cuando fue creado. sp_help ListarPiezasConPesoMayorA - sp_helptext nombre_del_procedimiento: Muestra el código para el procedimiento. sp_helptext ListarPiezasConPesoMayorA - sp_depends nombre_del_procedimiento: Muestra una lista de objetos a los cuales hace referencia el procedimiento sp_depends ListarPiezasConPesoMayorA_ 6. Parámetros sobre SP Un procedimiento almacenado puede tener hasta 1024 parámetros. Cada declaración de parámetro tiene la siguiente forma tipo_de_dato Un nombre de parámetro empieza y los siguientes caracteres pueden ser letras unicode, dígitos, o los $, # o _. No se podría empezar un parámetro con el ya que SQLServer usa esta notación para algunas funciones. Se puede definir un valor de entrada por defecto a ser usado si ningún argumento es otorgado cuando el procedimiento es llamado. En el ejemplo anterior podemos modificarlo para dar un valor por defecto que podría seleccionar una pieza con peso mayor que cero: CREATE PROCEDURE Dec (5,2) = SELECT * FROM pieza WHERE peso

8 Con esta definición se puede llama al procedimiento simplemente usando la siguiente sentencia, lo cual es equivalente a llamar al procedimiento con como argumento: EXECUTE ListarPiezasConPesoMayorA Todos los parámetros pueden servir como parámetros de entrada. Para usar un parámetro como uno de salida, adicionemos la palabra clave Output a su declaración (después del valor por defecto, si es que lo tiene), como se muestra a continuación: CREATE PROCEDURE Dec (5,2) Output = (SELECT peso FROM pieza WHERE codpie ) Cuando se llama a un procedimiento que tiene un parámetro de salida, se DEBE dar una variable para el argumento y usar la palabra clave Output después del argumento en la sentencia EXECUTE. dec(5,2) EXECUTE ConseguirPesoDePieza Output Una manera alternativa para especificar argumentos cuando se llama a procedimientos almacenados es usar el nombre del parámetro correspondiente como es definido en el procedimiento. Veamos: dec(5,2) EXECUTE ConseguirPesoDePieza 7. Retornando un conjunto como = Output Un procedimiento almacenado retorna un conjunto para cada sentencia SELECT ejecutada que no es usada como una subconsulta (es decir, en lugar de un valor simple) y que no están asignadas todas las columnas en la consulta a variables o parámetros. Por ejemplo el siguiente procedimiento retorna dos conjuntos de resultados. CREATE PROCEDURE ListarVentasBajasYAltas SELECT * FROM ventas WHERE cantidad<100 SELECT * FROM ventas WHERE cantidad>1000 Veamos el resultado de ejecutar: EXECUTE ListarVentasBajasYAltas TRIGGERS

9 I. MARCO TEÓRICO 1. Definición Los dos principales mecanismos que ofrece Microsoft SQL Server 2000 para exigir las reglas de empresa y la integridad de datos son: las restricciones y los desencadenadores. Un desencadenador es un procedimiento almacenado de tipo especial que actúa automáticamente cuando se modifican los datos de la tabla. Los desencadenadores se invocan en respuesta a las instrucciones INSERT, UPDATE y DELETE. Un desencadenador puede consultar otras tablas e incluir instrucciones de Transact-SQL complejas. El desencadenador y la instrucción que lo activa se tratan como una sola transacción que puede deshacerse desde el desencadenador. Si se detecta un error grave (por ejemplo, no hay suficiente espacio en disco), se deshace automáticamente toda la transacción. Los desencadenadores tienen varias utilidades: Los desencadenadores pueden realizar cambios en cascada por medio de tablas relacionadas de la base de datos; sin embargo, estos cambios pueden ejecutarse de manera más eficaz mediante restricciones de integridad referencial en cascada. Los desencadenadores pueden exigir restricciones más complejas que las restricciones CHECK. A diferencia de éstas, los desencadenadores pueden hacer referencia a columnas de otras tablas. Por ejemplo, un desencadenador puede utilizar una instrucción SELECT de otra tabla para comparar con los datos insertados o actualizados y para realizar acciones adicionales, como modificar los datos o mostrar un mensaje de error definido por el usuario. Los desencadenadores también pueden evaluar el estado de una tabla antes y después de realizar una modificación de datos y actuar en función de la diferencia. Varios desencadenadores del mismo tipo (INSERT, UPDATE o DELETE) en una tabla permiten realizar distintas acciones en respuesta a una misma instrucción de modificación. 2. Detalles Un trigger es un tipo especial de procedimientos almacenados que es ejecutado automáticamente cuando una sentencia INSERT, UPDATE, o DELETE actualiza uno o más registros en una tabla. SQL Server llama a un trigger para cada operación especificada sobre una tabla en particular. Generalmente los triggers son asociados con tablas base (no vistas), sin embargo, existe una clase especial de trigger, que usa además vistas. Los triggers son siempre invocados por SQL Server, no se puede usar la sentencia EXECUTE para llamar a un trigger. Los triggers también no tienen parámetros y no retornan valor. 3. Creación de triggers Primero debemos de crear una tabla base en la que se guarde una bitácora de acciones sobre piezas: CREATE TABLE BitacoraDePiezas( codpie varchar(3), accion varchar(30), usuario varchar(20), fecha datetime ) Se puede crear un trigger usando la sentencia CREATE TRIGGER como se muestra a continuación. CREATE TRIGGER ActualizacionDePieza

10 ON pieza FOR update INSERT INTO BitacoraDePiezas ( codpie, accion, usuario, fecha ) SELECT codpie, Update, Current_User, Current_TimeStamp FROM Inserted SELECT * FROM pieza SELECT * FROM BitacoraDePiezas SELECT * FROM Inserted SELECT * FROM deleted Este ejemplo muestra los elementos esenciales de una definición de un trigger. El nombre del trigger es el que aparece después de la palabra clave CREATE TRIGGER. La cláusula ON especifica una simple tabla base con la que está asociada el trigger. La cláusula FOR especifica para qué acción se ejecutará el trigger; se puede usar una o más palabras claves como INSERT, UPDATE o DELETE (como sinónimo a FOR se puede usar AFTER). Después de la cláusula se puede codificar un procedimiento almacenado. Una vez que este ejemplo es creado, SQL Server automáticamente invoca al procedimiento almacenado del trigger cada vez que una actualización sobre la tabla pieza es realizada. En este ejemplo, el trigger consiste de un simple INSERT y adiciona registros a la tabla BitacoraDePiezas. El valor de codpie de la tabla pieza es el nuevo valor insertado en la tabla BitacoraDePiezas. Las otras tres columnas mantienen un tipo de acción (que es update), el usuario que realizó la acción y la fecha y hora. Las tablas temporales Inserted y Deleted tienen la misma estructura de columnas como la tabla base sobre la cual el trigger es definido. Veamos como funciona el trigger, actualizando algunos registros: UPDATE pieza SET nompie= Tuerca ABC WHERE nompie= Tuerca Y luego UPDATE pieza SET nompie='clavo XYZ' WHERE nompie='clavo' AND peso>5 No es necesario crear la tabla: Inserted para usar el trigger. SQL Server maneja tablas residentes en memoria automáticamente usadas por triggers. También el registro de las operaciones de INSERT y DELETE sobre pieza pueden ser usados creando los siguientes dos triggers. CREATE TRIGGER InsercionDePieza ON pieza FOR insert INSERT INTO BitacoraDePiezas ( codpie, accion, usuario, fecha ) SELECT codpie, Insert, Current_User, Current_TimeStamp FROM Inserted SELECT * FROM pieza SELECT * FROM BitacoraDePiezas SELECT * FROM Inserted SELECT * FROM deleted CREATE TRIGGER EliminacionDePieza ON pieza FOR delete INSERT INTO BitacoraDePiezas ( codpie, accion, usuario, fecha )

11 SELECT codpie, Delete, Current_User, Current_TimeStamp FROM Deleted SELECT * FROM pieza SELECT * FROM BitacoraDePiezas SELECT * FROM Inserted SELECT * FROM deleted Nótese que en este último trigger se usa el identificador Deleted que se refiere a la tabla residente en memoria que contiene todos los registros antiguos para la tabla. Veamos como funciona el trigger, insertando y borrando un registro: INSERT INTO pieza VALUES ( P50, Mi pieza, Naranja,30, Arequipa ) DELETE FROM pieza where codpie= P50 Ahora borremos nuestros triggers recientemente creados: DROP TRIGGER ActualizacionDePieza DROP TRIGGER InsercionDePieza DROP TRIGGER EliminacionDePieza Como una alternativa para crear un trigger para cada tipo de operación, se puede crear un simple trigger para las tres operaciones y usar algunas técnicas de programación para manejar cada tipo de operación apropiadamente. El siguiente ejemplo lista los tres tipos de sentencias en la cláusula FOR y usa sentencias de condición para insertar apropiadamente valores en la tabla BitacoraDePiezas: CREATE TRIGGER OperacionesSobrePieza ON pieza FOR insert, update, delete Int Int = (SELECT COUNT(*) FROM Inserted ) = (SELECT COUNT(*) FROM Deleted ) If > 0 ) Begin INSERT INTO BitacoraDePiezas ( codpie, accion, usuario, fecha ) SELECT codpie, Case When > 0 ) Then Update Else Insert End, Current_User, Current_TimeStamp FROM Inserted End Else If > 0 ) Begin INSERT INTO BitacoraDePiezas ( codpie, accion, usuario, fecha ) SELECT codpie, Delete, Current_User, Current_TimeStamp FROM Deleted End En este ejemplo se puede ver que la tabla temporal Inserted tiene filas cada vez que una sentencia INSERT o UPDATE afecta una o más filas. Para la sentencia UPDATE, la tabla temporal Deleted tiene los valores de las filas antiguas y la tabla temporal Inserted tiene los nuevos valores de las filas. En este ejemplo también refleja otro importante aspecto de los triggers: Un trigger para una operación UPDATE o DELETE sobre una tabla es invocada si ninguna fila es afectada por la sentencia (porque ninguna fila satisface la cláusula Where).

12 INSERT INTO pieza VALUES ( P50, Otra pieza, Marron,50, Chile ) UPDATE pieza SET codpie= P96 WHERE codpie= P50 DELETE FROM pieza where codpie= P96 4. Verificando cambios para una columna específica Para un trigger INSERT o UPDATE es posible codificar si una columna es actualizada, usando el comando test: if update(nombre_de_clumna) en el cuerpo del trigger si la sentencia INSERT o UPDATE explícitamente lista una o más columnas en particular. El siguiente ejemplo muestra como usar este test: CREATE TRIGGER ActualizacionDeStatusDeProveedor ON proveedor FOR update If update( status ) INSERT into BitacoraDeStatusDeProveedor ( codpro, accion, status, usuario, fecha ) SELECT codpro, Update, status, Current_User, Current_TimeStamp FROM Inserted EndIf Para la ejecución correcta del trigger se necesita la siguiente tabla: CREATE TABLE BitacoraDeStatusDeProveedor ( codpro varchar(3), accion varchar(30), status numeric, usuario varchar(20), fecha datetime ) Ejecutemos las siguientes sentencias: select * from proveedor UPDATE proveedor SET nompro= Juan Reynoso WHERE ciudad= Lima SELECT * FROM BitacoraDeStatusDeProveedor UPDATE proveedor SET status=2 WHERE ciudad= Lima SELECT * FROM BitacoraDeStatusDeProveedor Con la función Columns_Update() se puede conocer que columnas son actualizadas para las sentencias INSERT o UPDATE. 5. Alterando y borrando triggers Para cambiar la definición de un trigger, se puede borrar y luego re-crearlo, o usar la sentencia ALTER TRIGGER. Para borrar un trigger, se usa la sentencia DROP TRIGGER: DROP TRIGGER ActualizacionDeStatusDeProveedor 6. Habilitando y deshabilitando triggers La sentencia ALTER TABLE permite habilitar y deshabilitar triggers: ALTER TABLE proveedor DISABLE TRIGGER ActualizacionDeStatusDeProveedor Operaciones: UPDATE proveedor SET status=2 WHERE ciudad= Lima SELECT * FROM BitacoraDeStatusDeProveedor 7. Mostrando información sobre triggers Cuatro procedimientos almacenados muestran información sobre estos: - sp_help nombre_trigger: Muestra el propietario y la fecha de creación del trigger. - sp_helptext nombre_trigger: Muestra el código para el trigger. - sp_helptrigger nombre_tabla: Muestra una listra de triggers definidos para una tabla. - sp_depends nombre_trigger: Muestra la lista de objetos a los cuales el trigger hace referencia.

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

BASE DE DATOS QUÉ ES UNA BASE DE DATOS? BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Vistas en postgresql

Vistas en postgresql Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO

Más detalles

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. SQL (Lenguaje de Consulta Estructurado): Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales. ANSI (Instituto

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios Curso de SQL Server 2005 Developer e Introducción a VB.net Práctica No.1. Escribiendo y ejecutando código transact sql desde el Query Analyzer EELLAA BBO RRAADDO PPO RR: FFEECCHHAA DDEE EELLAABB OO RR

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

Base de Datos Práctica 1.

Base de Datos Práctica 1. Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

Base de datos Lenguaje SQL

Base de datos Lenguaje SQL Base de datos Lenguaje SQL Universidad Nacional Andrés Bello Contenidos 1 2 Ejemplo Ejemplo Distinct Ejemplo - I Ejemplo - II Ejemplo Ejemplo Top - I Ejemplo Top - II Contenidos 1 2 Ejemplo Ejemplo Distinct

Más detalles

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1 Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática fcano@uniovi.es Produced with L A T E X seminar style

Más detalles

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL Página 1 de 28 es un estandar para accesar y manejar bases de datos Este tutorial te va a mostrar como manejar bases de datos en My, Server, MS Access, Oracle, Sybase, DB2 y otras bases de datos Que es?

Más detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

Guía de Laboratorio Base de Datos I.

Guía de Laboratorio Base de Datos I. Guía de Laboratorio Base de Datos I. UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA 1- Gestión del SQL Server Management Studio y creación de bases de datos. Objetivos: Identificar el entorno de trabajo

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales Bases de Datos Relacionales PROCEDIMIENTOS ALMACENADOS Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Procedimientos almacenados Un procedimiento almacenado

Más detalles

CURSORES EN SQL SERVER

CURSORES EN SQL SERVER Año del Centenario de Machu Picchu para el mundo CURSORES EN SQL SERVER Curso: IMPLEMENTACION DE BASE DE DATOS VII Ciclo Integrantes: Vásquez Paredes, Pablo Bustamante Auccasi, Janett Córdova Farfán, Carlos

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved.

Creación y Gestión de Tablas. Copyright Oracle Corporation, 1998. All rights reserved. 10 Creación y Gestión de Tablas Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir los principales objetos

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: PROCEDIMIENTOS ALMACENADOS. Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado

Más detalles

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de

Más detalles

Procedimientos Almacenados con InterBase

Procedimientos Almacenados con InterBase Procedimientos Almacenados con InterBase Por Alfonso Ricaño Bringas Los Procedimientos Almacenados son otra característica interesante con la que cuenta InterBase. En este artículo muestro una introducción

Más detalles

Nociones de performance

Nociones de performance Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de performance Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Índices Optimizador Planes de acceso

Más detalles

Introducción a los Sistemas de Gestión de Bases de Datos

Introducción a los Sistemas de Gestión de Bases de Datos a los Sistemas de Gestión de Bases de Datos Servicios y Aplicaciones Telemáticas gsyc-profes@gsyc.escet.urjc.es Noviembre de 2008 c 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados.

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV

Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV En esta guía: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Procedimientos Almacenados... 1 Procedimientos Almacenados (Stored Procedures)... 1 Sintaxis de Procedimientos Almacenados...

Más detalles

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

Restricciones (constraints) FOREIGN KEY

Restricciones (constraints) FOREIGN KEY INSTITUTO DE EDUCACION TECNICA PROFESIONAL INTEP 1 Restricciones (constraints) FOREIGN KEY InnoDB también soporta restricciones de claves foráneas. La sintaxis para definir una restricción de clave foránea

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2. b) Adicionar grados Para llevar a cabo esta operación el usuario deberá realizar los siguientes pasos: Recuperar la información, para realizar esta operación el usuario puede hacerla de las siguientes

Más detalles

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino

Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3 GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS UNIVERSIDAD TÉCNICA DE MANABÍ Dirección General de Vinculación con la Sociedad FLUJOGRAMA DE PROCESOS USADOS EN LA WEB

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestión de Retales WhitePaper Noviembre de 2009 Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación. Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación De Índices (L32) UNA TABLA PUEDE CONTENER VARIOS ÍNDICES SQL SERVER CREA AUTOMATICÁMENTE ÍNDICES ÚNICOS PARA ASEGURAR LOS CONSTRAINTS DE PRIMARY KEY Y UNIQUE EL ÍNDICE POR DEFECTO PARA LA CLAVE

Más detalles

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

Más detalles

Guía práctica de SQL

Guía práctica de SQL Guía práctica de SQL Francisco Charte Ojeda Agradecimientos Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS Cómo usar este libro Convenciones tipográficas 1. El modelo relacional

Más detalles

6 - Recuperar algunos registros (where)

6 - Recuperar algunos registros (where) 6 - Recuperar algunos registros (where) Hemos aprendido a seleccionar algunos campos de una tabla. También es posible recuperar algunos registros. Existe una cláusula, "where" con la cual podemos especificar

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5046 Bases de Datos PRÁCTICA No. LABORATORIO DE Bases de Datos DURACIÓN (HORA 11 NOMBRE DE LA PRÁCTICA Introduccion a Microsoft

Más detalles