SQLModificaciones a la BD

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

Lenguaje para descripción de datos

Restricciones de Integridad

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Insertar Datos en Tablas

Consulta y manipulación de datos. El lenguaje SQL

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

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

A.1. Definiciones de datos en SQL

Álgebra Relacional. Dra. Amparo López Gaona () Posgrado en Ciencia e Ingeniería de la Compu. Fac. Ciencias, UNAM / 1

Modificación de datos

Características del lenguaje SQL

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Tema 4. SQL. Juan Ignacio Rodríguez de León

Bases de datos 1. Teórico: Modelo Relacional

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

LENGUAJE DE MANIPULACIÓN DE DATOS

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Práctica 3: El lenguaje SQL (1ª parte). Programa de prácticas: (5ª sesión). Lenguaje SQL: manipulación de datos (consulta y actualización):

BASES DE DATOS - SQL. Javier Enciso

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

CONSULTAS BASICAS EN SQL SERVER

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Bases de Datos SQL - Ejemplos

Consultas Complejas:

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

ÍNDICE INTRODUCCIÓN...17

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

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

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

Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones

Tema 6. Restricciones a la Base de Datos: Integridad y seguridad

6 - Recuperar algunos registros (where)

Programación con SQL Aspecto teórico práctico básico

Bases de Datos: Structured Query Language (SQL)

ÍNDICE PRIMERA PARTE... 17

1. Dadas las tablas ALUM y NUEVOS, insertar en la tabla ALUM los nuevos alumnos.

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

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Capítulo 3: SQL. Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

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

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

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Formato para prácticas de laboratorio

Creación de una Base de datos

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

departamento NUMBER(3) FK (DEPARTAMENTOS.CODIGO) salario NUMBER(3) NOT NULL fecha_alta DATE NOT NULL jefe NUMBER(5) FK (EMPLEADOS.

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

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

Sql Basico. Seminar Introduction

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

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

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

GESTORES GESTORES DE BASES DE DATOS

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

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

RICHARD ALEXANDER BETANCUR SIERRA

Lenguaje SQL (2ª Parte) Definición de datos

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

SQL Server FEMEPA SQL Server 2000

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

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

Optimización de consultas Resumen del capítulo 14

Tema 4. Lenguajes de consulta comerciales

GUIA DE EJERCICIOS PARA RESOLVER: SQL

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SQL (Structured Query Language)

Bases de Datos 2. Teórico

SQL (Structured Query Language)- DML

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

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

5- Uso de sentencias avanzadas

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1

Unidad. Lenguaje SQL. (Structured Query Language)

El Sistema Gestor de Base de Datos (DBMS)

Manejo de Transacciones

Tema 5: Lenguaje de acceso a bases de datos SQL. Tema 5: El lenguajes de acceso a bases de datos SQL

LENGUAJE DE MANIPULACIÓN DE DATOS (DML) OPERADORES DE ÁLGEBRA RELACIONAL

Lenguaje SQL. Manejadores de bases de datos

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Integridad Referencial. Restricciones (constraints)

Aseveraciones. Disparadores. Ejemplo de aseveración. Ejemplo de disparador. Ejemplo de disparador en SQL:1999

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

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

Trabajos de Ampliación. Bases de datos NoSQL.

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Base de datos Lenguaje SQL

Repaso de Conceptos Básicos de Bases de Datos

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

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

Tema 4. Manipulación de datos con SQL

Transcripción:

SQL Modificaciones a la BD Amparo López Gaona tación Mayo 2012

Modificación de Datos Las instrucciones de SQL para modificación de los datos en una BD se clasifican en tres tipos: Insertar tuplas en una relación. Eliminar tuplas de una relación. Actualizar el valor de algunos componentes de tuplas existentes. Los dos primeros tipos de instrucciones modifican la cardinalidad de la relación en tanto el tercer tipo no lo hace.

Inserción Para insertar datos en una relación, se especifica la tupla que se desea insertar o bien se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar. La instrucción para hacer una inserción tiene la siguiente sintaxis: INSERT INTO R(a 1,..., a n ) VALUES (v 1,...v n ); donde R es el nombre de la relación, los v i son los valores para su correspondiente atributo a i. Insertar la cuenta C-987 de la sucursal San Ángel con saldo de $24,000.

Inserción Para insertar datos en una relación, se especifica la tupla que se desea insertar o bien se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar. La instrucción para hacer una inserción tiene la siguiente sintaxis: INSERT INTO R(a 1,..., a n ) VALUES (v 1,...v n ); donde R es el nombre de la relación, los v i son los valores para su correspondiente atributo a i. Insertar la cuenta C-987 de la sucursal San Ángel con saldo de $24,000. INSERT INTO cuenta (nombresucursal, numcuenta, saldo) VALUES ( San Angel, C-987, 24000);

Inserción Para insertar datos en una relación, se especifica la tupla que se desea insertar o bien se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar. La instrucción para hacer una inserción tiene la siguiente sintaxis: INSERT INTO R(a 1,..., a n ) VALUES (v 1,...v n ); donde R es el nombre de la relación, los v i son los valores para su correspondiente atributo a i. Insertar la cuenta C-987 de la sucursal San Ángel con saldo de $24,000. INSERT INTO cuenta (nombresucursal, numcuenta, saldo) VALUES ( San Angel, C-987, 24000); INSERT INTO cuenta (numcuenta, nombresucursal, saldo) VALUES (C-987, San Angel, 24000);

Inserción Para insertar datos en una relación, se especifica la tupla que se desea insertar o bien se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar. La instrucción para hacer una inserción tiene la siguiente sintaxis: INSERT INTO R(a 1,..., a n ) VALUES (v 1,...v n ); donde R es el nombre de la relación, los v i son los valores para su correspondiente atributo a i. Insertar la cuenta C-987 de la sucursal San Ángel con saldo de $24,000. INSERT INTO cuenta (nombresucursal, numcuenta, saldo) VALUES ( San Angel, C-987, 24000); INSERT INTO cuenta (numcuenta, nombresucursal, saldo) VALUES (C-987, San Angel, 24000); INSERT INTO cuenta VALUES ( San Angel, C-987,24000);}

... Inserción Si no se incluye valor para todos los atributos de la relación, se asigna nulo o bien alguno definido por omisión. Ejemplo: INSERT INTO cuenta VALUES (null, C-401, 24000); SELECT num_cuenta FROM cuenta WHERE nombresucursal = San Angel ;

... Inserción Para incluir más de una tupla puede usarse una consulta en lugar de la clausula VALUES. A todos los clientes de la sucursal San Fernando que tengan cuenta se les otorga un préstamo por $10,000.

... Inserción Para incluir más de una tupla puede usarse una consulta en lugar de la clausula VALUES. A todos los clientes de la sucursal San Fernando que tengan cuenta se les otorga un préstamo por $10,000. INSERT INTO prestamo SELECT nombresucursal, numcuenta, 10000 FROM cuenta WHERE nombresucursal = San Fernando ;

... Inserción Para incluir más de una tupla puede usarse una consulta en lugar de la clausula VALUES. A todos los clientes de la sucursal San Fernando que tengan cuenta se les otorga un préstamo por $10,000. INSERT INTO prestamo SELECT nombresucursal, numcuenta, 10000 FROM cuenta WHERE nombresucursal = San Fernando ; INSERT INTO prestatario SELECT nombrecliente, numcuenta FROM ctacliente, cuenta WHERE ctacliente.numcuenta = cuenta.numcuenta AND nombresucursal = San Fernando ;

Supresión Si se desea eliminar una tupla de una relación debe usarse la instrucción: DELETE FROM R WHERE condición; Borrar todas las tuplas de préstamo.

Supresión Si se desea eliminar una tupla de una relación debe usarse la instrucción: DELETE FROM R WHERE condición; Borrar todas las tuplas de préstamo. DELETE FROM prestamo; Borrar todas las cuentas de la sucursal San Ángel.

Supresión Si se desea eliminar una tupla de una relación debe usarse la instrucción: DELETE FROM R WHERE condición; Borrar todas las tuplas de préstamo. DELETE FROM prestamo; Borrar todas las cuentas de la sucursal San Ángel. DELETE FROM cuenta WHERE nombresucursal = San Angel ; Borrar todos los préstamos en los que la cantidad esté comprendida entre $500 y $1000.

Supresión Si se desea eliminar una tupla de una relación debe usarse la instrucción: DELETE FROM R WHERE condición; Borrar todas las tuplas de préstamo. DELETE FROM prestamo; Borrar todas las cuentas de la sucursal San Ángel. DELETE FROM cuenta WHERE nombresucursal = San Angel ; Borrar todos los préstamos en los que la cantidad esté comprendida entre $500 y $1000. DELETE FROM prestamo WHERE importe BETWEEN 500 AND 1000;

Actualización Si sólo se desea modificar el valor de ciertos campos, se puede utilizar la instrucción de actualización cuya sintaxis es: UPDATE R SET valores WHERE condición; Donde R es una relación y valores es una lista de elementos separados por comas, y cada elemento tiene un atributo, signo de igualdad, y una fórmula o valor. Esta instrucción permite actualizar el valor de los atributos mencionados para todas aquellas tuplas de la relación R que satisfagan la condición especificada. Cobrar un interés del 5 % a cada cuenta: UPDATE cuenta SET saldo = saldo * 0.95;

...Actualización Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %.

...Actualización Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %. UPDATE cuenta SET saldo = saldo * 0.95 WHERE saldo <= 200000; UPDATE cuenta SET saldo = saldo * 0.94 WHERE saldo > 200000;

...Actualización Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %. UPDATE cuenta SET saldo = saldo * 0.95 WHERE saldo <= 200000; UPDATE cuenta SET saldo = saldo * 0.94 WHERE saldo > 200000; Qué pasa si se invierte el orden?

...Actualización Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %. UPDATE cuenta SET saldo = saldo * 0.95 WHERE saldo <= 200000; UPDATE cuenta SET saldo = saldo * 0.94 WHERE saldo > 200000; Qué pasa si se invierte el orden? Abonar a todos los clientes que viven en Mazatlán $1000.

Subconsultas en instrucciones de actualización Borrar las cuentas de todas las sucursales de Cuernavaca.

Subconsultas en instrucciones de actualización Borrar las cuentas de todas las sucursales de Cuernavaca. DELETE FROM cuenta WHERE nombresucursal IN (SELECT nombresucursal FROM sucursal WHERE ciudad = Cuernavaca );

Subconsultas en instrucciones de actualización Borrar las cuentas de todas las sucursales de Cuernavaca. DELETE FROM cuenta WHERE nombresucursal IN (SELECT nombresucursal FROM sucursal WHERE ciudad = Cuernavaca ); Nota: sólo se eliminan tuplas de una relación aunque pueden usarse varias para determinar cuáles borrar.

Subconsultas en instrucciones de actualización Borrar las cuentas de todas las sucursales de Cuernavaca. DELETE FROM cuenta WHERE nombresucursal IN (SELECT nombresucursal FROM sucursal WHERE ciudad = Cuernavaca ); Nota: sólo se eliminan tuplas de una relación aunque pueden usarse varias para determinar cuáles borrar. DELETE FROM ctacliente WHERE numcta in IN (SELECT numcta FROM WHERE sucursal, cuenta sucursal.nombesucursal =cuen AND ciudad = Cuernavaca );

Subconsultas en instrucciones de actualización Borrar las cuentas de todas las sucursales de Cuernavaca. DELETE FROM cuenta WHERE nombresucursal IN (SELECT nombresucursal FROM sucursal WHERE ciudad = Cuernavaca ); Nota: sólo se eliminan tuplas de una relación aunque pueden usarse varias para determinar cuáles borrar. DELETE FROM ctacliente WHERE numcta in IN (SELECT numcta FROM WHERE sucursal, cuenta sucursal.nombesucursal =cuen AND ciudad = Cuernavaca ); DELETE FROM Cliente WHERE nombrecliente in IN (SELECT nombrecliente FROM cuenta, ctacliente WHERE sucursal.nombesucursal =cuen

... Subconsultas en instrucciones de actualización Borrar todas las cuentas cuyo saldo sea menor al promedio del banco.

... Subconsultas en instrucciones de actualización Borrar todas las cuentas cuyo saldo sea menor al promedio del banco. DELETE FROM cuenta WHERE saldo < (SELECT AVG(saldo) FROM cuenta);

... Subconsultas en instrucciones de actualización Borrar todas las cuentas cuyo saldo sea menor al promedio del banco. DELETE FROM cuenta WHERE saldo < (SELECT AVG(saldo) FROM cuenta); Antes de borrar nada, calcula el saldo promedio. De otra forma, el resultado podría variar. Cobrar el 5 % de interés a aquellas cuentas cuyo saldo sea mayor que el promedio

... Subconsultas en instrucciones de actualización Borrar todas las cuentas cuyo saldo sea menor al promedio del banco. DELETE FROM cuenta WHERE saldo < (SELECT AVG(saldo) FROM cuenta); Antes de borrar nada, calcula el saldo promedio. De otra forma, el resultado podría variar. Cobrar el 5 % de interés a aquellas cuentas cuyo saldo sea mayor que el promedio UPDATE cuenta SET saldo = saldo * 0.95 WHERE saldo > (SELECT AVG (saldo) FROM cuenta);