Prévia do material em texto
Guias Banco de Dados Guia Completo de SQL Introdução A linguagem SQL é o recurso mais conhecido por DBAs e programadores para a execução de comandos em bancos de dados relacionais. É por meio dela que criamos tabelas, colunas, índices, atribuímos permissões a usuários, bem como realizamos consultas a dados. En�m, é utilizando a SQL que “conversamos” com o banco de dados. Guia Completo de SQL Neste Guia Completo de SQL você encontrará todo o conteúdo que precisa para aprender sobre a SQL, linguagem de consulta estruturada utilizada por programadores e DBAs para a execução de consultas e comandos nos principais SGBDs do mercado. Quer ter acesso a todos os cursos desse Guia? 250 http://www.devmedia.com.br/guias/ https://www.devmedia.com.br/guias/banco-de-dados https://www.devmedia.com.br/ Essa breve descrição já deixa clara a importância da compreensão e domínio sobre tal recurso. Saiba, também, que ela facilita não apenas a execução de tarefas em SGBDs, mas também o diálogo entre pro�ssionais de banco de dados e programadores. Com base nisso, aprender sobre SQL, a Structured Query Language, passa a ser fundamental para qualquer um que deseja atuar nessas áreas. Primeiros passos Após conhecer a SQL é natural nos interessarmos por vê-la na prática, executar os primeiros comandos, as primeiras consultas (queries), mesmo em um banco de dados de exemplo fornecido pelo Sistema Gerenciador de Banco de dados. Mas, por onde começar exatamente? Onde executar esses comandos? Eu preciso aprender SQL? DevCast 250 https://www.devmedia.com.br/eu-preciso-aprender-sql/40101 https://www.devmedia.com.br/ Para responder a essas questões, con�gurar o ambiente, criar a primeira tabela, inserir dados, assim como executar algumas consultas, preparamos o curso: Além desse curso, também indicamos os posts a seguir, que apresentam, de forma objetiva, os principais recursos dessa linguagem: Organização da SQL Curso de SQL Curso Artigo SQL Básico Artigo SQL Avançado 250 https://www.devmedia.com.br/curso/curso-de-sql/1895 https://www.devmedia.com.br/sql-basico/28877 https://www.devmedia.com.br/sql-avancado/28889 https://www.devmedia.com.br/ No curso acima você deve ter notado que a linguagem SQL é organizada em subconjuntos, cada um com propósitos bem de�nidos (Figura 1): DQL - Linguagem de Consulta de Dados - De�ne o comando utilizado para que possamos consultar (SELECT) os dados armazenados no banco; DML - Linguagem de Manipulação de Dados - De�ne os comandos utilizados para manipulação de dados no banco (INSERT, UPDATE e DELETE); DDL - Linguagem de De�nição de Dados - De�ne os comandos utilizados para criação (CREATE) de tabelas, views, índices, atualização dessas estruturas (ALTER), assim como a remoção (DROP); DCL - Linguagem de Controle de Dados - De�ne os comandos utilizados para controlar o acesso aos dados do banco, adicionando (GRANT) e removendo (REVOKE) permissões de acesso; DTL - Linguagem de Transação de Dados - De�ne os comandos utilizados para gerenciar as transações executadas no banco de dados, como iniciar (BEGIN) uma transação, 250 https://www.devmedia.com.br/ con�rmá-la (COMMIT) ou desfazê-la (ROLLBACK). Figura 1.Subdivisões da linguagem SQL Para entendermos melhor, no artigo a seguir vemos uma introdução a linguagem e alguns exemplos dessa subdivisão. Além disso, a partir deste ponto, tomaremos essa subdivisão da SQL para organizar o guia. SQL DQL - Data Query Language Artigo Introdução a linguagem SQL 250 https://www.devmedia.com.br/introducao-a-linguagem-sql/40690 https://www.devmedia.com.br/ Como você já pode notar e veri�cará ao longo da sua carreira, uma das tarefas mais corriqueiras em bancos de dados é a execução de queries. Portanto, saber criá-las da melhor maneira é muito importante para o desempenho do banco e de aplicações que dele dependam. Neste momento, de primeiros passos, você não precisa se preocupar tanto com isso, mas recomendamos que pense sobre esse assunto a cada novo recurso relacionado a consultas que estudar. O curso abaixo lhe ensinará a criar consultas em SQL, a utilizar o comando SELECT. Conheceremos, assim, alguns dos principais recursos, por exemplo: ordenação de registros, funções de agregação, junções, entre outros. Introdução prática ao comando SQL SELECT Curso 250 https://www.devmedia.com.br/curso/comando-sql-select/2199 https://www.devmedia.com.br/curso/curso-de-sql-comando-select/1902 https://www.devmedia.com.br/ Além desse curso, preparamos mais alguns posts com o intuito de explorar todos os recursos relacionados a consultas em SQL: Avançando no comando SQL Select Curso Artigo SQL Select: Guia para Iniciantes Artigo SQL Select: Entendendo a instrução SELECT Artigo Linguagem SQL: ORDER BY Artigo Linguagem SQL: Extraindo informação de qualidade com SQL SELECT TOP á i 250 https://www.devmedia.com.br/curso/curso-de-sql-comando-select/1902 https://www.devmedia.com.br/sql-select-guia-para-iniciantes/29530 https://www.devmedia.com.br/sql-select-entendendo-a-instrucao-select/32250 https://www.devmedia.com.br/linguagem-sql-order-by/40732 https://www.devmedia.com.br/linguagem-sql-extraindo-informacao-de-qualidade-com-sql/31396 https://www.devmedia.com.br/select-top-em-varios-sgbds/25560 https://www.devmedia.com.br/ Para elaborar queries mais especí�cas, �ltrando os dados retornados, assim como fazer cálculos ou veri�cações de maior ou menor valor, por exemplo, a SQL também nos fornece boas opções. Artigo SELECT TOP em vários SGBDs Curso Linguagem SQL: Seleção Múltiplas tabelas Novo! WHERE Documentação Funções de agregação Documentação 250 https://www.devmedia.com.br/select-top-em-varios-sgbds/25560 https://www.devmedia.com.br/curso/linguagem-sql-selecao-multiplas-tabelas/2348 https://www.devmedia.com.br/sql-where/37645 https://www.devmedia.com.br/sql-funcoes-de-agregacao/38463 https://www.devmedia.com.br/ Além das ferramentas mencionados até aqui, temos ainda outras muito importantes e que in�uenciam diretamente no tempo da consulta. Portanto, saber utilizá-las é de grande valor para um bom pro�ssional. JOIN Subqueries Artigo Entendendo a instrução JOIN Artigo SQL Join: Entenda como funciona o retorno dos dados Artigo Merge join cartesian: Uma possível causa de mau desempenho Artigo Oracle Database: Entendendo o conceito de Join e Outer Join 250 https://www.devmedia.com.br/sql-funcoes-de-agregacao/38463 https://www.devmedia.com.br/entendendo-a-instrucao-join/32936 https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006 https://www.devmedia.com.br/merge-join-cartesian-uma-possivel-causa-de-mau-desempenho/37697 https://www.devmedia.com.br/oracle-database-entendendo-o-conceito-de-join-e-outer-join/31398 https://www.devmedia.com.br/ Uma subconsulta (mais conhecida como SUBQUERY ou SUBSELECT) é uma instrução do tipo SELECT dentro de outra instrução SQL. Por serem muito utilizadas em substituição ao JOIN, quando este não atende, seu domínio pelo programador é fundamental. Aprenda! Um bate papo sobre Subqueries DevCast Trabalhado com subqueries Artigo 250 https://www.devmedia.com.br/um-bate-papo-sobre-subqueries/40157 https://www.devmedia.com.br/trabalhado-com-subqueries/40134 https://www.devmedia.com.br/subqueries-questoes-de-concurso-resolvidas/40159 https://www.devmedia.com.br/ UNION SQL DML - Data Manipulation Language Subqueries: questões de concurso resolvidas Artigo Avançando com Subqueries Curso Artigo Produto cartesiano e UNION no Oracle Artigo SQL: Utilizando o Operador UNION e UNION ALL 250 https://www.devmedia.com.br/subqueries-questoes-de-concurso-resolvidas/40159 https://www.devmedia.com.br/curso/curso-subqueries/2231 https://www.devmedia.com.br/produto-cartesiano-e-union-no-oracle/24590 https://www.devmedia.com.br/sql-utilizando-o-operador-union-e-union-all/37457 https://www.devmedia.com.br/ Para a manipulação de dados no banco, temos como comandos da linguagem SQLo INSERT, UPDATE e DELETE, os quais inserem, atualizam e removem dados, respectivamente. Vejamos, nos posts a seguir, como utilizá-los: Um banco de dados pode armazenar preços, datas e muitas outras informações relevantes para o negócio. Uma vez que o menor fragmento de dado pode in�uenciar uma decisão, por que excluí-los? Assista aqui um bate papo sobre o uso do comando delete.” Artigo Principais instruções em SQL Artigo Comandos básicos em SQL - insert, update, delete e select Como você tem usado o comando delete? DevCast 250 https://www.devmedia.com.br/principais-instrucoes-em-sql/37262 https://www.devmedia.com.br/comandos-basicos-em-sql-insert-update-delete-e-select/37170 https://www.devmedia.com.br/como-voce-tem-usado-o-comando-delete/39740 https://www.devmedia.com.br/ SQL DDL - Data De�nition Language Uma tarefa indispensável, porém realizada com menos frequência, é criar o banco de dados. Em seguida, é natural a criação das tabelas a ele relacionadas. Para isso, lidamos com os comandos CREATE DATABASE e CREATE TABLE da SQL, os quais serão presentados nos posts a seguir, organizados de acordo com o SGBD: SQL Server Artigo User De�ned Functions: Trabalhando com SQL UDFs Artigo Criando banco de dados e tabelas no SQL Server Artigo Criando tabelas usando o SQL Server Management Studio Criando 250 https://www.devmedia.com.br/como-voce-tem-usado-o-comando-delete/39740 https://www.devmedia.com.br/user-defined-functions-trabalhando-com-sql-udfs/30666 https://www.devmedia.com.br/criando-banco-de-dados-e-tabelas-no-sql-server/24299 https://www.devmedia.com.br/criando-tabelas-usando-o-sql-server-management-studio/17425 https://www.devmedia.com.br/criando-relacionamentos-entre-tabelas-database-diagrams-sql-server/24453 https://www.devmedia.com.br/ Oracle MySQL PostgreSQL Artigo relacionamentos entre tabelas: Database Diagrams - SQL Server Artigo Criando banco e tabelas - Garantindo a integridade dos dados Artigo Criando e Alterando Tabelas no Oracle Artigo Utilizando a instrução ALTER TABLE no Oracle Artigo Introdução ao MySQL Artigo Introdução ao PostgreSQL 250 https://www.devmedia.com.br/criando-relacionamentos-entre-tabelas-database-diagrams-sql-server/24453 https://www.devmedia.com.br/criando-banco-e-tabelas-garantindo-a-integridade-dos-dados/24426 https://www.devmedia.com.br/criando-e-alterando-tabelas-no-oracle/24641 https://www.devmedia.com.br/utilizando-a-instrucao-alter-table-no-oracle/25186 https://www.devmedia.com.br/introducao-ao-mysql/28438 https://www.devmedia.com.br/introducao-ao-postgresql/33025 https://www.devmedia.com.br/ Ao criar a primeira tabela, logo estaremos em contato com o conceito de chave primária. Esse é um campo obrigatório e representa o identi�cador único de cada registro presente em uma tabela. E quando temos mais de uma tabela e precisamos estabelecer um relacionamento entre elas, vamos nos deparar com o conceito de chave estrangeira. Para aprender sobre as chaves primária e estrangeira, acesse: Índices Artigo Trabalhando com tabelas no Oracle, MySQL e SQL Server Artigo SQL: Aprenda a usar a chave primária e a estrangeira Artigo SQL Server: Boas práticas com chaves 250 https://www.devmedia.com.br/introducao-ao-postgresql/33025 https://www.devmedia.com.br/trabalhando-com-tabelas-no-oracle-mysql-e-sql-server/31622 https://www.devmedia.com.br/sql-aprenda-a-utilizar-a-chave-primaria-e-a-chave-estrangeira/37636 https://www.devmedia.com.br/sql-server-boas-praticas-com-chaves/30023 https://www.devmedia.com.br/ Um índice é um recurso muito importante quando o assunto é banco de dados. De forma simples, podemos descrevê-lo como uma estrutura que visa reduzir o tempo gasto com consultas ao banco, facilitando a busca pelos registros desejados. Para simpli�car a compreensão do que é um índice, façamos um paralelo. Considere dois livros: um com um índice e outro sem. Em qual deles você terá mais facilidade e gastará menos tempo para encontrar o assunto que deseja. Do mesmo modo, isso acontece com as tabelas de um banco de dados. Para aprender sobre índices, como criá-los com a linguagem SQL (DDL), entre outros assuntos relacionados, acesse os posts abaixo: Artigo Melhoria de desempenho utilizando estatísticas e índices Artigo Índices no SQL Server Artigo Dominando os índices columnstore 250 https://www.devmedia.com.br/melhoria-de-desempenho-utilizando-estatisticas-e-indices/32631 https://www.devmedia.com.br/indices-no-sql-server/18353 https://www.devmedia.com.br/dominando-os-indices-columnstore/33624 https://www.devmedia.com.br/ Com o intuito de atender a diferentes cenários, existem diferentes tipos de índices. Um dos mais recentes e que tem sido bastante utilizado para aprimorar buscas textuais são os índices Full Text. Conheça alguns dos tipos de índices nos posts a seguir: Curso Full text Search no SQL Server: Buscas Textuais Artigo Índices Clusterizados e não clusterizados no SQL Server Artigo Índices colunares no SQL Server Artigo Desvendando o SQL Server Columnstore Index Artigo SQL Server 2012 ColumnStore Index Otimizando consultas l ili d 250 https://www.devmedia.com.br/curso/full-text-search-no-sql-server-buscas-textuais/1934 https://www.devmedia.com.br/indices-clusterizados-e-nao-clusterizados-no-sql-server/30288 https://www.devmedia.com.br/indices-colunares-no-sql-server-2012/26843 https://www.devmedia.com.br/desvendando-o-sql-server-columnstore-index/33484 https://www.devmedia.com.br/sql-server-2012-columnstore-index/29743 https://www.devmedia.com.br/otimizando-consultas-no-oracle-utilizando-indices/27710 https://www.devmedia.com.br/ Saiba, também, que os índices devem ser utilizados com moderação. Em excesso, provavelmente mais prejudicarão do que ajudarão no desempenho como um todo. Voltando à analogia feita com o livro. Imagine se uma editora optasse por entregar esse livro com dois ou três tipos diferentes de índices. Quão trabalhoso seria para ela, a editora, manter esses índices atualizados a cada mudança no livro. Agora, imagine esse cenário em um banco de dados que é atualizado diariamente... No post abaixo, aprenda sobre algumas boas práticas para trabalhar com índices: Para encerrar esta seção, observe o índice localizado à direita nesta página. Quanto tempo você levaria para encontrar os conteúdos sobre Data Query Artigo no Oracle utilizando índices Artigo Trabalhando com Índices no PostgreSQL Artigo Melhores práticas para se trabalhar com índices 250 https://www.devmedia.com.br/otimizando-consultas-no-oracle-utilizando-indices/27710 https://www.devmedia.com.br/trabalhando-com-indices-no-postgresql/34028 https://www.devmedia.com.br/melhores-praticas-para-se-trabalhar-com-indices/33877 https://www.devmedia.com.br/ Language sem esse recurso? Índices são fundamentais para um bom desempenho em qualquer cenário que envolva uma grande quantidade de dados. Portanto, saber como trabalhar com eles é, também, fundamental, para o sucesso da sua carreira como DBA. Views Uma view é de�nida por muitos como uma "tabela virtual" que agrupa os dados desejados selecionados a partir de alguma consulta. Normalmente criamos views para facilitar a manipulação dos dados, pois com elas podemos inserir em uma "tabela", isto é, em uma visão, os dados que são necessários para algum tipo de processamento, reduzindo a complexidade na construção de consultas e, ao mesmo tempo, protegendo dados. Para se aprofundar neste assunto, acesse os posts abaixo: Artigo Introdução a Views 250 https://www.devmedia.com.br/introducao-a-views/1614 https://www.devmedia.com.br/ SQL Server Oracle Artigo T-SQL e a utilização de Views Artigo Conceitos e criação de views no SQL Server Artigo Views de gerenciamento dinâmico (DMV) no SQL Server Artigo SQL Server: Turbine suas queries com indexed views Artigo Criando Visões (Views) no Oracle Artigo Oracle Materialized Views: Gerenciando em standby lógicos no Oracle 250 https://www.devmedia.com.br/t-sql-e-a-utilizacao-de-views/31008https://www.devmedia.com.br/conceitos-e-criacao-de-views-no-sql-server/22390 https://www.devmedia.com.br/views-de-gerenciamento-dinamico-dmv-no-sql-server/27488 https://www.devmedia.com.br/artigo-sql-magazine-7-sql-server-turbine-suas-queries-com-indexed-views/7473 https://www.devmedia.com.br/criando-visoes-views-no-oracle/1945 https://www.devmedia.com.br/oracle-materialized-views-gerenciando-em-standby-logicos-no-oracle/32098 https://www.devmedia.com.br/ MySQL PostgreSQL SQL Procedural A manipulação de dados armazenados em um banco de dados vai muito além das operações básicas de inserção, consulta e remoção. A administração do banco, por sua vez, também não se limita a criar tabelas e seus relacionamentos, bem como a execução de backups e tarefas relacionadas. Ao avançar os estudos na área de banco de dados logo veri�camos que o conjunto de comandos disponibilizado pela Structured Query Language, ou SQL, tem uma proposta muito bem delineada, mas não atende a todas as necessidades relacionadas a esse contexto, ao artefato que torna organizado e Artigo MYSQL – Trabalhando com Views Artigo Como funcionam as Views no PostgreSQL 250 https://www.devmedia.com.br/mysql-trabalhando-com-views-parte-01/8724 https://www.devmedia.com.br/como-funcionam-as-views-no-postgresql/33808 https://www.devmedia.com.br/ acessível um dos principais ativos de qualquer corporação, seus dados. Diante disso, é comum que os principais players de banco de dados, a exemplo da Microso� e da Oracle, oferecem extensões à tão respeitada linguagem de consulta. A Microso�, com a T-SQL, e a Oracle, com a PL/SQL, fornecem, aos pro�ssionais de banco de dados, um rico conjunto de recursos que possibilitam a criação dos mais especí�cos procedimentos para atender às demandas de qualquer tipo de aplicação. Com elas, torna-se possível não apenas a manipulação dos dados, mas também o processamento dos mesmos, declarando, para isso, variáveis, estruturas de condição, repetição, procedimentos, funções, entre outros recursos. Para cobrir esse assunto, essas extensões, categorizadas como Linguagens Procedurais, preparamos os tópicos a seguir. Neles você encontrará todo o conteúdo de referência, já publicado na DevMedia, para aprender, principalmente, sobre Transact-SQL e Procedural Language/SQL. 250 https://www.devmedia.com.br/ Transact-SQL - T-SQL A SQL é a linguagem padrão para lidarmos com bancos de dados. No entanto, alguns SGBDs optaram por criar variações dessa para prover novas funcionalidades ou aprimorar recursos oferecidos pela Structured Query Language. A T-SQL, por exemplo, foi criada pela Microso� em conjunto com a Sybase. Nesta seção reunimos alguns posts que apresentam recursos da linguagem T-SQL. Recursos básicos Artigo Introdução ao T-SQL Artigo Trabalhando com a linguagem T-SQL Artigo Transact-SQL Artigo T-SQL no SQL Server 2012 N id d 250 https://www.devmedia.com.br/introducao-ao-t-sql-easy-net-magazine-4/17996 https://www.devmedia.com.br/trabalhando-com-a-linguagem-t-sql/38126 https://www.devmedia.com.br/transact-sql/17682 https://www.devmedia.com.br/t-sql-no-sql-server-2012-novidades/23804 https://www.devmedia.com.br/ Subqueries 2012: Novidades Artigo Novos recursos na T- SQL e no uso de índices no SQL Server 2012 Artigo Transact-SQL: T-SQL e a cláusula TOP Artigo Trabalhando com expressões CASE e a Função IIF no T-SQL Artigo Trabalhando com Whiles e IFs no T-SQL Artigo Dynamic T-SQL: Trabalhando com operadores de concatenação(shortcodes) Artigo Carregando o conteúdo de arquivos XML em tabelas do SQL Server com T-SQL 250 https://www.devmedia.com.br/t-sql-no-sql-server-2012-novidades/23804 https://www.devmedia.com.br/novos-recursos-na-t-sql-e-no-uso-de-indices-no-sql-server-2012-revista-sql-magazine-105/26329 https://www.devmedia.com.br/transact-sql-t-sql-e-a-clausula-top/30888 https://www.devmedia.com.br/trabalhando-com-expressoes-case-e-a-funcao-iif-no-t-sql/31292 https://www.devmedia.com.br/trabalhando-com-whiles-e-ifs-no-t-sql/31372 https://www.devmedia.com.br/dynamic-t-sql-trabalhando-com-operadores-de-concatenacao-shortcodes/31611 https://www.devmedia.com.br/carregando-o-conteudo-de-arquivos-xml-em-tabelas-do-sql-server-com-t-sql/28183 https://www.devmedia.com.br/t-sql-subqueries-onde-e-quando-utilizar/32072 https://www.devmedia.com.br/ Tabelas temporárias Boas práticas Artigo T-SQL Subqueries: Onde e quando utilizar Artigo Transact-SQL: Utilizando Subconsultas no T-SQL Artigo T-SQL e a utilização de Subconsultas correlacionadas Artigo T-SQL e a utilização de tabelas temporárias Artigo T-SQL: Aumentando a e�ciência do código Artigo T-SQL: análises e otimizações de CPU 250 https://www.devmedia.com.br/t-sql-subqueries-onde-e-quando-utilizar/32072 https://www.devmedia.com.br/transact-sql-utilizando-subconsultas-no-t-sql/30933 https://www.devmedia.com.br/t-sql-e-a-utilizacao-de-subconsultas-correlacionadas/30984 https://www.devmedia.com.br/t-sql-e-a-utilizacao-de-tabelas-temporarias/31131 https://www.devmedia.com.br/t-sql-aumentando-a-eficiencia-do-codigo/30913 https://www.devmedia.com.br/t-sql-analises-e-otimizacoes-de-cpu/37698 https://www.devmedia.com.br/boas-praticas-com-t-sql-manipulando-datas/14015 https://www.devmedia.com.br/ PL/SQL Além da T-SQL, outra opção bastante conhecida é a PL/SQL, ou Procedural Language/Structured Query Language. Criada pela Oracle, essa linguagem também oferece diferentes recursos para lidarmos com bancos de dados dessa empresa, assim como elaborar procedimentos que processarão dados para outras soluções Oracle. Abaixo, listamos um curso e alguns posts relacionados: Artigo Boas práticas com T- SQL – Manipulando Datas Curso PL/SQL Oracle Artigo Conhecendo o PL/SQL Artigo PL/SQL Placeholders: Como de�nir o tipo de dados 250 https://www.devmedia.com.br/boas-praticas-com-t-sql-manipulando-datas/14015 https://www.devmedia.com.br/curso/pl-sql-oracle/148 https://www.devmedia.com.br/conhecendo-o-pl-sql/24763 https://www.devmedia.com.br/pl-sql-placeholders-como-definir-o-tipo-de-dados/29817 https://www.devmedia.com.br/pl-sql-tipos-de-dados-escalar-e-lob/29824 https://www.devmedia.com.br/ Assim como em qualquer linguagem, o tratamento de exceções também recebeu atenção especial da Oracle. Para aprender sobre o tratamento de exceções com a PL/SQL, acesse: Artigo PL/SQL: Tipos de dados Escalar e LOB Artigo Como criar scripts DDL com PL/SQL: Conceitos e aplicações práticas Artigo Trabalhando com Packages PL/SQL Artigo PL/SQL Collections Artigo Oracle PLSQL: Cursores Artigo Tratamento de Exceções de Sistema na linguagem PL/SQL Recursos Avançados 250 https://www.devmedia.com.br/pl-sql-tipos-de-dados-escalar-e-lob/29824 https://www.devmedia.com.br/como-criar-scripts-ddl-com-pl-sql-conceitos-e-aplicacoes-praticas/33880 https://www.devmedia.com.br/trabalhando-com-packages-pl-sql/30194 https://www.devmedia.com.br/pl-sqlcollections/30646 https://www.devmedia.com.br/oracle-plsql-cursores/30914 https://www.devmedia.com.br/tratamento-de-excecoes-de-sistema-na-linguagem-pl-sql/26001 https://www.devmedia.com.br/recursos-avancados-para-o-tratamento-de-excecoes-na-linguagem-pl-sql/26057 https://www.devmedia.com.br/ Stored Procedures Um stored procedure, ou procedimento armazenado, é um recurso que permite a execução de lógica dentro do banco de dados, de forma semelhante a um método ou função no código de uma aplicação, mas escrito com a linguagem do banco de dados. Assim, ao invés de deixar toda a lógica na aplicação cliente, podemos trazer parte dela para o servidor de banco de dados, o que, em muitos casos, pode trazer ganhos de performance, ao evitar que dados precisem ser enviados pela rede para serem processados. A criação de stored procedures é de�nida pelo comando CREATE PROCEDURE e sua remoção, com o DROP PROCEDURE. Para aprender sobre este assunto, acesse: Artigo Recursos Avançados para o Tratamento de Exceções na Linguagem PL/SQL Artigo Como trabalhar com Stored Procedurese Cursores no Oracle, SQL Server e Firebird e PostgreSQL 250 https://www.devmedia.com.br/recursos-avancados-para-o-tratamento-de-excecoes-na-linguagem-pl-sql/26057 https://www.devmedia.com.br/como-trabalhar-com-stored-procedures-e-cursores-no-oracle-sql-server-e-firebird-e-postgresql/33023 https://www.devmedia.com.br/ Para se aprofundar em stored procedure, con�ra as publicações a seguir, organizadas de acordo com o banco de dados: SQL Server Artigo Vantagens da utilização de stored procedures em aplicativos web para melhoria de performance e segurança Artigo Introdução aos Stored Procedures no SQL Server Artigo Stored Procedures no SQL Server 2008 Artigo SQL Dinâmico com Stored Procedure Artigo Trabalhando com System Stored Procedures 250 https://www.devmedia.com.br/vantagens-da-utilizacao-de-stored-procedures-em-aplicativos-web-para-melhoria-de-performance-e-seguranca/14540 https://www.devmedia.com.br/introducao-aos-stored-procedures-no-sql-server/7904 https://www.devmedia.com.br/artigo-sql-magazine-74-stored-procedures-no-sql-server-2008/16470 https://www.devmedia.com.br/sql-dinamico-com-stored-procedure/10926 https://www.devmedia.com.br/trabalhando-com-system-stored-procedures-sql-magazine-79/18028 https://www.devmedia.com.br/algoritmo-de-roteamento-em-stored-procedure-no-sql-server-2005-sql-magazine-84/19067 https://www.devmedia.com.br/ Oracle Artigo Algoritmo de roteamento em stored procedure no SQL Server 2005 Artigo PL/SQL Functions e Procedures Artigo Stored Procedures, Functions e Packages em bancos de dados Oracle Artigo Estrutura - Stored Procedures em PL/SQL Artigo Criando Procedure - Stored Procedures em PL/SQL Artigo Parâmetro de entrada - Stored Procedures em PL/SQL Artigo Parâmetro de saída - Stored Procedures em PL/SQL 250 https://www.devmedia.com.br/algoritmo-de-roteamento-em-stored-procedure-no-sql-server-2005-sql-magazine-84/19067 https://www.devmedia.com.br/pl-sql-functions-e-procedures/29882 https://www.devmedia.com.br/stored-procedures-functions-e-packages-em-bancos-de-dados-oracle/25390 https://www.devmedia.com.br/estrutura-stored-procedures-em-pl-sql/24258 https://www.devmedia.com.br/criando-procedure-stored-procedures-em-pl-sql/24232 https://www.devmedia.com.br/parametro-de-entrada-stored-procedures-em-pl-sql/24300 https://www.devmedia.com.br/parametro-de-saida-stored-procedures-em-pl-sql/24321 https://www.devmedia.com.br/ MySQL PostgreSQL Firebird PL/SQL Artigo Stored Procedures no MySQL Artigo Utilizando Stored Procedures, Views e Triggers no MySQL Artigo MySQL Stored Procedures Artigo Trabalhando com Stored Procedures no PostgreSQL Artigo Usando Stored Procedures com Firebird e InterBase 250 https://www.devmedia.com.br/parametro-de-saida-stored-procedures-em-pl-sql/24321 https://www.devmedia.com.br/stored-procedures-no-mysql/29030 https://www.devmedia.com.br/utilizando-stored-procedures-views-e-triggers-no-mysql/16471 https://www.devmedia.com.br/advanced-series-mysql-stored-procedures/7301 https://www.devmedia.com.br/trabalhando-com-stored-procedures-no-postgresql/33354 https://www.devmedia.com.br/3-usando-stored-procedures-com-firebird-e-interbase/4838 https://www.devmedia.com.br/ Triggers Um trigger, ou gatilho, é um tipo de stored procedure que é chamado toda vez que um evento a ele relacionado acontece, por exemplo: a atualização de um dado no banco, a modi�cação da estrutura de uma tabela, entre outros. Assim, é comum utilizar triggers quando o objetivo é manter a consistência de dados ou fazer alguma auditoria, por exemplo. O uso desse recurso é observado em códigos de de�nição (DDL) e manipulação (DML) de dados. Para criar um trigger, iniciamos a declaração com o comando CREATE TRIGGER, e para remoção, DROP TRIGGER. Uma introdução mais detalhada sobre este assunto pode ser obtida nos posts: Artigo Introdução a Triggers Artigo Desvendando as Triggers D l d T i 250 https://www.devmedia.com.br/introducao-a-triggers/1695 https://www.devmedia.com.br/desvendando-as-triggers-revista-sql-magazine-98/24048 https://www.devmedia.com.br/desenvolvendo-triggers-em-sql-server-oracle-firebird-e-postgres/5625 https://www.devmedia.com.br/ Nas publicações abaixo, organizadas de acordo com o banco de dados, exploramos situações mais especí�cas, que podem atender às demandas do seu dia a dia. Con�ra: SQL Server Artigo Desenvolvendo Triggers em SQL Server, Oracle, Firebird e Postgres DevCast Você usa Triggers? Artigo Triggers no SQL Server: teoria e prática aplicada em uma situação real DevCast Update Triggers: Como proteger tabelas de SQL Injection Artigo Trabalhando com Trigger de Logon no SQL Server Artigo Usando CDC e Trigger em Auditorias no SQL Server 2008 250 https://www.devmedia.com.br/desenvolvendo-triggers-em-sql-server-oracle-firebird-e-postgres/5625 https://www.devmedia.com.br/voce-usa-triggers/38963 https://www.devmedia.com.br/triggers-no-sql-server-teoria-e-pratica-aplicada-em-uma-situacao-real/28194 https://www.devmedia.com.br/update-triggers-como-proteger-tabelas-de-sql-injection/37594 https://www.devmedia.com.br/triggers-no-sql-server-2008-sql-magazine-80/18182 https://www.devmedia.com.br/artigo-sql-magazine-73-usando-cdc-e-trigger-em-auditorias-no-sql-server-2008/16174 https://www.devmedia.com.br/ Oracle Firebird MySQL Server 2008 Artigo Triggers PL/SQL: saiba quando e por que usar Artigo Trabalhando com Triggers DML no Oracle Artigo SQL Triggers: É possível desabilitar uma trigger por usuário? Artigo Automação de Trigger de Auto Incremento: Oracle Artigo MySQL Básico: Triggers 250 https://www.devmedia.com.br/artigo-sql-magazine-73-usando-cdc-e-trigger-em-auditorias-no-sql-server-2008/16174 https://www.devmedia.com.br/triggers-pl-sql-saiba-quando-e-por-que-usar/30011 https://www.devmedia.com.br/trabalhando-com-triggers-dml-no-oracle/32329 https://www.devmedia.com.br/sql-triggers-e-possivel-desabilitar-uma-trigger-por-usuario/30491 https://www.devmedia.com.br/automacao-de-trigger-de-auto-incremento-oracle/23460 https://www.devmedia.com.br/mysql-basico-triggers/37462 https://www.devmedia.com.br/ PostgreSQL Firebird Desempenho e segurança Ao gerenciar bancos de dados estamos tratando de um recurso de grande importância a qualquer instituição: seus dados. Devemos, portanto, prezar Artigo MySQL – Triggers Artigo Implementando controle de estoque no MySQL com triggers e procedures Artigo Trabalhando com triggers no PostgreSQL Artigo Explorando Triggers no Firebird 250 https://www.devmedia.com.br/mysql-triggers/8088 https://www.devmedia.com.br/implementando-controle-de-estoque-no-mysql-com-triggers-e-procedures/26352 https://www.devmedia.com.br/trabalhando-com-triggers-no-postgresql/33531 https://www.devmedia.com.br/explorando-triggers-no-firebird/31516 https://www.devmedia.com.br/ pela segurança e pelo desempenho de acesso aos mesmos. Para tratar de desempenho, indicamos o post: Com relação à segurança, entre tantos assuntos, destacamos aqui, principalmente, o SQL Injection. Aprenda o que é e como evitar acessando os links abaixo: Artigo Otimização de Consultas SQL Artigo SQL Injection: o que é, por que funciona e como prevenir DevCast Evitando SQL Injection em Aplicações Web - Testes com SQLMAP Artigo SQL Injection em múltiplas plataformas Artigo Prevenindo SQL Injection 250 https://www.devmedia.com.br/otimizacao-de-consultas-sql/33485 https://www.devmedia.com.br/sql-injection-o-que-e-por-que-funciona-e-como-prevenir-sql-magazine-23/6102 https://www.devmedia.com.br/evitando-sql-injection-em-aplicacoes-web-testes-com-sqlmap/33560 https://www.devmedia.com.br/sql-injection-em-multiplas-plataformas/31389 https://www.devmedia.com.br/prevenindo-sql-injection/31059 https://www.devmedia.com.br/ Documentação Com o intuito de apoiar seu aprendizado sobre a linguagem SQL, elaboramos algumas documentações que você pode acessar para consulta rápida. Na documentação a seguir temos um apanhado dos principais tópicos da DML e da DQL: Nestes posts você aprenderánão apenas sobre a sintaxe dos comandos, mas também como utilizá-los da melhor maneira para obter o resultado desejado. Documentação SQL Projeto Documentação WHERE Documentação Funções de agregação 250 https://www.devmedia.com.br/exemplo/documentacao-sql/76 https://www.devmedia.com.br/sql-where/37645 https://www.devmedia.com.br/sql-funcoes-de-agregacao/38463 https://www.devmedia.com.br/ Conteúdo extra A qualidade do código não é uma preocupação exclusiva a programadores. Ao criar qualquer comando a ser executado no banco de dados também devemos levar em consideração essa questão. Lembre-se que esse código provavelmente passará por manutenção e essa tarefa pode ser atribuída a outras pessoas. Para lhe ajudar a escrever um código SQL mais fácil de ler e manter, recomendamos o post: Documentação JOIN Linguagem SQL: torne seu código SQL mais legível Artigo 250 https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006 https://www.devmedia.com.br/linguagem-sql-torne-seu-codigo-sql-mais-legivel/38062 https://www.devmedia.com.br/ Por �m, saiba que essa linguagem também é aplicada em diferentes contextos, não �cando restrita ao acesso a dados persistidos em bancos relacionais. Isso nos mostra que seu aprendizado é útil e aplicável a outros cenários, como pesquisa semântica em documentos ou mesmo consultas a bases de dados não relacionais. Mais sobre bancos de dados Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre bancos de dados, os quais você pode conferir nos Guias de Consulta abaixo: Artigo Utilizando a linguagem SQL em diferentes contextos Guia de Carreira Banco de dados para Programadores Guia Guia de consulta Modelagem de dadosGuia 250 https://www.devmedia.com.br/utilizando-a-linguagem-sql-em-diferentes-contextos/37696 https://www.devmedia.com.br/guia/banco-de-dados-para-programadores/37586 https://www.devmedia.com.br/guia/modelagem-de-dados/34654 https://www.devmedia.com.br/guia/sql-server/35720 https://www.devmedia.com.br/ Você também pode conferir todo o conteúdo de banco de dados clicando aqui. Guia de consulta SQL Server Guia Guia de Consulta MySQL Guia Guia de Consulta PostgreSQL Guia Guia de Consulta Oracle Guia Guia de Consulta NoSQL e MongoDBGuia Suporte ao aluno - Tire a sua dúvida. 250 https://www.devmedia.com.br/busca/?txtsearch=&tipo=0&site=37 https://www.devmedia.com.br/guia/sql-server/35720 https://www.devmedia.com.br/guia/mysql/34335 https://www.devmedia.com.br/guia/postgresql/34328 https://www.devmedia.com.br/guia/oracle/34365 https://www.devmedia.com.br/guia/nosql-e-mongodb/34482 https://www.devmedia.com.br/ Tecnologias Inicie agora sua carreira de programador por apenas R$49,90/mês Ainda está em dúvida? Experimente a plataforma durante 3 dias sem cartão. Faça um teste grátis BENEFÍCIOS Saiba mais Suporte em tempo real Certi�cado de autoridade Exercícios para praticar Estudo gami�cado Planos de estudo para cada carreira de programador 250 https://www.devmedia.com.br/tecnologia/ https://www.devmedia.com.br/pro/ https://www.devmedia.com.br/pro/ https://www.devmedia.com.br/ Exercicios Cursos Artigos Revistas Fale conosco Assinatura para empresas Assine agora Hospedagem web por Porta 80 Web Hosting 250 https://www.devmedia.com.br/tecnologia/novos-desafios/ https://www.devmedia.com.br/cursos/ https://www.devmedia.com.br/artigos/ https://www.devmedia.com.br/revistas/ https://www.devmedia.com.br/fale-conosco/ https://www.devmedia.com.br/empresarial/ https://www.devmedia.com.br/shop/ https://github.com/DevMedia https://www.facebook.com/devmedia.com.br/ http://twitter.com/devmedia https://www.instagram.com/devmedia.com.br/ https://www.youtube.com/c/DevmediaBrasil