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 nombre 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

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

Índice. iii. Objetivos... 24

Índice. iii. Objetivos... 24 Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama

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

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

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

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

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

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

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

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

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

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

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

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

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

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

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

8283: Administración y programación en Microsoft SQL Server 2012

8283: Administración y programación en Microsoft SQL Server 2012 8283: Administración y programación en Microsoft SQL Server 2012 Este curso es orientado a los profesionales en desarrollo que desean maximizar la participación de SQL Server 2012 en beneficio del desempeño

Más detalles

Haga clic para PostgreS cambiar el estilo

Haga clic para PostgreS cambiar el estilo Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación ldgarc@gmail.com Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)

Más detalles

Disparadores en ORACLE

Disparadores en ORACLE Diseño de Bases de Datos y Seguridad de la Información PL/SQL-1 PL/SQL: lenguaje de programación estructurado en bloques Bloques: unidad mínima en PL/SQL Soportan DML y DDL Anónimos / Con nombre Disparadores

Más detalles

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL

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

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

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN AL SQL. TRANSACT SQL CONCEPTOS BÁSICO DE SQL SQL (Structured Query Language),

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

Integridad en sistemas de bases de datos relacionales

Integridad en sistemas de bases de datos relacionales Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

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

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

ADMINISTRACION DE BASES DE DATOS EN ORACLE

ADMINISTRACION DE BASES DE DATOS EN ORACLE SQL LENGUAJE ESTRUCTURADO DE CONSULTA El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un modelo de datos relacional para grandes bancos de datos compartidos". Ese libro

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

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

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

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

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

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

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

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) UNION UNION 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

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

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

PROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

PROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 PROCEDIMIENTOS ALMACENADOS Y TRIGGERS Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Procedimientos almacenados Un procedimiento almacenado es un conjunto de

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

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS 1.- INTRODUCCIÓN...1 2.- BASE DE DATOS (DATABASE)...2 3.- DOMINIOS (DOMAIN)...4 4.- TABLAS (TABLE)...6 5.- INDICES (INDEX)...15

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso

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

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

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

6. PROGRAMACIÓN CON TRANSACT-SQL

6. PROGRAMACIÓN CON TRANSACT-SQL 6. PROGRAMACIÓN CON TRANSACT-SQL 6.1. Introducción. " # 6.2. Declaración y asignación de variables. $ " % & ' # ( % ) # (( ) *$+,$ " $ # &-' $ $. $" / # 0 1$,$2 DECLARE @limite money SET @limite = 10 SELECT

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

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

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

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

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas Tema 1. Bases de datos activas Diseño de Sistemas de Bases de Datos Merche Marqués 18 de marzo de 2002 Índice 1. Introducción 1 2. El modelo evento condición acción 1 2.1. Definición y uso de disparadores

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

Más detalles

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos. CURSO PROFESIONAL DE TRANSACT-SQL MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION Precio: 450 Euros y Matrícula Gratis. Modalidad: Presencial en nuestras aulas. Valores añadidos: Nuestro

Más detalles

10 - Desencadenadores.

10 - Desencadenadores. Objetivos: 10 - Desencadenadores. Automatizar procedimientos dentro de la base de datos, por medio de disparadores. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos de ejemplo:

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

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición

LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con

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

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA 1. DATOS GENERALES PLAN DE ESTUDIOS 2006-2 SEMESTRE ACADEMICO 2008-I Nombre del curso: INTRODUCCION

Más detalles

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

FIREBIRD: SQL PROCEDIMENTAL (PSQL) FIREBIRD: SQL PROCEDIMENTAL (PSQL) Vicente Tejero Trueba Pag 1 IES Pedro Espinosa FIREBIRD: SQL PROCEDIMENTAL (PSQL) 1.- INTRODUCCION...1 2.- EXTENSIONES DEL LENGUAJE...2 2.1.- Terminadores...2 2.2.- Variables...3

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor

Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS. Ejemplo del Lado del servidor Bases de Datos SEGURIDAD E INTEGRIDAD EN BASES DE DATOS Ejemplo del Lado del servidor Aplicación de conceptos: Se hizo referencia a los elementos que poseen los Sistemas de Gestión de Bases de Datos (SGBD)

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

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Tema: Creacion de una base de datos utilizando sintaxis Sql. Base de datos I. Guía 4 1 INSAFOR Tema: Creacion de una base de datos utilizando sintaxis Sql. Objetivo Específico Comprender la sintaxis SQL para crear base de datos y tablas Crear una base de datos con

Más detalles

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

6. Integridad en Sistemas de Bases de Datos Relacionales

6. Integridad en Sistemas de Bases de Datos Relacionales 6. Integridad en Sistemas de Bases de Datos Relacionales Objetivos Apreciar la necesidad de garantizar la integridad o corrección de la información almacenada en una base de datos Distinguir e identificar

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles