Baseado no material do Professor Raul Paradeda

Slides:



Advertisements
Apresentações semelhantes
Tópicos em Banco de Dados
Advertisements

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 Avançado Continuação
SQL Structured Query Language (continuação)
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Elaini Simoni Angelotti
Visões Marilde Santos.
SQL Structured Query Language Juliano Brito da Justa Neves PESCD – Programa de Estágio Supervisionado de Capacitação Docente.
Maurício Edgar Stivanello
SGBD.
Sistema Gerenciador de Banco de Dados SGBD
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consulta a dados de uma tabela
Ordenação de Resultados
Operadores Especiais da SQL
Introdução à Engenharia da Computação
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Operação de União “JOIN”
Banco de dados Profª Kelly Medeiros.
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
SQL Álvaro Vinícius de Souza Coêlho
BANCO DE DADOS UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Capítulo 3: SQL Korth • Silberschatz • Sundarshan.
Desenvolvendo um script SQL
Linguagem SQL.
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
VIEW - VISÕES Professor Esp. Diego André Sant’Ana
Banco de dados.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
REVISÃO Comandos SQL - DML SELECT * FROM ?.
©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.
Banco de dados O que é MySQL Criar bando de dados
Contatos Gladimir Catarino
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Banco de Dados I I Comandos SQL
NOTA DE AULA SQL.
Linguagem SQL Prof. Juliano.
SQL Structured Query Language Linguagem de Consulta Estruturada
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Structured Query Language
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
Subconsulta na Cláusula FROM
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Daniel Paulo SQL Módulo I Daniel Paulo
Recuperação de Dados Banco de Dados Carina Farias
UCSal – Bacharelado em Informática
Linguagem de definição de dados - SQL
SELECT Professor: Virgílio Fries Müller www. vfm.com.br
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
José Antônio da Cunha 2/6/2016 José Antônio - CEFET-RN 1 Disciplina: Banco de Dados.
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.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Transcrição da apresentação:

Baseado no material do Professor Raul Paradeda Banco de dados Baseado no material do Professor Raul Paradeda

Revisão Vimos na aula passada como criar um banco de dados e realizar alterações e restrições de integridade.

SQL Crie um banco de dados com o seu nome. Crie uma tabela chamada alunos. Crie outra tabela chamada cursos. Crie outra tabela chamada alu_cur. Os atributos das duas primeiras tabelas você escolhe, apenas temos que ter chaves primárias em cada uma. Na tabela alu_cur será apresentado apenas chaves estrangeiras das duas primeiras tabelas.

SQL - Inserção Inserir de elementos (tuplas) em uma relação (tabela). Sintaxe: INSERT INTO tabela [<lista atributos>] VALUES (<lista de valores atômicos>) Exemplo: INSERT INTO alunos(nome_alu, sexo) VALUES (‘Johnny’, ‘m’); INSERT INTO alunos VALUES (1, ‘Allan’, 26, ‘1983-10-04’,‘m’); INSERT INTO alunos VALUES (2, ‘André’, 24, ‘1985-11-10’,‘m’); INSERT INTO alunos VALUES (3, ‘Renata’, 20, ‘1989-02-24’,‘f’); INSERT INTO alunos VALUES (4, ‘Lucas’, 26, ‘1983-01-07’,‘m’); Caso este parâmetro seja a chave primária, normalmente tem-se como auto-increment, não sendo necessário seu preenchimento.

SQL - Inserção Podemos omitir uma ou mais colunas da relação destino. Toda tupla inserida terá um valor nulo em cada posição de coluna omitida. Sintaxe: INSERT INTO <tabela>(<atributos>) VALUES (<valores>); Exemplo: INSERT INTO alunos(nome_alu, sexo) VALUES (‘Johnny’, ‘m’);

SQL - Atualização O comando UPDATE modifica o valor de atributos de uma ou mais tuplas. Sintaxe: UPDATE <tabela> SET <lista_atributos com atribuições de valores>[WHERE <condição>] Omitir a cláusula WHERE implica em modificar todas as tuplas da relação.

SQL - Atualização UPDATE alunos SET id_alu=10 WHERE id_alu=1; UPDATE alunos SET id_alu=1 WHERE nome_alu='Allan' ; UPDATE alunos SET data_alu=curdate() where data_alu='0000-00-00' ; UPDATE alunos SET sexo='m' ;

SQL - Remoção O comando DELETE remove tuplas de uma relação. Sintaxe: DELETE FROM tabela [WHERE condição] Omitir a cláusula WHERE implica em remover todas as tuplas da relação. A relação permanece no BD como uma relação vazia.

SQL - Remoção DELETE FROM alunos WHERE id_alu=1; DELETE FROM alunos WHERE nome_alu=‘Allan’; DELETE FROM alunos;

SQL - Seleção A sintaxe básica do comando de seleção é: SELECT <lista atributos> FROM <lista de tabelas> WHERE <condição> Onde: <lista atributos> é uma lista de nomes de atributos cujos valores são para ser recuperados pela consulta. <lista de tabelas> é uma lista de nomes de relações requeridas para processar a consulta. <condição> é uma expressão (Booleana) que identifica as tuplas a serem recuperadas pela consulta, se não houver será selecionada todas as tuplas da relação.

SQL - Seleção É usada para listar os atributos desejados no resultado da consulta, exemplo: SELECT nome, cidade FROM Fornecedores; Será listado apenas o nome e a cidade de todos os fornecedores. O resultado de uma consulta SQL é também uma relação.

SQL - Seleção A seleção permite duplicação na consulta, exemplo: SELECT cidade FROM Fornecedores; Será listado a cidade de todos os fornecedores da relação, sendo os valores duplicados, caso houver.

SQL - Seleção Para remover a duplicação é utilizado o parâmetro DISTINCT na consulta, exemplo: SELECT DISTINCT cidade FROM Fornecedores;

SQL - Seleção A cláusula SELECT pode conter expressões aritméticas envolvendo as operações de adição (+), subtração (-), multiplicação (*) e divisão (/). SELECT nome, status*2 FROM Fornecedores;

SQL - Seleção Para renomear atributos na seleção é utilizado o parâmetro AS, exemplo: SELECT id_fornecedor, status AS situacao FROM fornecedores;

SQL - Seleção A cláusula FROM permite que se combine informações de duas relações, exemplo: Select fornecedores.id_fornecedor, pecas.nome, fornecedores.cidade, pecas.cidade from fornecedores, pecas; As linhas são obtidas combinando-se cada linha da primeira tabela com todas as linhas da segunda tabela: O esquema resultante é a concatenação dos esquemas das duas relações fornecidas como argumento.

SQL - Seleção x y a b c 

SQL - Seleção A eliminação de tuplas incoerentes pode ser feita através do parâmetro WHERE. Select fornecedores.id_fornecedor, peças.nome, fornecedores.cidade, peças.cidade from fornecedores, peças where fornecedores.cidade=peças.cidade;

SQL - Seleção

SQL - Seleção Select fornecedores.id_fornecedor, peças.nome, fornecedores.cidade, peças.cidade from fornecedores, peças where fornecedores.cidade=“Natal”;

SQL - Seleção Encontre todos os identificadores dos fornecedores localizados na cidade de Pelotas: select id_fornecedor from fornecedores where cidade=“Pelotas”; Encontre todas as matriculas dos alunos com nome de João: Select matricula from alunos where nome_aluno=“João”;

SQL - Seleção A cláusula WHERE usa os conectivos lógicos AND, OR e NOT: Encontre o nome de todas as peças fornecidas por Jones para o Projeto Classificador select distinct peças.nome from fornecedores, peças, projeto, fornecedor_projeto_pecas where fornecedores.nome=“Jones” AND projeto.nome=“Classificador”;

SQL - Seleção Encontre a matricula e o nome de todos os alunos com o nome de João ou Maria: select matricula, nome_aluno from alunos where nome_aluno=“João” OR nome_aluno=“Maria”;

SQL - Seleção Na condição é permitido usar expressões aritméticas de comparação (=, <>, <, <=, >=, >) Encontre o nome de todos os fornecedores que fornecem mais de 300 peças para um só projeto: select distinct fornecedores.nome_fornecedor from fornecedores, fornecedor_proj_peças where fornecedor_proj_peças.qde>300;

SQL - Seleção Encontre todas as informações de todos os alunos do sexo masculino: select * from alunos where sexo=‘m’;

SQL - Seleção Operador BETWEEN permite que um atributo seja comparado dentro de uma faixa especificada. É permitido usar expressões aritméticas de comparação (=, <>, <, <=, >=, >) Encontre o nome de todos os alunos que pagam mensalidades entre 300 a 700 reais select nome_aluno from alunos where mensalidade between 300 AND 700;

SQL - Seleção Operador LIKE permite a comparações em seqüências de caracteres. Padrões são descritos usando dois caracteres especiais: percentual (%) casa com qualquer conjunto de caracteres, exemplo: select * from fornecedores where cidade LIKE "P%";

SQL - Seleção select * from fornecedores where cidade LIKE "P_l%"; sublinhado (_). O caractere “_” casa com qualquer caractere select * from fornecedores where cidade LIKE "P_l_t_s"; select * from fornecedores where cidade LIKE "P_l%";

SQL - Seleção Operador IS NULL verificar se o atribulo é nulo. Encontre os nomes de todos os projetos cuja cidade não tenha sido informada na relação select nome from projeto where cidade is null; Pode-se usar IS NOT NULL select nome from projeto where cidade is not null;

SQL - Seleção Operador IN permite que um atributo seja comparado com um conjunto. select nome from peças where cor IN(‘Vermelha’, ‘Azul’); select * from fornecedores where cidade IN ("Pelotas","Natal");

SQL - Seleção O operador IN provê um mecanismo para o aninhamento de subconsultas: select matricula from alunos where nome IN ( select nome where nome=“J%” );

SQL - Seleção A função EXISTS também provê aninhamento de subconsultas. É usada para checar se o resultado de uma consulta aninhada é vazia ou não. select * from alunos where exists ( select * from pagamento where pagamento=“ok” ); Se existir um aluno com o pagamento OK será apresentado todos os alunos.

SQL - Seleção Note que quando você está utilizando o operador EXISTS, não importa o que o comando SELECT interno irá buscar interessa apenas se ele retorna ou não linhas: select exists (select * from fornecedores where cidade in ("Pelotas","Natal"));

SQL - Seleção A cláusula SELECT pode conter funções que operam sobre uma coleção de valores de uma coluna de uma relação e retorna um valor. O SQL fornece 5 funções embutidas: COUNT: número de tuplas ou valores. SUM: soma os valores de uma coluna. AVG: calcula a média dos valores de uma coluna. MAX: identifica o maior valor de uma coluna. MIN: identifica o menor valor de uma coluna. Todas as funções, exceto count(*), ignoram as tuplas com valores nulos.

SQL - Seleção Quantas relações aluno, curso, disciplina temos? select count(*) from aluno_curso_disciplina; Quantos projetos ativos temos? select count(distinct pr) from fornecedor_projeto_pecas; Quantas peças são fornecidas ao todo? select sum(qde) from fornecedor_projeto_pecas;

SQL - Seleção Em médias quantas peças são fornecidas por um determinado fornecedor em um certo projeto? select avg(qde) from fornecedor_projeto_pecas; Qual é a maior quantidade de peças fornecidas por um único fornecedor a um só projeto? select max(qde) from fornecedor_projeto_pecas;

SQL - Seleção Qual é a menor quantidade de peças fornecidas por um único fornecedor a um só projeto? select min(qde) from fornecedor_projeto_pecas;

SQL - Seleção from fornecedores order by status ASC; Decrescente: ORDER BY é usada para ordenar as linhas selecionadas pelo comando de seleção. Crescente: select cidade,status from fornecedores order by status ASC; Decrescente: order by status DESC;

SQL - Seleção select cidade,status from fornecedores GROUP BY é usada para agrupar linhas com base em valores de determinadas colunas: select f, p, sum(qde) as qde from fornecedor_projeto_pecas group by f, p; select cidade,status from fornecedores group by status,cidade;

SQL - Seleção A cláusula GROUP BY deve vir antes da ORDER BY e depois do WHERE select cidade,status from fornecedores group by status,cidade; order by cidade;

SQL - Atividade Criar um banco de dados com seu nome e uma tabela chamada acessos. Nesta tabela teremos quatro atributos: id_acesso: chave primária inteira não nula auto incrementável; dia_acesso: atributo inteiro não nulo; mes_acesso: atributo inteiro não nulo; ano_acesso: atributo inteiro não nulo;

SQL - Atividade SQL da tabela: CREATE TABLE acessos ( id_acesso INT NOT NULL AUTO_INCREMENT , dia_acesso INT NOT NULL , mes_acesso INT NOT NULL , ano_acesso INT NOT NULL , PRIMARY KEY (id_acesso) ) ;

SQL - Atividade Realizar a inserção de 10 tuplas na tabela acessos com valores diferentes para mês_acesso e ano_acesso: Ex: INSERT INTO acessos(dia_acesso,mes_acesso,ano_acesso) VALUES (15, 03,2009) ; VALUES (13, 02,2009) ; VALUES (15, 01,2009) ; VALUES (10, 02,2009) ;