ADMINISTRAÇÃO DE BANCO DE DADOS

Tamanho: px
Começar a partir da página:

Download "ADMINISTRAÇÃO DE BANCO DE DADOS"

Transcrição

1 ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25

2 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO JOINS... 7 INNER JOIN... 8 OUTER JOIN... 9 CROSS JOIN EXEMPLO COMPLETO INNER, LEFT, RIGHT E FULL OUTER JOIN CROSS JOIN INNER JOIN LEFT JOIN RIGHT JOIN FULL OUTER JOIN TRIGGERS CONCEITOS ORIENTAÇÕES BÁSICAS QUANDO ESTIVER USANDO TRIGGER Usos e aplicabilidade dos TRIGGERS CRIANDO TRIGGERS COMO FUNCIONAM OS TRIGGERS TRIGGER INSERT TRIGGER DELETE DICAS PARA TRABALHARMOS COM TRIGGERS TRANSAÇÕES SQL SERVER INTRODUÇÃO VERIFICANDO ERROS DENTRO DE UMA TRANSAÇÃO EXEMPLO DE IMPLEMENTAÇÃO DE TRANSAÇÃO DICAS NA UTILIZAÇÃO DE TRANSAÇÕES STORED PROCEDURE COM SQL VANTAGENS Page 2 of 25

3 Exemplos com Group By e com a cláusula Having - Totalizando Dados Group by Para compreendermos melhor o uso do GROUP BY, considere a tabela Produtos Objetivo I: obter o número de produtos em estoque, agrupados pelo tipo, para que depois seja feita a soma da quantidade existente em cada um dos grupos. Para isso usamos a função SUM() em conjunto com o GROUP BY, como a instrução a seguir nos mostra: Obtendo: SELECT Tipo, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Tipo Page 3 of 25

4 Objetivo II: contar o número de produtos em estoque de acordo com os fabricantes disponíveis. Assim como no exemplo anterior, mais agora levando em conta os fabricantes, os produtos devem ser agrupados por eles, para que depois sejam contabilizados os produtos em relação a essa divisão. Para isso, devemos usar a seguinte instrução: Obtendo SELECT Fabricante, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Fabricante Objetivo III: somar a quantidade de produtos em estoque de acordo com os tipos e fabricantes disponíveis. Primeiro, será agrupados os produtos de acordo com os tipos e fabricantes, para que depois seja feita a soma de cada um desses grupos (essa é a ordem que o SQL Server faz logicamente, mais nossa instrução segue a ordem inversa). Utilize: SELECT Tipo, Fabricante, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Tipo, Fabricante Obtendo: Page 4 of 25

5 Objetivo IV: obter o valor total dos produtos em estoque, agrupados por tipo utilizando: SELECT Tipo, SUM(Quantidade * VlUnitario) AS 'Valor do Estoque' FROM Produtos GROUP BY Tipo Obtendo: Cláusula HAVING com GROUP BY A cláusula HAVING determina uma condição de busca para um grupo ou um conjunto de registros, definindo critérios para limitar os resultados obtidos a partir do agrupamento de registros. É importante lembrar que essa cláusula só pode ser usada em parceria com GROUP BY. A cláusula GROUP BY pode ser empregada, entre outras finalidades, para agrupar os produtos de acordo com cada tipo existente. Dentro de cada um dos grupos, a cláusula HAVING pode ser usada para restringir apenas os registros que possuem uma quantidade superior a 200 unidades no estoque, por exemplo. Obs: O HAVING é diferente do WHERE. O WHERE restringe os resultados obtidos sempre após o uso da cláusula FROM, ao passo que a cláusula HAVING filtra o retorno do agrupamento. Para fazermos o filtro conforme especificado acima, devemos usar a seguinte instrução: SELECT Tipo, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Tipo HAVING SUM(Quantidade) > 200 Page 5 of 25

6 Obtendo: Perceba que este tipo de filtragem nos retornou apenas 2 registros, que são os tipos que, somados, ultrapassam o valor de 200 unidades em estoque. Objetivo V: agrupar os produtos com base nos tipos e fabricantes disponíveis. Logo após, retornaremos apenas os registros cuja quantidade supera novamente as 200 unidades em estoque. Veja a instrução e o resultado a seguir: Retornando: SELECT Tipo, Fabricante, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Tipo, Fabricante HAVING SUM(Quantidade) > 200 Objetivo VI: exemplo mais complexo: vamos supor que o agrupamento deverá ser feito pelo Nome. Dentro deste agrupamento, desejamos obter apenas aqueles cuja quantidade novamente supera as 200 unidades em estoque e cujo valor estocado seja igual ou superior a 100 mil. Veja como fazer a seguir, e seu resultado: SELECT Nome, SUM(Quantidade) AS 'Quantidade em Estoque', SUM(Quantidade * VlUnitario) AS 'Valor em Estoque' FROM Produtos GROUP BY Nome HAVING SUM(Quantidade) > 200 AND SUM (Quantidade * VlUnitario) >= Page 6 of 25

7 Retornando: Entendendo Joins Joins são a maneira de se ligar as tabelas em uma instrução SQL. Nos exemplos, vou me referir a utilização de joins em instruções SELECT, mas a partir do SQL Server 2000 podemos utilizar os joins tanto nas instruções SELECT como UPDATE e DELETE. Exercício: Crie as tabelas PEDIDO, CLIENTE e ITENSPEDIDO, que reproduzem o clássico relacionamento pai-filho: CREATE TABLE PEDIDO ( PED_COD INT NOT NULL, PED_DATA SMALLDATETIME NOT NULL, PED_CLI INT NOT NULL ) CREATE TABLE CLIENTE ( CLI_COD INT NOT NULL, CLI_NOME VARCHAR(50) NOT NULL ) CREATE TABLE ITENSPEDIDO ( PED_COD INT NOT NULL, ITEN_COD INT NOT NULL, ITEN_QTD NUMERIC(5,2) NOT NULL ) A tabela PEDIDO possui uma relação de um-para-muitos com a tabela ITENSPEDIDO, através do campo PED_COD. A tabela PEDIDO possui uma relação de um-para-um com a tabela CLIENTE, através do campo CLI_COD. Page 7 of 25

8 Inner Join O Inner Join, que geralmente é a maneira mais utilizada de se retornar dados espalhados entre tabelas, funciona seguindo o princípio de que para os registros retornados de uma tabela, deve haver algum tipo de relação com os registros da outra tabela. No caso da igualdade, somente os registros das duas tabelas, que possuírem o mesmo valor para um determinado campo, são retornados. Exemplo: SELECT PED.PED_COD, PED. PED_DATA, ITEN.lang=ES-TRAD>ITEN_COD, ITEN. ITEN_QTD FROM PEDIDO PED, ITENSPEDIDO ITEN WHERE PED.PED_COD = ITEN.PED_COD Verifique no exemplo acima que somente os registros que contiverem o mesmo valor para o campo PED_COD nas duas tabelas são retornados. Apesar de existir outra maneira de se fazer o INNER JOIN, eu recomendo a maneira com o WHERE, pois torna o código da instrução mais legível. Em termos de performance, as duas instruções se equivalem. Outra maneira, que retorna os mesmos resultados: SELECT PED.PED_COD, PED. PED_DATA, lang=es-trad>iten. ITEN_COD, ITEN. ITEN_QTD FROM PEDIDO PED INNER JOIN ITENSPEDIDO ITEN ON PED.PED_COD = ITEN.PED_COD </span Importante: o Inner join permite o uso de outros operadores que não sejam somente o igual (=). Page 8 of 25

9 Outer join O tipo de join chamado Outer join, possui o funcionamento um pouco diferente. Utilizando o Outer join, além de podermos retornar os registros das duas tabelas seguindo alguma relação, ainda podemos retornar registros que não entram nesta relação. Geralmente, este tipo de join pode ser utilizado em duas tabelas. Mas nada impede que se utilize em mais de duas tabelas, como a tabela de cliente ao nosso modelo PEDIDO-ITENS por exemplo. Pensando na ligação entre duas tabela, foram criados duas opções para se utilizar no Outer Join: 1. Opção LEFT OUTER JOIN, visando aplicar o conceito de Outer Join na tabela que se encontrar à esquerda da relação. Apesar de não ser recomendado, pode ser substituída pelo operador *= 2. Opção RIGHT OUTER JOIN, visando aplicar o conceito de Outer Join na tabela que se encontrar à direita da relação. Apesar de não ser recomendado, pode ser substituída pelo operador =* Como podemos alterar a ordem na qual colocamos a tabela na instrução, há um equivalência em termos de funcionalidade para estas opções de Outer Join. Importante: esta ordem é em relação às tabelas, e não à comparação feita após a palavra chave ON. Por exemplo, queremos todos os pedidos que tenham relação com a tabela de itens e também os pedidos que não tenham relação com nenhum item: SELECT PED.PED_COD, PED. PED_DATA, <span lang=es-trad>iten. ITEN_COD, ITEN. ITEN_QTD FROM PEDIDO PED LEFT OUTER JOIN ITENSPEDIDO ITEN ON PED.PED_COD = ITEN.PED_COD </span Pode ser escrita como: SELECT PED.PED_COD, PED. PED_DATA, <span lang=es-trad>iten. ITEN_COD, Page 9 of 25

10 ITEN. ITEN_QTD FROM ITENSPEDIDO ITEN RIGHT OUTER JOIN PEDIDO PED ON PED.PED_COD = ITEN.PED_COD </span Ou ainda: SELECT PED.PED_COD, PED. PED_DATA, <span lang=es-trad>iten. ITEN_COD, ITEN. ITEN_QTD FROM ITENSPEDIDO ITEN, PEDIDO PED WHERE PED.PED_COD *= ITEN.PED_COD </span Veja que para os registros em que a relação de igualdade foi encontrada, os campos de ambas as tabelas são retornados corretamente. Nos registros em que nenhum item de pedido foi encontrado, é colocado o valor NULL para todos os campos da tabela ITENSPEDIDO. Cross Join O Cross Join possui uma funcionalidade completamente diferente dos outros tipos de Join. Ele simplesmente obtém todos os registros de todas as tabelas e faz o produto cartesiano (ou seja, cada registro de uma tabela é relacionado com cada registro da outra tabela), obtendo assim, o número total de registros através da multiplicação do total de registros das tabelas envolvidas no Cross Join. Exemplo: SELECT PED.PED_COD, PED. PED_DATA, CLI.CLI_COD, CLI.CLI_NOME FROM PEDIDO PED, CLIENTE CLI Perceba que no exemplo acima, todos os pedidos se relacionarão com todos os clientes, independendo do valor dos campos CLI_COD e PED_CLI. Este tipo de Join poderia ser escrito e fazer dois Outer Join, que neste caso seria chamado de Full Outer Join. A partir da versão 2000 do SQL Server, não mais podemos utilizar o operador *=* para fazer Cross Join, pois este operador foi extinto. Page 10 of 25

11 Exemplo completo Inner, left, right e full outer join Crie as tabelas create table carros( marca varchar(100), modelo varchar(100), ano int, cor varchar(100) ) create table marcas( marca varchar(50), nome varchar(50) ) Insira os dados abaixo insert into marcas values('vw','volkswagem') insert into marcas values('ford','ford') insert into marcas values('gm','general Motors') insert into marcas values('fiat','fiat') insert into marcas values('renault','renault') insert into marcas values('mb','mercedes Bens') insert into carros values('vw','fox',2005,'preto'); insert into carros values('vw','fox',2008,'preto'); insert into carros values('ford','ecosport',2009,'verde'); insert into carros values('ford','ka',2008,'prata'); insert into carros values('fiat','punto',2008,'branco'); insert into carros values('fiat','uno',2007,'preto'); insert into carros values('fiat','stilo',200,'4prata'); insert into carros values('fiat','uno',2005,'prata'); insert into carros values('fiat','stilo',2008,'verde'); insert into carros values('fiat','uno',2009,'branco'); insert into carros values('peugeot','207',2010,'prata'); insert into carros values('peugeot','207',2010,'prata'); insert into carros values('peugeot','207',2007,'azul'); insert into carros values('chrysler','300 C',2008,'verde'); Page 11 of 25

12 Verifique como ficaram as duas tabelas: select * from marcas select * from carros Cross Join A junção cross join irá juntar todos os registros da tabela marcas com todos os registros da tabela carros, formando um produto cartesiano. Veja o exemplo abaixo: select m.nome, c.modelo from marcas as m cross join carros as c Inner Join A junção inner join irá juntar os registros da tabela marca que tiver um correspondente na tabela carros. Essa correspondência é feita pelos campos marca que está presente nas duas tabelas. Embora não esteja explícito, mas o campo marca seria a chave primária (na tabela marcas) e chave estrangeira (na tabela carros). Veja o exemplo: Page 12 of 25

13 select m.nome, c.modelo from marcas as m inner join carros as c on c.marca = m.marca Apenas 10 registros satisfazem o inner join. Podemos dizer que 10 carros estão associados a alguma marca, enquanto que os demais não. Left Join O left join irá fazer a junção das duas tabelas dando preferência aos registros da tabela marcas. Assim, todos os registros da tabela marcas serão mostrados, independente de haver correspondência na tabela carros. Quando não houver correspondência na tabela carros, será mostrado o valor NULL ou nulo. Exemplo: select m.nome, c.modelo from marcas as m left join carros as c on c.marca = m.marca Page 13 of 25

14 Right Join A junção right join funciona de forma inversa ao left join. Aplica-se o mesmo conceito, porém, de forma invertida. Com o right join será mostrado todos os carros, mesmo aqueles que não estejam associados a nenhum registro da tabela marcas. Exemplo: select m.nome, c.modelo from marcas as m right join carros as c on c.marca = m.marca 207 e 300 C são modelos que estão cadastrados em carros, mas não estão associados a nenhuma marca. Full Outer Join A junção full outer join seria o mesmo que left join e right join juntas, ou seja, ela irá mostrar todas as marcas e todos os carros, independente de existir valores correspondente na tabela oposta. Veja um exemplo: select m.nome, c.modelo from marcas as m full outer join carros as c on c.marca = m.marca Page 14 of 25

15 Triggers CONCEITOS Tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele. São invocados automaticamente pelos servidores de banco de dados. Os procedimentos armazenados são invocados explicitamente enquanto os gatilhos são associados a tabelas particulares e são executados quando existe uma tentativa de modificação dos dados da tabela. Gatilhos e regras são associados a tabelas específicas mas enquanto as regras só podem realizar testes simples sobre os dados, os gatilhos podem utilizar todo o poder da SQL, podendo ser utilizados para garantir a integridade referencial. Podem ser usados para disparar uma seqüência de modificações em diversas tabelas relacionadas de um Banco de Dados. Dependendo do SGBD relacional, um gatilho pode ter acesso a outras bases de dados pela rede através da chamada de procedimentos remotos. Pode-se também utilizar gatilhos para garantir regras de negócios. Um pedido de cliente pode ser recusado se a sua conta corrente apresentar débito pendente, por exemplo Associados a uma tabela Os TRIGGERS são definidos em uma tabela específica, que é denominada tabela de TRIGGERS; Page 15 of 25

16 Chamados Automaticamente Quando há uma tentativa de inserir, atualizar ou excluir os dados em uma tabela, e um TRIGGER tiver sido definido na tabela para essa ação específica, ele será executado automaticamente, não podendo nunca ser ignorado. Não podem ser chamados diretamente Ao contrário dos procedimentos armazenados do sistema, os disparadores não podem ser chamados diretamente e não passam nem aceitam parâmetros. É parte de uma transação O TRIGGER e a instrução que o aciona são tratados como uma única transação, que poderá ser revertida em qualquer ponto do procedimento, caso você queria usar ROLLBACK, conceitos que veremos mais a frente. Orientações básicas quando estiver usando TRIGGER. - As definições de TRIGGERS podem conter uma instrução ROLLBACK TRANSACTION, mesmo que não exista uma instrução explícita de BEGIN TRANSACTION ; - Não é uma boa prática utilizar ROLLBACK TRANSACTION dentro de seus TRIGGERS, pois isso gerará um retrabalho, afetando muito no desempenho de seu banco de dados, pois toda a consistência deverá ser feita quando uma transação falhar, lembrando que tanto a instrução quanto o TRIGGER formam uma única transação. O mais indicado é validar as informações fora das transações com TRIGGER para então efetuar, evitando que a transação seja desfeita. Page 16 of 25

17 Usos e aplicabilidade dos TRIGGERS Impor uma integridade de dados mais complexa do que uma restrição CHECK; Definir mensagens de erro personalizadas; Manter dados desnormalizados; Comparar a consistência dos dados posterior e anterior de uma instrução UPDATE; Os TRIGGERS são usados com enorme eficiência para impor e manter integridade referencial de baixo nível, e não para retornar resultados de consultas. A principal vantagem é que eles podem conter uma lógica de processamento complexa. Você pode usar TRIGGERS para atualizações e exclusões em cascata através de tabelas relacionadas em um banco de dados, impor integridades mais complexas do que uma restrição CHECK, definir mensagens de erro personalizadas, manter dados desnormalizados e fazer comparações dos momentos anteriores e posteriores a uma transação. Quando queremos efetuar transações em cascata, por exemplo, um TRIGGER de exclusão na tabela PRODUTO do banco de dados Northwind pode excluir os registros correspondentes em outras tabelas que possuem registros com os mesmos valores de PRODUCTID excluídos para que não haja quebra na integridade, como a dito popular pai pode não ter filhos, mas filhos sem um pai é raro. Você pode utilizar os TRIGGERS para impor integridade referencial: Executando uma ação ou atualizações e exclusões em cascata. CRIANDO TRIGGERS As TRIGGERS são criadas utilizando a instrução CREATE TRIGGER Page 17 of 25

18 COMO FUNCIONAM OS TRIGGERS TRIGGER INSERT De acordo com a sua vontade, um TRIGGER por lhe enviar mensagens de erro ou sucesso, de acordo com as transações. Criamos a tabela Criamos o TRIGGER INSERT Mensagem disparada pelo TRIGGER Page 18 of 25

19 create trigger tgr_oninsertusuario on usuarios for insert as if (select count(*) from usuarios, inserted where login = inserted.login and senha = inserted.senha = 1 ) RAISERROR( PAR LOGIN/SENHA EXISTENTES, 16, 1) ROLLBACK TRANSACTION end TRIGGER DELETE Quando um registro é acrescentado a tabela temporária DELETED, ele deixa de existir na tabela do banco de dados. Portanto, a tabela DELETED, não apresentará registros em comum com as tabelas do banco de dados; É alocado espaço na memória para criar a tabela DELETED, que está sempre em cache; Dicas para trabalharmos com Triggers Pode-se ter mais de um Trigger do mesmo tipo para uma mesma tabela. A ordem de execução vai do que foi criado primeira até o último que foi criado. O encadeamente de Trigger (um Trigger chamado outro, ou a si mesmo) pode ocorrer, desde que seja habilitada uma opção do servidor. Por padrão esta opção é habilitada. Utilize Triggers para colocar sua regra de negócio, mas sem abusar. Para verificações mais simples, procure utilizar outros objetos do Banco de dados, como constraints Page 19 of 25

20 Triggers podem ser utilizados para replicação (cópia dos dados). Por exemplo: a cada vez que o usuário inserir um dados, você insere em outra tabela. Triggers não podem ser chamados manualmente como Stored Procedures. Eles são chamados somente pela instrução determinada pelo tipo do Trigger. Existem os novos Trigger INSTEAD OF que funcionam um pouco diferente dos Triggers padrão. Eles substituem a instrução que os disparou. Page 20 of 25

21 Transações SQL SERVER Introdução Sequência de operações num sistema de gerência de banco de dados que são tratadas como um bloco único e indivisível (atômico) durante uma recuperação de falhas Provê isolamento entre acessos concorrentes na mesma massa de dados. Transação é uma unidade lógica de processamento que tem por objetivo preservar a integridade e a consistência dos dados. O processamento da transação pode ser executado totalmente ou não. Sintaxe básica Begin Transaction --Corpo de comando Commit ou Rollback Onde: Begin Transaction: Tag inicial para o inicio de uma transação. --Corpo de comando: Conjunto de comando a serem executados dentro de uma transação. Commit: Comando que confirma o conjunto de comandos Rollback: Comando que desfaz todo o processo executado pelo corpo de comandos caso tenha ocorrido algum evento contrario ao desejado. transaction_name: Nome atribuído à É o nome de uma variável definida pelo usuário que contém um nome de transação válido. A variável deve ser declarada com um char, varchar, nchar, ou o tipo de dados nvarchar. Se mais de 32 caracteres são passados para a variável, apenas os primeiros 32 caracteres serão utilizados; os caracteres restantes serão truncados. WITH MARK [ 'description' ]: Especifica que a transação está marcado no registro. A inscrição é uma string que descreve a marca. Uma descrição mais de 128 caracteres são truncados para 128 caracteres antes de serem armazenados na tabela msdb.dbo.logmarkhistory. Page 21 of 25

22 Verificando erros dentro de uma transação No SQL SERVE temos uma função de sistema que faz a identificação de um erro dentro de uma transação chamada de função essa que por padrão recebe o valor 0 (zero) caso não ocorra nem um erro, no caso de algum erro ela assume o valor 1 (um). Exemplo BEGIN TRANSACTION UPDATE FROM TbContas SET NuSaldo= WHERE NuSaldo IF = 0 ELSE COMMIT ROLLBACK END Nomeando transações Page 22 of 25

23 Exemplo de implementação de transação Page 23 of 25

24 Dicas na utilização de transações 1. Mantenha transações curtas, ou seja, não coloque muitas instruções SQL entre o BEGIN TRANSACTION e o COMMIT. Apesar de outros usuários enxergarem os dados de uma transação que ainda não fez o COMMIT, os dados ficam gravados no SQL dentro do arquivo de Transaction Log (geralmente com a extensão.ldf) 2. Vamos supor que alguém resolva utilizar a mesma tomada do computador servidor em que o SQL Server está rodando para ligar uma cafeiteira, quando uma transação foi iniciada mais ainda não fez o COMMIT. Neste caso, quando o serviço do SQL Server foi reiniciado, todas as transações que ainda não executaram o COMMIT voltarão ao seu estado inicial antes do BEGIN TRANSACTION. 3. Procure sempre nomear as transações.isso obriga o utilização do TRANSACTION no COMMIT e no ROLLBACK. Exemplo: BEGIN TRANSACTION TRAN_01 DELETE FROM TABELA1 IF <> 0 ROLLBACK TRANSACTION TRAN_01 ELSE COMMIT TRANSACTION TRAN_01 4) Encadeamento de transações são permitidos. Para ver em que nível de transação você está, utilize a variável Page 24 of 25

25 Stored Procedure com SQL Coleção de instruções implementadas com linguagem T-SQL (Transact-Sql, no SQL Server 2000/2005), que, uma vez armazenadas ou salvas, ficam dentro do servidor de forma pré-compilada, aguardando que um usuário do banco de dados faça sua execução. oferecem suporte a variáveis declaradas pelo próprio usuário, uso de expressões condicionais, de laço e muitos outros recursos Vantagens Modularidade: passamos a ter o procedimento divido das outras partes do software, bastante alterarmos somente às suas operações para que se tenha as modificações por toda a aplicação; Diminuição de I/O: uma vez que é passado parâmetros para o servidor, chamando o procedimento armazenado, as operações se desenolam usando processamento do servidor e no final deste, é retornado ou não os resultados de uma transação, sendo assim, não há um tráfego imenso e rotineiro de dados pela rede; Rapidez na execução: os stored procedures, após salvos no servidor, ficam somente aguardando, já em uma posição da memória cache, serem chamados para executarem uma operação, ou seja, como estão pré-compilados, as ações também já estão pré-carregadas, dependendo somente dos valores dos parâmetros. Após a primeira execução, elas se tornam ainda mais rápidas; Segurança de dados: podemos também, ocultar a complexidade do banco de dados para usuários, deixando que sejam acessados somente dados pertinentes ao tipo de permissão atribuida ao usuário ou mesmo declarando se o Stored Procedure é proprietário ou público, podendo ser também criptografada com WITH ENCRYPTION Page 25 of 25

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

Leia mais

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Elaborado por Maria Lígia B. Perkusich O que é um gatilho (trigger)? Um gatilho é um tipo especial de procedimento armazenado

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Construções básicas Junção de Tabelas Join O uso da operação JOIN numa cláusula FROM especifica como se deseja que as tabelas sejam vinculadas. Use INNER JOIN para associar

Leia mais

Bases de Dados 2007/2008. Aula 9

Bases de Dados 2007/2008. Aula 9 Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

estiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos.

estiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos. TRIGGERS Um trigger é uma instrução que o sistema executa automaticamente como um efeito colateral de uma modificação no banco de dados. Para criar um mecanismo de trigger, temos de cumprir dois requisitos:

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

O comando CREATE TABLE cria a tabela solicitada e obedece à seguinte forma:

O comando CREATE TABLE cria a tabela solicitada e obedece à seguinte forma: 1 CREATE TABLE O comando CREATE TABLE cria a tabela solicitada e obedece à seguinte forma: CREATE TABLE (), (

Leia mais

Banco de dados Continuação das consultas em SQL... 3º trimestre Prof. Patrícia Lucas.

Banco de dados Continuação das consultas em SQL... 3º trimestre Prof. Patrícia Lucas. Banco de dados Continuação das consultas em SQL... 3º trimestre Prof. Patrícia Lucas. Roteiro GROUP BY HAVING INNER JOIN LEFT JOIN RIGHT JOIN Group By e Raving A cláusula GROUP BY organiza dados em grupos.

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

A compreensão do mecanismo de transações é essencial, sempre que a

A compreensão do mecanismo de transações é essencial, sempre que a Transações A compreensão do mecanismo de transações é essencial, sempre que a base de dados d servir várias clientes simultaneamente. Em SQL é possível definir explicitamente os limites de uma transação.

Leia mais

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento de pesquisa da IBM na década de 1970 (System R); Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com PALAVRAS CHAVES: inner join, left outer join, cross join, right outer join, full outer join, junções,

Leia mais

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

PROVA ESPECÍFICA Cargo 04

PROVA ESPECÍFICA Cargo 04 10 PROVA ESPECÍFICA Cargo 04 QUESTÃO 21 Analise as seguintes afirmativas: I. Uma das funções de um DBA é gerenciar os mecanismos de segurança de acesso aos dados armazenados em um SGBD (Sistema Gerenciador

Leia mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

PROGRAMA. Objectivos Gerais :

PROGRAMA. Objectivos Gerais : PROGRAMA ANO LECTIVO : 2005/2006 CURSO : ENGENHARIA MULTIMÉDIA ANO: 2.º DISCIPLINA : SISTEMA DE GESTÃO DE BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA : Licenciado Lino Oliveira Objectivos Gerais :

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

MER e Conceitos gerais

MER e Conceitos gerais MER e Conceitos gerais IBGE 1)O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como:... cheio de coisas que possuem características próprias e que se relacionam entre si. Essas

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22

Sumário Agradecimentos... 19 Sobre.o.autor... 20 Prefácio... 21 Capítulo.1..Bem-vindo.ao.MySQL... 22 Sumário Agradecimentos... 19 Sobre o autor... 20 Prefácio... 21 Capítulo 1 Bem-vindo ao MySQL... 22 1.1 O que é o MySQL?...22 1.1.1 História do MySQL...23 1.1.2 Licença de uso...23 1.2 Utilizações recomendadas...24

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis Reforçando conceitos de SQL Estudo de Caso: Agenciamento de s de Táxis 1 Algumas Entidades existentes Estudo de Caso Cliente Agendada Fila Logradouro Zona Motorista Efetivada Táxi 2 Consulta Básica SQL

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas

Leia mais

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade.

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. www.devm edia.com.br [versão para im pressão] MySQL TRIGGERS Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. MySQL TRIGGERS Neste artigo, serão apresentados

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Principais Instruções em SQL

Principais Instruções em SQL Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]

Leia mais

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires Transações Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Introdução a Transações SGBD sistema de processamento de operações de acesso ao BD SGBDs são em geral multi-usuários

Leia mais

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema

Leia mais