Formação de Administradores de Redes Linux LPI – level 1 SENAC TI Fernando Costa SQL (Structure Query Language)

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

SQL Avançado Continuação
SQL Structured Query Language (continuação)
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Triggers Marilde Santos.
Sequences Marilde Santos. O que são Sequences? Valores sequenciais podem ser gerados automaticamente pelo Oracle com o uso de sequences. A sequence gera.
SQL Structured Query Language Juliano Brito da Justa Neves PESCD – Programa de Estágio Supervisionado de Capacitação Docente.
SGBD.
SQL Exercícios de Revisão Profa. Sandra de Amo Programa de Pós-graduação em Ciência da Computação – UFU
1 SQL: Aula 3. 2 Roteiro cláusulas order by e group by Outer Joins e valores null Criação de esquemas Modificação da base de dados Definição de Visões.
SQL – Consultas Básicas
SQL – DML Consulta a dados de uma tabela
Ordenação de Resultados
1 A Linguagem SQL Todo Banco de Dados apresenta uma Linguagem para definição e uma para manipulação de dados. Com relação aos Bancos de Dados Relacionais,
Operadores Especiais da SQL
Prof. José Fernando Rodrigues Júnior Pacotes Material original: Profa. Elaine Parros Machado de Sousa SCC Bancos de Dados e Suas Aplicações.
SCC Bancos de Dados e Suas Aplicações
Procedimentos e Funções
FORTRAN 90 Denise Yumi Takamura.
SQL Procedural Junho/2006.
SQL procedural – parte 2.
Elaboração de Consultas 3 de abril de Recuperação de Informação Cd_cliente CLIENTECONTATO Cd_cliente C1 C1 : Listar os clientes que tem contatos.
Subconsultas em SQL. Subconsulta Estrutura geral SELECT.... FROM.... WHERE [at] OPERADOR ( SELECT... FROM... [WHERE... ]) Declaração SELECT localizada.
Funções de Linha 17/04/06. Funções de Linha Gerar ou construir novo valor não existente na tabela inicial. Valor construído a partir de dados de uma ou.
Introdução à Consulta 24/3/06. Categorias de comandos DDL : estruturação de objetos de BD Ex. create table, drop index, alter table... DML: manipulação.
Funções de Linha 24/04/06. Funções de Linha Gerar ou construir novo valor não existente na tabela inicial. Valor construído a partir de dados de uma ou.
SQL-3. Novo contexto e necessidade de : Manipular imagens Outros tipos de dados além de texto e números Recuperação de dados mais complexos Níveis distintos.
Sql-3 ( final ).
1. Conceitos de Álgebra Booleana 2. Portas Lógicas e Inversores
1. Equivalência entre portas 2. Derivação de expressões booleanas 3
Teste Funcional de Software
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Banco de Dados I Profa. Jiani Cardoso 2/2005
Banco de Dados Geográficos
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Marco Antonio Montebello Júnior
The Data Warehouse Toolkit
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Stored Procedure, Function and Trigger
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Transporte Escolar Fluvial
Banco de dados Profª Kelly Medeiros.
Microsoft SQL Server 2008 SPARSE. Ambiente de teste Uma tabela é criada com 3 campos: CREATE TABLE [dbo].[Cliente_com_campos_basicos] ( [IdCliente] int.
1 SQL (Structured Query Language) Linguagem padrão usada em BD relacionais –SQL1 ou SQL-86: primeira versão do padrão. –SQL2 ou SQL-92: versão usada atualmente.
SQL Álvaro Vinícius de Souza Coêlho
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
BANCO DE DADOS UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Design Patterns / Acesso ao banco de dados (java.sql)
Banco de Dados Aplicado ao Desenvolvimento de Software
1 Semântica de Ações Ações Básicas, Ações Funcionais e Notação de Dados.
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Funções ou procedures Professor Esp. Diego André Sant’Ana
Cursor Professor Esp. Diego André Sant’Ana
Capítulo 3: SQL Korth • Silberschatz • Sundarshan.
Desenvolvendo um script SQL
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Baseado no material do Professor Raul Paradeda
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.
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.
Linguagem de definição de dados - SQL
BANCO DE DADOS Araújo Lima Ago / 2017 Araújo.
MS-SQL Server Structure Query Language
SQL – COMANDOS DML Profª Rosana Traversa.
Módulo III Capítulo 3: Linguagem SQL
Transcrição da apresentação:

Formação de Administradores de Redes Linux LPI – level 1 SENAC TI Fernando Costa SQL (Structure Query Language)

SQL Linguagem para: Definição de dados: criação das estruturas Data Definition Language (DDL) Manipulação de dados: atualização e consultas Data Manipulation Language (DML)

Manipulação de Dados Define operações de manipulação de dados I (INSERT) A (UPDATE) E (DELETE) C (SELECT) Instruções declarativas manipulação de conjuntos especifica-se o que fazer e não como fazer

Inserções, Alterações e Exclusões

SQL – Insert Inserção de dados INSERT INTO nome_tabela [(lista_atributos)] VALUES (lista_valores_atributos) [, (lista_valores_atributos)] Exemplos INSERT INTO Ambulatorios VALUES (1, 1, 30) INSERT INTO Medicos (codm, nome, idade, especialidade, CPF, cidade) VALUES (4, Carlos, 28,ortopedia, , Joinville);

SQL – Inserção a partir de outra tabela Inserção de dados Permite inserir em uma tabela a partir de outra tabela A nova tabela terá os mesmos atributos, com os mesmos domínios Exemplos INSERT into cliente as SELECT * from funcionario

SQL – Update Alteração de dados UPDATE nome_tabela SET nome_atributo_1 = Valor [{, nome_atributo_n = Valor}] [WHERE condição] Exemplos UPDATE Medico SET cidade = Florianopolis UPDATE Ambulatorios SET capacidade = capacidade + 5, andar = 3 WHERE nroa = 2

SQL – DML Exclusão de dados DELETE FROM nome_tabela [WHERE condição] Exemplos DELETE FROM Ambulatorios DELETE FROM Medicos WHERE especialidade = cardiologia or cidade Florianopolis

Exercícios Inserir 3 médicos na tabela de médicos Cadastrar 4 ambulatórios, com numeroA sendo 1,2,3 e 4 Cadastrar 2 pacientes Cadastrar 3 consultas Alterar o numero do ambulatório de todos os médicos para 3 Alterar o nome do paciente 1 para Pedro da Silva

Consultas: SELECT

Estrutura Básica Uma consulta em SQL tem a seguinte forma: select A 1, A 2,..., A n from r 1, r 2,..., r m where P A i representa um atributo R i representa uma tabela P é um predicado Esta consulta é equivalente a uma expressão da Algebra Relacional O resultado de uma consulta SQL é sempre uma tabela

Estrutura Básica: resumindo…. SELECT lista de atributos desejados FROM uma ou mais tabelas WHERE com restrições sobre atributos Exemplo: encontre o nome e o salário dos funcionarios da relação funcionário SELECT nome, salario FROM funcionario Equivalente a operação de PROJEÇÃO na Álgebra nome, salario (funcionario)

Distinct O SQL permite duplicatas em relações e resultados em consultas Para eliminar duplatas, usa-se a cláusula DISTINCT depois do SELECT Exemplo:SELECT distinct nome FROM funcionario

A cláusula * O asterisco na cláusula SELECT denota TODOS OS ATRIBUTOS SELECT * FROM funcionario Expressões artitméticas podem ser usadas na cláusula SELECT +, –,, / Exemplo: SELECT nome, salario FROM funcionario

A cláusula FROM Equivale a operação de Produto Cartesiano da Álgebra Lista as relações envolvidas na consulta Exemplo: SELECT FROM funcionario, departamento

A cláusula FROM Quando mais de uma tabela é utilizada é necessário dar um apelido para elas que deve ser utilizado para diferenciar atributos iguais Exemplo: SELECT f. FROM funcionario f, departamento d WHERE f.codDepto = d.codDepto

A cláusula WHERE A cláusula where especifica as condições que o resultado precisa satisfazer Corresponde ao predicado de seleção da álgebra Exemplo:SELECT nome, salario FROM funcionario WHERE salario > 2000 operadores AND, OR e NOT podem ser usados Exemplo:SELECT nome, salario FROM funcionario WHERE salario > 2000 AND idade < 30

Renomeando atributos Renomeação de atributos old-name as new-name Exemplo: SELECT nome as nomeCliente, (salario+200) as comissao FROM funcionario

Operações com Strings O SQL permite comparar strings com o operador like Pode ser combinado com outros caracteres % compara substrings Exemplo I: encontre o nome dos funcionarios cujos nomes iniciam com Pedro select nome from funcionario where nome like ' Pedro% ' Exemplo II: encontre o nome dos funcionarios cujos nomes contém Pedro no nome select nome from funcionario where nome like % Pedro% '

Operações de Conjunto Envolvem ao menos 2 tabelas Interseção e União: elimina automaticamente repetições Relações precisam ser compatíveis (mesmo número de atributos) Union ALL e intersects ALL preserva duplicatas (select nome from conta) intersect (select nome from emprestimo) Encontre os clientes que tenham empréstimos e contas (select nome from conta) union (select nome from emprestimo)

Ordenando tuplas com Order By Exemplo: Liste em ordem alfabética os funcionarios que trabalham no departamento financeiro select distinct funcionario.nome from funcionario, departamento where funcionario.codDepto=departamento.codDepto AND departamento.nome=financeiro order by funcionario.nome Order by pode ser em ordem descendente Exemplo: order by nome desc

Funções de Agregação Operam sobre múltiplos valores de uma coluna da tabela e retornam um valor avg: média min: valor mínimo max: valor máximo sum: soma de valores count: número de valores

Exemplos: Encontre a soma dos salarios dos funcionarios select count(*) FROM cliente select SUM(salario) FROM funcionario Funções de Agregação Encontre o número de tuplas da relação CLIENTE

Funções de Agregação e Group By Encontre o total de funcionarios de cada departamento Nota: Atributos na cláusula SELECT que estão FOR A da função de agregação precisam aparecer na lista de atributos do GROUP BY select d.nome, count(f.*) as numeroFuncionarios FROM funcionario f, departamento d WHERE f.codDepto=d.codDepto GROUP BY d.nome

Funções de Agregação e Having A função HAVING é utilizada para aplicar condições sobre grupos e não sobre uma única tupla Exemplo: Quais são os departamentos onde a soma dos salários dos funcionários ultrapassa Nota: predicados da cláusula having são aplicados depois que os grupos foram gerados, mas a condição do where é aplicada antes da formação dos grupos select d.nome, sum(f.salario) from funcionario f, departamento d where f.codDepto=d.codDepto group by d.nome having um (salario) >

Consultas Aninhadas Uma subconsulta select-from-where está aninhada dentro de outra consulta Exemplo: Selecione os clientes que são funcionários select nomeCliente From cliente Where nomeCliente in (select nomeFuncionario from funcionario)

Valores nulos Consulta sobre valores inexistentes Exemplo: Encontre os funcionarios que não possuem carteira de habilitação select nome from funcionario where carteiraHabilitacao is null OBS: cuidado que valores nulos em operações matemáticas podem dar problemas

ÁlgebraSQL nome ( (Médicos X = Médicos.codm = Consultas.codm ( codm ( data = 06/11/13 (Consultas))) ) ) Select nome From Médicos Where codm in (select codm from Consultas where data = 06/11/13) ( CPF (Funcionários)) ( CPF (Pacientes)) Select CPF From Funcionários Where CPF not in (select CPF from Pacientes) ( CPF (Médicos)) ( CPF (Pacientes)) Select CPF From Médicos Where CPF in (select CPF from Pacientes) SQL e Algebra

Exercícios Escreva em SQL todas as consultas escritas em Algebra Relacional

Fernando Costa