Bancos de Dados SQL Server 2012 SQL DML - Data Manipulation Language)

Slides:



Advertisements
Apresentações semelhantes
Ana Paula B. Barboza Ivana Xavier Rodrigues
Advertisements

Tópicos em Banco de Dados
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Professor: Marcus Sampaio Monitor: Eduardo Santiago Moura
Banco de Dados Prof. Antonio.
SQL Renata Viegas.
Triggers Renata Viegas.
SQL Structured Query Language (continuação)
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Banco de Dados SQL TRIGGERS (Gatilhos)
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Sistemas de Informação Redes de Computadores
Visões Marilde Santos.
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
Restrições de Integridade
Introdução à Engenharia da Computação
SCC Bancos de Dados e Suas Aplicações
SQL Structured Query Language
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
PostgreSQL.
Query Tuning Lílian Simão Oliveira.
SQL Álvaro Vinícius de Souza Coêlho
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
(Linguagem de Consulta Estruturada)
SQL Server 2012 Integridade de Dados
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO
Desenvolvendo um script SQL
VIEW - VISÕES Professor Esp. Diego André Sant’Ana
Banco de dados.
Linguagem de Definição de Dados
Baseado no material do Professor Raul Paradeda
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
SCC Bancos de Dados e Suas Aplicações
Contatos Gladimir Catarino
Bruno Inojosa MCP.NET Framework.NET com C#. SQL Básico.
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Controle de Concorrência
DELETE, UPDATE, COMMIT, ROLLBACK
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Daniel Paulo Atualizando e excluindo Dados Comando UPDATE – Altera registros da tabela UPDATE tabela SET nome_coluna = expressao.
Professor Me. Jeferson Bussula Pinheiro.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Linguagem de definição de dados - SQL
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
MS-SQL Server Structure Query Language
Transcrição da apresentação:

Bancos de Dados SQL Server 2012 SQL DML - Data Manipulation Language)

DML – Data Manipulation Language Uso de Transações Inserção de dados Exclusão de dados Modificação de Dados Considerações de desempenho

Uso de Transações Inicio da transação – Explicita – Autocommit – Implícita Finalização da Transação – COMMIT (comando) – ROLLBACK (comando) BEGIN TRANSACTION UPDATE savings... UPDATE checking... COMMIT TRANSACTION BEGIN TRANSACTION UPDATE savings... UPDATE checking... COMMIT TRANSACTION

Inserção de dados Inserindo uma linha de dados usando a cláusula Values Usando o comando INSERT…SELECT Criando uma Tabela com o SELECT INTO Inserindo dados Parciais Inserindo dados pelo uso de restrições do tipo DEFAULT

Inserindo uma linha de dados usando a cláusula Values Deve obedecer às Constraints existentes ou a transação a qual o INSERT faz parte falhará A lista de colunas especifica a colunas de destino Especifique uma lista de valores correspondente (à lista de colunas) USE northwind INSERT customers (customerid, companyname, contactname, contacttitle,address, city, region, postalcode, country, phone,fax) VALUES ('PECOF', 'Pecos Coffee Company', 'Michael Dunn','Owner', '1900 Oak Street', 'Vancouver', 'BC','V3F 2K1', 'Canada', '(604) ','(604) ') GO USE northwind INSERT customers (customerid, companyname, contactname, contacttitle,address, city, region, postalcode, country, phone,fax) VALUES ('PECOF', 'Pecos Coffee Company', 'Michael Dunn','Owner', '1900 Oak Street', 'Vancouver', 'BC','V3F 2K1', 'Canada', '(604) ','(604) ') GO

USE northwind INSERT customers SELECT substring(firstname, 1, 3) + substring (lastname, 1, 2),lastname, firstname, title, address, city,region, postalcode, country, homephone, NULL FROM employees GO USE northwind INSERT customers SELECT substring(firstname, 1, 3) + substring (lastname, 1, 2),lastname, firstname, title, address, city,region, postalcode, country, homephone, NULL FROM employees GO Usando o comando INSERT…SELECT Todas as linhas retornadas pelo SELECT serão inseridas A Tabela objeto da inserção já deve existir Assegure-se que os tipos de dados são compatíveis Determine se Defaults existem ou se NULLs são permitidos

Criando uma Tabela com o SELECT INTO Usada para criar uma Tabela e inserir linhas na mesma numa operação única É mais comum se criar uma Tabela temporária local (#) ou global (##) Crie aliases (apelidos) de colunas ou especifique nomes de colunas na Lista do Select para gerar os nomes das colunas para a nova Tabela USE northwind SELECT productname AS products,unitprice AS price,(unitprice * 1.1) AS tax INTO #pricetable FROM products GO USE northwind SELECT productname AS products,unitprice AS price,(unitprice * 1.1) AS tax INTO #pricetable FROM products GO

Inserindo dados Parciais USE northwind INSERT shippers (companyname) VALUES ('Fitch & Mather') GO USE northwind INSERT shippers (companyname) VALUES ('Fitch & Mather') GO Inserindo novos dados USE northwind SELECT * FROM shippers WHERE companyname = 'Fitch & Mather GO USE northwind SELECT * FROM shippers WHERE companyname = 'Fitch & Mather GO Verificando dados inseridos shipperidshipperid 37 companynamecompanyname Fitch & Mather phonephone Null Allows Null Values Exemplo 1 Exemplo 2

Inserindo dados pelo uso de restrições do tipo DEFAULT Palavra-chave DEFAULT – Insere valores Default para as colunas especificadas – Colunas devem ter um valor default ou aceitar valores Null Palavra-chave DEFAULT VALUES – Insere valores DEFAULT para todas as colunas – Colunas devem ter um valor default ou aceitar valores Null USE northwind INSERT shippers (companyname, phone) VALUES ('Kenya Coffee Co.', DEFAULT) GO USE northwind INSERT shippers (companyname, phone) VALUES ('Kenya Coffee Co.', DEFAULT) GO

Exclusão de dados Usando o comando DELETE Usando o comando TRUNCATE TABLE Excluindo linhas baseado em dados de outras Tabelas

Usando o comando DELETE O comando DELETE exclui uma ou mais linhas de uma Tabela à menos que se use a cláusula Where Cada linha excluída é logada no log de transações USE northwind DELETE orders WHERE DATEDIFF(MONTH, shippeddate, GETDATE()) >= 6 GO USE northwind DELETE orders WHERE DATEDIFF(MONTH, shippeddate, GETDATE()) >= 6 GO

USE northwind TRUNCATE TABLE orders GO USE northwind TRUNCATE TABLE orders GO Usando o comando TRUNCATE TABLE O comando TRUNCATE TABLE exclui todas as linhas de uma O SQL Server mantém a estrutura da Tabela e objetos associados Somente a desalocação de páginas inteiras de dados é logada no log de transações

Excluindo linhas baseado em dados de outras Tabelas Utilizando-se uma cláusula FROM adicional – O primeiro FROM indica a tabela a ser modificada – O segundo FROM especifica os critérios que restringem a ação do comando DELETE Especificando-se condições na cláusula Where – Subqueries determinam quais linhas serão excluídas

Modificação de Dados Modificando linhas baseado em dados da própria Tabela Modificando linhas baseado em dados de outras Tabelas

USE northwind UPDATE products SET unitprice = (unitprice * 1.1) GO USE northwind UPDATE products SET unitprice = (unitprice * 1.1) GO Modificando linhas baseado em dados da própria Tabela Cláusula WHERE especifica quais linhas modificar A palavra-chave SET especifica os Novos dados Valores novos devem ser do mesmo tipo das colunas Modificações não são feitas se houverem violações das restrições de integridade

Modificando linhas baseado em dados de outras Tabelas Como o comando UPDATE funciona – Nunca atualiza a mesma linha duas vezes – Requer prefixo para Tabelas com nomes de colunas ambíguos Pode-se especificar as linhas a serem alteradas usando JOINS – Usando a cláusula FROM Especificando-se as linhas a serem alteradas usando Subqueries – Correlacionando a subquery com a Tabela a ser modificada

Considerações de Desempenho Todas as modificações de dados ocorrem dentro de uma transação Alocação de novas páginas de dados pode ocorrer Atualização de índices pode gerar sobrecarga adicional Índices podem ajudar na busca das linhas a serem alteradas

Práticas Recomendadas Sempre escreva um comando SELECT que seleciona os dados a serem modificados/excluídos antes de escrever o comando UPDATE/DELETE propriamente dito Sempre inclua a cláusula Where nos comandos DELETE e UPDATE