Esta apostila possui 3 práticas e exemplos de SQL para servirem de base para a Prática I Prática I Utilizando os exemplos de SQL desta apostila de exercícios e o Management Studio da MS, realize as seguintes tarefas: 1. Criar Schema adm 2. Criar tabela usuarios(coUsuario int, nome varchar(6)) no esquema adm e no dbo. 3. Inserir pelo menos uma ocorrência na tabela usuarios em dbo. Executar os select abaixo para verificar que os dados armazenados no esquema dbo realmente não existem na tabela de mesmo nome no esquema adm. Select * from dbo.usuarios Select * from adm.usuarios 4. Criar através de comandos SQL as tabelas vendas, produtos, clientes com chaves primária e estrangeiras, conforme especificado abaixo: clientes coCliente (pk) nome 5. produtos coProduto (pk) descricao preco vendas covenda (pk) coCliente (fk) coProduto (fk) qtd Inserir pelo menos 4 produtos e 3 clientes nas respectivas tabelas. 6. Inserir dados de venda na tabela vendas, pelo menos 3 ocorrências de venda por cliente com produtos diferentes. DEIXAR UM PRODUTO DE FORA COMO SE NÃO TIVESSE SIDO VENDIDO. 7. Realizar as seguintes consultas com SQL: Verificar quais produtos foram comprados por determinado cliente Listar quais produtos já foram vendidos Listar quais produtos nunca foram vendidos (Aquele que você não inclui no arquivo vendas) Gerar um resultado de consulta que mostra total vendido de cada produto, com a descrição do mesmo em uma coluna e o total de vendas na outra. Verificar quais produtos tiveram venda inferior a R$ 500,00 e superior a R$ 2.000,00 Prática II Crie uma tabela usuarios com campos coUsuario, nome, login e senha tipo VAR com chave primaria em coUsuario. Crie um indice para agilizar buscas pelo campo nome. Crie um trigger que na inclusão de usuário verifique se o login e senha fornecidos já existem cadastrados no Banco de Dados. Caso exista, o trigger do insert deve realizar um ROLLBACK na operação impedindo que dois usuários distintos possuam o mesmo par login/senha. Prática III - SP de Transferência entre Contas Correntes >>> Nesta prática considere a chave primária como número da Conta Corrente. Crie uma tabela contasCorrentes com campos coContaCorrente, saldo. Insira dois registros um com saldo R$ 500,00 e outra com saldo R$ 1.200,00 Crie uma stored procedure que realize as tarefas abaixo: o Receba o número de duas CCs e o valor da transferência na sequencia CC origem, CC destino e valor do depósito. o Inicie uma transação o Realize ROLLBACK caso a transação tenha problemas ou caso não haja saldo suficiente na CC origem para realizar a transferência, retornando o código 0 (Falso). o Realize COMMIT caso a operação não apresente problemas e exista saldo na CC para realizar a transferência, retornando o código 1 (true). realize testes para valores válidos e inválidos de transferência. Exemplos de SQL CREATE TABLE produtos (coProduto int identity primary key, descricao varchar(60), preco real) insert into clientes (nome) values ('Cli 1') insert into vendas (COCLIENTE, coProduto, qtd) values (1, 4, 20) select descricao, sum(qtd*preco) as valorTotal, count(*) as qdtTotal from vendas, produtos where vendas.coProduto = produtos.coProduto group by descricao