Ejercicios Solemne 2 Parte 1

Slides:



Advertisements
Presentaciones similares
SQL Sigla del nombre “Structured Query Language”.
Advertisements

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Insercion de datos..
Rocío Contreras Águila Primer Semestre 2010
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Implementación de la integridad de datos
Fernando Velasco
Por: Ronald Toscano Pretelt
Unidad 3 Lenguaje de manipulación de datos(DML).
Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP
Características Objeto Relacionales en Oracle
Sistema de gestión de las bases de datos (SGBD).
PL/SQL Francisco Moreno Universidad Nacional.
MySQL M.C. Pedro Bello López.
Sentencia INSERT INTO Poblando tablas.
Mini curso: Inteligencia de negocios (Bodega y Minería de Datos) aplicación práctica Mauro Callejas Cuervo Ecuador, Mayo 2014 Sesión 2 – TALLER 2 Grupo.
…Tablas DDL.
SQL Lenguaje de consulta estructurado
Bases de Datos Relacionales
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
PL/SQL Francisco Moreno Universidad Nacional.
Integridad Referencial 1. Integridad referencial 2.
UNITA - IBARRA TRIGGERS
Lenguaje Estructurado de Consultas
tipo de datos uniqueidentifier
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
PL/SQL Francisco Moreno Universidad Nacional.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Triggers(Disparadores)
Relacionando tablas. Restricción FOREIGN KEY.. Constraint Foreign key Genera una restricción a partir de la relación de dos tablas. En la figura siguiente.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Bases de Datos 1 Prof. Daniel Obando Fuentes. USE USE {database}; Cambia el contexto de base de datos Es decir, dice cuál es la base de datos que se utilizará.
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Llaves Primarias. PRIMARY KEY.
Structured Query Language (Lenguaje Estructurado de Consultas)
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
Expresiones algebraicas equivalentes
Creación y población de Base de datos. Creación de Base de datos Instrucciones. CREATE SCHEMA CREATE DATABASE nombre_base de datos.
Cifrar / Descifrar campos en SQL
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
SQL Sigla del nombre “Structured Query Language”.
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
(Lenguaje de consulta estructurado)
Modificando la estructura de tablas
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Bases de Datos SQL.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
Lenguaje Estructurado de Consultas
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
Transcripción de la presentación:

Ejercicios Solemne 2 Parte 1 Rocío Contreras Águila Primer Semestre 2010

Triggers: ejercicio 1 Una empresa almacena los datos de sus empleados en una tabla denominada "empleados" y en otra tabla llamada "secciones", el código de la sección y el sueldo máximo de cada una de ellas. 1. Elimine las tablas si existen 2. Cree las tablas 3. Ingrese algunos registros en ambas tablas 4. Cree un disparador para que se ejecute cada vez que una instrucción "insert" ingrese datos en "empleados"; el mismo debe verificar que el sueldo del empleado no sea mayor al sueldo máximo establecido para la sección, si lo es, debe mostrar un mensaje indicando tal situación y deshacer la transacción. 5. Ingrese un nuevo registro en "empleados" cuyo sueldo sea menor o igual al establecido para la sección. 6. Verifique que el disparador se ejecutó consultando la tabla "empleados": select *from empleados 7. Intente ingresar un nuevo registro en "empleados" cuyo sueldo sea mayor al establecido para la sección. El disparador se ejecutó mostrando un mensaje y la transacción se deshizo. 8. Intente ingresar un empleado con código de sección inexistente. Aparece un mensaje de error porque se viola la restricción "foreign key"; el trigger no llegó a ejecutarse.

Ejercicio 1: 1. if object_id('empleados') is not null drop table empleados; if object_id('secciones') is not null drop table secciones;

Ejercicio 1: 2. create table secciones( codigo int identity, nombre varchar(30), sueldomaximo decimal(8,2), constraint PK_secciones primary key(codigo) ); create table empleados( documento char(8) not null, nombre varchar(30) not null, domicilio varchar(30), codigoseccion int not null, sueldo decimal(8,2), constraint PK_empleados primary key(documento), constraint FK_empelados_seccion foreign key (codigoseccion) references secciones(codigo)

Ejercicio 1: 3. insert into secciones values('Administracion',1500); insert into secciones values('Sistemas',2000); insert into secciones values('Secretaria',1000); insert into empleados values('22222222','Ana Acosta','Avellaneda 88',1,1100); insert into empleados values('23333333','Bernardo Bustos','Bulnes 345',1,1200); insert into empleados values('24444444','Carlos Caseres','Colon 674',2,1800); insert into empleados values('25555555','Diana Duarte','Colon 873',3,1000);

Ejercicio 1: 4. create trigger dis_empleados_insertar on empleados for insert as declare @maximo decimal(8,2) set @maximo=(select sueldomaximo from secciones join inserted on inserted.codigoseccion=secciones.codigo) if (@maximo<(select sueldo from inserted)) begin declare @mensaje varchar(40) set @mensaje='El sueldo debe ser menor a '+cast(@maximo as char(8)) raiserror(@mensaje, 16, 1) rollback transaction end;

Ejercicio 1: 5., 6., 7., 8. R: 5.: select *from empleados; R: 6. insert into empleados values('26666666','Federico Fuentes','Francia 938',2,1000); R: 7. insert into empleados values('27777777','Gaston Garcia','Guemes 366',3,1200); R:8. select *from empleados; insert into empleados values('27777777','Gaston Garcia','Guemes 366',9,1200);

Ejercicio 2 Un club de barrio almacena los datos de sus socios en una tabla llamada "socios", los datos de las inscripciones en una tabla denominada "inscriptos" y en una tabla "morosos" almacena el documento de los socios inscriptos que deben matrícula. 1.Cree un disparador de inserción que no permita ingresar inscripciones si el socio es moroso. 2.Cree otro "insert trigger" para "inscriptos" que ingrese el socio en la tabla "morosos" si no paga la matrícula (si se ingresa 'n' para el campo "matricula"). Recuerde que podemos crear varios triggers para un mismo evento sobre una misma tabla 3. Creamos un disparador sobre la tabla "socios" para que no permita ingresar nuevos socios. El mismo debe mostrar un mensaje al dispararse y deshacer la transacción

Estructura Tablas Cree las tablas, con las siguientes estructuras: create table socios( documento char(8) not null, nombre varchar(30), domicilio varchar(30), constraint PK_socios primary key (documento) );

Estructura Tablas create table inscriptos( documento char(8) not null, deporte varchar(30) not null, matricula char(1), constraint CK_inscriptos check (matricula in ('s','n')), constraint PK_inscriptos primary key (documento,deporte), constraint FK_inscriptos_documento foreign key(documento) references socios (documento) ); create table morosos( documento char(8) not null

Ingrese algunos registros en las tres tablas insert into socios values ('22222222','Ana Acosta','Avellaneda 800'); insert into socios values ('23333333','Bernardo Bustos','Bulnes 234'); insert into socios values ('24444444','Carlos Caseros','Colon 321'); insert into socios values ('25555555','Mariana Morales','Maipu 483'); insert into inscriptos values ('22222222','tenis','s'); insert into inscriptos values ('22222222','natacion','n'); insert into inscriptos values ('23333333','tenis','n'); insert into inscriptos values ('24444444','tenis','s'); insert into inscriptos values ('24444444','futbol','s'); insert into morosos values ('22222222'); insert into morosos values ('23333333');

Ejercicio 2: 1. create trigger dis_incriptos_insertar on inscriptos for insert as declare @doc char(8) select @doc= documento from inserted if exists (select *from morosos where documento=@doc) begin raiserror('No puede inscribir al socio porque es moroso', 16, 1) rollback transaction end;

Ejercicio 2: 2. create trigger dis_incriptos_insertar2 on inscriptos for insert as if (select matricula from inserted)='n' insert into morosos select documento from inserted;

Ejercicio 2: 3. create trigger dis_socios on socios for insert as raiserror('No puede ingresar nuevos socios', 16, 1) rollback transaction;

Ejercicio 3: Vistas Una empresa almacena la información de sus empleados en dos tablas llamadas "empleados" y "secciones". 1.Crear una vista que arroje todos los datos de los empleados , nombre, sección y cantidad de hijos.