20th Jul 2022 9 minutos de leitura Termos SQL Essenciais a Conhecer para Iniciantes e Profissionais Aldo Zelen extras como fazer em sql noções básicas de sql Índice Noções básicas do banco de dados Sistemas de gerenciamento de banco de dados Transações de banco de dados Arquivos do banco de dados Instância da base de dados Servidor e Cliente de Banco de Dados Linguagem de Consulta Estruturada, a Linguagem dos Bancos de Dados Palavras-chave Linguagem de Definição de Dados e Linguagem de Manipulação de Dados Declarações e consultas Cláusulas, Predicados e Expressões Funções e procedimentos Conclusão Trabalhar com bancos de dados pode parecer assustador para uma pessoa não-técnica. Imediatamente, você é bombardeado com novos termos que fazem sua cabeça girar. Banco de dados, instância de banco de dados, tabela, SQL e outros são alguns dos termos básicos que você precisa entender apenas para ter uma conversa normal com seus colegas técnicos. Neste artigo, vamos explorar algumas terminologias básicas do banco de dados SQL que você precisa saber para ter sucesso. Imagine que você está participando de uma reunião com a equipe de desenvolvimento e de repente sente como se estivesse ouvindo ruído branco. Você entende o que é um "arquivo", mas todos esses outros termos que seus colegas estão jogando em você são incompreensíveis. Não se preocupe, nós o protegemos. To start things off, visualize a large office building teeming with activity. Let’s say it’s owned by a fictitious company called SQL Inc. This company’s building has standard architecture with doors, windows, elevators, etc. The building, with all its corporate life, will serve as our analogy for a database to simplify explaining SQL terminology. Noções básicas do banco de dados Sistemas de gerenciamento de banco de dados Vamos começar com a terminologia SQL básica. SQL Inc. tem muitos edifícios (bancos de dados) do mesmo tipo espalhados ao redor do mundo. E quando você vê um desses edifícios, você sabe que ele é gerenciado pela SQL Inc. O mesmo vale para os sistemas de gerenciamento de banco de dados (SGBD). Como o nome sugere, estes sistemas administram bancos de dados! Há muitos deles, e eles variam de grandes players do mercado como Oracle, Microsoft SQL Server e IBM DB2 a outros como MySQL, PostgreSQL, e assim por diante. Os maiores SGBDs são utilizados principalmente por grandes corporações que precisam do suporte e das características que as ferramentas de nível empresarial oferecem. Os outros são utilizados em empresas menores e projetos de código aberto. Transações de banco de dados Há muitos termos SQL conectados com bancos de dados. Outro é uma transação de banco de dados. Simplificando, o trabalho de um banco de dados é criar, ler, atualizar e excluir dados. Em nosso edifício SQL Inc., isto é análogo a gerenciar papéis corporativos que você preenche, lê, corrige e descarta. Assim como existe exatamente uma versão relevante de um determinado documento na organização, existe apenas uma versão relevante e verdadeira de dados em um banco de dados (por exemplo, que existe apenas uma versão de um manifesto de funcionário que é replicada muitas vezes dentro de um edifício da SQL Inc.). Os bancos de dados garantem que haja apenas uma versão relevante dos dados através de transações. Quando o poder sai em nosso prédio, todo o trabalho é salvo em papel. Quando a energia é desligada em um banco de dados de trabalho, o modelo transacional do banco de dados assegura que, quando ele é ligado, o banco de dados pode voltar a um estado estável anterior. Arquivos do banco de dados No final de um dia de trabalho atarefado, todos vão para casa, e nosso prédio permanece vazio. Mas o trabalho real que o pessoal gerou durante o dia não é perdido - ele é arquivado em lugares diferentes ao longo do edifício. O mesmo se aplica ao nosso banco de dados. Se tirarmos nosso banco de dados do ar, um termo que usamos para o desligamento regular do sistema, os dados ainda estarão seguros em nossos arquivos de banco de dados. Instância da base de dados Nosso pessoal está ocupado no trabalho durante o dia, trocando e criando papéis. Seu fluxo de trabalho é fluido e ativo; muitos funcionários completam diferentes tarefas ao longo do dia. Este fluxo de trabalho só está "vivo" durante as horas de trabalho, e é o único processo que pode mudar os documentos armazenados em nosso edifício. Da mesma forma, a coleta de processos que gerenciam os arquivos em um banco de dados, e portanto o próprio banco de dados, forma uma instância de banco de dados. Em termos mais técnicos, uma instância de banco de dados é uma coleção de processos e estruturas de memória temporária que permitem que o sistema de banco de dados funcione. Servidor e Cliente de Banco de Dados Um prédio da SQL Inc. consolida seus arquivos e os envia para serem vistos por pessoas de fora da organização do prédio. Diversas partes externas, empresas e outras entidades recebem arquivos em papel de nosso prédio. Desta forma, nosso prédio interage com o mundo empresarial externo. Da mesma forma, um banco de dados tem um servidor que se comunica com o cliente externo. Normalmente temos um servidor de banco de dados (um edifício SQL Inc.), em algum local, e muitos clientes de banco de dados, as partes externas, que interagem com o banco de dados de diversas maneiras. O cliente pode, e normalmente manipula os dados no banco de dados comunicando-se com o servidor. É preciso lembrar que a SQL Inc. tem muitos edifícios ao redor do mundo, e por analogia, um fornecedor de banco de dados também tem muitos bancos de dados (com servidores e clientes). Para entender melhor a terminologia do banco de dados SQL, leia mais sobre servidor de banco de dados e cliente de banco de dados aqui. Linguagem de Consulta Estruturada, a Linguagem dos Bancos de Dados Vamos passar para o núcleo da terminologia SQL. A comunicação corporativa precisa ser direta e sem ambigüidade. Ela tem regras próprias - alguém pode até chamá-la de uma linguagem! A divisão corporativa se comunica com o mundo externo nesta linguagem de negócios. A linguagem que usamos para comunicar com um banco de dados é chamada SQL, que significa Structured Query Language (Linguagem Estruturada de Consulta). Esta linguagem é muito mais simples do que o inglês. O banco de dados sabe exatamente o que precisa fazer com os dados quando recebe um comando em SQL, assim como nossa divisão sabe o que precisa fazer quando recebe seus pedidos da gerência central. Palavras-chave A linguagem empresarial de uma organização segue certas regras ou padrões comuns. Da mesma forma, SQL tem um conjunto de palavras reservadas. Estas palavras devem ser usadas de uma certa maneira; não podem ser usadas para nomear objetos no banco de dados. Chamamos estas palavras de palavras-chave. Exemplos de palavras-chave SQL são CREATE, INSERT, GRANT, DELETE, UPDATE, , SELECT, etc. Linguagem de Definição de Dados e Linguagem de Manipulação de Dados Quando a divisão central precisa implementar um novo tipo de arquivo como um modelo, ela envia este modelo para todas as divisões corporativas. Da mesma forma, quando precisamos definir a estrutura de novos objetos de banco de dados (como uma nova tabela), emitimos uma declaração DDL (linguagem de definição de dados). Para preencher os modelos com dados corporativos reais, a divisão central envia um novo conjunto de pedidos. Este processo de alteração dos dados preenchidos em planilhas é um subconjunto de SQL chamado DML (linguagem de manipulação de dados). Nossos dados de banco de dados são representados em forma de tabela. Vemos nossos dados de banco de dados como tabelas com linhas e colunas. As tabelas representam determinadas entidades, como sales, em nosso prédio. Estas sales têm certos atributos, tais como data de venda, quantidade e número de venda. Estes atributos representam as colunas de nossas tabelas, enquanto as linhas representam diferentes vendas. Pode haver muitas tabelas diferentes em um banco de dados, e elas se relacionam umas com as outras, como sales e items_sold. Esta relação é a razão pela qual as bases de dados tradicionais são chamadas bases de dados relacionais. Vejamos um exemplo. Com uma declaração DDL, criamos uma tabela de vendas: CREATE TABLE sales ( id NUMBER, amount NUMBER, sales_date DATE ); Preenchemos a tabela com algumas vendas usando DML: INSERT INTO TABLE sales (id, amount, sales_date) VALUES (1,100,’2018-01-10); INSERT INTO TABLE sales (id, amount, sales_date) VALUES (2,500,’2018-02-10); INSERT INTO TABLE sales (id, amount, sales_date) VALUES (3,250,’2018-03-10); Para recuperar estes dados da tabela, emitimos uma consulta SELECT (parte da DML): SELECT id, amount, sales_date; Declarações e consultas Mais termos SQL a conhecer? Você provavelmente está se perguntando por que algumas instruções para bancos de dados são chamadas de declarações e algumas consultas. É simples. Uma consulta pede a um banco de dados para retornar dados de alguma forma. Esta consulta de dados é normalmente o trabalho mais importante que um banco de dados faz para um usuário. Por outro lado, uma declaração é uma instrução genérica para o banco de dados. Isto inclui criar e soltar tabelas, inserir e apagar dados, etc. Portanto, podemos concluir que todas as consultas são declarações e nem todas as declarações são consultas. Cláusulas, Predicados e Expressões Vejamos nosso exemplo das declarações SELECT acima. Se quiséssemos ver apenas as vendas a partir de10 de janeiro, expandiríamos nossa consulta dessa forma: SELECT id, amount, date_time WHERE date_time = ‘2018-01-10’; A parte WHERE de nossa declaração representa uma cláusula SQL opcional. As instruções SQL são construídas a partir de cláusulas opcionais e obrigatórias, assim como as frases do idioma inglês. Cláusulas são palavras-chave em SQL que permitem solicitar uma determinada ação com base em alguma condição que deve ser satisfeita. Em nossa cláusula WHERE, estas condições são perguntas que fazemos ao banco de dados. Por exemplo, a data de venda é10 de janeiro de ? Esta pergunta ou é verdadeira ou falsa. Nós chamamos esta pergunta (condição) de um predicado. O tipo de pergunta que fazemos é uma expressão. Em nosso exemplo, o predicado é do tipo igualdade, porque estamos perguntando se a data é igual a um certo valor. Se, em vez disso, perguntássemos todas as datas após10 de janeiro, teríamos uma expressão de comparação como o predicado da cláusula WHERE na pergunta. Funções e procedimentos Os últimos termos SQL essenciais a conhecer em nossa lista são funções e procedimentos. Digamos que a administração da SQL Inc. atribua alguma tarefa repetitiva para o pessoal de nosso prédio completar. Por exemplo: tome este relatório; arquivá-lo com outro edifício; e me diga quanto tempo levou. Seria mais eficiente se a direção simplesmente dissesse à divisão para executar este processo com um único comando. Em bancos de dados, os processos que podem ser repetidos quantas vezes forem necessárias são chamados de funções ou procedimentos. As funções sempre retornam algum resultado de sua execução. Em nosso exemplo, a função file_report retorna o tempo que levou para executar esta tarefa. Em contraste, os procedimentos não retornam nenhum valor - eles simplesmente fazem o que lhes é dito. Conclusão Este artigo apresentou uma breve visão geral dos termos SQL mais utilizados no mundo do banco de dados. Abordamos os conceitos básicos de arquivos de arquitetura de banco de dados, instâncias de banco de dados, transações e comunicação cliente-servidor. SQL é também uma linguagem muito poderosa e abrangente que usamos para nos comunicarmos com bancos de dados. Também cobrimos termos SQL para conhecer tópicos como DML, DDL, declarações, palavras-chave, consultas e cláusulas. É claro, conhecer a terminologia do banco de dados SQL é apenas a metade da batalha. A outra metade é aplicá-las. Como uma linguagem de programação da quarta geração, SQL é incrivelmente fácil e divertido de aprender. Quer você esteja apenas começando ou tenha algum conhecimento introdutório, uma excelente maneira de aprender SQL é através de nossa linguagem de programação SQL totalmente interativa. SQL para Iniciantes curso na plataforma LearnSQL.com.br. Tente! Tags: extras como fazer em sql noções básicas de sql