SlideShare una empresa de Scribd logo
1 de 14
BASE DE DATOS I
S4L
GRUPO #2
MANEJO DE SENTENCIAS DE MANIPULACIÓN
03/02/2016
Integrantes:
• BAJANA ANDRES
• LUZARDO EDUARDO
• SANCAN ANAIS
• VELASQUEZ MIGUEL
MANEJO DE SENTENCIAS DE MANIPULACION 1
MANEJO DE SENTENCIAS DE MANIPULACIÓN
Presentado por:
• BAJANA ANDRES
• LUZARDO EDUARDO
• SANCAN ANAIS
• VELASQUEZ MIGUEL
Docente:
ING. ROSSANA LUCIN
Curso:
S4L
UNIVERSIDAD DE GUAYAQUIL
FACULTAD MATEMÁTICAS Y FÍSICAS
INGENIERÍA EN SISTEMAS COMPUTACIONALES
EXPOSICIÓN 2DO PARCIAL
GUAYAQUIL
2016
MANEJO DE SENTENCIAS DE MANIPULACION 2
Contenido
1. Manejo de Sentencias de Manipulacion .................................................................... 3
1.2 Insert .....................................................................Error! Bookmark not defined.
1.3 Delete .................................................................................................................... 7
1.4 Update.................................................................................................................... 8
1.5 Manejo de Transaccion(ACID) ............................................................................. 9
1.5.1 ¿Cómo se termina una transaccion? ............................................................ 11
1.5.2 Ejemplo de Transaccion............................................................................... 11
Conclusión............................................................................................................... 12
Referencias ..................................................................................................................... 13
MANEJO DE SENTENCIAS DE MANIPULACION 3
1. Manejo de Sentencias de Manipulación
1.2 INSERT
Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla
en una base de datos relacional.
Hay dos formas de instrucción INSERT. La primera permite insertar una única fila en
una tabla especificada y tiene el siguiente formato:
 INSERT INTO NombreTabla [(ListaColumnas)]
 VALUES (ListaValoresDatos)
Forma básica
INSERT INTO 'tablatura' ('columna1',['columna2,... '])
VALUES ('valor1', ['valor2,...'])
O tambien se puede utilizar como:
INSERT tablatura VALUES ('valor1','valor2')
Las cantidades de columnas y valores deben ser iguales. Si una columna no se
especifica, le será asignado el valor por omisión. Los valores especificados (o
implícitos) por la sentencia INSERTdeberán satisfacer todas las restricciones
aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se
agrega la fila y se devuelve un error.
NombreTabla puede ser una tabla base o una vista actualizable y ListaColumnas
representa una lista de uno o más nombres de columnas, separados por comas. La
ListaColumnas es opcional; si se la omite, SQL utilizará de forma predeterminada una
lista de todas las columnas en su orden original especificado en la instrucción CREATE
TABLE. Si se especifica esta lista de columnas, todas las columnas omitidas de la lista
deberán haber sido declaradas como columnas NULL en el momento de crear la tabla, a
menos que se hubiera utilizado la opción DEFAULT al crear la columna. La
ListaValoresDatos debe corresponderse con la ListaColumnas de la forma siguiente:
 El número de elementos de cada lista debe ser el mismo.
 Debe haber una correspondencia directa entre las posiciones de los elementos de
ambas listas, de modo que el primer elemento de ListaValoresDatos se aplique
al primer elemento de ListaColumnas, el segundo elemento de
ListaValoresDatos se aplique al segundo elemento de LsitaColumnas, etc.
MANEJO DE SENTENCIAS DE MANIPULACION 4
 El tipo de datos de cada elemento de ListaValoresDatos debe ser compatible con
el tipo de datos de la correspondiente columna.
Ejemplo
Insertar una nueva fila en la tabla Staff suministrando datos para todas las columnas.
INSERT INTO Staff
VALUES (SG16,Alan,Brown, Assistant, M, DATE 19570525, 8300, B003);
Puesto que estamos insertanto los datos en cada columna en el mismo orden en el que
fue creada la tabla, no hay necesidad de especificar ninguna lista de columnas. Observe
que los literales de caracteres, como Alan, deben encerrarse entre comillas simples.
Ejemplo
inserter una nueva fila en la table Staff suministrando datos para todas las columnas
obligatorias: staffNo, fName, IName, position, salary, branchNo.
INSERT INTO Staff (staffNo, fName, IName, position, salary, branchNo)
VALUES (SG44, Anne, Jones, Assistant, 8100, B003);
Puesto que estamos insertando datos en ciertas columnas, podemos especificar los
nombres de las columnas en las que los estamos insertando. El orden de los nombres de
las columnas no es significativo, aunque lo normal es especificarlas en el orden en que
aparece en la Tabla.
La segunda forma de la instrucción INSERT permite copiar multiples filas de una o mas
tablas en otra tabla, y tiene el siguiente formato.
INSERT INTO NombreTabla [( ListaColumnas)]
Formas avanzadas
Una característica de SQL (desde SQL-92) es el uso de constructores de filas para
insertar múltiples filas a la vez, con una sola sentencia SQL:
INSERT INTO ''tabla'' (''columna1'', [''columna2,... ''])
VALUES (''valor1a'', [''valor1b,...'']),
(''value2a'', [''value2b,...'']),...;
Esta característica es soportada por DB2, PostgreSQL (desde la versión 8.2), MySQL, y
H2.
Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas en la tabla
'agenda_telefonica'):
MANEJO DE SENTENCIAS DE MANIPULACION 5
INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'),
('Alejandro Sosa', '4556550');
Que podía haber sido realizado por las sentencias
INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850');
INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550');
Notar que las sentencias separadas pueden tener semántica diferente (especialmente con
respecto a los triggers), y puede tener diferente rendimiento que la sentencia de
inserción múltiple.
Para insertar varias filas en MS SQL puede utilizar esa construcción:
INSERT INTO phone_book
SELECT 'John Doe', '555-1212'
UNION ALL
SELECT 'Peter Doe', '555-2323';
Tenga en cuenta que no se trata de una sentencia SQL válida de acuerdo con el estándar
SQL (SQL: 2003), debido a la cláusula subselect incompleta.
Para hacer lo mismo en Oracle se usa la Tabla DUAL, siempre que se trate de solo una
simple fila:
INSERT INTO phone_book
SELECT 'John Doe', '555-1212' FROM DUAL
UNION ALL
SELECT 'Peter Doe','555-2323' FROM DUAL
Una implementación conforme al estándar de esta lógica se muestra el siguiente
ejemplo, o como se muestra arriba (no aplica en Oracle):
INSERT INTO phone_book
SELECT 'John Doe', '555-1212' FROM LATERAL ( VALUES (1) ) AS t(c)
UNION ALL
SELECT 'Peter Doe','555-2323' FROM LATERAL ( VALUES (1) ) AS t(c)
MANEJO DE SENTENCIAS DE MANIPULACION 6
Copia de filas de otras tablas
Un INSERT también puede utilizarse para recuperar datos de otros, modificarla si es
necesario e insertarla directamente en la tabla. Todo esto se hace en una sola sentencia
SQL que no implica ningún procesamiento intermedio en la aplicación cliente. Un
SUBSELECT se utiliza en lugar de la cláusula VALUES. El SUBSELECT puede
contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA
los datos que se inserta. Lógicamente, el SELECT se evalúa antes que la operación
INSERT esté iniciada. Un ejemplo se da a continuación.
INSERT INTO phone_book2
SELECT *
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')
Una variación es necesaria cuando algunos de los datos de la tabla fuente se está
insertando en la nueva tabla, pero no todo el registro. (O cuando los esquemas de las
tablas no son iguales.)
INSERT INTO phone_book2 ( [name], [phoneNumber] )
SELECT [name], [phoneNumber]
FROM phone_book
WHERE name IN ('John Doe', 'Peter Doe')
El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe
coincidir con el esquema de la tabla donde los datos son insertados.
MANEJO DE SENTENCIAS DE MANIPULACION 7
1.3 DELETE
La instrucción DELETE permite borrar filas de una tabla especificada. El formato del
comando es:
DELETE FROM NombreTabla
[WHERE condicionBusqueda]
Al igual que sucede con las instrucciones INSERT y UPDATE, NombreTabla puede ser
el nombre de una tabla base o de una vista actualizable. La condicionBusqueda es
opcional; si se la omite, todas las filas serán borradas de la tabla, esto no hace que se
borre la propia tabla; para borrar tanto el contenido de la tabla como su definición, es
necesario utilizar la instrucción DROP TABLE. Si se especifica una
condicionBusqueda, solo se borraran aquellas filas que satisfagan la condición indicada.
Ejemplo
Borrar todas las visitas relativas al inmueble PG4
DELETE FROM Viewing
WHERE propertyNo = PG4;
La clausula where localiza las filas correspondientes al inmueble PG4 y la operación de
borrado se aplica únicamente a esas filas concretas.
Ejemplo
Borrar todas las filas de la tabla visitas
DELETE FROM Viewing;
No se ha especificado ninguna clausula WHERE, por lo que la operación de borrado se
aplica a todas las filas de la tabla. Esto elimina de la tabla el contenido de todas las filas,
dejando únicamente la definición de la tabla, por lo que continuaremos siendo capaces
de insertar datos en la tabla posteriormente.
MANEJO DE SENTENCIAS DE MANIPULACION 8
1.4 UPDATE
Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de
registros existentes en una tabla.
Ejemplo
UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N';
La instrucción UPDATE permite modificar el contenido de filas ya existentes en una
tabla especificada el formato del comando es:
UPDATE NombreTabla
SET NombreColumna1 = valorDatos1 [, NombreColumna2 = valorDatos2�]
[WHERE condicionBusqueda]
NombreTabla puede ser el nombre de una tabla base o de una vista actualizable. La
clausula SET específica los nombres de una o más columnas que hay que actualizar. La
clausula WHERE es opcional; si se la omite, las columnas especificadas se actualizarán
para todas de las filas de la tabla. Si se especifica una clausula WHERE, solo se
actualizarán aquellas filas que satisfagan la condicionBusqueda. Los nuevos valores
valorDatos deber ser compatibles con los tipos de datos de las columnas
correspondientes.
Ejemplo
Incrementar un 3% el salario de todos los empleados
UPDATE Staff
SET salary = salary * 1.03;
Puesto que la actualización se aplica a todas las filas de la table Staff, omitimos la
clausula WHERE.
Ejemplo
Incrementar un 5% el salario de todos los gerentes.
UPDATE Staff
SET salary = salary * 1.05
MANEJO DE SENTENCIAS DE MANIPULACION 9
WHERE position = Manager;
La clausula WHERE localiza las filas que contienen datos para los gerentes (Manager)
y la actualizacion salary = salary * 1.05 se aplica únicamente a dichas filas concretas.
Ejemplo
Ascender a David Ford (staffNo = SG14) a Gerente e incrementar su salario a 18000
euros.
UPDATE Staff
SET position = Manager, salary = 18000
WHERE staffNo = SG14;
1.5 Manejo de transacciones (ACID)
Desde los inicios de la Informática se guardaron datos para ser recuperados y
procesados más tarde pero muchísimas veces esos datos eran inconsistentes y causaban
problemas muy graves.
Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto
de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma
indivisible o atómica.
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos,
haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando
por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes
ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de
integridad), como si la orden de la transacción nunca se hubiese realizado. Una
transacción debe contar con ACID (un acrónimo inglés) que quiere decir: Atomicidad,
Consistencia, Aislamiento y Durabilidad. Entonces para que un Sistema de Gestión de
Bases de Datos sea considerado Transaccional, debe cumplir con estos criterios (ACID).
Veamos un ejemplo:
Se tiene que grabar una venta y para ello se tienen dos tablas:
 Cabecera de ventas
 Detalles de ventas
MANEJO DE SENTENCIAS DE MANIPULACION 10
Se grabó la cabecera y antes de que se grabaran todos los detalles ocurrió un corte en la
energía eléctrica o se dañó la red o algún otro problema que impidió grabar todos los
detalles de dicha venta.
Eso implica que algo está muy mal: la cabecera no corresponde exactamente con los
detalles. Y eso es inaceptable.
A veces, ese tipo de error puede ser detectado y corregido enseguida, pero a veces
pueden pasar días, meses o inclusive años antes de ser detectado.
Este tipo de problemas y muchos más causaban serios perjuicios a las empresas, motivo
por el cual muchas personas se dedicaron a investigar como solucionarlos. A finales de
los años 1970 Jim Gray definió las propiedades que debía tener una transacción
confiable y en 1983 Andreas Reuter y Theo Härder inventaron la palabra ACID para
describir a ese tipo de transacción.
Atomicidad significa que las modificaciones a la Base de Datos (agregar, borrar o
modificar) deben seguir la regla de todo o nada. Si cualquier parte de la transacción
falló, por más pequeña que sea dicha parte, toda la transacción falló.
Consistencia significa que solamente datos válidos pueden ser escritos en la Base de
Datos. Dentro de una transacción se pueden tener temporalmente datos inválidos pero
cuando la transacción termina, sea de la forma que sea, la Base de Datos debe tener
solamente datos válidos.
Aislamiento significa que si varias transacciones se están ejecutando al mismo tiempo,
ninguna de ellas interfiere con las otras. Eso implica que la transacción A no conoce ni
puede cambiar lo que la transacción B está haciendo. Cada transacción está aislada de
todas las demás transacciones, o sea que cada transacción es totalmente independiente
de todas las demás transacciones.
Durabilidad significa que cuando los cambios a los datos que realizó la transacción son
grabados, dichos cambios permanecerán aún cuando se corte la energía eléctrica, se
interrumpa la conexión a la red, o cualquier otro problema físico.
Si una Base de Datos no cumple con alguno de esos 4 criterios entonces no puede ser
considerada confiable.
Para esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee
los mecanismos para especificar que un conjunto de acciones deben constituir una
transacción.
 BEGIN TRAN: Especifica que va a empezar una transacción.
 COMMIT TRAN: Le indica al motor que puede considerar la transacción
completada con éxito.
 ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer
la base al punto de integridad.
MANEJO DE SENTENCIAS DE MANIPULACION 11
En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID;
en la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a
obtener un mejor rendimiento.
1.5.1¿Cómo se termina una transacción?
Solamente hay dos formas “normales” de terminar una transacción:
o con un COMMIT
o con un ROLLBACK
Si una transacción termina con un COMMIT exitoso entonces todos los cambios que
ocurrieron dentro de esa transacción (es decir, todos los INSERT, DELETE, UPDATE)
son grabados permanentemente en la Base de Datos
Si una transacción terminó con un ROLLBACK entonces ninguno de los cambios que
ocurrieron dentro de esa transacción (es decir, ningún INSERT, DELETE, UPDATE)
será grabado y la Base de Datos regresará al estado que tenía cuando comenzó la
transacción
1.5.2 Ejemplo de una Transacción:
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la
que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la integridad del sistema (es decir, para que no
aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del
sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no
se ha realizado ninguna.
MANEJO DE SENTENCIAS DE MANIPULACION 12
Conclusión
Podemos mencionar que el Manejo de las sentencias de Manipulacion es muy
importante ya que es usado con mucha frecuencia entre las tablas que usamos y se
deben de usar con mucha responsabilidad ya que al realizar estas operaciones puede
afectar gravemente nuestra base de datos, tambien nuestro sistema tiene que ser ideal al
hacer las transacciones y que al realizarlas cumplan con las reglas ACID ya que estas
propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento. Podemos
concluir que al hacer uso de las
MANEJO DE SENTENCIAS DE MANIPULACION 13
Referencias
www.manualesguebs.com
www.monografias.com
www.wikipedia.com
www.youtube.com
www.sqlinformes.com
www.aprendesq.com
www.codificacionfacil.com
www.

Más contenido relacionado

La actualidad más candente

Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Sergio Sanchez
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
JOSE AHIAS LOPEZ PORTILLO
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
Byron Eras
 
87 Php. Borrar Registros Y Salvar Datos
87 Php. Borrar Registros Y Salvar Datos87 Php. Borrar Registros Y Salvar Datos
87 Php. Borrar Registros Y Salvar Datos
José M. Padilla
 

La actualidad más candente (20)

Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
PL/SQL
PL/SQLPL/SQL
PL/SQL
 
Cap I Plsql
Cap I PlsqlCap I Plsql
Cap I Plsql
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Expo
ExpoExpo
Expo
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Ejemplo ddl dml
Ejemplo ddl dmlEjemplo ddl dml
Ejemplo ddl dml
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Aprenda SQL Server
Aprenda SQL ServerAprenda SQL Server
Aprenda SQL Server
 
87 Php. Borrar Registros Y Salvar Datos
87 Php. Borrar Registros Y Salvar Datos87 Php. Borrar Registros Y Salvar Datos
87 Php. Borrar Registros Y Salvar Datos
 
DML3.pptx
DML3.pptxDML3.pptx
DML3.pptx
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 

Destacado (6)

1.3. MANEJO DE CONTROL DE DATOS
1.3.	MANEJO DE CONTROL DE DATOS1.3.	MANEJO DE CONTROL DE DATOS
1.3. MANEJO DE CONTROL DE DATOS
 
Manejo Control De Datos
Manejo Control De DatosManejo Control De Datos
Manejo Control De Datos
 
MANEJO DE SENTENCIAS DE MANIPULACIÓN
MANEJO DE SENTENCIAS DE MANIPULACIÓNMANEJO DE SENTENCIAS DE MANIPULACIÓN
MANEJO DE SENTENCIAS DE MANIPULACIÓN
 
manejo de sentencias de recuperación
manejo de sentencias de recuperaciónmanejo de sentencias de recuperación
manejo de sentencias de recuperación
 
MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
Deber 4 grupo
Deber 4 grupoDeber 4 grupo
Deber 4 grupo
 

Similar a manejo de sentencias de manipulacion

Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
Adriana Escobar
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
Pablo Jose
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabla
dmonges
 

Similar a manejo de sentencias de manipulacion (20)

Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Base de datos
Base de datosBase de datos
Base de datos
 
Indices en workbench
Indices en workbenchIndices en workbench
Indices en workbench
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Bases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datosBases de Datos Cap VI:SQL: SQL-Definición de datos
Bases de Datos Cap VI:SQL: SQL-Definición de datos
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Funciones Basicas SQL
Funciones Basicas SQLFunciones Basicas SQL
Funciones Basicas SQL
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Ejemploddl dml-ok
Ejemploddl dml-okEjemploddl dml-ok
Ejemploddl dml-ok
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Sql manipulacion de tabla
Sql manipulacion de tablaSql manipulacion de tabla
Sql manipulacion de tabla
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
 

Último

Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
AlanCarrascoDavila
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
fernandolozano90
 

Último (20)

Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
INFORME de actividades para pago de servicio
INFORME de actividades para pago de servicioINFORME de actividades para pago de servicio
INFORME de actividades para pago de servicio
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
IG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesIG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendaciones
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
Matematica Basica Limites indeterminados
Matematica Basica Limites indeterminadosMatematica Basica Limites indeterminados
Matematica Basica Limites indeterminados
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................
 
Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendio
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 

manejo de sentencias de manipulacion

  • 1. BASE DE DATOS I S4L GRUPO #2 MANEJO DE SENTENCIAS DE MANIPULACIÓN 03/02/2016 Integrantes: • BAJANA ANDRES • LUZARDO EDUARDO • SANCAN ANAIS • VELASQUEZ MIGUEL
  • 2. MANEJO DE SENTENCIAS DE MANIPULACION 1 MANEJO DE SENTENCIAS DE MANIPULACIÓN Presentado por: • BAJANA ANDRES • LUZARDO EDUARDO • SANCAN ANAIS • VELASQUEZ MIGUEL Docente: ING. ROSSANA LUCIN Curso: S4L UNIVERSIDAD DE GUAYAQUIL FACULTAD MATEMÁTICAS Y FÍSICAS INGENIERÍA EN SISTEMAS COMPUTACIONALES EXPOSICIÓN 2DO PARCIAL GUAYAQUIL 2016
  • 3. MANEJO DE SENTENCIAS DE MANIPULACION 2 Contenido 1. Manejo de Sentencias de Manipulacion .................................................................... 3 1.2 Insert .....................................................................Error! Bookmark not defined. 1.3 Delete .................................................................................................................... 7 1.4 Update.................................................................................................................... 8 1.5 Manejo de Transaccion(ACID) ............................................................................. 9 1.5.1 ¿Cómo se termina una transaccion? ............................................................ 11 1.5.2 Ejemplo de Transaccion............................................................................... 11 Conclusión............................................................................................................... 12 Referencias ..................................................................................................................... 13
  • 4. MANEJO DE SENTENCIAS DE MANIPULACION 3 1. Manejo de Sentencias de Manipulación 1.2 INSERT Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional. Hay dos formas de instrucción INSERT. La primera permite insertar una única fila en una tabla especificada y tiene el siguiente formato:  INSERT INTO NombreTabla [(ListaColumnas)]  VALUES (ListaValoresDatos) Forma básica INSERT INTO 'tablatura' ('columna1',['columna2,... ']) VALUES ('valor1', ['valor2,...']) O tambien se puede utilizar como: INSERT tablatura VALUES ('valor1','valor2') Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le será asignado el valor por omisión. Los valores especificados (o implícitos) por la sentencia INSERTdeberán satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error. NombreTabla puede ser una tabla base o una vista actualizable y ListaColumnas representa una lista de uno o más nombres de columnas, separados por comas. La ListaColumnas es opcional; si se la omite, SQL utilizará de forma predeterminada una lista de todas las columnas en su orden original especificado en la instrucción CREATE TABLE. Si se especifica esta lista de columnas, todas las columnas omitidas de la lista deberán haber sido declaradas como columnas NULL en el momento de crear la tabla, a menos que se hubiera utilizado la opción DEFAULT al crear la columna. La ListaValoresDatos debe corresponderse con la ListaColumnas de la forma siguiente:  El número de elementos de cada lista debe ser el mismo.  Debe haber una correspondencia directa entre las posiciones de los elementos de ambas listas, de modo que el primer elemento de ListaValoresDatos se aplique al primer elemento de ListaColumnas, el segundo elemento de ListaValoresDatos se aplique al segundo elemento de LsitaColumnas, etc.
  • 5. MANEJO DE SENTENCIAS DE MANIPULACION 4  El tipo de datos de cada elemento de ListaValoresDatos debe ser compatible con el tipo de datos de la correspondiente columna. Ejemplo Insertar una nueva fila en la tabla Staff suministrando datos para todas las columnas. INSERT INTO Staff VALUES (SG16,Alan,Brown, Assistant, M, DATE 19570525, 8300, B003); Puesto que estamos insertanto los datos en cada columna en el mismo orden en el que fue creada la tabla, no hay necesidad de especificar ninguna lista de columnas. Observe que los literales de caracteres, como Alan, deben encerrarse entre comillas simples. Ejemplo inserter una nueva fila en la table Staff suministrando datos para todas las columnas obligatorias: staffNo, fName, IName, position, salary, branchNo. INSERT INTO Staff (staffNo, fName, IName, position, salary, branchNo) VALUES (SG44, Anne, Jones, Assistant, 8100, B003); Puesto que estamos insertando datos en ciertas columnas, podemos especificar los nombres de las columnas en las que los estamos insertando. El orden de los nombres de las columnas no es significativo, aunque lo normal es especificarlas en el orden en que aparece en la Tabla. La segunda forma de la instrucción INSERT permite copiar multiples filas de una o mas tablas en otra tabla, y tiene el siguiente formato. INSERT INTO NombreTabla [( ListaColumnas)] Formas avanzadas Una característica de SQL (desde SQL-92) es el uso de constructores de filas para insertar múltiples filas a la vez, con una sola sentencia SQL: INSERT INTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1a'', [''valor1b,...'']), (''value2a'', [''value2b,...'']),...; Esta característica es soportada por DB2, PostgreSQL (desde la versión 8.2), MySQL, y H2. Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas en la tabla 'agenda_telefonica'):
  • 6. MANEJO DE SENTENCIAS DE MANIPULACION 5 INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'), ('Alejandro Sosa', '4556550'); Que podía haber sido realizado por las sentencias INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'); INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550'); Notar que las sentencias separadas pueden tener semántica diferente (especialmente con respecto a los triggers), y puede tener diferente rendimiento que la sentencia de inserción múltiple. Para insertar varias filas en MS SQL puede utilizar esa construcción: INSERT INTO phone_book SELECT 'John Doe', '555-1212' UNION ALL SELECT 'Peter Doe', '555-2323'; Tenga en cuenta que no se trata de una sentencia SQL válida de acuerdo con el estándar SQL (SQL: 2003), debido a la cláusula subselect incompleta. Para hacer lo mismo en Oracle se usa la Tabla DUAL, siempre que se trate de solo una simple fila: INSERT INTO phone_book SELECT 'John Doe', '555-1212' FROM DUAL UNION ALL SELECT 'Peter Doe','555-2323' FROM DUAL Una implementación conforme al estándar de esta lógica se muestra el siguiente ejemplo, o como se muestra arriba (no aplica en Oracle): INSERT INTO phone_book SELECT 'John Doe', '555-1212' FROM LATERAL ( VALUES (1) ) AS t(c) UNION ALL SELECT 'Peter Doe','555-2323' FROM LATERAL ( VALUES (1) ) AS t(c)
  • 7. MANEJO DE SENTENCIAS DE MANIPULACION 6 Copia de filas de otras tablas Un INSERT también puede utilizarse para recuperar datos de otros, modificarla si es necesario e insertarla directamente en la tabla. Todo esto se hace en una sola sentencia SQL que no implica ningún procesamiento intermedio en la aplicación cliente. Un SUBSELECT se utiliza en lugar de la cláusula VALUES. El SUBSELECT puede contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA los datos que se inserta. Lógicamente, el SELECT se evalúa antes que la operación INSERT esté iniciada. Un ejemplo se da a continuación. INSERT INTO phone_book2 SELECT * FROM phone_book WHERE name IN ('John Doe', 'Peter Doe') Una variación es necesaria cuando algunos de los datos de la tabla fuente se está insertando en la nueva tabla, pero no todo el registro. (O cuando los esquemas de las tablas no son iguales.) INSERT INTO phone_book2 ( [name], [phoneNumber] ) SELECT [name], [phoneNumber] FROM phone_book WHERE name IN ('John Doe', 'Peter Doe') El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe coincidir con el esquema de la tabla donde los datos son insertados.
  • 8. MANEJO DE SENTENCIAS DE MANIPULACION 7 1.3 DELETE La instrucción DELETE permite borrar filas de una tabla especificada. El formato del comando es: DELETE FROM NombreTabla [WHERE condicionBusqueda] Al igual que sucede con las instrucciones INSERT y UPDATE, NombreTabla puede ser el nombre de una tabla base o de una vista actualizable. La condicionBusqueda es opcional; si se la omite, todas las filas serán borradas de la tabla, esto no hace que se borre la propia tabla; para borrar tanto el contenido de la tabla como su definición, es necesario utilizar la instrucción DROP TABLE. Si se especifica una condicionBusqueda, solo se borraran aquellas filas que satisfagan la condición indicada. Ejemplo Borrar todas las visitas relativas al inmueble PG4 DELETE FROM Viewing WHERE propertyNo = PG4; La clausula where localiza las filas correspondientes al inmueble PG4 y la operación de borrado se aplica únicamente a esas filas concretas. Ejemplo Borrar todas las filas de la tabla visitas DELETE FROM Viewing; No se ha especificado ninguna clausula WHERE, por lo que la operación de borrado se aplica a todas las filas de la tabla. Esto elimina de la tabla el contenido de todas las filas, dejando únicamente la definición de la tabla, por lo que continuaremos siendo capaces de insertar datos en la tabla posteriormente.
  • 9. MANEJO DE SENTENCIAS DE MANIPULACION 8 1.4 UPDATE Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. Ejemplo UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N'; La instrucción UPDATE permite modificar el contenido de filas ya existentes en una tabla especificada el formato del comando es: UPDATE NombreTabla SET NombreColumna1 = valorDatos1 [, NombreColumna2 = valorDatos2�] [WHERE condicionBusqueda] NombreTabla puede ser el nombre de una tabla base o de una vista actualizable. La clausula SET específica los nombres de una o más columnas que hay que actualizar. La clausula WHERE es opcional; si se la omite, las columnas especificadas se actualizarán para todas de las filas de la tabla. Si se especifica una clausula WHERE, solo se actualizarán aquellas filas que satisfagan la condicionBusqueda. Los nuevos valores valorDatos deber ser compatibles con los tipos de datos de las columnas correspondientes. Ejemplo Incrementar un 3% el salario de todos los empleados UPDATE Staff SET salary = salary * 1.03; Puesto que la actualización se aplica a todas las filas de la table Staff, omitimos la clausula WHERE. Ejemplo Incrementar un 5% el salario de todos los gerentes. UPDATE Staff SET salary = salary * 1.05
  • 10. MANEJO DE SENTENCIAS DE MANIPULACION 9 WHERE position = Manager; La clausula WHERE localiza las filas que contienen datos para los gerentes (Manager) y la actualizacion salary = salary * 1.05 se aplica únicamente a dichas filas concretas. Ejemplo Ascender a David Ford (staffNo = SG14) a Gerente e incrementar su salario a 18000 euros. UPDATE Staff SET position = Manager, salary = 18000 WHERE staffNo = SG14; 1.5 Manejo de transacciones (ACID) Desde los inicios de la Informática se guardaron datos para ser recuperados y procesados más tarde pero muchísimas veces esos datos eran inconsistentes y causaban problemas muy graves. Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese realizado. Una transacción debe contar con ACID (un acrónimo inglés) que quiere decir: Atomicidad, Consistencia, Aislamiento y Durabilidad. Entonces para que un Sistema de Gestión de Bases de Datos sea considerado Transaccional, debe cumplir con estos criterios (ACID). Veamos un ejemplo: Se tiene que grabar una venta y para ello se tienen dos tablas:  Cabecera de ventas  Detalles de ventas
  • 11. MANEJO DE SENTENCIAS DE MANIPULACION 10 Se grabó la cabecera y antes de que se grabaran todos los detalles ocurrió un corte en la energía eléctrica o se dañó la red o algún otro problema que impidió grabar todos los detalles de dicha venta. Eso implica que algo está muy mal: la cabecera no corresponde exactamente con los detalles. Y eso es inaceptable. A veces, ese tipo de error puede ser detectado y corregido enseguida, pero a veces pueden pasar días, meses o inclusive años antes de ser detectado. Este tipo de problemas y muchos más causaban serios perjuicios a las empresas, motivo por el cual muchas personas se dedicaron a investigar como solucionarlos. A finales de los años 1970 Jim Gray definió las propiedades que debía tener una transacción confiable y en 1983 Andreas Reuter y Theo Härder inventaron la palabra ACID para describir a ese tipo de transacción. Atomicidad significa que las modificaciones a la Base de Datos (agregar, borrar o modificar) deben seguir la regla de todo o nada. Si cualquier parte de la transacción falló, por más pequeña que sea dicha parte, toda la transacción falló. Consistencia significa que solamente datos válidos pueden ser escritos en la Base de Datos. Dentro de una transacción se pueden tener temporalmente datos inválidos pero cuando la transacción termina, sea de la forma que sea, la Base de Datos debe tener solamente datos válidos. Aislamiento significa que si varias transacciones se están ejecutando al mismo tiempo, ninguna de ellas interfiere con las otras. Eso implica que la transacción A no conoce ni puede cambiar lo que la transacción B está haciendo. Cada transacción está aislada de todas las demás transacciones, o sea que cada transacción es totalmente independiente de todas las demás transacciones. Durabilidad significa que cuando los cambios a los datos que realizó la transacción son grabados, dichos cambios permanecerán aún cuando se corte la energía eléctrica, se interrumpa la conexión a la red, o cualquier otro problema físico. Si una Base de Datos no cumple con alguno de esos 4 criterios entonces no puede ser considerada confiable. Para esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción.  BEGIN TRAN: Especifica que va a empezar una transacción.  COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con éxito.  ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad.
  • 12. MANEJO DE SENTENCIAS DE MANIPULACION 11 En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID; en la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento. 1.5.1¿Cómo se termina una transacción? Solamente hay dos formas “normales” de terminar una transacción: o con un COMMIT o con un ROLLBACK Si una transacción termina con un COMMIT exitoso entonces todos los cambios que ocurrieron dentro de esa transacción (es decir, todos los INSERT, DELETE, UPDATE) son grabados permanentemente en la Base de Datos Si una transacción terminó con un ROLLBACK entonces ninguno de los cambios que ocurrieron dentro de esa transacción (es decir, ningún INSERT, DELETE, UPDATE) será grabado y la Base de Datos regresará al estado que tenía cuando comenzó la transacción 1.5.2 Ejemplo de una Transacción: Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la integridad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
  • 13. MANEJO DE SENTENCIAS DE MANIPULACION 12 Conclusión Podemos mencionar que el Manejo de las sentencias de Manipulacion es muy importante ya que es usado con mucha frecuencia entre las tablas que usamos y se deben de usar con mucha responsabilidad ya que al realizar estas operaciones puede afectar gravemente nuestra base de datos, tambien nuestro sistema tiene que ser ideal al hacer las transacciones y que al realizarlas cumplan con las reglas ACID ya que estas propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento. Podemos concluir que al hacer uso de las
  • 14. MANEJO DE SENTENCIAS DE MANIPULACION 13 Referencias www.manualesguebs.com www.monografias.com www.wikipedia.com www.youtube.com www.sqlinformes.com www.aprendesq.com www.codificacionfacil.com www.