Unidad 3 Lenguaje de manipulación de datos(DML).

Slides:



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

integridad referencial
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
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”
BASE DE DATOS OBJETO RELACIONAL
Implementación de la integridad de datos
Fernando Velasco
Teórico: Modelo Relacional
Por: Ronald Toscano Pretelt
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP
EL LENGUAJE ESTÁNDAR SQL
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
Contenido de la sesión 1 Bases de Datos Relacionales Lenguaje SQL
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
Restricciones de Integridad en ORACLE
…Tablas DDL.
Lenguaje SQL (Structured Query Language)
SQL Lenguaje de consulta estructurado
Bases de Datos Relacionales
PL/SQL Francisco Moreno Universidad Nacional.
Subconsultas Avanzadas
Componentes sintácticos
Integridad Referencial 1. Integridad referencial 2.
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.
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
D. M.L. (Lenguaje de Manipulación de Datos)
CAPITULO 10 Manejando Restricciones
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)‏
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Consultas SQL (Base de Datos)
Data Manipulation Language (DML) Lenguaje de Manipulación de Datos
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
LENGUAJE SQL.
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.
Restricciones de Integridad
SQL Sigla del nombre “Structured Query Language”.
INSTRUCCIONES Elaboración de la Presentación:
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.
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.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
Qué es SQL? Sentencias básicas
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
(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.
Bases de Datos SQL.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
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.
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.
Administración de Base de Datos Integridad Prof Mercy Ospina Torres Prof Renny A. Hernandez
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.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
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.
Lenguaje de manipulación de datos
Transcripción de la presentación:

Unidad 3 Lenguaje de manipulación de datos(DML)

3.1 Inserción, eliminación y modificación de registros INSERT La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia tiene como sintaxis genérica. INSERT INTO tabla_o_vista [(lista_de_columnas)] VALUES (lista_de_valores_de_datos) Para insertar datos en una relación, se específica la tupla que se desea insertar o se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar. Obviamente, los valores de los atributos de las tuplas que se inserten deben pertenecer al dominio de los atributos. De igual modo, las tuplas insertadas deben ser de la aridad -número de atributos- correcta. Considere el siguiente Diagrama Entidad Relación y su correspondiente script Oracle CREATE TABLE departamento ( idDepartamento NUMBER(3), nombre CHAR(15) NOT NULL, ciudad CHAR(10) NOT NULL, CONSTRAINT DOM_Ciudad CHECK (ciudad IN ('Veracruz', 'Xalapa', 'Orizaba', 'Regional')), CONSTRAINT PK_Departamento PRIMARY KEY (idDepartamento) ); CREATE TABLE empleado( idEmpleado NUMBER(3), rfc CHAR(14), nombreEmpleado CHAR(40) NOT NULL, oficio CHAR(11) NOT NULL, cargo CHAR(15) NOT NULL, jefe NUMBER(3), ingreso DATE NOT NULL, salario NUMBER(10,2), comision NUMBER(10,2), idDepartamento NUMBER(3) NOT NULL, CONSTRAINT DOM_Empleado_Salario CHECK ( salario > 0 ), CONSTRAINT PK_Empleado PRIMARY KEY (idEmpleado), CONSTRAINT AK_Empleado UNIQUE (rfc), CONSTRAINT FK_Empleado_Jefe FOREIGN KEY (jefe) REFERENCES Empleado, CONSTRAINT FK_Empleado FOREIGN KEY (idDepartamento) REFERENCES Departamento, CONSTRAINT DOM_Empleado_NombreEmpleado CHECK (nombreEmpleado = NLS_UPPER(nombreEmpleado))

Considere los siguientes datos Tabla: Departamento idDepartamento Departamento Ciudad 1 Ventas Veracruz 2 Ventas Xalapa 3 Cobranza Veracruz 4 Cobranza Xalapa 5 Credito Orizaba 6 Credito Veracruz 7 Credito Xalapa Un formato posible es: INSERT INTO nombre-tabla VALUES (serie de valores); El orden en el que se asignen los valores en la cláusula VALUES tiene que coincidir con el orden en que se definieron las columnas en la creación del objeto tabla, dado que los valores se asignan por posicionamiento relativo. Por ejemplo: INSERT INTO departamento VALUES (1,'Ventas','Veracruz'); INSERT INTO departamento VALUES (2,'Ventas','Xalapa'); INSERT INTO departamento VALUES (3,'Cobranza','Veracruz'); INSERT INTO departamento VALUES (4,'Cobranza','Xalapa'); INSERT INTO departamento VALUES (5,'Credito','Orizaba'); INSERT INTO departamento VALUES (6,'Credito','Veracruz'); INSERT INTO departamento VALUES (7,'Credito','Xalapa');

Otra forma de usar la sentecia INSERT es: INSERT INTO nombre-tabla (columna1, columna2...) VALUES (valor1, valor2...); En este caso los valores se asignarán a cada una de las columnas mencionadas por posicionamiento relativo. Es necesario que por lo menos se asignen valores a todas aquellas columnas que no admiten valores nulos en la tabla (NOT NULL). Por ejemplo: INSERT INTO empleado (idempleado, rfc, nombreempleado, oficio, cargo, jefe, ingreso, salario, comision, idDepartamento) VALUES (12, 'ROTL790411FRT', 'ROMERO TERRENOS, LUIS', 'Ingeniero', 'Director', NULL, '01/01/2006', 7000, 0.2, 4); Insertar mediante un SELECT CREATE GLOBAL TEMPORARY TABLE detalle ( rfc CHAR(14) PRIMARY KEY, nombreEmpleado CHAR(40) NOT NULL, salarioNeto NUMBER(10,2) ) ON COMMIT PRESERVE ROWS; INSERT INTO detalle SELECT rfc, nombreEmpleado, salario + salario*comision FROM empleado WHERE comision > 0;

Inserción por selección Sentencia WHEN Ejemplo: Usaremos la cotización del dolar para solventar obligaciones el archivo original contiene valores de 1995 al 18 de enero de 2011. Separemos esta tabla en cotizaciones mayores de 14 pesos, entre 13 a 14 y otras CREATE TABLE dolar ( fecha DATE, precio NUMBER(8,4) ); CREATE TABLE dolar13 ( CREATE TABLE dolar12 ( CREATE TABLE dolarOtros ( INSERT WHEN (precio >= 13) THEN INTO dolar13 VALUES (fecha, precio) WHEN (precio >= 12 AND precio < 13) THEN INTO dolar12 VALUES (fecha, precio) ELSE INTO dolarOtros VALUES (fecha, precio) SELECT * FROM dolar

DELETE (Oracle y MySQL) Borrará todas las filas que cumplan la condición especificada en la cláusula WHERE. Si esta cláusula se omite, se borrarán todas las filas de la tabla. DELETE borra todas las filas de una tabla, pero no la definición de la tabla del diccionario. Esta es una diferencia con la sentencia DROP TABLE, que elimina el contenido de la tabla y la definición de la misma. La sintaxis es la que sigue: DELETE FROM tabla [WHERE condición]; Obsérvese que cada comando DELETE sólo opera sobre una relación. Si se desea borrar tuplas de varias relaciones es necesario utilizar una orden DELETE por cada relación. La consulta DELETE FROM empleados; Borra todas las tuplas de la tabla empleados DELETE FROM empleados WHERE cargo = 'Chofer'; Borra los empleados con cargo de chofer

Cuando trabajemos con la sentencia DELETE debemos tener en cuenta las siguientes consideraciones: Solo podemos borrar datos de una única tabla. Cuando borramos datos de una vista, los estamos borrando también de la tabla. Las vistas son solo una forma de ver los datos, no una copia. Si intentamos borrar un registro de una tabla referenciada por una FOREING KEY como tabla maestra, si la tabla dependiente tiene registros relacionados la sentencia DELETE fallará a no ser que la tabla hija contenga la sentencia ON DELETE CASCADE.. TRUNCATE TRUNCATE es una mejor alternativa a DELETE cuando se desea borrar todo el contenido de la tabla. La sintaxis es: TRUNCATE TABLE nombre_tabla; Eliminar registros con la sentencia TRUNCATE es más rápido que con la sentencia DELETE, especialmente cuando la tabla tiene numerosos disparadores, índices y otras dependencias como por ejemplo integridad referencial. La sentencia TRUNCATE no es transaccional. No se puede deshacer (ROLL BACK) y ocurre un error en casos de bloqueo de tabla. La tabla puede recrearse como una vacía con TRUNCATE TABLE, incluso si los archivos de datos o de índice se han corrompido En MySQL el manejador de tablas reinicia el valor AUTO_INCREMENT usado. Esto es cierto incluso para MyISAM y InnoDB

UPDATE En determinadas situaciones puede ser deseable cambiar un valor dentro de una tupla, sin cambiar todos los valores de la misma. Para ello se utiliza el comando UPDATE cuya sintaxis se muestra a continuación. UPDATE tabla SET {columna = expresión,} + [WHERE condición;] Se especificará en la cláusula SET las columnas que se actualizarán y con qué valores. La cláusula WHERE indica las filas con las que se va a trabajar, sin la cláusula WHERE la actualización afectará a todas las filas de la tabla. Si se desea actualizar a nulos, se asignará el valor NULL. UPDATE cliente SET observaciones = NULL; Por ejemplo, cambie el nombre del departamento Credito por Crédito. UPDATE Departamento SET nombre = 'Crédito' WHERE nombre = 'Credito'; La clausula WHERE permite SELECT anidados como en el caso del INSERT o el DELETE.

SQL ofrece el constructor CASE, que puede usarse para formular actualizaciones dependientes. Por ejemplo; CREATE TABLE moreliaC2012( numero NUMBER(3), nombreJugador CHAR(40), posicion CHAR(4), jj NUMBER(2), jc NUMBER(2), jt NUMBER(2), ec NUMBER(2), sc NUMBER(2), minutos NUMBER(6), gol NUMBER(4), ppg NUMBER(2), tr NUMBER(2), ta NUMBER(2) ); CREATE TABLE juegoLimpio ( nombre CHAR(45), juega CHAR(15) INSERT INTO juegoLimpio (nombre,juega) SELECT nombreJugador,(ta+tr) FROM moreliaC2012; UPDATE juegoLimpio SET juega = CASE WHEN juega = '0' THEN 'Limpio' ELSE 'Sucio' END; SELECT * FROM juegoLimpio; Descargar

CREATE TABLE moreliaC2012( numero INTEGER(3), nombreJugador CHAR(40), posicion CHAR(4), jj INTEGER(2), jc INTEGER(2), jt INTEGER(2), ec INTEGER(2), sc INTEGERER(2), minutos INTEGER(6), gol INTEGER(4), ppg INTEGER(2), tr INTEGER(2), ta INTEGER(2) ); CREATE TABLE juegoLimpio ( nombre CHAR(45), juega CHAR(15) INSERT INTO juegoLimpio (nombre,juega) SELECT nombreJugador,(ta+tr) FROM moreliaC2012; UPDATE juegoLimpio SET juega = CASE WHEN juega = '0' THEN 'Limpio' ELSE 'Sucio' END; SELECT * FROM juegoLimpio;