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

Slides:



Advertisements
Presentaciones similares
Transacciones y Concurrencia en Oracle
Advertisements

SQL Sigla del nombre “Structured Query Language”.
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
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
Fernando Velasco
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: SELECT Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de p erformance Ing. Alfonso Vicente, PMP
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
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
EL LENGUAJE ESTÁNDAR SQL
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
Transacción Es una unidad de trabajo sobre la base de datos
PL/SQL Francisco Moreno Universidad Nacional.
MySQL M.C. Pedro Bello López.
SQL Lenguaje de consulta estructurado
PL/SQL Francisco Moreno Universidad Nacional.
Ing. Ricardo Carlos Inquilla Quispe
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
UNITA - IBARRA TRIGGERS
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.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
COMANDOS SQL.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
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)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Manipulación de Datos Conceptos básicos.
Triggers(Disparadores)
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.
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
Consultas SQL (Base de Datos)
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
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.
LENGUAJE ESTRUCTURADO DE CONSULTAS
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”.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Diseña y administra base de datos avanzadas
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
(Lenguaje de consulta estructurado)
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
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.
Paralelización de operaciones
SQL: DDL.
Base de Datos SQL - Introductorio - DDL. DEFINICIÓN SQL Volver a los Objetivos.
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.
Copyright  Oracle Corporation, All rights reserved. 8 Manipulación de Datos.
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
Transcripción de la presentación:

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

Agenda Modificando la instancia DML Sentencias

Agenda INSERT UPDATE DELETE TRANSACCIONES DML Sentencias

Agenda Modificando la instancia DML Sentencias

DML Modificando la instancia Con el Data Definition Language (DDL) creamos y modificamos el esquema (o estructura) de la base Con el Data Manipulation Language (DML) modificamos la instancia, es decir: insertamos, modificamos y eliminamos tuplas en las tablas Veremos los comandos INSERT, UPDATE y DELETE de forma muy simplificada Pueden surgir errores por intentar violar cualquier constraint definida: Tipo de datos, NOT NULL, CHECK, PK, UK o FK

Agenda INSERT UPDATE DELETE TRANSACCIONES DML Sentencias

Sentencias INSERT Permite insertar nuevas tuplas en una tabla existente INSERT INTO <nombre_tabla> (col1, col2, ..., colN) VALUES (val1, val2, ..., valN); Ejemplo: INSERT INTO elementos (simbolo, nombre) VALUES ('H', 'Hidrogeno'); INSERT INTO moleculas (nombre, carga) VALUES ('Agua', 0); INSERT INTO elementos_molecula (elemento, molecula, numero) VALUES ('H', 'Agua', 2);

Sentencias INSERT Si se omite el nombre de una columna, se insertará NULL en esa columna Si no se especifican las columnas, se asume que en la cláusula VALUES vendrán los valores para todas las columnas en el orden en que fueron definidas en la tabla Se considera una buena práctica especificar siempre las columnas en el INSERT Habrá valores nuevos donde antes no había: el RDBMS debe verificar la integridad

Sentencias INSERT Ejemplos de error SQL> desc elementos Name Null? Type ------------------------ -------- ---------------------------- SIMBOLO NOT NULL CHAR(2) NOMBRE NOT NULL VARCHAR2(20) NUMERO_ATOMICO NUMBER(10,2) SQL> insert into elementos values ('He', null, null); insert into elementos values ('He', null, null) * ERROR at line 1: ORA-01400: cannot insert NULL into ("ALFONSO"."ELEMENTOS"."NOMBRE")

Sentencias INSERT SQL> insert into elementos values ('He', 'Helio', 'desconozco'); insert into elementos values ('He', 'Helio', 'desconozco') * ERROR at line 1: ORA-01722: invalid number SQL> insert into elementos values ('H', 'Hidrogeno', 1); insert into elementos values ('H', 'Hidrogeno', 1) ORA-00001: unique constraint (ALFONSO.SYS_C0029000) violated SQL> insert into elementos_molecula values ('C', 'Metano', 1); insert into elementos_molecula values ('C', 'Metano', 1) ORA-02291: integrity constraint (ALFONSO.FK_MOLECULAS_ELEMENTOS) violated - parent key not found

Sentencias UPDATE Permite modificar tuplas existentes en una tabla existente UPDATE <nombre_tabla> SET col1 = val1, col2 = val2, ..., colN = valN WHERE <predicado>; Ejemplo: UPDATE elementos SET nombre = 'Hidrógeno‘ WHERE nombre = 'Hidrogeno‘;

Sentencias UPDATE Todas las tuplas que cumplen el predicado se modifican con los valores del set El predicado (por ahora) debe versar sobre las columnas de la tabla, y puede contener: Comparaciones simples: =, <, >, <> Comparaciones por rango: between Expresiones regulares: like Comparación con null: is null, is not null Expresiones lógicas: AND, OR, NOT

Sentencias UPDATE Como en el INSERT, pueden ocurrir errores porque habrá valores nuevos donde antes no había, pero además, valores que existen pueden dejar de existir Un UPDATE podría modificar el padre de una FK definida con la cláusula “ON UPDATE RESTRICT” SQL> update elementos set simbolo = 'Z' where simbolo = 'H'; update elementos set simbolo = 'Z' where simbolo = 'H' * ERROR at line 1: ORA-02292: integrity constraint (ALFONSO.FK_MOLECULAS_ELEMENTOS) violated - child record found

Sentencias DELETE Permite eliminar tuplas de una tabla existente DELETE FROM <nombre_tabla> WHERE <predicado>; Ejemplo: DELETE FROM elementos WHERE simbolo = 'H'; DELETE FROM movimientos WHERE fecha_mov < '15/05/2002'; Posibilidad de integrity constraint violated - child record found en FKs con la cláusula “ON DELETE RESTRICT”

Sentencias UPDATE y DELETE Cuidado con los predicados: un predicado mal escrito puede modificar (o eliminar) tuplas que no se pretendían modificar (o eliminar) El predicado vacío se evalúa TRUE para todas las tuplas ! UPDATE elementos set simbolo = 'H'; DELETE FROM elementos; ¿Qué hacemos si nos equivocamos?

Sentencias TRANSACCIONES Los RDBMS implementan transacciones ACID Atomicity (se hacen en su totalidad o no se hacen) UPDATE cuentas set saldo = saldo-500 where cuenta = 15263; UPDATE cuentas set saldo = saldo+500 where cuenta = 9935; INSERT INTO transferencias (fecha, desde, hacia, monto) VALUES (SYSDATE, 15263, 9935, 500); COMMIT; -- Aquí se confirma la transacción

Sentencias TRANSACCIONES Los RDBMS implementan transacciones ACID Consistency (cualquier intento de violar una constraint termina en un error) Isolation (mientras la transacción no se confirmó mediante COMMIT nadie más ve los datos intermedios y las transacciones no se afectan unas a otras) Durability (después del COMMIT los cambios perduran)

Sentencias TRANSACCIONES ¿Qué sucede si nos equivocamos u obtenemos un error? SQL> create table cuentas ( 2 cuenta integer not null primary key, 3 saldo number(10, 2) not null 4 ); Table created. SQL> alter table cuentas add constraint check_saldo_positivo 2 check ( saldo >= 0); Table altered. SQL> insert into cuentas values (15263, 400); 1 row created. SQL> commit; Commit complete.

Sentencias TRANSACCIONES ¿Qué sucede si nos equivocamos u obtenemos un error? SQL> UPDATE cuentas set saldo = saldo-500 where cuenta = 15263; UPDATE cuentas set saldo = saldo-500 where cuenta = 15263 * ERROR at line 1: ORA-02290: check constraint (ALFONSO.CHECK_SALDO_POSITIVO) violated No podemos continuar la transacción SQL> rollback; Rollback complete.

Sentencias TRANSACCIONES Algunos RDBMSs tienen un modo autocommit, donde cada sentencia termina con un commit implícito Todos tienen el modo opuesto, donde hay transacciones Las transacciones comienzan / terminan: Al iniciar la sesión Al ejecutar commit / rollback Al ejecutar DDLs o algunos comandos (según RDBMS) Al terminar la sesión

Sentencias LOCKING Es la forma general de lograr Isolation, cuando hay competencia por los mismos recursos Sesión 1 SQL> UPDATE cuentas 2 set saldo = saldo – 200 3 where cuenta = 15263; 1 row updated. Sesión 2 lock wait