SlideShare una empresa de Scribd logo
Ingeniería en Sistemas Computacionales
Taller de Base de Datos
Unidad III: Lenguaje de Manipulación de Datos DML
Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas
Computacionales, plan de estudios ISIC-2010-224
TALLER DE BASE DE DATOS
Competencia: Manipular bases de datos a través de un SGBD.
TALLER DE BASE DE DATOS
Antes de continuar con el trabajo de esta unidad debemos descargar la DB
ejemplo de Microsoft SQL Server 2012, la cual nos servirá para realizar las
prácticas correspondientes tanto de esta unidad como de unidades
posteriores.
• Acceder a la siguiente URL: (o buscar el archivo en Microsoft.com)
https://drive.google.com/drive/folders/0B6oB4Y5y2s76fjdUcjEtVnVEX21xU
nJfRktEazd0Wl9yQ0QxUy1GVmRxUkdMa0gtWW5FQms
• Descargar archivo de DB AdventuresWorks2012BK.bkp
• Restaurar el Back Up en SQL server
• Una vez restaurado encontraras en tu instancia de SQL server la DB
AdventuresWordks2012 con la cual trabajaremos.
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Inserción, Eliminación y Modificación de Registros
SQL Server proporciona varios métodos para modificar la información
contenida en las DBs, iniciaremos esta unidad con la inserción de registros
en una tabla.
• La instrucción más común para ello es el comando INSERT que puede ser
dividido en dos formas:
 INSERT INTO
 SELECT INTO
TALLER DE BASE DE DATOS
LeBlanc, 2013
INSERT INTO
• El primer método utiliza el comando INSERT INTO y sirve para insertar uno
o muchos registros en una tabla, pudiendo afectar todas las columnas,
columnas específicas, columnas ‘identity’, entre otras opciones.
Sintaxis de INSERT INTO
USE <<database>>;
INSERT INTO <<table>>(campo1, campo2,….,campoN)
VALUES(valor1, valor2,….,valorN);
• El ejemplo anterior sirve para insertar un único registro.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Los valores proporcionados deben estar en el mismo orden que los
campos que se van a modificar, ya que de no coincidir los tipos de datos
SQL Server marcará un error de ejecución y cancelará la inserción de
registros.
Ejemplo
USE AdventureWorks2012;
INSERT INTO HumanResources.Department
(Name, GroupName, ModifiedDate)
VALUES
('Payroll', 'Executive General and Administration', '6/12/2012');
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Los campos tipo Identity no deben ser incluidos en la lista de campos ni se
les asigna valor por medio de query ya que SQL Server asigna el valor
correspondiente de acuerdo a las reglas del propio campo.
• En caso de requerir insertar valores en campos identity se debe hacer uso
de la instrucción SET IDENTITY_INSERT [ON/OFF]
Ejemplo:
USE AdventureWorks2012;
SET IDENTITY_INSERT HumanResources.Department ON
INSERT INTO HumanResources.Department
(DepartmentID, Name, GroupName, ModifiedDate)
VALUES
(18, 'International Marketing', 'Sales and Marketing', '5/26/2012');
SET IDENTITY_INSERT HumanResources.Department OFF
TALLER DE BASE DE DATOS
LeBlanc, 2013
Insertar Varios Registros con un Solo Query
• También es posible insertar varios registros a la vez por medio de un query
de T-SQL, para ello debemos repetir los valores entre paréntesis después
de la clausula VALUE tantas veces sean los registros que vamos a insertar y
separando los grupos de valores con una coma.
Ejemplo:
USE AdventureWorks2012;
INSERT INTO HumanResources.Department
VALUES
(‘International Sales’, ‘Sales and Marketing’, ‘5/26/2012’),
(‘Media Control’, ‘Quality Assurance’, ‘5/26/2012’)
TALLER DE BASE DE DATOS
LeBlanc, 2013
• También es posible realizar la inserción de múltiples registros por medio de
una cláusula SELECT, para ello después de la cláusula INSERT INTO se debe
sustituir la palabra VALUE por un SELECT que retraiga los valores a insertar.
Ejemplo:
USE AdventureWorks2012;
INSERT INTO HumanResources.Department
(Name, GroupName, ModifiedDate)
SELECT Name+' USA', GroupName, ModifiedDate
FROM HumanResources.Department
WHERE DepartmentID IN (20, 19);
TALLER DE BASE DE DATOS
LeBlanc, 2013
Uso de la Cláusula SELECT INTO para Insertar Registros
• Otra forma de insertar registros en una tabla es por medio de la cláusula SELECT
INTO, la cual crea una nueva tabla e inserta en ella todos los registros que
resulten de la selección planteada.
Ejemplo:
USE AdventureWorks2012;
SELECT DepartmentID, Name, GroupName, ModifiedDate
INTO dbo.Department
FROM HumanResources.Department
• Se debe ser cuidadoso con el uso de esta forma de inserción, ya que si bien, son
copiados los registros bajo el mismo esquema de la tabla original, los PK,
constraints, e índices no son creados en la nueva tabla. Su uso es generalmente
para crear tablas temporales.
TALLER DE BASE DE DATOS
LeBlanc, 2013
Inserción de Registros por Medio de Archivos de Datos
Externos
• Uso de la instrucción BULK INSERT: Esta cláusula importa un archivo de datos en
una tabla o vista de base de datos con un formato especificado por el usuario en
SQL Server.
Sintaxis:
TALLER DE BASE DE DATOS
BULK INSERT [
database_name . [
schema_name ] . |
schema_name . ] [ table_name |
view_name ] FROM
'data_file' [ WITH ( [ [ , ]
BATCHSIZE = batch_size ] [ [ , ]
CHECK_CONSTRAINTS ] [ [ , ]
CODEPAGE = { 'ACP' | 'OEM' |
'RAW' | 'code_page' } ] [ [ , ]
DATAFILETYPE = { 'char' |
'native'| 'widechar' |
'widenative' } ] [ [ , ]
FIELDTERMINATOR =
'field_terminator' ] [ [ , ]
FIRSTROW = first_row ] [ [ , ]
FIRE_TRIGGERS ] [ [ , ]
FORMATFILE = 'format_file_path'
] [ [ , ] KEEPIDENTITY ] [ [ , ]
KEEPNULLS ] [ [ , ]
KILOBYTES_PER_BATCH
= kilobytes_per_batch ] [ [ , ]
LASTROW = last_row ] [ [ , ]
MAXERRORS = max_errors ] [ [ ,
] ORDER ( { column [ ASC | DESC
] } [ ,...n ] ) ] [ [ , ]
ROWS_PER_BATCH
= rows_per_batch ] [ [ , ]
ROWTERMINATOR
= 'row_terminator' ] [ [ , ]
TABLOCK ] [ [ , ] ERRORFILE
= 'file_name' ] )]
https://msdn.microsoft.com. 2015
Ejemplo:
BULK INSERT [Person].[Address] FROM 'C:SQLDatascriptsAddress.csv'
WITH (
CHECK_CONSTRAINTS,
CODEPAGE='ACP',
DATAFILETYPE = 'widechar',
FIELDTERMINATOR= 't',
ROWTERMINATOR = 'n',
KEEPIDENTITY,
TABLOCK
);
TALLER DE BASE DE DATOS
LeBlanc, 2013
En este ejemplo se están insertando
registros en la tabla Person.Address,
desde el archivo Address.csv, el cual
tiene como separador de cada
columna un carácter TAB, y el fin de
línea es un carácter 10 (salto de línea).
Modificación de la Información de la DB
Operación DELETE
• Dentro de las operaciones básicas para la manipulación de registros en SQL
Server se encuentra la Eliminación de Registros.
• Esto se hace por medio de la operación DELETE, la cual requiere de la
cláusula WHERE para realizar la operación. De no incluirse un WHERE en
un DELETE, SQL Server asume que debe eliminar todo el contenido de la
tabla en cuestión.
• Sumado a esto, SQL Server no tiene una operación ‘undo’, por lo que es el
programador quien debe aportar los mecanismos para la recuperación de
la información que haya sido eliminada por accidente.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Eliminación de un solo registro: En el siguiente ejemplo se está utilizando
el campo llave de la tabla respectiva para eliminar un único registro. Pero
si la llave de la tabla está compuesta por varias columnas, es posible que
el query elimine varios registros también.
Ejemplo:
USE AdventureWorks2012;
DELETE FROM HumanResources.Department
WHERE DepartmentID = 22
• En este caso se está filtrando la cantidad de registros que serán eliminados
por medio de la cláusula WHERE, para que se elimine un solo reistro de la
tabla.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Eliminación de múltiples registros: También es posible eliminar una cantidad
indeterminada de registros de la tabla, teniendo como límite el total de registros
contenido en la misma. Para esto podemos utilizar expresiones que van después
de la cláusula WHERE, en la misma forma que se hace en la instrucción SELECT.
Ejemplo:
USE AdventureWorks2012;
DELETE FROM HumanResources.Department
FROM HumanResources.Department d
LEFT OUTER JOIN HumanResources.EmployeeDepartmentHistory ed
ON d.DepartmentID = ed.DepartmentID
WHERE ed.DepartmentID IS NULL
• En este ejemplo serán eliminados todos aquellos registros que tengan nulo el campo
DepartmenID.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Eliminación de todo el contenido de una tabla: como ya comentamos antes eso
se hace al no colocar en la instrucción DELETE la cláusula WHERE.
• Sin embargo existe otra instrucción en SQL Server que elimina el total de los
registros contenidos en una tabla. La instrucción TRUNCATE TABLE. Es muy
importante que antes de usar dicha instrucción se haya hecho el análisis
respectivo y concluido que eso es lo que se requiere, ya que una vez ejecutado el
query correspondiente toda la información de la tabla en cuestión será
eliminada.
Ejemplo:
USE AdventureWorks2012;
TRUNCATE TABLE dbo.Department
Equivale a:
USE AdventureWorks2012;
DELETE FROM dbo.Department
TALLER DE BASE DE DATOS
LeBlanc, 2013
Modificación de Registros de una Tabla
• SQL server incluye una instrucción para modificar el contenido de una
tabla. La instrucción UPDATE puede usarse para modificar un único
registro, una cantidad indeterminada o incluso el total de los registros de
una tabla.
Ejemplo:
USE AdventureWorks2012;
UPDATE HumanResources.Department
SET Name = Name +' Europe'
WHERE DepartmentID = 19
• Al igual que la instrucción DELETE es muy importante incluir un WHERE
apropiado o accidentalmente podriamos modificar todo el contenido de la
tabla.
TALLER DE BASE DE DATOS
LeBlanc, 2013
Consulta de Registros
• En SQL Server la instrucción para realizar consulta de información y
recuperación de registros es SELECT.
Sintaxis:
SELECT select_list/* [ INTO new_table ]
[ FROM table_source ] [ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
• Los operadores UNION, EXCEPT e INTERSECT se pueden utilizar entre
consultas para combinar o comparar resultados en un conjunto de
resultados.
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Recuperación de Registros
• La forma más simple de recuperar uno o varios registros en SQL Server es
por medio de la instrucción SELECT seguida de una lista de los campos que
desean mostrarse, así mismo, es necesario hacer uso del a cláusula
WHERE, de lo contrario se le estaría indicando a SQL Server que se desea
recuperar todo el contenido de la tabla en cuestión.
Ejemplo:
Use AdventureWorks2012;
Select * from HumanResources.Employee
• En este caso no se esta haciendo ningún tipo de filtro, por lo que el query
regresa todos los registros en la tabla Employee con todos sus campos
TALLER DE BASE DE DATOS
• Uso de la cláusula TOP: esta sirve para seleccionar una cantidad
determinada de registros de la tabla correspondiente.
Ejemplo:
Use AdventureWorks2012;
Select TOP 50 NationalIDNumber, JobTitle, Gender, HireDate, SalariedFlag
from HumanResources.Employee
• En este caso se estan filtrando ciertos campos de la tabla, y se indica que
solo se traerán los primeros 50 registros en ser encontrados.
TALLER DE BASE DE DATOS
• Uso de la cláusula WHERE: esta cláusula sirve para especificar las
condiciones bajo las que se realizará la búsqueda de registros en la tabla o
conjunto de tablas.
Ejemplos:
• En estos casos el filtraje se esta realizando por medio de WHERE, el cual
regresa tantos registros coincidan con la condición planteada.
TALLER DE BASE DE DATOS
Select * FROM Person.Person
WHERE LastName=‘Miller’
Select * FROM Person.Person
WHERE LastName=‘Miller’ and FirstName=‘Frank’
Select BusinessEntityID, LastName, FirstName
FROM Person.Person WHERE BusinessEntityID > 5000
• Uso de la cláusula BETWEEN: Algunas veces es necesario buscar información
que se encuentra en un orden secuencial respecto a alguna de las columnas de
la tabla, por lo que en estos casos en lugar de hacer varias comparaciones lo
mejor es utilizar la cláusula BETWEEN como se muestra a continuación:
USE AdventureWorks2012;
SELECT AccountNumber, SalesOrderID, OrderDate
FROM Sales.SalesOrderHeader
WHERE OrderDate BETWEEN ‘05/01/2007' AND '12/31/2007‘
• En este caso se esta utilizando un campo tipo fecha para realizar el filtraje, pero
es posible utilizar cualquier tipo de campo para aplicar esta cláusula.
• Es importante considerar que BETWEEN aplica un rango de datos por lo que los
límites que usemos irán incluidos en el resultado del SELECT.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Uso de la cláusula IN para búsquedas en listas de valores: muchas veces
es necesario buscar registros los cuales están relacionados con una lista
específica de valores de una columna, en estos casos SQL Server
proporciona la cláusula IN para facilitar las búsquedas.
Ejemplo:
USE AdventureWorks2012;
SELECT SalesOrderDetailID, OrderQty, ProductID, ModifiedDate
FROM Sales.SalesOrderDetail
WHERE ProductID IN (776, 778, 747, 809);
• En este ejemplo, la cláusula IN permite obtener los registros relacionados
con uno o varios productos que se encuentran en la lista proporcionada.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Uso de la cláusula LIKE y comodines: el uso de comodines es muy útil
cuando deseamos obtener los registros que cumplen con cierta parte de
una condición, la cláusula LIKE permite usar comodines los cuales pueden
ser un solo carácter o un conjunto de ellos.
Ejemplo:
USE AdventureWorks2012;
SELECT * FROM HumanResources.Department
WHERE Name LIKE 'Pr%'
• En este caso el query regresa todos aquellos departamentos cuyo nombre
comience con las letras "Pr", el símbolo de porcentaje indica que lo que
hay después del comodín no será evaluado en el query.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Cláusula AS, selección de columnas con alias: en muchas ocasiones es
necesario enviar información de las tablas, sin embargo, los nombres de
los campos pueden ser incomprensibles para muchos usuarios que no
están relacionados con el diseño de la DB. Para solucionar eso se pueden
crear alias y generar la información en forma de reporte.
Ejemplo:
USE AdventureWorks2012;
SELECT DepartmentID, Name AS [Department Name],
GroupName AS [Department Group Name]
FROM HumanResources.Department
• En este caso las columnas que consideramos con nombres menos
comprensibles fueron asignadas con un alias. Es posible poner espacios en
blanco en los alias siempre y cuando el alias completo esté delimitado
entre corchetes [ ].
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Uso de la cláusula ORDER BY: Esta cláusula ordena los resultados de una
consulta en base a uno o más campos de la tabla. Adicionalmente puede
utilizarse ASC/DESC para mejorar el ordenamiento.
Ejemplo:
USE AdventureWorks2012;
SELECT DepartmentID, Name AS [Department Name],
GroupName AS [Department Group Name]
FROM HumanResources.Department
ORDER BY Name ASC
• En este caso estamos ordenando por la columna Name, en caso de no ser
especificado ASC/DESC se toma como default ASC.
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
• Uso de la cláusula GROUP BY: Sirve para agrupar un conjunto de registros
en un nuevo conjunto resumido. Se devuelve una fila para cada grupo.
Ejemplo:
USE AdventureWorks2012;
SELECT FirstName, LastName, count(*)
FROM person.person
GROUP BY FirstName, LastName
ORDER BY FirstName
• En este caso se esta recuperando el conjunto de nombres de empleados,
pero sin repetir nombres, y se agrega un contador para saber cuantos
registros cumplen con el mismo nombre y apellido.
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Visualización de Datos de Varias Tablas
• Hasta ahora hemos realzado consultas utilizando una sola tabla, sin
embargo, en la práctica es común que se deba extraer información de
varias tablas y presentarla en un solo conjunto de registros. Para esto SQL
Server proporciona la cláusula JOIN. Existen varios tipos de JOINs, en esta
unidad veremos los 3 más comunes, que son:
•INNER JOIN
•LEFT OUTER JOIN
•RIGHT OUTER JOIN
TALLER DE BASE DE DATOS
LeBlanc, 2013
• INNER JOIN: De los tres tipos de JOINs que mencionamos, este es el más
utilizado, regresa todo lo que es común entre las tablas que deseamos
comparar, es decir, regresa la intersección de las tablas como lo muestra la
siguiente figura:
• En esta figura se muestran las tablas Product y Sales, la intersección entre
ambas sería por ende los productos que se han vendido en un momento
dado.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Sintaxis del INNER JOIN: Es posible extraer columnas de ambas tablas que
estamos comparando, por lo que el cuerpo del SELECT no tiene cambios en
su estructura, sino al final del mismo al incluir la cláusula INNER JOIN y el
operador ON el cual sirve para indicar cuáles campos hacen la intersección
entre ambas tablas:
USE AdventureWorks2012;
SELECT p.FirstName, p.LastName, ea.EmailAddress
FROM Person.Person AS p
INNER JOIN Person.EmailAddress AS ea
ON p.BusinessEntityID = ea.BusinessEntityID
• En este caso se están utilizando alias para las tablas que estamos
comparando.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Ejemplo: seleccione el nombre del producto, el id del producto y la venta
total por línea (tablas Production.Product y
sales.SalesOrderDetail.ProductID)
USE AdventureWorks2012;
SELECT Production.Product.ProductID, name, linetotal
from Production.Product
inner join sales.SalesOrderDetail
on Production.Product.ProductID=sales.SalesOrderDetail.ProductID
order by Production.Product.ProductID
TALLER DE BASE DE DATOS
• LEFT OUTR JOIN: Es el primero de los dos tipos de OUTER JOINs que
existen, existe una diferencia importante en el orden de las tablas al ser
colocadas en el query ya que como su nombre lo dice, este JOIN obtiene
todo lo que se encuentra a la izquierda incluyendo la intersección de
ambas tablas:
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Ejemplo de LEFT OUTER JOIN
USE AdventureWorks2012;
SELECT p.ProductID, p.Name AS ProductName,
sd.OrderQty, sd.UnitPrice
FROM Production.Product AS p
LEFT JOIN Sales.SalesOrderDetail AS sd
ON p.ProductID = sd.ProductID
• En este caso la tabla Production.Product se encuentra a la izquierda, por lo
que el LEFT OUTER JOIN tomará dicha tabla y la intersección de ambas como
resultado.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• RIGHT OUTR JOIN: Es el segundo de los dos tipos de OUTER JOINs que
existen, al igual que en LEFT existe una diferencia importante en el orden
de las tablas al ser colocadas en el query ya que como su nombre lo dice,
este JOIN obtiene todo lo que se encuentra a la derecha incluyendo la
intersección de ambas tablas:
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Ejemplo de RIGHT OUTER JOIN
USE AdventureWorks2012;
SELECT p.ProductID, p.Name AS ProductName,
sd.OrderQty, sd.UnitPrice
FROM Production.Product AS p
RIGHT JOIN Sales.SalesOrderDetail AS sd
ON p.ProductID = sd.ProductID
• En este caso la tabla Sales.SalesOrderDetail se encuentra a la derecha, por
lo que el RIGHT OUTER JOIN tomará dicha tabla y la intersección de ambas
como resultado.
TALLER DE BASE DE DATOS
LeBlanc, 2013
• Cláusula UNION: Combina los resultados de dos o más consultas en un solo
conjunto de resultados que incluye todas las filas que pertenecen a las consultas
de la unión. La operación UNION es distinta de la utilización de combinaciones
de columnas de dos tablas.
• El número y el orden de las columnas debe ser el mismo en todas las
consultas.
• Los tipos de datos deben ser compatibles.
Ejemplo:
USE AdventureWorks2012;
SELECT Name AS ProductName, Color
FROM Production.Product WHERE Color = 'Black’
UNION
SELECT Name AS ProductName, Color
FROM Production.Product WHERE Color = 'Silver’;
TALLER DE BASE DE DATOS
LeBlanc, 2013
https://msdn.microsoft.com. 2015
• Uso de la cláusula DISTINCT: Devuelve un conjunto de valores que son
distintos entre sí en cada columna especificada en el query.
Ejemplo:
USE AdventureWorks2012;
SELECT DISTINCT
p.Name AS ProductName
FROM Production.Product AS p
INNER JOIN Sales.SalesOrderDetail sd
ON p.ProductID = sd.ProductID
TALLER DE BASE DE DATOS
LeBlanc, 2013
Subconsultas en SQL Server
• Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT,
UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden
utilizar en cualquier parte en la que se permita una expresión.
• La consulta SELECT de una subconsulta se presenta siempre entre paréntesis.
• Una subconsulta puede anidarse en la cláusula WHERE o HAVING de una
instrucción externa SELECT, INSERT, UPDATE o DELETE, o bien en otra
subconsulta. Se puede disponer de hasta 32 niveles de anidamiento.
• Las instrucciones que incluyen una subconsulta normalmente tienen uno de
estos formatos:
WHERE expression [NOT] IN (subquery)
WHERE expression comparison_operator [ANY | ALL] (subquery)
WHERE [NOT] EXISTS (subquery)
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Ejemplo de una subconsulta:
use AdventureWorks2012;
SELECT ProductID, Name, Color
FROM Production.Product
WHERE ProductID IN (
SELECT ProductID FROM
Sales.SalesOrderDetail
WHERE ModifiedDate>'07/01/2005'
and ModifiedDate<'07/25/2005');
TALLER DE BASE DE DATOS
LeBlanc, 2013
Operaciones SET en SQL Server
• El lenguaje de programación T-SQL ofrece
varias instrucciones SET que cambian el
tratamiento de información específica por
parte de la sesión actual.
• Las instrucciones SET se agrupan en
categorías, algunas de ellas figuran en la
siguiente tabla. El resto de las operaciones
SET puedes encontrarlo en el url:
https://msdn.microsoft.com/es-
es/library/ms190356(v=sql.120).aspx
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Ejemplo del uso de SET:
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Resultado: 2008-12-31 09:01:01.123
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Resultado: Msg 241: Conversion failed when converting date and/or time
-- from character string.
TALLER DE BASE DE DATOS
https://msdn.microsoft.com. 2015
Bibliografía Consultada
Patrick LeBlanc, Microsoft SQL Server 2012 Step by Step. O’Reilly Media Inc.
Sebastopol, CA, USA. 2013. (Traducción realizada por José A.
Sandoval Acosta).
Pratt Philip J., Last Mary Z. SQL, 1ra. Edición. Anaya Multimedia. Madrid,
España. 2009.
Adam Jorgersen, Microsoft SQL Server 2012 Bible. John Wiley & Sons, Inc.
Indianapolis, Indiana. 2012.
https://msdn.microsoft.com. Página en español. Consultado en agosto de
2015.
TALLER DE BASE DE DATOS

Más contenido relacionado

La actualidad más candente

Vistas en mySql
Vistas en mySqlVistas en mySql
Vistas en mySql
Eduardo Ed
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
dalilaramontello
 
3.1.6 espacio para objetos
3.1.6 espacio  para objetos3.1.6 espacio  para objetos
3.1.6 espacio para objetos
Vampirefreaks Store
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
MSc Aldo Valdez Alvarado
 
Clases Genéricas en Java
Clases Genéricas en JavaClases Genéricas en Java
Clases Genéricas en Java
Alejandro Colomer Everett
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
Heriberto Garcia Alfaro
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
José Antonio Sandoval Acosta
 
Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominio
SCMU AQP
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
Jaime Aguilar Rafael
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
Yaskelly Yedra
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
miranda271999
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Hugo Alberto Rivera Diaz
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
Rafael Miranda
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
miranda271999
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosYazmin Ibarra
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
Nedoww Haw
 

La actualidad más candente (20)

Vistas en mySql
Vistas en mySqlVistas en mySql
Vistas en mySql
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
3.1.6 espacio para objetos
3.1.6 espacio  para objetos3.1.6 espacio  para objetos
3.1.6 espacio para objetos
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Clases Genéricas en Java
Clases Genéricas en JavaClases Genéricas en Java
Clases Genéricas en Java
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominio
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Destacado

Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
José Antonio Sandoval Acosta
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
José Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
José Antonio Sandoval Acosta
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
José Antonio Sandoval Acosta
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
José Antonio Sandoval Acosta
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
José Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
José Antonio Sandoval Acosta
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
José Antonio Sandoval Acosta
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
José Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
José Antonio Sandoval Acosta
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
José Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de ConmutaciónFundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
José Antonio Sandoval Acosta
 

Destacado (20)

Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de ConmutaciónFundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
Fundamentos de Telecomunicaciones - Unidad 4: Técnicas de Conmutación
 

Similar a Taller de Base de Datos - Unidad 3 lenguage DML

Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
thalia margarita serrano diaz
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18victdiazm
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
DeysiDelgadoSeclen
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
SABINAELIZABETHGRAVE
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
MIROSLAVY
 
Data werehousing
Data werehousingData werehousing
Data werehousing
Jorge Mengelle
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
Sergio Perez
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
isaac david janampa tarrillo
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
Andreitap de Granda
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Hector Martinez
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
ricardosusa5
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
Renatta Rodriguez
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
José Antonio Sandoval Acosta
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
Sentencia select
Sentencia selectSentencia select
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 

Similar a Taller de Base de Datos - Unidad 3 lenguage DML (20)

Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
Expo
ExpoExpo
Expo
 
Data werehousing
Data werehousingData werehousing
Data werehousing
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 

Más de José Antonio Sandoval Acosta

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
José Antonio Sandoval Acosta
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
José Antonio Sandoval Acosta
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
José Antonio Sandoval Acosta
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
José Antonio Sandoval Acosta
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
José Antonio Sandoval Acosta
 
Economia
EconomiaEconomia
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
José Antonio Sandoval Acosta
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
José Antonio Sandoval Acosta
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
José Antonio Sandoval Acosta
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
José Antonio Sandoval Acosta
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
José Antonio Sandoval Acosta
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
José Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
ValGS2
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
LuisEnriqueCarboneDe
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
AldithoPomatay2
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
jcbarriopedro69
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 

Último (20)

Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 

Taller de Base de Datos - Unidad 3 lenguage DML

  • 1. Ingeniería en Sistemas Computacionales Taller de Base de Datos Unidad III: Lenguaje de Manipulación de Datos DML Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 TALLER DE BASE DE DATOS
  • 2. Competencia: Manipular bases de datos a través de un SGBD. TALLER DE BASE DE DATOS
  • 3. Antes de continuar con el trabajo de esta unidad debemos descargar la DB ejemplo de Microsoft SQL Server 2012, la cual nos servirá para realizar las prácticas correspondientes tanto de esta unidad como de unidades posteriores. • Acceder a la siguiente URL: (o buscar el archivo en Microsoft.com) https://drive.google.com/drive/folders/0B6oB4Y5y2s76fjdUcjEtVnVEX21xU nJfRktEazd0Wl9yQ0QxUy1GVmRxUkdMa0gtWW5FQms • Descargar archivo de DB AdventuresWorks2012BK.bkp • Restaurar el Back Up en SQL server • Una vez restaurado encontraras en tu instancia de SQL server la DB AdventuresWordks2012 con la cual trabajaremos. TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 4. Inserción, Eliminación y Modificación de Registros SQL Server proporciona varios métodos para modificar la información contenida en las DBs, iniciaremos esta unidad con la inserción de registros en una tabla. • La instrucción más común para ello es el comando INSERT que puede ser dividido en dos formas:  INSERT INTO  SELECT INTO TALLER DE BASE DE DATOS LeBlanc, 2013
  • 5. INSERT INTO • El primer método utiliza el comando INSERT INTO y sirve para insertar uno o muchos registros en una tabla, pudiendo afectar todas las columnas, columnas específicas, columnas ‘identity’, entre otras opciones. Sintaxis de INSERT INTO USE <<database>>; INSERT INTO <<table>>(campo1, campo2,….,campoN) VALUES(valor1, valor2,….,valorN); • El ejemplo anterior sirve para insertar un único registro. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 6. • Los valores proporcionados deben estar en el mismo orden que los campos que se van a modificar, ya que de no coincidir los tipos de datos SQL Server marcará un error de ejecución y cancelará la inserción de registros. Ejemplo USE AdventureWorks2012; INSERT INTO HumanResources.Department (Name, GroupName, ModifiedDate) VALUES ('Payroll', 'Executive General and Administration', '6/12/2012'); TALLER DE BASE DE DATOS LeBlanc, 2013
  • 7. • Los campos tipo Identity no deben ser incluidos en la lista de campos ni se les asigna valor por medio de query ya que SQL Server asigna el valor correspondiente de acuerdo a las reglas del propio campo. • En caso de requerir insertar valores en campos identity se debe hacer uso de la instrucción SET IDENTITY_INSERT [ON/OFF] Ejemplo: USE AdventureWorks2012; SET IDENTITY_INSERT HumanResources.Department ON INSERT INTO HumanResources.Department (DepartmentID, Name, GroupName, ModifiedDate) VALUES (18, 'International Marketing', 'Sales and Marketing', '5/26/2012'); SET IDENTITY_INSERT HumanResources.Department OFF TALLER DE BASE DE DATOS LeBlanc, 2013
  • 8. Insertar Varios Registros con un Solo Query • También es posible insertar varios registros a la vez por medio de un query de T-SQL, para ello debemos repetir los valores entre paréntesis después de la clausula VALUE tantas veces sean los registros que vamos a insertar y separando los grupos de valores con una coma. Ejemplo: USE AdventureWorks2012; INSERT INTO HumanResources.Department VALUES (‘International Sales’, ‘Sales and Marketing’, ‘5/26/2012’), (‘Media Control’, ‘Quality Assurance’, ‘5/26/2012’) TALLER DE BASE DE DATOS LeBlanc, 2013
  • 9. • También es posible realizar la inserción de múltiples registros por medio de una cláusula SELECT, para ello después de la cláusula INSERT INTO se debe sustituir la palabra VALUE por un SELECT que retraiga los valores a insertar. Ejemplo: USE AdventureWorks2012; INSERT INTO HumanResources.Department (Name, GroupName, ModifiedDate) SELECT Name+' USA', GroupName, ModifiedDate FROM HumanResources.Department WHERE DepartmentID IN (20, 19); TALLER DE BASE DE DATOS LeBlanc, 2013
  • 10. Uso de la Cláusula SELECT INTO para Insertar Registros • Otra forma de insertar registros en una tabla es por medio de la cláusula SELECT INTO, la cual crea una nueva tabla e inserta en ella todos los registros que resulten de la selección planteada. Ejemplo: USE AdventureWorks2012; SELECT DepartmentID, Name, GroupName, ModifiedDate INTO dbo.Department FROM HumanResources.Department • Se debe ser cuidadoso con el uso de esta forma de inserción, ya que si bien, son copiados los registros bajo el mismo esquema de la tabla original, los PK, constraints, e índices no son creados en la nueva tabla. Su uso es generalmente para crear tablas temporales. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 11. Inserción de Registros por Medio de Archivos de Datos Externos • Uso de la instrucción BULK INSERT: Esta cláusula importa un archivo de datos en una tabla o vista de base de datos con un formato especificado por el usuario en SQL Server. Sintaxis: TALLER DE BASE DE DATOS BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ] FROM 'data_file' [ WITH ( [ [ , ] BATCHSIZE = batch_size ] [ [ , ] CHECK_CONSTRAINTS ] [ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ] [ [ , ] DATAFILETYPE = { 'char' | 'native'| 'widechar' | 'widenative' } ] [ [ , ] FIELDTERMINATOR = 'field_terminator' ] [ [ , ] FIRSTROW = first_row ] [ [ , ] FIRE_TRIGGERS ] [ [ , ] FORMATFILE = 'format_file_path' ] [ [ , ] KEEPIDENTITY ] [ [ , ] KEEPNULLS ] [ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ] [ [ , ] LASTROW = last_row ] [ [ , ] MAXERRORS = max_errors ] [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ] [ [ , ] ROWS_PER_BATCH = rows_per_batch ] [ [ , ] ROWTERMINATOR = 'row_terminator' ] [ [ , ] TABLOCK ] [ [ , ] ERRORFILE = 'file_name' ] )] https://msdn.microsoft.com. 2015
  • 12. Ejemplo: BULK INSERT [Person].[Address] FROM 'C:SQLDatascriptsAddress.csv' WITH ( CHECK_CONSTRAINTS, CODEPAGE='ACP', DATAFILETYPE = 'widechar', FIELDTERMINATOR= 't', ROWTERMINATOR = 'n', KEEPIDENTITY, TABLOCK ); TALLER DE BASE DE DATOS LeBlanc, 2013 En este ejemplo se están insertando registros en la tabla Person.Address, desde el archivo Address.csv, el cual tiene como separador de cada columna un carácter TAB, y el fin de línea es un carácter 10 (salto de línea).
  • 13. Modificación de la Información de la DB Operación DELETE • Dentro de las operaciones básicas para la manipulación de registros en SQL Server se encuentra la Eliminación de Registros. • Esto se hace por medio de la operación DELETE, la cual requiere de la cláusula WHERE para realizar la operación. De no incluirse un WHERE en un DELETE, SQL Server asume que debe eliminar todo el contenido de la tabla en cuestión. • Sumado a esto, SQL Server no tiene una operación ‘undo’, por lo que es el programador quien debe aportar los mecanismos para la recuperación de la información que haya sido eliminada por accidente. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 14. • Eliminación de un solo registro: En el siguiente ejemplo se está utilizando el campo llave de la tabla respectiva para eliminar un único registro. Pero si la llave de la tabla está compuesta por varias columnas, es posible que el query elimine varios registros también. Ejemplo: USE AdventureWorks2012; DELETE FROM HumanResources.Department WHERE DepartmentID = 22 • En este caso se está filtrando la cantidad de registros que serán eliminados por medio de la cláusula WHERE, para que se elimine un solo reistro de la tabla. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 15. • Eliminación de múltiples registros: También es posible eliminar una cantidad indeterminada de registros de la tabla, teniendo como límite el total de registros contenido en la misma. Para esto podemos utilizar expresiones que van después de la cláusula WHERE, en la misma forma que se hace en la instrucción SELECT. Ejemplo: USE AdventureWorks2012; DELETE FROM HumanResources.Department FROM HumanResources.Department d LEFT OUTER JOIN HumanResources.EmployeeDepartmentHistory ed ON d.DepartmentID = ed.DepartmentID WHERE ed.DepartmentID IS NULL • En este ejemplo serán eliminados todos aquellos registros que tengan nulo el campo DepartmenID. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 16. • Eliminación de todo el contenido de una tabla: como ya comentamos antes eso se hace al no colocar en la instrucción DELETE la cláusula WHERE. • Sin embargo existe otra instrucción en SQL Server que elimina el total de los registros contenidos en una tabla. La instrucción TRUNCATE TABLE. Es muy importante que antes de usar dicha instrucción se haya hecho el análisis respectivo y concluido que eso es lo que se requiere, ya que una vez ejecutado el query correspondiente toda la información de la tabla en cuestión será eliminada. Ejemplo: USE AdventureWorks2012; TRUNCATE TABLE dbo.Department Equivale a: USE AdventureWorks2012; DELETE FROM dbo.Department TALLER DE BASE DE DATOS LeBlanc, 2013
  • 17. Modificación de Registros de una Tabla • SQL server incluye una instrucción para modificar el contenido de una tabla. La instrucción UPDATE puede usarse para modificar un único registro, una cantidad indeterminada o incluso el total de los registros de una tabla. Ejemplo: USE AdventureWorks2012; UPDATE HumanResources.Department SET Name = Name +' Europe' WHERE DepartmentID = 19 • Al igual que la instrucción DELETE es muy importante incluir un WHERE apropiado o accidentalmente podriamos modificar todo el contenido de la tabla. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 18. Consulta de Registros • En SQL Server la instrucción para realizar consulta de información y recuperación de registros es SELECT. Sintaxis: SELECT select_list/* [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ] • Los operadores UNION, EXCEPT e INTERSECT se pueden utilizar entre consultas para combinar o comparar resultados en un conjunto de resultados. TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 19. Recuperación de Registros • La forma más simple de recuperar uno o varios registros en SQL Server es por medio de la instrucción SELECT seguida de una lista de los campos que desean mostrarse, así mismo, es necesario hacer uso del a cláusula WHERE, de lo contrario se le estaría indicando a SQL Server que se desea recuperar todo el contenido de la tabla en cuestión. Ejemplo: Use AdventureWorks2012; Select * from HumanResources.Employee • En este caso no se esta haciendo ningún tipo de filtro, por lo que el query regresa todos los registros en la tabla Employee con todos sus campos TALLER DE BASE DE DATOS
  • 20. • Uso de la cláusula TOP: esta sirve para seleccionar una cantidad determinada de registros de la tabla correspondiente. Ejemplo: Use AdventureWorks2012; Select TOP 50 NationalIDNumber, JobTitle, Gender, HireDate, SalariedFlag from HumanResources.Employee • En este caso se estan filtrando ciertos campos de la tabla, y se indica que solo se traerán los primeros 50 registros en ser encontrados. TALLER DE BASE DE DATOS
  • 21. • Uso de la cláusula WHERE: esta cláusula sirve para especificar las condiciones bajo las que se realizará la búsqueda de registros en la tabla o conjunto de tablas. Ejemplos: • En estos casos el filtraje se esta realizando por medio de WHERE, el cual regresa tantos registros coincidan con la condición planteada. TALLER DE BASE DE DATOS Select * FROM Person.Person WHERE LastName=‘Miller’ Select * FROM Person.Person WHERE LastName=‘Miller’ and FirstName=‘Frank’ Select BusinessEntityID, LastName, FirstName FROM Person.Person WHERE BusinessEntityID > 5000
  • 22. • Uso de la cláusula BETWEEN: Algunas veces es necesario buscar información que se encuentra en un orden secuencial respecto a alguna de las columnas de la tabla, por lo que en estos casos en lugar de hacer varias comparaciones lo mejor es utilizar la cláusula BETWEEN como se muestra a continuación: USE AdventureWorks2012; SELECT AccountNumber, SalesOrderID, OrderDate FROM Sales.SalesOrderHeader WHERE OrderDate BETWEEN ‘05/01/2007' AND '12/31/2007‘ • En este caso se esta utilizando un campo tipo fecha para realizar el filtraje, pero es posible utilizar cualquier tipo de campo para aplicar esta cláusula. • Es importante considerar que BETWEEN aplica un rango de datos por lo que los límites que usemos irán incluidos en el resultado del SELECT. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 23. • Uso de la cláusula IN para búsquedas en listas de valores: muchas veces es necesario buscar registros los cuales están relacionados con una lista específica de valores de una columna, en estos casos SQL Server proporciona la cláusula IN para facilitar las búsquedas. Ejemplo: USE AdventureWorks2012; SELECT SalesOrderDetailID, OrderQty, ProductID, ModifiedDate FROM Sales.SalesOrderDetail WHERE ProductID IN (776, 778, 747, 809); • En este ejemplo, la cláusula IN permite obtener los registros relacionados con uno o varios productos que se encuentran en la lista proporcionada. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 24. • Uso de la cláusula LIKE y comodines: el uso de comodines es muy útil cuando deseamos obtener los registros que cumplen con cierta parte de una condición, la cláusula LIKE permite usar comodines los cuales pueden ser un solo carácter o un conjunto de ellos. Ejemplo: USE AdventureWorks2012; SELECT * FROM HumanResources.Department WHERE Name LIKE 'Pr%' • En este caso el query regresa todos aquellos departamentos cuyo nombre comience con las letras "Pr", el símbolo de porcentaje indica que lo que hay después del comodín no será evaluado en el query. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 25. • Cláusula AS, selección de columnas con alias: en muchas ocasiones es necesario enviar información de las tablas, sin embargo, los nombres de los campos pueden ser incomprensibles para muchos usuarios que no están relacionados con el diseño de la DB. Para solucionar eso se pueden crear alias y generar la información en forma de reporte. Ejemplo: USE AdventureWorks2012; SELECT DepartmentID, Name AS [Department Name], GroupName AS [Department Group Name] FROM HumanResources.Department • En este caso las columnas que consideramos con nombres menos comprensibles fueron asignadas con un alias. Es posible poner espacios en blanco en los alias siempre y cuando el alias completo esté delimitado entre corchetes [ ]. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 26. • Uso de la cláusula ORDER BY: Esta cláusula ordena los resultados de una consulta en base a uno o más campos de la tabla. Adicionalmente puede utilizarse ASC/DESC para mejorar el ordenamiento. Ejemplo: USE AdventureWorks2012; SELECT DepartmentID, Name AS [Department Name], GroupName AS [Department Group Name] FROM HumanResources.Department ORDER BY Name ASC • En este caso estamos ordenando por la columna Name, en caso de no ser especificado ASC/DESC se toma como default ASC. TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 27. • Uso de la cláusula GROUP BY: Sirve para agrupar un conjunto de registros en un nuevo conjunto resumido. Se devuelve una fila para cada grupo. Ejemplo: USE AdventureWorks2012; SELECT FirstName, LastName, count(*) FROM person.person GROUP BY FirstName, LastName ORDER BY FirstName • En este caso se esta recuperando el conjunto de nombres de empleados, pero sin repetir nombres, y se agrega un contador para saber cuantos registros cumplen con el mismo nombre y apellido. TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 28. Visualización de Datos de Varias Tablas • Hasta ahora hemos realzado consultas utilizando una sola tabla, sin embargo, en la práctica es común que se deba extraer información de varias tablas y presentarla en un solo conjunto de registros. Para esto SQL Server proporciona la cláusula JOIN. Existen varios tipos de JOINs, en esta unidad veremos los 3 más comunes, que son: •INNER JOIN •LEFT OUTER JOIN •RIGHT OUTER JOIN TALLER DE BASE DE DATOS LeBlanc, 2013
  • 29. • INNER JOIN: De los tres tipos de JOINs que mencionamos, este es el más utilizado, regresa todo lo que es común entre las tablas que deseamos comparar, es decir, regresa la intersección de las tablas como lo muestra la siguiente figura: • En esta figura se muestran las tablas Product y Sales, la intersección entre ambas sería por ende los productos que se han vendido en un momento dado. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 30. • Sintaxis del INNER JOIN: Es posible extraer columnas de ambas tablas que estamos comparando, por lo que el cuerpo del SELECT no tiene cambios en su estructura, sino al final del mismo al incluir la cláusula INNER JOIN y el operador ON el cual sirve para indicar cuáles campos hacen la intersección entre ambas tablas: USE AdventureWorks2012; SELECT p.FirstName, p.LastName, ea.EmailAddress FROM Person.Person AS p INNER JOIN Person.EmailAddress AS ea ON p.BusinessEntityID = ea.BusinessEntityID • En este caso se están utilizando alias para las tablas que estamos comparando. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 31. • Ejemplo: seleccione el nombre del producto, el id del producto y la venta total por línea (tablas Production.Product y sales.SalesOrderDetail.ProductID) USE AdventureWorks2012; SELECT Production.Product.ProductID, name, linetotal from Production.Product inner join sales.SalesOrderDetail on Production.Product.ProductID=sales.SalesOrderDetail.ProductID order by Production.Product.ProductID TALLER DE BASE DE DATOS
  • 32. • LEFT OUTR JOIN: Es el primero de los dos tipos de OUTER JOINs que existen, existe una diferencia importante en el orden de las tablas al ser colocadas en el query ya que como su nombre lo dice, este JOIN obtiene todo lo que se encuentra a la izquierda incluyendo la intersección de ambas tablas: TALLER DE BASE DE DATOS LeBlanc, 2013
  • 33. • Ejemplo de LEFT OUTER JOIN USE AdventureWorks2012; SELECT p.ProductID, p.Name AS ProductName, sd.OrderQty, sd.UnitPrice FROM Production.Product AS p LEFT JOIN Sales.SalesOrderDetail AS sd ON p.ProductID = sd.ProductID • En este caso la tabla Production.Product se encuentra a la izquierda, por lo que el LEFT OUTER JOIN tomará dicha tabla y la intersección de ambas como resultado. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 34. • RIGHT OUTR JOIN: Es el segundo de los dos tipos de OUTER JOINs que existen, al igual que en LEFT existe una diferencia importante en el orden de las tablas al ser colocadas en el query ya que como su nombre lo dice, este JOIN obtiene todo lo que se encuentra a la derecha incluyendo la intersección de ambas tablas: TALLER DE BASE DE DATOS LeBlanc, 2013
  • 35. • Ejemplo de RIGHT OUTER JOIN USE AdventureWorks2012; SELECT p.ProductID, p.Name AS ProductName, sd.OrderQty, sd.UnitPrice FROM Production.Product AS p RIGHT JOIN Sales.SalesOrderDetail AS sd ON p.ProductID = sd.ProductID • En este caso la tabla Sales.SalesOrderDetail se encuentra a la derecha, por lo que el RIGHT OUTER JOIN tomará dicha tabla y la intersección de ambas como resultado. TALLER DE BASE DE DATOS LeBlanc, 2013
  • 36. • Cláusula UNION: Combina los resultados de dos o más consultas en un solo conjunto de resultados que incluye todas las filas que pertenecen a las consultas de la unión. La operación UNION es distinta de la utilización de combinaciones de columnas de dos tablas. • El número y el orden de las columnas debe ser el mismo en todas las consultas. • Los tipos de datos deben ser compatibles. Ejemplo: USE AdventureWorks2012; SELECT Name AS ProductName, Color FROM Production.Product WHERE Color = 'Black’ UNION SELECT Name AS ProductName, Color FROM Production.Product WHERE Color = 'Silver’; TALLER DE BASE DE DATOS LeBlanc, 2013 https://msdn.microsoft.com. 2015
  • 37. • Uso de la cláusula DISTINCT: Devuelve un conjunto de valores que son distintos entre sí en cada columna especificada en el query. Ejemplo: USE AdventureWorks2012; SELECT DISTINCT p.Name AS ProductName FROM Production.Product AS p INNER JOIN Sales.SalesOrderDetail sd ON p.ProductID = sd.ProductID TALLER DE BASE DE DATOS LeBlanc, 2013
  • 38. Subconsultas en SQL Server • Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden utilizar en cualquier parte en la que se permita una expresión. • La consulta SELECT de una subconsulta se presenta siempre entre paréntesis. • Una subconsulta puede anidarse en la cláusula WHERE o HAVING de una instrucción externa SELECT, INSERT, UPDATE o DELETE, o bien en otra subconsulta. Se puede disponer de hasta 32 niveles de anidamiento. • Las instrucciones que incluyen una subconsulta normalmente tienen uno de estos formatos: WHERE expression [NOT] IN (subquery) WHERE expression comparison_operator [ANY | ALL] (subquery) WHERE [NOT] EXISTS (subquery) TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 39. Ejemplo de una subconsulta: use AdventureWorks2012; SELECT ProductID, Name, Color FROM Production.Product WHERE ProductID IN ( SELECT ProductID FROM Sales.SalesOrderDetail WHERE ModifiedDate>'07/01/2005' and ModifiedDate<'07/25/2005'); TALLER DE BASE DE DATOS LeBlanc, 2013
  • 40. Operaciones SET en SQL Server • El lenguaje de programación T-SQL ofrece varias instrucciones SET que cambian el tratamiento de información específica por parte de la sesión actual. • Las instrucciones SET se agrupan en categorías, algunas de ellas figuran en la siguiente tabla. El resto de las operaciones SET puedes encontrarlo en el url: https://msdn.microsoft.com/es- es/library/ms190356(v=sql.120).aspx TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 41. Ejemplo del uso de SET: SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567'; SELECT @datevar; GO -- Resultado: 2008-12-31 09:01:01.123 SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567'; SELECT @datevar; GO -- Resultado: Msg 241: Conversion failed when converting date and/or time -- from character string. TALLER DE BASE DE DATOS https://msdn.microsoft.com. 2015
  • 42. Bibliografía Consultada Patrick LeBlanc, Microsoft SQL Server 2012 Step by Step. O’Reilly Media Inc. Sebastopol, CA, USA. 2013. (Traducción realizada por José A. Sandoval Acosta). Pratt Philip J., Last Mary Z. SQL, 1ra. Edición. Anaya Multimedia. Madrid, España. 2009. Adam Jorgersen, Microsoft SQL Server 2012 Bible. John Wiley & Sons, Inc. Indianapolis, Indiana. 2012. https://msdn.microsoft.com. Página en español. Consultado en agosto de 2015. TALLER DE BASE DE DATOS