24
Aprendemos durante o curso: 1)Lógica de programação através de algoritmos; 2) criar o diagrama _______ de banco de dados; 3) a usar um sistema de banco de dados chamado __________; 4) a utilizar ________ para incluir ou _______ para alterar dados e em seguida utilizamos __________para gravar; 5) a pesquisar uma tabela utilizando ________; 6) percorrer uma tabela com a estrutura __________ em conjunto com o comando ______ para ir para a próxima linha.

Apresentação SQL.ppt

Embed Size (px)

Citation preview

  • Aprendemos durante o curso:

    Lgica de programao atravs de algoritmos;

    2) criar o diagrama _______ de banco de dados;

    3) a usar um sistema de banco de dados chamado __________;

    4) a utilizar ________ para incluir ou _______ para alterar dados e em seguida utilizamos __________para gravar;

    5) a pesquisar uma tabela utilizando ________;

    6) percorrer uma tabela com a estrutura __________ em conjunto com o comando ______ para ir para a prxima linha.

  • Controle acadmico

  • Resultado solicitado

  • Soluo tradicionalPROCEDURE EXIBIR_NOTAS;BEGIN TABAVALIACAO.FIRST; WHILE (NOT TABAVALIACAO.EOF) DO BEGINIF NOT TABASP.FINDKEY([TABAVALIACAO['NASP']) THEN SHOWMESSAGE(ASPIRANTE NO EXISTE)ELSE IF NOT TABDISCI.FINDKEY([TABAVALIACAO[CODDISC']) THEN SHOWMESSAGE(DISCIPLINA NO EXISTE) ELSE LISTBOX1.ITEMS.Add(TABASP['NOMEASP']+' +TABDISCI['NOMEDISCI'] + + TABAVALIACAO[TIPO'] + + FLOATTOSTR(TABAVALIACAO[NOTA']));TABAVALIACAO.NEXT; END;END;

  • Algumas QuestesExiste uma maneira de obter informaes em um banco de dados de forma mais fcil?O sistema existente no fornece certa informao. O que fazer?

  • S Q LS o qu?

  • SQL

    Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, uma linguagem de pesquisa para banco de dados relacional. Muitas das caractersticas originais do SQL foram inspiradas na lgebra relacional.

  • DDL - Linguagem de Definio de Dados

    DDL (Data Definition Language - Linguagem de Definio de Dados). Uma DDL permite ao usurio definir novas tabelas e elementos associados.

    Os comandos bsicos da DDL so:

    CREATE cria um objeto (uma Tabela) dentro da base de dados. DROP apaga um objeto do banco de dados. ALTER, permite alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.

  • DML - Linguagem de Manipulao de Dados

    DML (Data Manipulation Language - Linguagem de Manipulao de Dados). A DML um subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados.

    SELECT permite especificar uma consulta como uma descrio do resultado desejado. A consulta no especifica como os resultados deveriam ser localizados.

    INSERT usada para somar uma linha a uma tabela existente.

    UPDATE para mudar os valores de dados em uma linha de uma tabela existente.

    DELETE permite remover linhas existentes de uma tabela.

  • Vantagens de usar SQLSimplifica o cdigo;Reduz o tempo de desenvolvimento;Permite consultas pelo usurio independente do cdigo fonte (consultas no previstas durante o desenvolvimento do sistema).

  • Sistemas de Banco de Dados que usam SQL

    Apache Derby Cach DB2 Firebird Informix Ingres InterBase Microsoft SQL Server MySQL Oracle PostgreSQL Sybase Adaptive Server Enterprise

  • Consulta SQLSelect Numasp, Nomeasp, Nomedisci, Peso,Nota*Peso as Notapeso

    From Aspirantes, Disciplinas, Avaliacoes, Tipoteste

    Where Avaliacoes.Numasp = Aspirantes.Numasp And Avaliacoes.Coddisci = Disciplinas.Coddisci And Avaliacoes.Teste = Tipoteste.Teste

    And Avaliacoes.NumAsp = 2002 Order By Aspirantes.Numasp, Avaliacoes.Coddisci;

  • Consultas SQLSELECT Seleciona os campos a serem exibidos, usamos * para exibir todos os campos (deve ser evitado para no sobrecarregar a rede.FROM Informamos as tabelas envolvidas na consulta.AS Para modificar um nome de campo ou nomear um campo calculado.ORDER BY Ordena a consulta pelos campos informados.WHERE Seleciona as linhas a serem exibidas de acordo uma condio.LIKE Usamos para pesquisar parte de uma string em uma condio.

  • ExemplosSelect * From Aspirantes;

    Select NomeAsp, TelAsp From Aspirantes;

    Select NomeAsp as Nome, TelAsp as Tel From Aspirantes;

    Select Descricao, (Preco * Estoque) as TotalFrom ProdutosOrder By Descricao;

    Select Descricao From ProdutosWhere Preco Between 10 and 20;

  • ExemplosSelect * From AspirantesWhere NumAsp = 2001;

    Select NomeAspFrom AspirantesWhere Nome LIKE F% Or Nome LIKE % DE %;

    Select Descricao, (Preco * Estoque) as TotalFrom ProdutosWhere Total > 5000;

  • RelacionamentoQuando a clusula FROM especfica mais de uma tabela devemos colocar o relacionamento na clusula WHERE.Select NomeAsp, CodDisci,TipoTeste, Nota From Aspirantes, AvaliacoesWhere Aspirantes.NumAsp = Avaliacoes.NumAsp;

  • Evitando Repeties

  • Comandos de AgregaoSelect COUNT(*) as TotAsp From Aspirantes;

    Select SUM(Estoque) From Produtos;

    Select AVG(Preco) From Produtos;

    Select MIN(Preco) From Produtos;

    Select MAX(Preco) From Produtos;

  • Percorrendo uma consulta SQLPROCEDURE EXIBIR_NOTA;BEGIN TABCONSULTA.FIRST; WHILE (NOT TABCONSULTA.EOF) DO BEGIN LISTBOX1.ITEMS.Add(TABCONSULTA['NOMEASP']+ ' ' +TABCONSULTA ['NOMEDISCI'] + ' ' +TABCONSULTA ['TIPO'] + ' ' + FLOATTOSTR(TABACONSULTA ['NOTA']);

    TABCONSULTA.NEXT; END;END;

  • Exerccio de SQL

  • Qual o valor a ser pago pelo titular "CARLOS SILVA?

    2) Quais os nomes de titulares que comeam com a letra "F?

    3) Quais os titulares que possuem dependentes que tenham " de " no nome?

    4) Quais so os dependentes do titular "PEDRO FONSECA ?

    5) Quais so os dependentes do titular "020" em ordem crescente ?

    6) Qual o total de titulares ou dependentes por atividade ?

    7) Quais os scios titulares que jogam futebol em ordem crescente ?

    8) Selecione os nomes dos dependentes menores de 18 anos.

  • SQL em DelphiQuery1.Close; {Fecha a query}Query1.SQL.Clear; {Limpa o contedo da propriedade SQL}Query1.SQL.Add(Select *); {Adiciona}Query1.SQL.Add(From Aspirantes);Query1.SQL.Add(Where BairroAsp = TIJUCA );Query1.Open; {Abre e executa a Query}