<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Bancos de Dados - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/category/bancos-de-dados/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/category/bancos-de-dados/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Tue, 12 Mar 2024 17:35:19 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Conceitos de Bancos de Dados &#8211; O que é OLTP</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-oltp/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-oltp/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 03 Apr 2023 10:57:43 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[Modelagem de Dados]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=13727</guid>

					<description><![CDATA[<p>O que é OLTP em Bancos de Dados A sigla OLTP (Online Transaction Processing / Processamento de Transações Online) se refere a um tipo de aplicação de banco de dados que é projetada para processar transações em tempo real.Essas transações geralmente envolvem operações de inserção, atualização ou exclusão de pequenas quantidades de dados em um banco de dados. As aplicações OLTP geralmente são usadas em ambientes comerciais para executar transações de negócios diárias, como processamento de pedidos, gerenciamento de estoque, gerenciamento de contas e processamento de pagamentos. Essas transações geralmente envolvem interações entre muitos usuários simultaneamente e, portanto, devem ser processadas de maneira rápida e confiável. Os bancos de dados OLTP são projetados para suportar altas taxas de transações e muitas vezes incluem recursos como indexação, particionamento de tabelas e controle de concorrência para garantir que as transações sejam processadas com eficiência e precisão. Online Transaction Processing &#8211; OLTP Esses bancos de dados também são frequentemente otimizados para leitura/gravação e normalização de dados para minimizar o espaço de armazenamento e reduzir a redundância de dados. Exemplos de sistema OLTP Exemplos de sistemas que usam OLTP incluem: Bancos de dados de processamento de pedidos: Os varejistas on-line e as empresas que [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-oltp/">Conceitos de Bancos de Dados &#8211; O que é OLTP</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é OLTP em Bancos de Dados</h2>
<p>A sigla <strong>OLTP</strong> (<em>Online Transaction Processing</em> / Processamento de Transações Online) se refere a um tipo de aplicação de <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-sao-bancos-de-dados/">banco de dados</a> que é projetada para processar transações em tempo real.Essas transações geralmente envolvem operações de inserção, atualização ou exclusão de pequenas quantidades de dados em um banco de dados.</p>
<p>As aplicações OLTP geralmente são usadas em ambientes comerciais para executar transações de negócios diárias, como processamento de pedidos, gerenciamento de estoque, gerenciamento de contas e processamento de pagamentos.</p>
<p>Essas transações geralmente envolvem interações entre muitos usuários simultaneamente e, portanto, devem ser processadas de maneira rápida e confiável.</p>
<p>Os bancos de dados OLTP são projetados para suportar altas taxas de transações e muitas vezes incluem recursos como indexação, particionamento de tabelas e controle de concorrência para garantir que as transações sejam processadas com eficiência e precisão.</p>
<div id="attachment_19137" style="width: 360px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-19137" class="wp-image-19137" title="Online Transaction Processing - OLTP em bancos de dados relacionais" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/OLTP-bancos-de-dados.png" alt="Online Transaction Processing - OLTP em bancos de dados relacionais" width="350" height="350" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/OLTP-bancos-de-dados.png 500w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/OLTP-bancos-de-dados-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/04/OLTP-bancos-de-dados-420x420.png 420w" sizes="(max-width: 350px) 100vw, 350px" /><p id="caption-attachment-19137" class="wp-caption-text"><em>Online Transaction Processing</em> &#8211; OLTP</p></div>
<p>Esses bancos de dados também são frequentemente otimizados para leitura/gravação e normalização de dados para minimizar o espaço de armazenamento e reduzir a redundância de dados.</p>
<h3>Exemplos de sistema OLTP</h3>
<p>Exemplos de sistemas que usam OLTP incluem:</p>
<ul>
<li><strong>Bancos de dados de processamento de pedidos</strong>: Os varejistas on-line e as empresas que vendem produtos ou serviços on-line usam bancos de dados OLTP para processar pedidos em tempo real. Esses bancos de dados são usados para gerenciar o estoque de produtos, registrar as informações do cliente, processar transações de pagamento e rastrear o envio dos pedidos.</li>
<li><strong>Bancos de dados de gerenciamento de contas</strong>: Bancos, empresas financeiras e outras organizações que gerenciam contas de clientes usam bancos de dados OLTP para registrar e processar transações financeiras em tempo real. Esses bancos de dados são usados para gerenciar o saldo da conta, registrar depósitos e retiradas, gerar extratos de conta e fornecer serviços on-line para os clientes.</li>
<li><strong>Bancos de dados de reservas de viagens</strong>: Companhias aéreas, hotéis e outras empresas de viagens usam bancos de dados OLTP para gerenciar reservas em tempo real. Esses bancos de dados são usados para armazenar informações sobre voos, quartos de hotel e outros serviços de viagens, bem como para processar reservas, atualizar disponibilidade e confirmar reservas de clientes.</li>
<li><strong>Bancos de dados de atendimento ao cliente</strong>: Empresas de serviços ao cliente, como telecomunicações, empresas de serviços públicos e seguradoras, usam bancos de dados OLTP para gerenciar interações com os clientes em tempo real. Esses bancos de dados são usados para armazenar informações sobre os clientes, registrar reclamações, gerenciar solicitações de serviço e fornecer suporte técnico.</li>
</ul>
<p>Existem muitos outros exemplos de bancos de dados OLTP. Na prática, qualquer aplicação que envolva processamento de transações em tempo real e requer alta disponibilidade e confiabilidade pode usar um banco de dados OLTP.</p>
<h3>SGBDs com suporte a OLTP</h3>
<p>Existem muitos SGBDs (Sistemas de Gerenciamento de Bancos de Dados) que suportam OLTP. Aqui estão alguns exemplos:</p>
<ul>
<li><strong>MySQL</strong>: O <a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/">MySQL</a> é um sistema de gerenciamento de bancos de dados relacionais de código aberto que é frequentemente usado para aplicativos OLTP, como sistemas de comércio eletrônico, bancos de dados de gerenciamento de pedidos e aplicativos financeiros.</li>
<li><strong>Microsoft SQL Server:</strong> <a href="http://www.bosontreinamentos.com.br/curso-de-microsoft-sql-server/">SQL Server</a> é um SGBD relacional proprietário que é frequentemente usado para aplicativos OLTP, como bancos de dados de gerenciamento de pedidos, bancos de dados de gerenciamento de contas e sistemas de reservas de viagens.</li>
<li><strong>Oracle Database</strong>: O <a href="http://www.bosontreinamentos.com.br/category/oracle-database/">Oracle Database</a> é outro SGBD relacional proprietário que é usado para uma ampla variedade de aplicativos OLTP, como bancos de dados de gerenciamento de contas, bancos de dados de gerenciamento de pedidos e sistemas de reservas de viagens.</li>
<li><a href="http://www.bosontreinamentos.com.br/curso-completo-de-postgresql/"><strong>PostgreSQL</strong></a>: SGBD de código aberto que é frequentemente usado para aplicativos OLTP, como bancos de dados de gerenciamento de pedidos, sistemas de reservas de viagens e sistemas de gerenciamento de estoque.</li>
<li><strong>MongoDB</strong>: O <a href="http://www.bosontreinamentos.com.br/nosql/instalando-o-mongodb-no-microsoft-windows/">MongoDB</a> é um <a href="http://www.bosontreinamentos.com.br/mysql/mysql-bancos-de-dados-sgbdr-e-grupos-de-comandos-04/">SGBD</a> <a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/">NoSQL</a> de código aberto que é frequentemente usado para aplicativos OLTP, como sistemas de gerenciamento de usuários e bancos de dados de gerenciamento de pedidos.</li>
</ul>
<p>Na verdade, a maioria dos SGBDs modernos suporta OLTP, pois é uma necessidade comum para aplicativos empresariais e de comércio eletrônico em tempo real.</p>
<h3>Conclusão</h3>
<p>Resumindo, OLTP é um tipo de aplicação de banco de dados que lida com transações em tempo real e é projetada para suportar altas taxas de transações em ambientes comerciais.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-oltp/">Conceitos de Bancos de Dados &#8211; O que é OLTP</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-oltp/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Comandos DCL SQL e sua sintaxe</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dcl-sql-e-sua-sintaxe/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dcl-sql-e-sua-sintaxe/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 11:46:44 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18882</guid>

					<description><![CDATA[<p>Comandos DCL SQL e sua sintaxe Os comandos DCL (Data Control Language / Linguagem de Controle de Dados) em SQL são um conjunto de declarações responsáveis por controlar e gerenciar a segurança e permissões de acesso aos dados armazenados em um banco de dados relacional. Esses comandos permitem que o administrador do banco de dados conceda ou revogue privilégios de acesso para usuários e grupos de usuários, controlando quem tem permissão para visualizar, modificar ou excluir dados específicos. Os comandos DCL mais comuns são GRANT e REVOKE. O comando GRANT é usado para conceder permissões a usuários ou grupos de usuários, permitindo que eles executem determinadas operações em objetos específicos, como tabelas ou views. O comando REVOKE, por sua vez, é usado para revogar essas permissões, removendo o acesso aos objetos especificados. Os comandos DCL também incluem outras funcionalidades importantes, como a capacidade de definir papéis (roles) e definir políticas de segurança para proteger dados sensíveis. Os papéis são usados para agrupar usuários com permissões semelhantes, simplificando a administração de permissões em grandes bancos de dados com muitos usuários. Para implementar políticas de segurança, os comandos DCL também permitem que o administrador defina restrições de acesso para determinados usuários ou [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dcl-sql-e-sua-sintaxe/">Comandos DCL SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Comandos DCL SQL e sua sintaxe</h2>
<p>Os comandos <strong>DCL</strong> (<em>Data Control Language</em> / Linguagem de Controle de Dados) em SQL são um conjunto de declarações responsáveis por controlar e gerenciar a segurança e permissões de acesso aos dados armazenados em um <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">banco de dados relacional</a>.</p>
<p>Esses comandos permitem que o administrador do banco de dados conceda ou revogue privilégios de acesso para usuários e grupos de usuários, controlando quem tem permissão para visualizar, modificar ou excluir dados específicos.</p>
<p>Os comandos DCL mais comuns são <strong>GRANT</strong> e <strong>REVOKE</strong>. O comando GRANT é usado para conceder permissões a usuários ou grupos de usuários, permitindo que eles executem determinadas operações em objetos específicos, como tabelas ou views.</p>
<p>O comando REVOKE, por sua vez, é usado para revogar essas permissões, removendo o acesso aos objetos especificados.</p>
<p>Os comandos DCL também incluem outras funcionalidades importantes, como a capacidade de definir papéis (roles) e definir políticas de segurança para proteger dados sensíveis. Os papéis são usados para agrupar usuários com permissões semelhantes, simplificando a administração de permissões em grandes bancos de dados com muitos usuários.</p>
<p>Para implementar políticas de segurança, os comandos DCL também permitem que o administrador defina restrições de acesso para determinados usuários ou grupos de usuários. Isso pode incluir a restrição de acesso a determinadas tabelas, limitações na execução de certos comandos, ou a definição de restrições de acesso baseadas em funções ou papéis.</p>
<p>Vejamos com mais detalhes as declarações GRANT e REVOKE. usarei a sintaxe e exemplos dessas declarações no SGBD MySQL neste artigo.</p>
<h3>A Declaração GRANT</h3>
<p>A declaração GRANT em MySQL é usada para conceder permissões a usuários ou grupos de usuários para executar determinadas ações em um banco de dados específico.</p>
<p>A sintaxe básica da declaração GRANT no MySQL é a seguinte:</p>
<pre><span style="color: #800080;"><strong>GRANT permissão(s) ON nome_banco.nome_tabela TO 'usuario'@'host' IDENTIFIED BY 'senha';</strong></span></pre>
<p>Onde:</p>
<ul>
<li><strong>permissão(s)</strong> é a permissão ou conjunto de permissões que você deseja conceder, como SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES, etc.</li>
<li><strong>nome_banco.nome_tabela</strong> é o nome do banco de dados e da tabela em que você deseja conceder as permissões.</li>
<li><strong>&#8216;usuario&#8217;@&#8217;host&#8217;</strong> é o nome do usuário e o host (nome da máquina, como localhost ou ainda um endereço IP) a quem você deseja conceder as permissões.</li>
<li><strong>IDENTIFIED BY &#8216;senha&#8217;</strong> é a senha para o usuário especificado.</li>
</ul>
<p>Você deve substituir permissão(s) pelo conjunto de permissões que deseja conceder ao usuário especificado. Por exemplo, podemos usar a sintaxe:</p>
<pre><strong>GRANT SELECT, INSERT, UPDATE ON db_biblioteca.tbl_livros TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>para conceder permissões de seleção, inserção e atualização na tabela especificada para o usuário especificado na tabela de livros do banco db_biblioteca.</p>
<p>Também é possível conceder permissões a todos os bancos de dados ou tabelas de uma só vez usando o caractere curinga (*). Por exemplo:</p>
<pre><strong>GRANT ALL PRIVILEGES ON *.* TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>concederia acesso a todos os bancos de dados e tabelas no servidor MySQL ao usuário &#8216;fabio&#8217;.</p>
<h4>Exemplos da declaração GRANT SQL</h4>
<p>Vejamos mais alguns exemplos:</p>
<p>1. Conceder acesso total ao banco de dados db_biblioteca para o usuário fabio:</p>
<pre><strong>GRANT ALL PRIVILEGES ON db_biblioteca.* TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>2. Conceder acesso somente leitura a um banco de dados para o usuário:</p>
<pre><strong>GRANT SELECT ON db_biblioteca.* TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>3. Conceder acesso somente para inserir dados na tabela de autores para o usuário:</p>
<pre><strong>GRANT INSERT ON db_biblioteca.tbl_autores TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>4. Conceder acesso a todos os bancos de dados para o usuário:</p>
<pre><strong>GRANT ALL PRIVILEGES ON *.* TO 'fabio'@'localhost' IDENTIFIED BY '123';</strong></pre>
<p>5. Conceder acesso total ao usuário com base em seu endereço IP:</p>
<pre><strong>GRANT ALL PRIVILEGES ON db_biblioteca.* TO 'fabio'@'192.168.1.100' IDENTIFIED BY '123';</strong></pre>
<h3>A Declaração REVOKE</h3>
<p>A declaração <strong>REVOKE</strong> em MySQL é usada para revogar as permissões concedidas anteriormente a um usuário ou grupo de usuários em um banco de dados ou tabela específica.</p>
<p>A sintaxe básica da declaração REVOKE no MySQL é a seguinte:</p>
<pre><span style="color: #800080;"><strong>REVOKE permissão(s) ON nome_banco_dados.nome_tabela FROM 'usuario'@'host';</strong></span></pre>
<p>Onde:</p>
<ul>
<li><strong>permissão(s)</strong> são as permissões que queremos revogar, como SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES, etc.</li>
<li><strong>nome_banco_dados.nome_tabela</strong> é o nome do banco de dados e tabela em que você deseja revogar as permissões.</li>
<li><strong>&#8216;usuario&#8217;@&#8217;host&#8217;</strong> é o nome do usuário e o host (como localhost ou um endereço IP) de quem você deseja revogar as permissões.</li>
</ul>
<p>Devemos substituir <em>permissão(s)</em> pelo conjunto de permissões que deseja revogar do usuário especificado. Por exemplo, podemos usar a sintaxe:</p>
<pre><span style="color: #800080;"><strong>REVOKE SELECT, INSERT, UPDATE ON nome_banco_dados.nome_tabela FROM 'usuario'@'localhost';</strong></span></pre>
<p>para revogar as permissões de seleção, inserção e atualização na tabela especificada para um usuário especificado.</p>
<p>Também é possível revogar permissões de todos os bancos de dados ou tabelas usando o caractere curinga (*). Por exemplo:</p>
<pre><span style="color: #800080;"><strong>REVOKE ALL PRIVILEGES ON *.* FROM 'usuario'@'localhost';</strong></span></pre>
<p>revogaria todas as permissões de todos os bancos de dados e tabelas no servidor MySQL para o usuário especificado.</p>
<p>Note que, ao revogar permissões, você precisa ter as permissões necessárias para executar a declaração REVOKE. Além disso, se você estiver revogando permissões de um usuário específico, certifique-se de que não haja outros usuários que dependam dessas permissões para acessar o banco de dados ou tabela.</p>
<h4>Exemplos da declaração REVOKE SQL</h4>
<p>Vejamos alguns exemplos:</p>
<p>1. Revogar todas as permissões do usuário fabio no banco de dados db_biblioteca:</p>
<pre><strong>REVOKE ALL PRIVILEGES ON db_biblioteca.* FROM 'fabio'@'localhost';</strong></pre>
<p>2. Revogar a permissão de seleção da tabela de editoras específica para o usuário:</p>
<pre><strong>REVOKE SELECT ON db_biblioteca.tbl_editoras FROM 'fabio'@'localhost';</strong></pre>
<p>3. Revogar a permissão de inserção na tabela de autores para um grupo de usuários:</p>
<pre><strong>REVOKE INSERT ON db_biblioteca.tbl_autores FROM 'grupo_usuarios'@'localhost';</strong></pre>
<p>4. Revogar todas as permissões do usuário fabio para todos os bancos de dados:</p>
<pre><strong>REVOKE ALL PRIVILEGES ON *.* FROM 'fabio'@'localhost';</strong></pre>
<h3>Resumo</h3>
<p>Em resumo, os <strong>comandos DCL</strong> em SQL são fundamentais para a segurança e integridade dos dados em um banco de dados.</p>
<p>Eles permitem que o administrador do banco de dados conceda ou revogue permissões de acesso para usuários e grupos de usuários, controlando quem pode visualizar, modificar ou excluir dados específicos. Além disso, os comandos DCL incluem recursos importantes, como a definição de papéis e políticas de segurança para proteger dados sensíveis.</p>
<p>Por isso, é importante que os desenvolvedores e administradores de bancos de dados tenham conhecimento desses comandos para garantir a segurança dos dados armazenados.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dcl-sql-e-sua-sintaxe/">Comandos DCL SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dcl-sql-e-sua-sintaxe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Qual a diferença entre View e Materialized View em Bancos de Dados?</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-view-e-materialized-view-em-bancos-de-dados/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-view-e-materialized-view-em-bancos-de-dados/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 20 Mar 2023 12:06:59 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14657</guid>

					<description><![CDATA[<p>Diferença entre View e Materialized View Em bancos de dados relacionais é comum o emprego de objetos variados para simplificar o acesso aos dados, assim como melhorar a performance de operações como consultas, inserções e atualizações, entre outras. Alguns desses objetos incluem procedimentos armazenados, triggers e eventos.  Visualizações são uma outra categoria de objetos com esses propósitos, e dois tipos principais existem: as visualizações comuns (&#8220;views&#8220;) e as visualizações materializadas (&#8220;materialized views&#8220;). Mas qual a diferença entre ambas?  E quando usar uma e quando usar outra? É o que explico a seguir. Visualização SQL Em bancos de dados, uma view (visualização ou exibição) e uma materialized view são dois tipos diferentes de objetos de banco de dados que atendem a propósitos diferentes. Uma view é uma tabela virtual derivada de uma ou mais tabelas em um banco de dados. Trata-se de uma consulta SQL armazenada que define um conjunto de linhas e colunas que podem ser consultadas como se fossem uma tabela normal. Uma visualização não armazena dados próprios, mas é uma consulta pré-definida salva que pode ser usada para recuperar dados das tabelas subjacentes quando necessário. Assim, atua como se fosse uma tabela comum aos olhos do usuário. Uma visualização [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-view-e-materialized-view-em-bancos-de-dados/">Qual a diferença entre View e Materialized View em Bancos de Dados?</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Diferença entre View e Materialized View</h2>
<p>Em <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">bancos de dados</a> relacionais é comum o emprego de objetos variados para simplificar o acesso aos dados, assim como melhorar a performance de operações como consultas, inserções e atualizações, entre outras. Alguns desses objetos incluem <a href="http://www.bosontreinamentos.com.br/mysql/mysql-procedimentos-armazenados-stored-procedures-basico-34/">procedimentos armazenados</a>, <a href="http://www.bosontreinamentos.com.br/mysql/mysql-triggers-definicao-sintaxe-e-criacao-44/">triggers</a> e eventos. </p>
<p>Visualizações são uma outra categoria de objetos com esses propósitos, e dois tipos principais existem: as visualizações comuns (&#8220;<em>views</em>&#8220;) e as visualizações materializadas (&#8220;<em>materialized views</em>&#8220;).</p>
<p>Mas qual a diferença entre ambas?  E quando usar uma e quando usar outra?</p>
<p>É o que explico a seguir.</p>
<h3>Visualização SQL</h3>
<p>Em bancos de dados, uma <em><strong>view</strong></em> (<em>visualização</em> ou <em>exibição</em>) e uma <em><strong>materialized view</strong></em> são dois tipos diferentes de objetos de banco de dados que atendem a propósitos diferentes.</p>
<p>Uma view é uma tabela virtual derivada de uma ou mais tabelas em um banco de dados. Trata-se de uma <a href="http://www.bosontreinamentos.com.br/mysql/mysql-select-realizar-consultas-simples-em-tabelas-12/">consulta SQL</a> armazenada que define um conjunto de linhas e colunas que podem ser consultadas como se fossem uma tabela normal. Uma visualização não armazena dados próprios, mas é uma consulta pré-definida salva que pode ser usada para recuperar dados das tabelas subjacentes quando necessário.</p>
<p>Assim, atua como se fosse uma tabela comum aos olhos do usuário.</p>
<p>Uma visualização não ocupa espaço de armazenamento no banco de dados, por não armazenar nenhum dado em si, apenas referenciando os dados das tabelas que a constituem.</p>
<p>As views geralmente são usadas para simplificar consultas complexas, restringir o acesso a dados confidenciais ou fornecer uma exibição personalizada dos dados para diferentes usuários. São usadas da mesma forma que uma tabela qualquer é usada no banco de dados, ou seja, os dados podem ser consultados da mesma maneira que em uma tabela física real.</p>
<div id="attachment_18934" style="width: 360px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18934" class="wp-image-18934" title="Tabelas de banco de dados - visualização e materialized view" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/tabela-sql-visualizacao.png" alt="Tabelas de banco de dados - visualização e materialized view" width="350" height="350" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/tabela-sql-visualizacao.png 512w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/tabela-sql-visualizacao-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/03/tabela-sql-visualizacao-420x420.png 420w" sizes="auto, (max-width: 350px) 100vw, 350px" /><p id="caption-attachment-18934" class="wp-caption-text">View é uma tabela armazenada SQL</p></div>
<h3>Visualização Materializada SQL</h3>
<p>Por outro lado, uma <em><strong>materialized view</strong></em> (&#8220;<em>visualização materializada</em>&#8220;) é uma cópia <strong>física</strong> de uma view que fica armazenada no banco de dados.</p>
<p>É uma tabela pré-computada que contém os resultados de uma consulta realizada em uma ou mais tabelas no banco de dados.</p>
<p>Ao contrário de uma view, uma materialized view realmente armazena dados e pode ser usada para melhorar o desempenho da consulta, reduzindo a quantidade de computação necessária para recuperar os dados. As materialized views costumam ser usadas em aplicativos de armazenamento de dados e inteligência de negócios para armazenar dados de resumo cujo cálculo é custoso ou que são usados com frequência em relatórios.</p>
<p>Por conta disso, as visualizações materializadas consomem espaço de armazenamento no banco de dados, e devemos pensar com cuidado se realmente precisamos usar esse tipo de objeto para realizar consultas ou outras operações quaisquer nos dados.</p>
<h3>Conclusão</h3>
<p>Em resumo, a principal diferença entre uma view e uma materialized view é que uma view é uma tabela virtual derivada de uma ou mais tabelas em um banco de dados, enquanto uma materialized view é uma cópia física de uma visualização armazenada no banco de dados.</p>
<p>As views são normalmente usadas para simplificar consultas ou restringir o acesso aos dados, enquanto as materialized view são usadas para melhorar o desempenho da consulta e armazenar dados resumidos.</p>
<p>Uma visualização comum não ocupa espaço de armazenamento no banco de dados, ao passo que uma visualização materializada ocupa, e isso deve ser levado em consideração ao determinar que tipo de objeto será mais adequado para as nossas necessidades.</p>
<h3>Referências</h3>
<p>Plew, R.R.; Stephens, R.K. <em><strong>Aprenda em 24 horas SQL</strong></em>. 2ª edição. Editora Campus, ano 2000</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-view-e-materialized-view-em-bancos-de-dados/">Qual a diferença entre View e Materialized View em Bancos de Dados?</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-view-e-materialized-view-em-bancos-de-dados/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comandos DML SQL e sua sintaxe</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 18 Nov 2022 19:53:14 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18677</guid>

					<description><![CDATA[<p>Comandos DML SQL e sua sintaxe No primeiro artigo da série sobre famílias de comandos SQL, estudamos os comandos DDL (Data Definition Language). Neste segundo artigo discuto os comandos SQL do grupo que chamamos de &#8220;comandos DML&#8221;, ou Data Manipulation Language (Linguagem de Manipulação de Dados), com a sintaxe das principais declarações e exemplos gerais. O que são comandos DML? Os comandos DML são declarações SQL para manipulação de dados em tabelas, o que inclui tarefas para inserção, atualização e exclusão de registros (linhas) em uma tabela. A tabela a seguir sumariza os comandos para manipulação de dados disponíveis em SQL: Declaração DML Descrição INSERT Cria um novo registro (linha) em uma tabela UPDATE Permite modificar registros em uma tabela DELETE Exclui um ou mais registros selecionados de uma tabela SELECT INTO Realiza uma consulta em uma tabela e inclui o resultado como um novo registro em outra tabela MERGE Combina dados de múltiplas tabelas, mesclando elementos das declarações INSERT e UPDATE. Vejamos a sintaxe e um exemplo de uso de algumas dessas declarações SQL. Comandos DML Declaração INSERT Este comando permite realizar a inserção de dados em uma tabela, por meio da criação de um novo registro. Vejamos sua sintaxe [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/">Comandos DML SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Comandos DML SQL e sua sintaxe</h2>
<p>No primeiro artigo da série sobre famílias de comandos SQL, estudamos os <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/">comandos DDL (<em>Data Definition Language</em>)</a>. Neste segundo artigo discuto os comandos SQL do grupo que chamamos de &#8220;comandos DML&#8221;, ou <em><strong>Data Manipulation Language</strong></em> (Linguagem de Manipulação de Dados), com a sintaxe das principais declarações e exemplos gerais.</p>
<h3>O que são comandos DML?</h3>
<p>Os comandos DML são declarações SQL para manipulação de dados em tabelas, o que inclui tarefas para inserção, atualização e exclusão de registros (linhas) em uma tabela.</p>
<p>A tabela a seguir sumariza os comandos para manipulação de dados disponíveis em SQL:</p>
<table style="border-collapse: collapse; width: 94.8513%; height: 139px;" border="1">
<thead>
<tr>
<td style="width: 21.3725%; text-align: center;"><strong>Declaração DML</strong></td>
<td style="width: 78.6275%; text-align: center;"><strong>Descrição</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 21.3725%;">INSERT</td>
<td style="width: 78.6275%;">Cria um novo registro (linha) em uma tabela</td>
</tr>
<tr>
<td style="width: 21.3725%;">UPDATE</td>
<td style="width: 78.6275%;">Permite modificar registros em uma tabela</td>
</tr>
<tr>
<td style="width: 21.3725%;">DELETE</td>
<td style="width: 78.6275%;">Exclui um ou mais registros selecionados de uma tabela</td>
</tr>
<tr>
<td style="width: 21.3725%;">SELECT INTO</td>
<td style="width: 78.6275%;">Realiza uma consulta em uma tabela e inclui o resultado como um novo registro em outra tabela</td>
</tr>
<tr>
<td style="width: 21.3725%;">MERGE</td>
<td style="width: 78.6275%;">Combina dados de múltiplas tabelas, mesclando elementos das declarações INSERT e UPDATE.</td>
</tr>
</tbody>
</table>
<p>Vejamos a sintaxe e um exemplo de uso de algumas dessas declarações SQL.</p>
<div id="attachment_18684" style="width: 1034px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18684" class="wp-image-18684 size-large" title="Comandos DML em bancos de dados relacionais" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/11/comandos-dml-bancos-dados-boson-1024x471.png" alt="Comandos DML em bancos de dados relacionais" width="1024" height="471" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/11/comandos-dml-bancos-dados-boson-1024x471.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/11/comandos-dml-bancos-dados-boson-420x193.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/11/comandos-dml-bancos-dados-boson-768x353.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/11/comandos-dml-bancos-dados-boson.png 1198w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-18684" class="wp-caption-text">Comandos DML</p></div>
<h3>Declaração INSERT</h3>
<p>Este comando permite realizar a inserção de dados em uma tabela, por meio da criação de um novo registro.</p>
<p>Vejamos sua sintaxe geral e alguns exemplos.</p>
<h4>Sintaxe:</h4>
<pre><span style="color: #800080;"><strong>INSERT INTO nome_tabela(coluna1, coluna2, coluna3, ..., colunaN)</strong>
<strong>VALUES (valor1, valor2, valor3, ..., valorN);</strong></span></pre>
<p>Os valores são inseridos em cada coluna na ordem em que são discriminados na lista de valores em VALUES().</p>
<h4>Exemplo: Inserir dados na tabela de livros.</h4>
<pre><strong>INSERT INTO tbl_livros(Nome_Livro, Data_Pub, Preco_Livro, Genero, Autor, Editora)</strong>
<strong>VALUES</strong>
<strong>('Linux Command Line and Shell Scripting', '20150109', 68.35, 1, 5, 4),</strong>
<strong>('SSH, the Secure Shell', '20050517', 58.30, 1, 1, 2),</strong>
<strong>('Using Samba', '20031221', 61.45, 1, 2, 2),</strong>
<strong>('Practical Electronics for Inventors', '20160324', 67.80, 1, 13, 5);</strong></pre>
<h3>Declaração UPDATE</h3>
<p>Com a declaração UPDATE SQL podemos modificar o valor de uma ou mais colunas em um registro.</p>
<h4>Sintaxe</h4>
<pre><span style="color: #800080;"><strong>UPDATE tabela</strong></span>
<span style="color: #800080;"><strong>SET coluna(s) = novo_valor_armazenado</strong></span>
<span style="color: #800080;"><strong>WHERE coluna = valor_filtro;</strong></span></pre>
<p>Obs.: Se não for empregada a cláusula WHERE para filtrar os registros, TODOS os dados da coluna serão alterados para o mesmo valor!</p>
<h4>Exemplo</h4>
<p>Neste exemplo vamos alterar o nome de um livro na tabela tbl_livros, cujo ID é igual a 101, para &#8220;SSH, o Shell Seguro&#8221;:</p>
<pre><strong>UPDATE tbl_Livro</strong>
<strong>SET Nome_Livro = 'SSH, o Shell Seguro'</strong>
<strong>WHERE Id_Livro = 101;</strong></pre>
<h3>Declaração DELETE</h3>
<p>Com a cláusula DELETE podemos excluir registros específicos, indicados (filtrados) por meio de uma condição na cláusula WHERE</p>
<h4>Sintaxe</h4>
<pre><strong><span style="color: #800080;">DELETE FROM tabela</span></strong>
<strong><span style="color: #800080;">WHERE coluna = valor;</span></strong></pre>
<p>Obs.: Assim como acontece coma cláusula UPDATE, se não for empregada a cláusula WHERE para filtrar os registros, TODOS os dados da coluna serão afetados &#8211; no caso, excluídos para sempre! Cuidado!</p>
<h4>Exemplo</h4>
<p>Vamos excluir o autor da tabela de autores cujo id é igual a 5:</p>
<pre><strong>DELETE FROM tbl_autores</strong>
<strong>WHERE Id_Autor = 5;</strong></pre>
<h3>Declaração SELECT INTO</h3>
<p>Seleciona dados de uma ou mais tabelas e os insere em uma tabela diferente.</p>
<p>Pode ser usado, por exemplo, para criar cópias de backup de tabelas, ou ainda tabelas para relatório, contendo campos selecionados especialmente provenientes de várias tabelas distintas..</p>
<h4>Sintaxe</h4>
<pre><span style="color: #800080;"><strong>SELECT coluna(s)</strong></span>
<span style="color: #800080;"><strong>INTO nova_tabela</strong></span>
<span style="color: #800080;"><strong>FROM tabela_atual</strong></span>
<span style="color: #800080;"><strong>[WHERE campo = valor];</strong></span></pre>
<h4>Exemplo</h4>
<p>Criar uma tabela contendo somente os campos Nome_Livro e IdAutor, correspondentes aos livros cujo Id é maior do que 105:</p>
<pre><strong>SELECT Nome_Livro, IdAutor</strong>
<strong>INTO Livro_Autor</strong>
<strong>FROM tbl_livros</strong>
<strong>WHERE IdLivro &gt; 105;</strong></pre>
<p>É isso aí! No próximo artigo vamos explorar os comandos DQL (Data Query Language) em SQL.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/">Comandos DML SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comandos DDL SQL e sua sintaxe</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 07 Oct 2022 15:02:11 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18663</guid>

					<description><![CDATA[<p>Comandos DDL SQL e sua sintaxe Neste artigo discuto os comandos SQL do grupo que chamamos de &#8220;comandos DDL&#8221;, ou Data Definition Language (Linguagem de Definição de Dados), com a sintaxe das principais declarações e exemplos gerais. O que são comandos DDL &#8211; Data Definition Language Os comandos DDL são um subconjunto dos comandos da linguagem SQL cujo propósito é definir a estrutura de um banco de dados. Assim, esse comandos são empregados para criar, alterar e excluir objetos do banco, como tabelas, colunas e até mesmo o banco de dados em si. Os comandos DDL que estudaremos são os seguintes: CREATE ALTER DROP RENAME TRUNCATE Comandos DDL Declaração CREATE Este comando permite criar um objeto no banco, como uma nova tabela, visão, índice ou outro elemento estrutural. Vejamos sua sintaxe em diversos SGBDs e alguns exemplos. 1. Para criar um banco de dados no MySQL: CREATE DATABASE [IF NOT EXISTS] nome_banco; O uso dos colchetes na sintaxe indica que a cláusula é opcional. Por exemplo, para criar um banco de dados de nome db_MeusLivros: CREATE DATABASE IF NOT EXISTS db_MeusLivros; A sintaxe para outros sistemas de bancos de dados é a seguinte: Criar banco de dados no SQL Server: CREATE [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/">Comandos DDL SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Comandos DDL SQL e sua sintaxe</h2>
<p>Neste artigo discuto os comandos SQL do grupo que chamamos de &#8220;comandos DDL&#8221;, ou <em><strong>Data Definition Language</strong></em> (Linguagem de Definição de Dados), com a sintaxe das principais declarações e exemplos gerais.</p>
<h3>O que são comandos DDL &#8211; Data Definition Language</h3>
<p>Os comandos DDL são um subconjunto dos comandos da linguagem SQL cujo propósito é definir a estrutura de um banco de dados. Assim, esse comandos são empregados para criar, alterar e excluir objetos do banco, como tabelas, colunas e até mesmo o banco de dados em si.</p>
<p>Os comandos DDL que estudaremos são os seguintes:</p>
<ul>
<li>CREATE</li>
<li>ALTER</li>
<li>DROP</li>
<li>RENAME</li>
<li>TRUNCATE</li>
</ul>
<div id="attachment_18687" style="width: 710px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18687" class="wp-image-18687" title="Comandos DDL" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/10/comandos-ddl-bancos-dados-boson-1024x470.png" alt="Comandos DDL - Data Definition Language" width="700" height="321" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/10/comandos-ddl-bancos-dados-boson-1024x470.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/10/comandos-ddl-bancos-dados-boson-420x193.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/10/comandos-ddl-bancos-dados-boson-768x352.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/10/comandos-ddl-bancos-dados-boson.png 1199w" sizes="auto, (max-width: 700px) 100vw, 700px" /><p id="caption-attachment-18687" class="wp-caption-text">Comandos DDL</p></div>
<h3>Declaração CREATE</h3>
<p>Este comando permite criar um objeto no banco, como uma nova tabela, visão, índice ou outro elemento estrutural.</p>
<p>Vejamos sua sintaxe em diversos SGBDs e alguns exemplos.</p>
<h4>1. Para criar um banco de dados no MySQL:</h4>
<pre>CREATE DATABASE [IF NOT EXISTS] nome_banco;</pre>
<p>O uso dos colchetes na sintaxe indica que a cláusula é opcional.</p>
<p>Por exemplo, para criar um banco de dados de nome db_MeusLivros:</p>
<pre>CREATE DATABASE IF NOT EXISTS db_MeusLivros;</pre>
<p>A sintaxe para outros sistemas de bancos de dados é a seguinte:</p>
<p><strong>Criar banco de dados no SQL Server:</strong></p>
<pre>CREATE DATABASE nome_banco;</pre>
<p><strong>Criar banco de dados no PostgreSQL:</strong></p>
<pre>createdb nome_banco;</pre>
<h4>2. Para criar uma tabela no MySQL:</h4>
<pre>CREATE TABLE [IF NOT EXISTS] nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
);</pre>
<p>Por exemplo, para criar uma tabela de autores em um banco, contendo as colunas id de autor, nome e sobrenome:</p>
<pre>CREATE TABLE tbl_autores (
    IdAutor SMALLINT AUTO_INCREMENT,
    NomeAutor VARCHAR(30) NOT NULL,
    SobrenomeAutor VARCHAR(60) NOT NULL,
    CONSTRAINT pk_id_autor PRIMARY KEY (IdAutor)
);</pre>
<p>A sintaxe para outros sistemas de bancos de dados é a seguinte:</p>
<p><strong>Criar tabela no SQL Server:</strong></p>
<pre>CREATE TABLE [nome_banco].[nome_esquema].nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
) ON [Filegroup];</pre>
<p><strong>Criar tabela no PostgreSQL:</strong></p>
<pre>CREATE TABLE [IF NOT EXISTS] nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
    colunaN tipo_dado restrições,
    [restrições extras]
);</pre>
<p><strong>Criar tabela no Oracle Database:</strong></p>
<pre>CREATE TABLE nome_esquema.nome_tabela (
    coluna1 tipo_dado restrições,
    coluna2 tipo_dado restrições,
   colunaN tipo_dado restrições,
    restrições_da_tabela
);</pre>
<p>3. Para criar um índice em uma tabela:</p>
<pre>CREATE INDEX nome_índice ON tabela(colunas);</pre>
<p>Exemplo &#8211; criar um índice na tabela de editoras, na coluna NomeEditora:</p>
<pre>CREATE INDEX idx_editora ON tbl_Editoras(NomeEditora);</pre>
<p>&nbsp;</p>
<h3>Declaração ALTER</h3>
<p>Com a declaração ALTER podemos adicionar, modificar ou excluir colunas em uma tabela. Também é possível alterar outros objetos do banco de dados, como procedimentos armazenados.</p>
<p>Sintaxe e exemplos a seguir.</p>
<p>1. Adicionar uma coluna a uma tabela existente:</p>
<pre>ALTER TABLE tabela
ADD coluna tipo_dados constraints;</pre>
<p>Exemplo &#8211; adicionar a coluna ISBN10 a uma tabela de livros, de nome tbl_livro:</p>
<pre>ALTER TABLE tbl_livro
ADD isbn10 VARCHAR(10) NOT NULL;</pre>
<p>2. Excluir uma coluna de uma tabela:</p>
<pre>ALTER TABLE nome_tabela
DROP COLUMN nome_coluna;</pre>
<p>Exemplo &#8211; excluir a coluna SobrenomeAutor da tabela de autores:</p>
<pre>ALTER TABLE tbl_autores
DROP COLUMN SobrenomeAutor;</pre>
<p>Neste caso combinamos o uso da declaração ALTER com a declaração DROP, que exclui objetos do banco de dados.</p>
<p>3. Alterar o tipo de dados de uma coluna</p>
<p>Podemos alterar colunas, por exemplo mudando o tipo de dados, com a seguinte sintaxe:</p>
<pre>ALTER TABLE nome_tabela
MODIFY COLUMN nome_coluna tipo_dado constraints;</pre>
<p>Exemplo: Vamos alterar o tipo de dado da coluna IdAutor da tabela de livros para o tipo TINYINT:</p>
<pre>ALTER TABLE tbl_livros
MODIFY COLUMN IdAutor TINYINT NOT NULL;</pre>
<p>&nbsp;</p>
<h3>Declaração DROP</h3>
<p>O comando DROP permite excluir objetos do banco de dados (lida com a estrutura ou esquema, não com os registros).</p>
<p>Sintaxe e exemplos a seguir.</p>
<p>1. Excluir um banco de dados existente:</p>
<pre>DROP DATABASE [IF EXISTS] nome_BD;</pre>
<p>2. Excluir tabelas:</p>
<pre>DROP TABLE [IF EXISTS] nome(s)_tabela(s);</pre>
<p>Exemplo: excluir a tabela de editoras:</p>
<pre>DROP TABLE IF EXISTS tbl_editoras;</pre>
<p>3. Excluir um índice configurado em uma tabela:</p>
<pre>DROP INDEX nome_índice ON tabela;</pre>
<p>Por exemplo, para excluir o índice idx_editora executamos o comando:</p>
<pre>DROP INDEX idx_editora ON tbl_Editoras;</pre>
<p>&nbsp;</p>
<h3>Declaração TRUNCATE</h3>
<p>Permite excluir todas as linhas de uma tabela (todos os registros), sem no entanto excluir a tabela em si.</p>
<p>Sintaxe e exemplos a seguir.</p>
<pre>TRUNCATE TABLE nome_tabela;</pre>
<p>Exemplo: Vamos limpar a tabela de editoras:</p>
<pre>TRUNCATE TABLE tbl_editoras;</pre>
<p>A sintaxe para outros sistemas de bancos de dados é a seguinte:</p>
<p>Limpar tabela no SQL Server:</p>
<pre>TRUNCATE TABLE [nome_banco].[esquema].nome_tabela;</pre>
<p>&nbsp;</p>
<p>É isso aí! No próximo artigo vamos explorar os <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/comandos-dml-sql-e-sua-sintaxe/">comandos DML (<em>Data Manipulation Language</em>)</a> em SQL.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/">Comandos DDL SQL e sua sintaxe</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/comandos-ddl-sql-e-sua-sintaxe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10 comandos essenciais em SQL com exemplos de uso</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/10-comandos-essenciais-em-sql-com-exemplos-de-uso/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/10-comandos-essenciais-em-sql-com-exemplos-de-uso/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 12:01:24 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[Ciência de Dados]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=9592</guid>

					<description><![CDATA[<p>10 comandos essenciais em SQL A linguagem SQL, cuja sigla significa &#8220;Structured Query Language&#8221; (&#8220;Linguagem de Consulta Estruturada&#8221;), é uma linguagem padrão utilizada para criação e manipulação de dados em bancos de dados relacionais. Neste artigo trago dez comandos (ou declarações) muito importantes da linguagem, que todo estudante precisa conhecer para começar a trabalhar com SQL. Vamos tratar apenas do ANSI SQL, que é a padronização da linguagem, sem citar nenhum comando que seja específico de implementações em particular. Comandos SQL 1 &#8211; Criar um Banco de Dados Para criar um novo banco de dados usamos o comando CREATE DATABASE, seguido do nome que queremos dar ao banco. Por exemplo, para criar um novo banco de dados de nome &#8220;Supermercado&#8221; usamos o comando a seguir: CREATE DATABASE Supermercado; Após criar o banco, executaremos o comando USE para torná-lo o banco atual: USE Supermercado; 2 &#8211; Criar uma Tabela Para criar tabelas em um banco de dados usamos a declaração CREATE TABLE. Sintaxe: CREATE TABLE nome_tabela ( coluna1 tipo_dados constraint, coluna2 tipo_dados constraint, ... colunaN tipo_dados constraint ); Precisamos listar os nomes dos campos da tabela, seus tipos de dados e as constraints adequadas, como NOT NULL, PRIMARY KEY ou FOREIGN [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/10-comandos-essenciais-em-sql-com-exemplos-de-uso/">10 comandos essenciais em SQL com exemplos de uso</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>10 comandos essenciais em SQL</h2>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-9637" title="10 comandos essenciais da linguagem SQL" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2017/06/10-comandos-essenciais-SQL-png.png" alt="10 comandos essenciais da linguagem SQL" width="500" height="302" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2017/06/10-comandos-essenciais-SQL-png.png 992w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/06/10-comandos-essenciais-SQL-png-420x254.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/06/10-comandos-essenciais-SQL-png-768x465.png 768w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>
<p>A linguagem <strong>SQL</strong>, cuja sigla significa &#8220;<em>Structured Query Language</em>&#8221; (&#8220;Linguagem de Consulta Estruturada&#8221;), é uma linguagem padrão utilizada para criação e manipulação de dados em bancos de dados relacionais.</p>
<p>Neste artigo trago dez comandos (ou declarações) muito importantes da linguagem, que todo estudante precisa conhecer para começar a trabalhar com SQL. Vamos tratar apenas do ANSI SQL, que é a padronização da linguagem, sem citar nenhum comando que seja específico de implementações em particular.</p>
<h3>Comandos SQL</h3>
<h3>1 &#8211; Criar um Banco de Dados</h3>
<p>Para criar um novo banco de dados usamos o comando <a href="http://www.bosontreinamentos.com.br/mysql/mysql-criacao-de-um-banco-de-dados-05/">CREATE DATABASE</a>, seguido do nome que queremos dar ao banco. Por exemplo, para criar um novo banco de dados de nome &#8220;Supermercado&#8221; usamos o comando a seguir:</p>
<pre><span style="color: #ff0000;"><strong>CREATE DATABASE Supermercado;</strong></span></pre>
<p>Após criar o banco, executaremos o comando USE para torná-lo o banco atual:</p>
<pre><span style="color: #ff0000;"><strong>USE Supermercado;</strong></span></pre>
<h3>2 &#8211; Criar uma Tabela</h3>
<p>Para criar tabelas em um banco de dados usamos a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-criacao-de-tabelas-create-table-07/">CREATE TABLE</a>.</p>
<p>Sintaxe:</p>
<pre><span style="color: #800080;"><strong>CREATE TABLE nome_tabela (</strong></span>
<span style="color: #800080;"><strong> coluna1 tipo_dados constraint,</strong></span>
<span style="color: #800080;"><strong> coluna2 tipo_dados constraint,</strong></span>
<span style="color: #800080;"><strong> ...</strong></span>
<span style="color: #800080;"><strong> colunaN tipo_dados constraint</strong></span>
<span style="color: #800080;"><strong>);</strong></span></pre>
<p>Precisamos listar os nomes dos campos da tabela, seus tipos de dados e as constraints adequadas, como <strong>NOT NULL</strong>, <strong>PRIMARY KEY</strong> ou <strong>FOREIGN KEY</strong>.</p>
<p>Vamos agora criar uma tabela em nosso banco de dados Supermercado, cujo nome será  &#8220;Fornecedores&#8221;, com os campos <strong>Cod_Fornec</strong> e <strong>Nome_Fornec</strong>:</p>
<pre><span style="color: #ff0000;"><strong>CREATE TABLE Fornecedores (</strong></span>
<span style="color: #ff0000;"><strong> Cod_Fornec SMALLINT PRIMARY KEY,</strong></span>
<span style="color: #ff0000;"><strong> Nome_Fornec VARCHAR(50)</strong></span>
<span style="color: #ff0000;"><strong>);</strong></span></pre>
<p>Vamos aproveitar e criar outra tabela, chamada de&#8221;Produtos&#8221;. Para isso usamos o comando CREATE TABLE:</p>
<pre><span style="color: #ff0000;"><strong>CREATE TABLE Produtos (</strong></span>
<span style="color: #ff0000;"><strong> ID_Prod SMALLINT PRIMARY KEY,</strong></span>
<span style="color: #ff0000;"><strong> Nome_Prod VARCHAR(50) NOT NULL,</strong></span>
<span style="color: #ff0000;"><strong> Quant_Prod SMALLINT NOT NULL,</strong></span>
<span style="color: #ff0000;"><strong> Preco_Prod DECIMAL(10,2),</strong></span>
<span style="color: #ff0000;"><strong> Cod_Fornec SMALLINT,</strong></span>
<span style="color: #ff0000;"><strong> CONSTRAINT fk_cod_fornec FOREIGN KEY (Cod_Fornec)</strong></span>
<span style="color: #ff0000;"><strong> REFERENCES Fornecedores(Cod_Fornec)</strong></span>
<span style="color: #ff0000;"><strong>);</strong></span></pre>
<h3>3 &#8211; Inserir dados na tabela criada</h3>
<p>Vamos inserir um registro em cada tabela (cadastrar novos dados), usando a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-insert-into-inserir-dados-em-tabelas-11/">INSERT INTO</a>:</p>
<p>Na tabela de fornecedores:</p>
<pre><span style="color: #ff0000;"><strong>INSERT INTO Fornecedores (Cod_Fornec, Nome_Fornec)</strong></span>
<span style="color: #ff0000;"><strong>VALUES (1,"Acme");</strong></span></pre>
<p>Na tabela de produtos (usando uma sintaxe alternativa do INSERT INTO):</p>
<pre><span style="color: #ff0000;"><strong>INSERT INTO Produtos</strong></span>
<span style="color: #ff0000;"><strong>VALUES (100, "Monitor LCD", 12, 550.00, 1),
</strong><strong>(101, "Roteador Banda Larga", 8, 130.00, 1),
</strong></span><span style="color: #ff0000;"><strong>(102, "Teclado", 15, 40.00, 1),
</strong></span><span style="color: #ff0000;"><strong>(103, "Pendrive 64GB", 22, 48.00, 1),
</strong></span><span style="color: #ff0000;"><strong>(104, "Webcam", 6, 170.00, 1);</strong></span></pre>
<h3>4 &#8211; Efetuar consulta trazendo colunas específicas</h3>
<p>Nenhuma lista de comandos essenciais em SQL está completa sem a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-select-realizar-consultas-simples-em-tabelas-12/">SELECT FROM</a>, usada para a realização de consultas (queries), provavelmente a tarefa mais importante executada pela linguagem.</p>
<p>Vamos efetuar uma consulta em cada tabela, para verificar se os registros foram inseridos corretamente. Para isso usaremos a declaração SELECT, especificando somente as colunas que desejamos retornar.</p>
<pre><span style="color: #ff0000;"><strong>SELECT Nome_Fornec FROM Fornecedores;</strong></span>
<span style="color: #ff0000;"><strong>SELECT Nome_Prod, Preco_Prod FROM Produtos;</strong></span></pre>
<h3>5 &#8211; Consultando uma tabela com filtros de dados específicos</h3>
<p>Usamos filtros para delimitar a quantidade de registros retornados em uma consulta. Por exemplo, suponha que queiramos consultar apenas o nome do produto cujo ID é igual a 101. Para tal empregaremos a <a href="http://www.bosontreinamentos.com.br/mysql/mysql-where-filtrar-resultados-de-consultas-14/">cláusula WHERE</a>, que permite filtrar os resultados das consultas:</p>
<pre><span style="color: #ff0000;"><strong>SELECT Nome_Prod FROM Produtos
WHERE ID_Prod = 101;</strong></span></pre>
<h3>6 &#8211; Alterar um registro na tabela</h3>
<p>Vamos alterar o preço do produto monitor (na tabela de produtos), cujo ID é igual a 100, para R$ 630,00, usando a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-update-modificar-registros-em-tabelas-20/">UPDATE</a>:</p>
<pre><span style="color: #ff0000;"><strong>UPDATE Produtos</strong></span>
<span style="color: #ff0000;"><strong>SET Preco_Prod = 630.00</strong></span>
<span style="color: #ff0000;"><strong>WHERE ID_Prod = 100;</strong></span></pre>
<h3>7 &#8211; Excluir registros de uma tabela</h3>
<p>Para excluir registros específicos de uma tabela, usando a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-delete-e-truncate-table-excluir-registros-de-uma-tabela-16/">DELETE FROM</a>, sempre (<strong>SEMPRE!!!</strong>) especificando quais registros devem ser excluídos por meio de um filtro com a cláusula WHERE:</p>
<pre><span style="color: #ff0000;"><strong>DELETE FROM Produtos</strong></span>
<span style="color: #ff0000;"><strong>WHERE ID_Prod = 101;</strong></span></pre>
<h3>8 &#8211; Apagar todos os dados de uma tabela de uma só vez</h3>
<p>Para apagar todo o conteúdo de uma tabela de uma só vez, porém sem excluir a tabela em si, usamos a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-delete-e-truncate-table-excluir-registros-de-uma-tabela-16/">TRUNCATE TABLE</a>:</p>
<pre><span style="color: #800080;"><strong>TRUNCATE TABLE nome_tabela;</strong></span></pre>
<p>Exemplo: Se desejarmos excluir todos os dados da tabela de Fornecedores, basta executar a declaração SQL:</p>
<pre><span style="color: #ff0000;"><strong>TRUNCATE TABLE Fornecedores;</strong></span></pre>
<p>Atenção: Se a tabela possuir dados relacionados em outra tabela, pode não ser possível excluir seus dados sem antes limpar a outra tabela.</p>
<h3>9 &#8211; Trazer dados de duas ou mais tabelas relacionadas: INNER JOIN</h3>
<p>Nossas tabelas estão relacionadas entre si por meio de um relacionamento entre chave primária na tabela de Fornecedores (Cod_Fornec) e uma chave estrangeira na tabela de Produtos (Cod_Fornec). Desta forma, podemos efetuar uma consulta que retorne dados de AMBAS as tabelas simultaneamente, como por exemplo, consultar os nomes dos produtos e os nomes de seus fornecedores.</p>
<p>Para isso, usamos a declaração <a href="http://www.bosontreinamentos.com.br/mysql/mysql-inner-join-consultar-dados-em-duas-ou-mais-tabelas-29/"><strong>INNER JOIN</strong></a>:</p>
<pre><span style="color: #ff0000;"><strong>SELECT Nome_Prod, Nome_Fornec</strong></span>
<span style="color: #ff0000;"><strong>FROM Fornecedores</strong></span>
<span style="color: #ff0000;"><strong>INNER JOIN Produtos</strong></span>
<span style="color: #ff0000;"><strong>ON Fornecedores.Cod_Fornec = Produtos.Cod_Fornec;</strong></span></pre>
<p>Com esta declaração também podemos usar cláusulas de filtro, como a cláusula WHERE, além de poder retornar dados de duas ou mais tabelas relacionadas.</p>
<h3>10 &#8211; Retornar resultados ordenados em uma consulta</h3>
<p>Para finalizar nossa lista de comandos essenciais em SQL, vamos fazer com que os resultados de uma consulta sejam exibidos em uma ordem específica, bastando para isso usar a cláusula <a href="http://www.bosontreinamentos.com.br/mysql/mysql-order-by-consultas-com-ordenacao-13/">ORDER BY</a>, seguida do nome da coluna que se deseja ordenar. Por exemplo, para exibir os registros em ordem alfabética de nome de produto:</p>
<pre><span style="color: #ff0000;"><strong>SELECT Nome_Prod, Preco_Prod</strong></span>
<span style="color: #ff0000;"><strong>FROM Produtos</strong></span>
<span style="color: #ff0000;"><strong>ORDER BY Nome_Prod;</strong></span></pre>
<p>Se quisermos exibir os resultados em ordem alfabética ou numérica <em>inversa</em>, basta acrescentar a palavra-chave <strong>DESC</strong> após o nome da coluna que será ordenada.</p>
<p>É isso aí! Os comandos mostrados no artigo são apenas uma pequena parcela do conjunto disponível em SQL. Para se profundar mais nestes comandos e aprender muitos outros, acesse nossos cursos de MySQL, PostgreSQL e SQL Server aqui no blog da Bóson Treinamentos (disponíveis também em nosso <a href="https://www.youtube.com/user/bosontreinamentos" target="_blank" rel="nofollow noopener noreferrer">canal do YouTube</a>):</p>
<ul>
<li>
<h3><a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/">Curso Completo de MySQL</a></h3>
</li>
<li>
<h3><a href="http://www.bosontreinamentos.com.br/curso-de-microsoft-sql-server/">Curso de Microsoft SQL Server</a></h3>
</li>
<li>
<h3><a href="http://www.bosontreinamentos.com.br/curso-completo-de-postgresql/">Curso de PostgreSQL</a></h3>
</li>
</ul>
<p>Até a próxima!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/10-comandos-essenciais-em-sql-com-exemplos-de-uso/">10 comandos essenciais em SQL com exemplos de uso</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/10-comandos-essenciais-em-sql-com-exemplos-de-uso/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Dicionário de Bancos de Dados e Big Data</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/dicionario-de-bancos-de-dados-e-big-data/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/dicionario-de-bancos-de-dados-e-big-data/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 05 Jul 2021 15:09:54 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Ciência de Dados]]></category>
		<category><![CDATA[Dicionário]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=11815</guid>

					<description><![CDATA[<p>Dicionário de Bancos de Dados Neste artigo trago um pequeno glossário ou mini-dicionário de termos relacionados à tecnologias variadas de Bancos de Dados em geral, além de Modelagem de Dados, Visualização de Dados, Ciência de Dados (Data Science), Data Mining e Big Data, com muitas dezenas de definições e explicações concisas sobre cada termo associado. Mais definições são adicionadas periodicamente para manter este glossário de bancos de dados o mais completo possível. Se você não encontrar algum termo aqui listado, nos informe usando a seção de comentários que providenciaremos uma nova entrada rapidamente. Para consultar um termo basta clicar abaixo no caractere inicial para ir direto à seção desejada, ou então explore o dicionário de bancos de dados completo para aprender muita coisa sobre Bancos de Dados, relacionais e não-relacionais: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0-9 1NF: Ver Primeira Formal Normal. 2NF:&#160;Ver Segunda Formal Normal. 3NF:&#160;Ver Terceira Formal Normal. 4NF:&#160;Ver Quarta Formal Normal. 5NF:&#160;Ver Quinta Formal Normal. A ABS: Operador escalar que retorna o valos absoluto de seu argumento, que é um valor de tipo numérico. Access:&#160;Microsoft Access. [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/dicionario-de-bancos-de-dados-e-big-data/">Dicionário de Bancos de Dados e Big Data</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Dicionário de Bancos de Dados</h2>
<p>Neste artigo trago um pequeno glossário ou mini-dicionário de termos relacionados à tecnologias variadas de Bancos de Dados em geral, além de Modelagem de Dados, Visualização de Dados, Ciência de Dados (Data Science), Data Mining e Big Data, com muitas dezenas de definições e explicações concisas sobre cada termo associado.</p>
<p>Mais definições são adicionadas periodicamente para manter este glossário de bancos de dados o mais completo possível. Se você não encontrar algum termo aqui listado, nos informe usando a seção de comentários que providenciaremos uma nova entrada rapidamente.</p>
<p>Para consultar um termo basta clicar abaixo no caractere inicial para ir direto à seção desejada, ou então explore o dicionário de bancos de dados completo para aprender muita coisa sobre Bancos de Dados, relacionais e não-relacionais:</p>
<p style="text-align: center;"><span style="font-size: 18pt; font-family: 'courier new', courier, monospace;"><strong><a href="#0-9">0-9</a> <a href="#A">A</a> <a href="#B">B</a> <a href="#C">C</a> <a href="#D">D</a> <a href="#E">E</a> <a href="#F">F</a> <a href="#G">G</a> <a href="#H">H</a> <a href="#I">I</a> <a href="#J">J</a> <a href="#K">K</a> <a href="#L">L</a> <a href="#M">M</a> <a href="#N">N</a> <a href="#O">O</a> <a href="#P">P</a> <a href="#Q">Q</a> <a href="#R">R</a> <a href="#S">S</a> <a href="#T">T</a> <a href="#U">U</a> <a href="#V">V</a> <a href="#W">W</a> <a href="#X">X</a> <a href="#Y">Y</a> <a href="#Z">Z</a></strong></span></p>
<h3><a id="0-9"></a>0-9</h3>
<p><strong>1NF</strong>: Ver <a href="#1FN">Primeira Formal Normal</a>.</p>
<p><strong>2NF</strong>:&nbsp;Ver <a href="#2FN">Segunda Formal Normal</a>.</p>
<p><strong>3NF</strong>:&nbsp;Ver <a href="#3FN">Terceira Formal Normal</a>.</p>
<p><strong>4NF</strong>:&nbsp;Ver <a href="#4FN">Quarta Formal Normal</a>.</p>
<p><strong>5NF</strong>:&nbsp;Ver <a href="#5FN">Quinta Formal Normal</a>.</p>
<h3><a id="A"></a>A</h3>
<p><strong>ABS</strong>: Operador escalar que retorna o valos absoluto de seu argumento, que é um valor de tipo numérico.</p>
<p><strong>Access</strong>:&nbsp;Microsoft Access. Sistema de Gerenciamento de Bancos de Dados Relacionais da Microsoft, integrante do pacote Microsoft Office Professional. Empregado para RAD (Rapid Application Development) de aplicações desktop com acesso a bancos de dados.</p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-significa-acid/"><strong>ACID</strong></a>: (Atomicidade, Consistência, Isolação, Durabilidade) Termo que se refere às propriedades modelo de transações em bancos de dados, tradicionalmente usadas em bancos de dados SQL.</p>
<p><strong>ADT</strong>: Abstract Data Type / Tipo de Dado Abstrato. Refere-se a tipos de dados específicos, geralmente construídos a partir de tipos de dados mais simples, ou primitivos.</p>
<p><strong>Aggregate</strong>: Um cluster de objetos de domínio que podem ser tratados como uma única unidade. Uma unidade ideal para armazenamento de dados em grandes sistemas distribuídos.</p>
<p><strong>Alta Disponibilidade</strong>:&nbsp;Termo chave para a continuidade de um negócio, a alta disponibilidade se refere ao tempo em que um sistema (ou banco de dados) opera em um nível de serviço acordado, entregando serviços aos usuários &#8211; estando &#8220;disponível&#8221;.<br />
A alta disponibilidade (<strong>HA</strong> &#8211; <em>High Availability</em>) é geralmente medida em &#8220;noves&#8221;, ou seja, quantas vezes o número 9 aparece no valor da disponibilidade &#8211; 90% (um nove), 99% (dois noves), 99,9% (três noves), e assim por diante.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-and-or-e-not-filtrar-resultados-de-consultas-15/"><strong>AND</strong></a>: Operador lógico que implementa a <a href="http://www.bosontreinamentos.com.br/eletronica/eletronica-digital/porta-logica-and/">função booleana and</a> entre dois operandos (geralmente, em filtros de consultas, como cláusulas WHERE e BETWEEN)</p>
<p><strong>Anomalia</strong>:&nbsp;Problema que ocorre em bancos de dados mal planejados e não-normalizados, geralmente por excesso de dados armazenados em uma mesma tabela. São causadas pela existência de dependências parciais ou transitivas em uma tabela.</p>
<p><strong>Apache Cassandra</strong>: Um sistema de banco de dados distribuído de código aberto que pode armazenar e gerenciar grandes volumes de dados entre servidores e pode ser um banco de dados de leitura intensiva para grandes sistemas de BI.</p>
<p><strong>Apache Hadoop</strong>: Uma ferramenta de código aberto para processar e armazenar grandes conjuntos de dados distribuídos em máquinas usando o MapReduce.</p>
<p><strong>Apache Lucene</strong>: Uma biblioteca de recuperação de texto open source que é comumente usada para pesquisa de texto completo, implementação de mecanismos de pesquisa e implementação de sistemas de recomendação.</p>
<p><strong>Apache Spark</strong>: Uma estrutura de processamento paralelo de código aberto que lida com aplicativos analíticos de dados de grande escala, análises em tempo real e cargas de trabalho de processamento de dados.</p>
<p><strong>Armazém de Dados</strong>: Ver Data Warehouse</p>
<p><strong>Armazenamento Colunar</strong>: Ver Wide-Column Store.</p>
<p><strong>Atributo</strong>: Os atributos descrevem características de uma entidade, como por exemplo os atributos fabricante, modelo, cor e placa em uma entidade Automóvel. Um atributo representa um elemento de dados primitivo. Uma coluna.</p>
<p><strong>Atributo Atômico</strong>: Atributo que não possui características especiais, sendo indivisível. Ex.: CPF de uma pessoa</p>
<p><strong>Atributo Composto</strong>: Atributo formado por itens menores (sub-elementos); pode ser subdividido em outros atributos. Ex.: o endereço de uma empresa</p>
<p><strong>Atributo Determinante</strong>: Atributo que define de forma única as instâncias de uma entidade.</p>
<p><strong>Atributo Multivalorado</strong>: Atributo que pode conter mais de um valor para um mesmo registro (informação). Ex.: Telefone da empresa.</p>
<p><strong>Auto-incremento</strong>: <em>Constraint</em> especial aplicada a uma coluna em uma tabela que permite a geração de valores numéricos sequenciais de forma automática, sempre que um novo registro é inserido, eliminando a necessidade de fornecer um valor para a coluna.</p>
<h3><a id="B"></a>B</h3>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-sao-bancos-de-dados/">Banco de Dados</a></strong>:&nbsp;Um banco de dados (database) é uma coleção de dados relacionados e armazenados em algum meio, de forma organizada e que permite o acesso a esses dados, por meio de um Sistema de Gerenciamento de Bancos de Dados.</p>
<p><strong>BASE</strong> (Basic Availability, Soft State, Eventual Consistency): Um termo que se refere às propriedades do modelo de transações do banco de dados, especificamente para bancos de dados NoSQL que precisam gerenciar dados não estruturados.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/conceitos-de-dados-informacoes-e-bancos-de-dados/">Base de Dados</a></strong>: O mesmo que Banco de Dados</p>
<p><strong>B-Tree</strong>: Uma estrutura de dados na qual todos os nós terminais estão à mesma distância da base, e todos os nós não terminais estão entre subárvores n e 2n ou ponteiros. É otimizada para sistemas que lêem e escrevem grandes blocos de dados ou executam principalmente leituras. Empregada, por exemplo, na criação de índices em bancos de dados relacionais.</p>
<p><strong>BI</strong>: Ver Business Intelligence</p>
<p><strong>Big Data</strong>: Um termo comum para grandes quantidades de dados. Para serem qualificados como Big Data, os dados devem ser inseridos no sistema em alta velocidade, com grande variação ou em grandes volumes.</p>
<p><a href="https://cloud.google.com/bigquery" target="_blank" rel="noopener"><strong>BigQuery</strong></a>:&nbsp;Serviço Web baseado na nuvem para análise de dados em Big Data, empregado para o processamento de conjuntos de dados muito grandes (da ordem de bilhões de linhas) e somente-leitura, usando uma sintaxe estilo SQL.</p>
<p><strong>BigTable</strong>:&nbsp;Tipo de tabela em nuvem que pode operar com bilhões de linhas e milhares de colunas, permitindo o armazenamento de terabytes de dados &#8211; ou até mesmo petabytes. Roda na platafoma de nuvem Google Cloud Platform.</p>
<p><strong>BLOB</strong>: Abreviação de Binary Large Object. Tipo de dados empregado geralmente para o armazenamento de dados binários de grande tamanho, como multimídia de imagens, sons ou vídeos, entre outros.</p>
<p><strong>Boyce-Codd</strong>: Forma normal que trata de dependências funcionais</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/sql-com-sql-server/como-representar-dados-booleanos-no-sql-server-com-bit/">BOOLEAN</a></strong>: Tipo de dado escalar, que contém apenas dois valores possíveis: TRUE e FALSE (verdadeiro e falso).</p>
<p><strong>Business intelligence</strong>: <em>Inteligência de Negócios</em>, é o processo de visualização e análise de dados corporativos com o objetivo de tomar decisões acionáveis e informadas.</p>
<h3><a id="C"></a>C</h3>
<p><strong>CAP</strong>: <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-teorema-cap/">Teorema CAP</a> ou ainda Teorema de Brewer, é um teorema empregado para descrever o comportamento de um sistema de bancos de dados distribuídos. Diz respeito aos comportamentos de um banco de dados distribuído &#8211; Consistent (C), Available (A) e Partition Tolerant (P).</p>
<p><strong>Cardinalidade</strong>: Número de elementos em um conjunto. Em uma relação, se refere ao número de registros que se relacionam com outra relação. Por exemplo, podemos falar em cardinalidade 1:1 (um-para-um), na qual um registro de uma tabela somente se relaciona com um registro de outra tabela. A cardinalidade pode assumir outros valores também, como 1:N (um-para-muitos), N:M (muitos-para-muitos), 0:1 (zero-para-um), etc.</p>
<p><strong>CASCADE</strong>:&nbsp;A opção CASCADE em uma definição de chave estrangeira permite excluir ou atualizar os registros relacionados presentes na tabela filha automaticamente, quando um registro da tabela pai for atualizado ou excluído.</p>
<p><strong>Cassandra</strong>:&nbsp;Apache Cassandra, sistema de gerenciamento de <a href="http://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/">bancos de dados NoSQL</a> de código aberto, do tipo armazenamento colunar, usado para manipular grandes quantidades de dados distribuídos em diversos servidores. Empregado por empresas e organizações como a Apple, CERN, Discord, Globo.com, Netflix e Uber, entre outras.</p>
<p><strong>CAST</strong>: Função ou operador que permite receber um valor de um tipo específico (como um inteiro TINYINT) e retornar o valor convertido em um tipo diferente (como uma string VARCHAR).</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/"><strong>Chave</strong></a>:&nbsp;Uma chave consiste em uma ou mais colunas de uma relação cujos valores são usados para identificar de forma exclusiva uma linha ou conjunto de linhas.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/"><strong>Chave Alternativa</strong></a>:&nbsp;Chave candidata que não é usada como chave primária em uma tabela.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/">Chave Candidata</a></strong>:&nbsp;Atributo ou grupo de atributos em uma entidade com o potencial para se tornarem uma chave primária.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/"><strong>Chave Composta</strong></a>:&nbsp;Chave que é composta de dois ou mais atributos (colunas). Geralmente empregada quando não é possível utilizar uma única coluna de uma tabela para identificar de forma exclusiva seus registros.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/"><strong>Chave Estrangeira</strong></a>:&nbsp;Coluna de uma tabela que estabelece um Relacionamento com a Chave Primária de outra tabela.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/">Chave Primária</a></strong>:&nbsp;Chave candidata escolhida para ser a chave principal na relação. Identifica de forma exclusiva os registros em uma tabela, não podendo ter repetição de valores nem tampouco valor nulo.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-tipos-de-chaves/"><strong>Chave Substituta</strong></a>: O mesmo que <em>Chave Surrogada</em></p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-chave-surrogada-em-bancos-de-dados/"><strong>Chave Surrogada</strong></a>:&nbsp;Valor numérico, único, adicionado a uma relação para servir como chave primária. Frequentemente usadas em lugar de uma chave primária composta.</p>
<p><strong>Ciência de Dados</strong>: (Data Science) Campo da tecnologia interdisciplinar que emprega métodos científicos, processos, algoritmos e sistemas para extrair informação e insights de bases de dados estruturadas e não-estruturadas. Se relaciona com tecnologias como <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-data-mining-introducao/">Data Mining</a>, Aprendizado de Máquina e <a href="https://youtu.be/JPC5mE9iI0I" target="_blank" rel="noopener">Big Data</a>.</p>
<p><strong>Cloud-native database</strong>: Um banco de dados que é construído e executado no modelo de entrega de computação em nuvem.</p>
<p><strong>Cluster</strong>: Um subconjunto de dados que compartilham características específicas. Também pode se referir a várias máquinas que trabalham juntas para resolver um único problema.</p>
<p><strong>Codd, E. F.</strong>: Edgar Frank Codd. Cientista da computação que inventou o <a href="https://youtu.be/hGstS10kCPM" target="_blank" rel="noopener">modelo relacional</a>&nbsp;para gerenciamento de bancos de dados.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">Coluna</a></strong>: Em bancos de dados relacionais, é um domínio de valores de um tipo específico. Dependendo do estágio da modelagem também é conhecida como Atributo de uma relação.</p>
<p><a href="http://www.bosontreinamentos.com.br/sql-com-sql-server/transacoes-commit-e-rollback-no-sql-server/"><strong>COMMIT</strong></a>: Operação que efetiva em definitivo uma transação (conjunto de operações), senão houver falha em nenhuma dessas operações.</p>
<p><strong>Complex event processing</strong>: Um processo organizacional para coletar dados de vários fluxos para fins de análise e planejamento.</p>
<p><strong>Consistência</strong>: Um dos quatro principais atributos de uma transação de banco de dados, significa que, se uma transação falhar, os dados serão retornados ao seu estado original, e se não falharem, um novo estado de dados será criado.</p>
<p><strong>Consulta</strong>:&nbsp;Requisição de dados a partir de uma ou mais tabelas de um banco de dados, que podem ser obtidos a partir dos resultados retornados pela execução de uma declaração SQL ou por outros métodos de mineração de dados</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-consulta-ad-hoc-em-bancos-de-dados/">Consulta Ad-Hoc</a></strong>: Consulta criada &#8220;no momento&#8221; quando não é possível obter as informações desejadas usando as consultas SQL pré-determinadas em uma aplicação.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-restricoes-de-integridade/"><strong>CONSTRAINT</strong></a>: Restrição de integridade. Declaração empregada para configurar restrições em tabelas, tais como a definição da Chave Primária, Chave Estrangeira ou colunas CHECK, entre outras.</p>
<p><strong>COUNT</strong>: Função de agregação que permite contar o número de registros em tabelas.</p>
<p><strong>CRUD</strong>: Acrônimo que descreve as quatro operações básicas em um sistema de bancos de dados: <strong>C</strong>reate (criar), <strong>R</strong>ead (ler / consultar), <strong>U</strong>pdate (atualizar) e <strong>D</strong>elete (excluir).</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/sql-com-sql-server/introducao-aos-cursores-no-sql-server/">Cursor</a></strong>:&nbsp;Mecanismo que simula um ponteiro para uma linha em um conjunto de resultados. Um cursor seleciona um dataset, obtém um registro por vez desse conjunto, e então processa o registro atual. Então, o próximo registro é buscado para processamento.</p>
<h3><a id="D"></a>D</h3>
<p><strong>Dados Estruturados</strong>:&nbsp;Dados claramente definidos, que podem ser pesquisados e analisados com facilidade. Geralmente armazenados em armazéns de dados (data warehouse) ou sistemas similares. Um exemplo são os dados em um banco de dados relacional.</p>
<p><strong>Dados Não-Estruturados</strong>:&nbsp;Dados armazenados geralmente em um formato nativo ou bruto, proveniente de diversas fontes e em vários formatos. Costumam ser armazenados em sistemas do tipo lago de dados (data lake). Esse tipo de dado não é facilmente categorizado, e requer processamento para que possa ser utilizado. Por exemplo, dados provenientes de documentos de texto, imagens, logs de sistemas e redes sociais. Cerca de 80% dos dados no mundo são dados não estruturados.</p>
<p><strong>Dados Semi-Estruturados</strong>: Dados sem estrutura aparente, mas que possuem ao menos uma parte estruturada, por exemplo na forma de metadados. Um exemplo são as mensagens de e-mail, que possuem metadados estruturados no cabeçalho (&#8220;destinatário&#8221;, &#8220;assunto&#8221;,&nbsp; etc.), e dados não estruturados no corpo da mensagem.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/conceitos-de-dados-informacoes-e-bancos-de-dados/">Database</a></strong>:&nbsp;O mesmo que Banco de Dados</p>
<p><strong>Database clustering</strong>: Conexão entre dois ou mais servidores e instâncias a um banco de dados, geralmente para obter as vantagens de tolerância a falhas, balanceamento de carga e processamento paralelo.</p>
<p><strong>Data Lake</strong>: Repositório no qual os dados são armazenados de forma bruta, em seu formato nativo, independente da fonte desses dados. Contém dados estruturados, semiestruturados e não-estruturados, para posterior tratamento e análise.</p>
<p><strong>Data lineage</strong>: Informações sobre de onde os dados vieram, como são alterados e para onde são transferidos; pode ser usado para resolver problemas de validação e depuração em bancos de dados.</p>
<p><strong>Data management</strong>: O ciclo de vida completo de como uma organização lida com armazenamento, processamento e análise de conjuntos de dados.</p>
<p><strong>Data Mart</strong>:&nbsp;Repositório que armazena dados relacionados a uma área específica, como vendas, finanças, engenharia, RH, etc., sendo um subconjunto de dados de um Data Warehouse. Projetado para uso por grupos ou departamentos específicos.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-data-mining-introducao/">Data mining</a></strong>: Processo de descobrir padrões em grandes conjuntos de dados e transformar essas informações em um formato compreensível. Uma prática para gerar novas informações através do processo de examinar e analisar grandes bancos de dados.</p>
<p><strong>Database management system (DBMS)</strong>: Um conjunto de softwares e ferramentas que gerencia a comunicação entre o usuário final e o banco de dados.</p>
<p><strong>Data preparation</strong>: (&#8220;Preparação de dados&#8221;)O processo de coleta, limpeza e consolidação de dados em um arquivo ou tabela de dados, principalmente para uso em análise.</p>
<p><strong>Data science</strong>: Um campo de atuação que explora processos e métodos repetíveis para obter informações a partir de dados. Ver Ciência de Dados.</p>
<p><strong>Data validation</strong>: (&#8220;Validação de Dados&#8221;)Ato de examinar conjuntos de dados para garantir que todos os dados estejam limpos, corretos e úteis antes de serem processados.</p>
<p><strong>Data Warehouse</strong>: Ou Armazém de Dados. Uma grande coleção de dados de várias fontes usados para ajudar as empresas a tomar decisões informadas.&nbsp;Repositório central composto por dados extraídos de sistemas transacionais, de diversas áreas, cujo objetivo principal é o suporte a usuários de um sistema e tomada de decisão. Contém dados estruturados e tratados, prontos para uso.&nbsp;Repositório de grande volume de dados, contendo dados históricos, o qual é empregado como ferramenta de apoio a decisão em sistemas de inteligência de negócios (business intelligence)</p>
<p><strong>DBA</strong>: Database Administrator. Papel do profissional que administra bancos de dados em uma organização.</p>
<p><strong>DB2</strong>: Sistema de gerenciamento de bancos de dados relacionais criado e mantido pela empresa IBM.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-bancos-de-dados-sgbdr-e-grupos-de-comandos-04/"><strong>DCL</strong></a>: Data Control Language. Subconjunto do SQL que inclui comandos empregados para efetuar controle de acesso em bancos de dados, como os comandos GRANT e REVOKE.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/mysql/mysql-bancos-de-dados-sgbdr-e-grupos-de-comandos-04/">DDL</a></strong>: Data Definition Language.&nbsp;Subconjunto do SQL que inclui comandos empregados para definir a estrutura de um banco de dados, como os comandos CREATE, ALTER e DROP.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-dependencias/">Dependência</a></strong>:&nbsp;Restrição aplicada sobre atributos, ou ainda que define a relação entre dois ou mais atributos em uma tabela. Ocorre quando um atributo em uma tabela é determinado por outro atributo &#8211; quando um atributo <em>depende</em> de outro para fazer sentido.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-dependencias/"><strong>Dependência Funcional</strong></a>:&nbsp;Tipo de dependência em uma tabela na qual um atributo Y depende de um atributo X se e somente se cada valor de X tiver associado a ele exatamente um valor de Y.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-dependencias/">Dependência Transitiva</a></strong>:&nbsp;Ocorre quando um campo não-chave não depende diretamente da chave primária da tabela, nem mesmo de forma parcial, porém depende de algum outro campo não-chave na mesma tabela.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/o-modelo-entidade-relacionamento-introducao/"><strong>DER</strong></a>: Diagrama Entidade-Relacionamento. Diagrama gráfico que permite representar as entidades, seus atributos e inter-relacionamentos em um processo de modelagem de bancos de dados.</p>
<p><strong>Diagrama Entidade-Relacionamento</strong>: O mesmo que DER.</p>
<p><strong>Dicionário de Dados</strong>: (DD) Documento empregado para armazenar informações sobre o conteúdo, formato e a estrutura de um banco de dados, assim como os relacionamentos entre os seus elementos. Permite limitar erros ao criar a estrutura física de um banco de dados no computador durante o processo de modelagem. Também chamado de &#8220;Repositório de Metadados&#8221;.</p>
<p><strong>Distributed relational database</strong>: Banco de Dados Distribuído. Um banco de dados que contém objetos, como tabelas, que fazem parte de sistemas diferentes, mas interconectados.</p>
<p><strong>Distributed system</strong>: Sistema Distribuído. Uma coleção de computadores individuais que funcionam juntos e parecem funcionar como um único sistema. Isso requer acesso a um banco de dados central, várias cópias de um banco de dados em cada computador ou partições de banco de dados em cada máquina..</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/mysql/mysql-bancos-de-dados-sgbdr-e-grupos-de-comandos-04/">DML</a></strong>:&nbsp;Data Manipulation Language. Subconjunto do SQL que inclui comandos empregados para efetuar a manipulação de registros nas tabelas, tais como os comandos INSERT, UPDATE e DELETE.</p>
<p><strong>Document store</strong>: Armazém de Documentos. Um tipo de banco de dados que agrega dados de documentos em vez de tabelas definidas e é usado para apresentar dados de documentos em um formato pesquisável.</p>
<p><strong>Domínio</strong>:&nbsp;Basicamente, é o tipo de dado empregado em uma coluna de um banco de dados. Por exemplo, o domínio pode ser inteiro (INT) ou string (VARCHAR), ou ainda algum tipo personalizado de dados. É a coleção de valores que um dado pode conter.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-bancos-de-dados-sgbdr-e-grupos-de-comandos-04/"><strong>DQL</strong></a>:&nbsp;Data Query Language. Subconjunto do SQL que inclui comandos empregados para realizar consultas a dados armazenados nas tabelas, como o comando SELECT.</p>
<p><strong>Dynamo DB</strong>: Um serviço de banco de dados NoSQL da AWS com baixa latência que pode facilmente armazenar e recuperar dados grandes e atender grandes quantidades de tráfego.</p>
<h3><a id="E"></a>E</h3>
<p><strong>ElasticSearch</strong>: Um mecanismo de pesquisa baseado em Java criado sob o Apache Lucene que pesquisa e indexa arquivos quase em tempo real e indexa automaticamente documentos JSON.</p>
<p><strong>Engenharia de Dados</strong>: A coleta, armazenamento e processamento de dados para que possam ser consultados por um cientista de dados.</p>
<p><strong>Entidade</strong>:&nbsp;Algo de importância para um usuário ou organização que precisa ser representado em um banco de dados.&nbsp;Representa um tema, tópico ou conceito de negócio.</p>
<p><strong>Entidade Forte</strong>: Uma entidade forte é aquela que pode existir no BD por si só, sem depender de outras entidades.</p>
<p><strong>Entidade Fraca</strong>: Uma entidade fraca é uma entidade cujas instâncias não podem existir no BD sem que exista uma instância de outra entidade;</p>
<p><strong>Entidade ID-Dependente</strong>: Caso especial de entidade fraca onde o identificador da entidade dependente inclui o identificador da entidade da qual ela depende.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/qual-a-diferenca-entre-esquema-e-banco-de-dados/">Esquema</a></strong>:&nbsp;Termo para descrever a estrutura de dados exclusiva de um banco de dados individual.</p>
<p><strong>ETL</strong>: Sigla de &#8220;<em>Extract, Transfom, Load</em>&#8220;, ou o processo de Extrair, Transformar e Carregar dados de um banco de dados e movê-los para outro banco de dados, sendo uma função comum realizada em Data Warehousing.</p>
<p><strong>Eventual consistency</strong>: (Consistência Eventual) A ideia de que os bancos de dados em conformidade com o modelo BASE conterão dados que se tornarão consistentes ao longo do tempo.</p>
<p><strong>Explosão de Dados</strong>: Termo que denota a já vasta e cada vez maior quantidade de dados que são gerados a cada minuto, estruturados, não estruturados e semiestruturados. De acordo com um <a href="https://www.zmescience.com/science/how-big-data-can-get/" target="_blank" rel="noopener">estudo da IBM</a>, cerca de 2,5 EB (exabytes) de dados são gerados por dia no mundo.</p>
<h3><a id="F"></a>F</h3>
<p><strong>Fault tolerance</strong>: (Tolerância a Falhas) A capacidade de um sistema de responder a falhas de hardware ou software sem interromper outros sistemas.</p>
<p><strong>FN</strong>: Ver Forma Normal</p>
<p><strong>Forma Normal</strong>: Refere-se ao estado em que uma tabela se encontra durante a etapa de normalização no processo de modelagem de dados, a qual tem por objetivo eliminar redundâncias e garantir a consistência e atomicidade dos dados que serão armazenados no banco. Veja também: Normalização.</p>
<h3><a id="G"></a>G</h3>
<p><strong>GIS</strong>: Sistema de Informações Geográficas</p>
<p><strong>Graph store</strong>: Um tipo de banco de dados usado para lidar com entidades que possuem um grande número de relacionamentos, como gráficos sociais, sistemas de tags ou qualquer domínio rico em links; também é usado frequentemente para serviços de roteamento e localização.</p>
<h3><a id="H"></a>H</h3>
<p><strong>Hadoop</strong>: Um framework da Apache Software Foundation desenvolvido especificamente para alta escalabilidade, computação distribuída e com uso intensivo de dados. Usado principalmente para o processamento em lote de grandes conjuntos de dados de forma muito eficiente.</p>
<p><strong>High availability</strong> (HA): (Alta Disponibilidade). Conceito que se refere à disponibilidade contínua de recursos em um sistema de computador, mesmo após a ocorrência de falhas de componentes. Isso pode ser alcançado com o emprego de hardware redundante, soluções de software e outras estratégias específicas.</p>
<p><strong>Hybrid transaction/analytical processing</strong>: Uma arquitetura de aplicativo que diz &#8220;quebrar o muro&#8221; entre processamento e análise de transações e que permite a tomada de decisões em tempo real.</p>
<h3><a id="I"></a>I</h3>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-sao-indices-em-bancos-de-dados-indexacao-em-tabelas/">Índice</a></strong>: Trata-se de uma estrutura de dados empregada para otimizar a seleção de um conjunto específico de colunas em um banco de dados relacional.</p>
<p><strong>Instância de Entidade</strong>:&nbsp;Uma instância de entidade é uma ocorrência específica de uma entidade</p>
<p><strong>Integridade de Dados</strong>: Manutenção e garantia da consistência e precisão dos dados, sendo um aspecto crítico no design, implementação e uso de sistemas de armazenamento de dados.<br />
A integridade é atingida por meio da aplicação de Restrições de Integridade.</p>
<p><strong>Integridade Referencial</strong>:&nbsp;Uma Restrição de Integridade Referencial assegura que valores de uma coluna em uma tabela são válidos baseados nos valores em uma outra tabela relacionada.<br />
Ex.: Se um produto de ID 523 foi cadastrado em uma tabela de Produtos_Vendidos, então um produto com ID 523 deve existir na tabela de Produtos_Cadastrados relacionada.</p>
<p><strong>In-memory</strong>: Como um termo de mercado generalizado, descreve as ferramentas de gerenciamento de dados que carregam dados na RAM ou na memória flash, em vez de unidades de disco rígido ou de estado sólido.</p>
<h3><a id="J"></a>J</h3>
<p><a href="https://youtu.be/C_OpAzDImfI" target="_blank" rel="noopener"><strong>Join</strong></a>: Junção. Cláusula em SQL que combina colunas de uma ou mais tabelas em um banco de dados relacional usando valores em comum de cada tabela. Existem vários tipos de joins, como INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN e CROSS JOIN, entre outras.</p>
<p><strong>Journaling</strong>: Refere-se ao registro simultâneo em tempo real de todas as atualizações de dados em um banco de dados. O log resultante funciona como uma trilha de auditoria que pode ser usada para reconstruir o banco de dados se os dados originais forem corrompidos ou excluídos.</p>
<p><strong>JPA (Java Persistence API)</strong>: Uma especificação Java para acesso, gerenciamento e persistência de dados entre classes e objetos Java e bancos de dados relacionais.</p>
<h3><a id="K"></a>K</h3>
<p><strong>Key-value store</strong>: Um tipo de banco de dados que armazena dados em pares chave-valor simples. Eles são usados para lidar com várias leituras e gravações pequenas, contínuas e potencialmente voláteis..</p>
<h3><a id="L"></a>L</h3>
<p><strong>Lago de Dados</strong>: Ver Data Lake</p>
<p><strong>Lightning memory-mapped database (LMDB)</strong>: Um banco de dados copy-on-write com índices B-Tree que é totalmente transacional, compatível com ACID, pequeno em tamanho e que emprega MVCC.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">Linha</a></strong>: Em SGBDRs, trata-se de um conjunto de valores de colunas relacionados, conhecido por vezes também como tupla ou registro.</p>
<p><strong>Log-structured merge (LSM) tree</strong>: Uma estrutura de dados que grava e edita dados usando segmentos imutáveis ou execuções que geralmente são organizadas em níveis. Existem várias estratégias, mas o primeiro nível geralmente contém os dados mais recentes e ativos.</p>
<h3><a id="M"></a>M</h3>
<p><strong>MapReduce</strong>: Um modelo de programação criado pelo Google para alta escalabilidade e distribuição em vários clusters para fins de processamento de dados.</p>
<p><strong>MariaDB</strong>:&nbsp;SGBDR de código aberto derivado (fork) do <a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/">MySQL</a>, totalmente compatível e que tem por objetivo substitui-lo após a aquisição do MySQL pela Oracle. Foi desenvolvido pelos desenvolvedores originais do MySQL, é mantido atualmente por uma comunidade.</p>
<p><a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-criar-graficos-com-matplotlib-em-python/"><strong>Matplotlib</strong></a>:&nbsp;Biblioteca gráfica 2D, que contém uma grande coleção de módulos para exibição de gráficos e visualização de dados, usando a <a href="http://www.bosontreinamentos.com.br/category/programacao-em-python/">linguagem Python</a>.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/o-modelo-entidade-relacionamento-introducao/"><strong>MER</strong></a>: <a href="https://youtu.be/W2Z1STnjNJo" target="_blank" rel="noopener">Modelo Entidade-Relacionamento</a>. Modelo que descreve itens de interesse em um domínio específico do conhecimento em um banco de dados. Composto de entidades, seus atributos e relacionamentos entre essas entidades. Desenvolvido por Peter Chen e publicado em um artigo em 1976.</p>
<p><strong>Mercado de Dados</strong>: Ver Data Mart.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-data-mining-introducao/">Mineração de Dados</a></strong>: Ver Data Mining.</p>
<p><strong>Modelagem de Dados</strong>:&nbsp;&nbsp;Processo de criação de um Modelo de Dados para um sistema de informação, com a aplicação de técnicas específicas de modelagem. Inclui processos para definir e analisar os requisitos de dados necessários para suportar processos de negócio com sistemas informatizados em organizações.</p>
<p><strong>Modelo Conceitual</strong>:&nbsp;Primeira fase da modelagem de dados, onde representaremos o mundo real por meio de uma visão simplificada dos dados e seus relacionamentos. Assim podemos determinar quais informações serão armazenadas efetivamente em m banco de dados.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/o-modelo-entidade-relacionamento-introducao/"><strong>Modelo Entidade-Relacionamento</strong></a>: O mesmo que MER.</p>
<p><strong>Modelo Físico</strong>:&nbsp;Em modelagem de dados, fase derivada a partir de um modelo lógico, na quale são detalhados os componentes de estrutura física do banco de dados, incluindo as tabelas, campos, tipos de valores, restrições, etc.<br />
Após a criação do modelo físico, podemos partir para a implementação física do banco de dados, utilizando o SGBD mais adequado.</p>
<p><strong>Modelo Lógico</strong>:&nbsp;Fase da modelagem de dados que apresenta conceitos que os usuários são capazes de entender, ao mesmo tempo em que não está distante do modelo físico do banco de dados.<br />
Consiste na especificação lógica dos dados em um formato adequado ao SGBD escolhido. Os tipos de dados são completamente definidos.</p>
<p><strong>Modelo Relacional</strong>:&nbsp;Modelo para análise e implementação de bancos de dados no qual os dados são organizados em coleções de tabelas bidimensionais, também chamadas de &#8220;Relações&#8221;. Assim, uma Relação é uma forma de se organizar os dados em linhas e colunas.<br />
O modelo relacional de dados é baseado em lógica e teoria de conjuntos.</p>
<p><a href="http://www.bosontreinamentos.com.br/nosql/instalando-o-mongodb-no-microsoft-windows/"><strong>MongoDB</strong></a>:&nbsp;Sistema de banco de dados não-relacional (NoSQL) orientado a documentos, livre, de código aberto e multiplataforma, escrito em C++. Emprega documentos BSON, de formato semelhante a JSON com esquemas.</p>
<p><strong>Multi-version concurrency control (MVCC)</strong>: Um método para lidar com situações em que máquinas lêem e gravam simultaneamente em um banco de dados.</p>
<p><a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/"><strong>MySQL</strong></a>: Sistema de Gerenciamento Bancos de Dados Relacional (SGBDR) mais popular do mundo atualmente, amplamente empregado em empresas de pequeno, médio e grande porte, com grande presença em bancos de dados de sistemas Web. Atualmente mantido pela Oracle.</p>
<h3><a id="N"></a>N</h3>
<p><strong>Neo4J</strong>:&nbsp;Sistema de gerenciamento de bancos de dados do tipo <a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/">NoSQL</a>, orientado a grafos. Implementado em Java, é um banco transacional, em conformidade com o padrão ACID, disponível sob licença de código aberto GPL-3.</p>
<p><strong>NewSQL</strong>: Um descritor abreviado para sistemas de bancos de dados relacionais que fornecem escalabilidade horizontal e desempenho a par com sistemas <a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/">NoSQL</a>.</p>
<p><strong>NO ACTION</strong>: Opção de chave estrangeira que equivale à opção RESTRICT.</p>
<p><strong>Non-first normal form query language (N1QL)</strong>: Desenvolvido pelo Couchbase, oferece uma linguagem de consulta comum e um modelo de dados baseado em JSON para bancos de dados distribuídos orientados a documentos.</p>
<p><strong>Normalização</strong>: O processo de organizar dados em tabelas para que os resultados obtidos ao usar o banco de dados sejam sempre inequívocos e da forma pretendida. Consiste em uma série de etapas sequenciais denominadas <em>formas normais</em> (FN).</p>
<p><a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/"><strong>NoSQL</strong></a>: Classe de sistemas de bancos de dados que incorporam outras formas de consultas distintas do SQL tradicional, e que não utilizam estruturas relacionais tradicionais. A sigla NoSQL significa &#8220;<em>Not Only SQL</em>&#8220;, ou seja, &#8220;Não Apenas SQL&#8221;.</p>
<h3><a id="O"></a>O</h3>
<p><strong>Object-relational mapper (ORM)</strong>: Ferramenta que fornece uma camada de abstração de banco de dados para converter dados entre sistemas de tipos incompatíveis usando linguagens de programação orientadas a objeto em vez da linguagem de consulta do banco de dados.</p>
<p><strong>Operador de Agregação</strong>: Tipo de operador que retorna um valor único, geralmente escalar, a partir de valores agregados. Tipos comuns de operadores de agregação incluem SUM (soma), AVG (média aritmética) e MAX (valor máximo), entre outros.</p>
<p><a href="https://youtu.be/AnyN69yr4q0" target="_blank" rel="noopener"><strong>Oracle Database</strong></a>: Sistema de Bancos de Dados Relacionais desenvolvido e mantido pela Oracle Corporation. Atualmente (Julho/21) é o SGBD mais empregado no planeta.</p>
<p><strong>ORM (Object Relational Mapper)</strong>:&nbsp;Mapeamento Objeto-Relacional; técnica de programação empregada na conversão de dados entre linguagens de programação orientadas a objeto (Java, Scala, Python&#8230;) e bancos de dados relacionais (MySQL, PostgreSQL, Oracle Database&#8230;). Exemplo de framework ORM: SQLAlchemy.</p>
<h3><a id="P"></a>P</h3>
<p><strong>Paralelismo</strong>: Um estado em que os sistemas operacionais são capazes de trabalhar efetivamente em conjunto para resolver um problema.</p>
<p><strong>Parse</strong>: Dividir dados, como uma string de texto, em partes menores para análise e processamento.</p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-particionamento-em-bancos-de-dados/"><strong>Particionamento</strong></a>:&nbsp;Processo que divide uma tabela em um conjunto de partições ou fragmentos para fins de armazenamento físico. Assim, é possível melhorar o desempenho no acesso aos dados, pois eles podem ser armazenados no local em que são utilizados com mais frequência.</p>
<p><strong>Persistência</strong>: Refere-se a informações de um programa que sobrevivem ao processo que as criou, o que significa que elas não serão apagadas durante o desligamento ou a limpeza da RAM. Os bancos de dados fornecem persistência.</p>
<p><strong>Persistência de Dados</strong>: Significa que os dados são mantidos indefinidamente no banco de dados, a não ser que sejam explicitamente excluídos. Os dados armazenados em um banco de dados não devem jamais ser perdidos.</p>
<p><strong>Persistent storage</strong>: Um local não variável, como um disco, em que os dados são salvos depois que o processo que os criou foi finalizado.</p>
<p><strong>PL/SQL</strong>:&nbsp;Abreviação de <em><strong>Procedural Language for SQL</strong></em>, é uma extensão procedural da Oracle para o SQL padrão e seu banco de dados Oracle Database. Permite a aplicação de lógica em scripts SQL, como o emprego de estruturas de decisão, condicionais e laços de repetição, declaração de variáveis e a aplicação de técnicas de orientação a objetos no código, entre outros recursos.</p>
<p><strong>Plano de Execução</strong>:&nbsp;Ou <em>Query Plan</em> (Plano de Consulta). Refere-se à sequência de passou ou etapas empregadas para acessar dados em um SGBDR SQL.</p>
<p><strong>Polyglot persistence</strong>: Refere-se ao uso de várias tecnologias de armazenamento de dados para diferentes tipos de dados por uma organização.</p>
<p><a href="http://www.bosontreinamentos.com.br/curso-completo-de-postgresql/"><strong>PostgreSQL</strong></a>:&nbsp;SGBDR derivado do projeto Ingres, na Universidade de Berkley, Califórnia, distribuído sob licença BSD, e sendo software de código aberto, multiplataforma e escrito em linguagem C e linguagens de script Perl e sh.</p>
<p><strong>PowerBI</strong>:&nbsp;Serviço de Análise de Dados da Microsoft, que permite realizar visualizações de dados em gráficos de forma interativa, com recursos de BI (<em>Business Intelligence</em>) e a criação de relatórios e dashboards variados.</p>
<p><a id="1FN"></a><strong>Primeira&nbsp;Formal Normal</strong>:&nbsp;Forma de Normalização na qual são reprovados atributos multivalorados, compostos e suas combinações. Uma tabela está na 1ª forma normal quando possui somente valores atômicos e não há grupos de atributos repetidos ou multivalorados.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-procedimentos-armazenados-stored-procedures-basico-34/"><strong>Procedimento Armazenado</strong></a>: Ver&nbsp;<em>Stored Procedure</em>.&nbsp;</p>
<h3><a id="Q"></a>Q</h3>
<p><a id="4FN"></a><strong>Quarta&nbsp;Formal Normal</strong>: 4FN. Próximo nível de normalização após a Forma Normal de Boyce-Codd. Trata das dependências multivaloradas em uma tabela.<br />
Uma tabela está em 4NF se e somente se, para cada uma de suas dependências multivaloradas não triviais X → Y, X é uma superchave &#8211; ou seja, X é uma chave candidata ou um super conjunto dela.</p>
<p><strong>Query</strong>: Ver Consulta.</p>
<p><a id="5FN"></a><strong>Quinta&nbsp;Formal Normal</strong>: 5FN. Nível de normalização de tabelas projetado para reduzir a redundância em bancos de dados relacionais que registram fatos com vários valores, isolando vários relacionamentos semanticamente relacionados. Uma tabela está na 5NF se e somente se todas as dependências de junção não triviais nessa tabela estiverem implícitas nas chaves candidatas.</p>
<h3><a id="R"></a>R</h3>
<p><a href="http://www.bosontreinamentos.com.br/category/programacao-em-r/"><strong>R</strong></a>: Uma linguagem de programação de código aberto usada principalmente para visualização de dados e análise preditiva em Ciência de Dados.</p>
<p><strong>Redundância</strong>:&nbsp;A redundância de dados é uma condição que pode existir em um banco de dados (ou outras tecnologias de armazenamento de dados) na qual os mesmos dados existem em dois locais distintos. Ou seja, dizemos que dados são redundantes quando eles são repetidos. É uma condição que normalmente queremos evitar em um banco de dados, e processos como a Normalização existem para eliminar ou diminuir a redundância.</p>
<p><strong>Registro</strong>:&nbsp;Um Registro em uma tabela de banco de dados representa todos os dados requeridos por uma determinada ocorrência de entidade em particular, em uma linha. Por exemplo, os dados de um cliente específico. Cada linha em uma tabela é identificada por uma chave primária, de modo a não haver duplicação de registros. Também conhecido como Tupla.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">Relação</a></strong>: Tabela bidimensional com características específicas, composta por linhas e colunas, criada a partir de uma entidade.</p>
<p><strong><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">Relacionamento</a></strong>: Associação do mundo real entre duas ou mais entidades, representadas em um modelo entidade-relacionamento.</p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/"><strong>Relational database</strong></a>: Um banco de dados que estrutura conjuntos de dados inter-relacionados em tabelas, registros e colunas.</p>
<p><strong>Relational database management system</strong> (RDBMS): (Sistema de Gerenciamento de Bancos de Dados Relacionais) Um sistema que gerencia, captura e analisa dados que são agrupados com base em atributos compartilhados chamados de relações.</p>
<p><strong>Replicação</strong>: Termo que descreve o compartilhamento de dados para garantir a consistência entre recursos redundantes.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-restricoes-de-integridade/"><strong>Restrição</strong></a>: Ou Restrição de Integridade.&nbsp;Restrições de armazenamento de dados, que dizem respeito a aspectos como os tipos dos dados armazenados, relacionamentos entre as colunas de chave primária e estrangeira, a possibilidade de haver ou não valores NULL em uma coluna, além de regras de negócio específicas importantes determinadas pelo cliente.</p>
<p><strong>RESTRICT</strong>: Opção de chave estrangeira que impede que ocorra a exclusão ou a atualização de um registro da tabela pai, caso ainda hajam registros na tabela filha. Retorna uma exceção de violação de chave estrangeira.</p>
<p><a href="http://www.bosontreinamentos.com.br/sql-com-sql-server/transacoes-commit-e-rollback-no-sql-server/"><strong>ROLLBACK</strong></a>:&nbsp;Operação que retorna um banco de dados ao seu estado anterior se houver alguma falha durante o processamento de uma transação.</p>
<h3><a id="S"></a>S</h3>
<p><strong>Scalability</strong> (Escalabilidade): Capacidade de um banco de dados ou outro sistema de conseguir mais recursos e capacidade e conectar várias entidades para melhorar a eficiência.</p>
<p><a id="2FN"></a><strong>Segunda&nbsp;Formal Normal</strong>:&nbsp;Forma de Normalização na qual cada atributo não-chave de uma relação é total e funcionalmente dependente da chave primária da relação. Uma tabela está na 2ª forma normal quando já está na 1FN, e todos os atributos não-chave são funcionalmente dependentes de todas as partes da chave primária, não existindo dependências parciais.</p>
<p><strong>SET DEFAULT</strong>: Opção de chave estrangeira que permite definir um valor padrão na coluna na tabela filha, aplicado quando um registro da tabela pai for atualizado ou excluído.</p>
<p><strong>SET NULL</strong>: Esta opção de chave estrangeira é usada para definir com o valor NULL o campo na tabela filha quando um registro da tabela pai for atualizado ou excluído.</p>
<p><a href="http://www.bosontreinamentos.com.br/modelagem-de-dados/conceitos-de-dados-informacoes-e-bancos-de-dados/"><strong>SGBD</strong></a>: Sigla de&nbsp;Sistema de Gerenciamento de Bancos de Dados</p>
<p><strong>SGBDR</strong>: Sistema de Gerenciamento de Bancos de Dados Relacionais.</p>
<p><strong>Shard</strong>: Uma partição individual de um banco de dados.</p>
<p><strong>Sharding</strong>: Também conhecido como “<em>particionamento horizontal</em>”, o sharding é onde um banco de dados é dividido em várias partes, geralmente para melhorar a velocidade e a confiabilidade de uma aplicação..</p>
<p><strong>Structured data</strong>: Informação com alto grau de organização &#8211; dados estruturados.</p>
<p><strong>SQL</strong>: Linguagem utilizada para realizar operações em bancos de dados relacionais; a sigla significa <em>Structured Query Language</em>, ou Linguagem de Consulta Estruturada.</p>
<p><strong>SQLAlchemy</strong>:&nbsp;Conjunto de ferramentas SQL empregado em mapeamento objeto-relacional (ORM) SQL, desenvolvida para Python e disponibilizada sob licença MIT, sendo software open source. Permite traduzir relações (tabelas) de bancos relacionais em objetos.</p>
<p><strong>SQLite</strong>:&nbsp;Biblioteca escrita em C que permite implementar um banco de dados embutido (embedded). Assim, um software que use esta biblioteca pode acessar bancos de dados sem necessariamente precisar de um processo de SGBD separado.</p>
<p><strong>SQL Server</strong>: Sistema de gerenciamento de bancos de dados relacionais da empresa Microsoft, desenvolvido em parceria com a Sybase. Escrito em C e C++, é software proprietário, com versões para Microsoft Windows e Linux.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-procedimentos-armazenados-stored-procedures-basico-34/"><strong>Stored Procedure</strong></a>:&nbsp;Sub-rotina (miniprograma) disponível para as aplicações que acessam sistemas de bancos de dados relacionais. Os procedimentos armazenados podem ser empregados em tarefas como validação de dados, controle de acesso, execução de declarações SQL complexas e outras.</p>
<p><strong>Storage</strong>: Dispositivo de Armazenamento de dados. Trata-se de um dispositivo físico, local ou remoto, cuja função é servir de repositório de dados, quer sejam na forma estruturada ou não-estruturada. Geralmente associados a sistemas de gerenciamento de bancos de dados e conectados em servidores de rede.</p>
<p>Strong consistency: Um conceito de banco de dados que se refere à incapacidade de confirmar transações que violam as regras de um banco de dados para validade de dados &#8211; literalmente, <em>consistência forte</em>.</p>
<p><strong>Structured query language (SQL)</strong>: Uma linguagem de programação projetada para gerenciar e manipular dados; usada principalmente em bancos de dados relacionais.</p>
<h3><a id="T"></a>T</h3>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/"><strong>Tabela</strong></a>: Coleção de linhas (registros) em um banco de dados relacional, que armazena dados referentes a uma entidade em particular.</p>
<p><strong>Tableau</strong>:&nbsp;Ferramenta de visualização de dados empregada principalmente nas áreas de BI (Business Intelligence) e Ciência de Dados, que permite realizar análise de dados e sua representação em vários formatos visuais, como gráficos, dashboards e planilhas.</p>
<p><strong>Telemetria</strong>: Aquisição remota de informações sobre um objeto (por exemplo, de um automóvel, smartphone, dispositivo médico ou dispositivo IoT).</p>
<p><a id="3FN"></a><strong>Terceira&nbsp;Formal Normal</strong>:&nbsp;Forma de Normalização na qual uma relação não deve ter um atributo não-chave que seja determinado funcionalmente por outro atributo não-chave (ou conjunto de atributos). Uma tabela está na 3ª forma normal quando já está na 2FN, e não existirem dependências transitivas.</p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/conceitos-de-bancos-de-dados-o-que-e-uma-transacao/"><strong>Transação</strong></a>:&nbsp;Conjunto de uma ou mais operações (Criação, Leitura, Atualização ou Exclusão) que compõem uma tarefa única ou ainda uma unidade lógica de trabalho a ser processada.</p>
<p><strong>Transformação</strong>: Conversão de dados de um formato para outro em um sistema ETL.</p>
<p><a href="http://www.bosontreinamentos.com.br/mysql/mysql-triggers-definicao-sintaxe-e-criacao-44/"><strong>Trigger</strong></a>:&nbsp;Trigger, ou &#8220;gatilho&#8221;, é um objeto do banco de dados programável e associado a uma tabela. Na prática, é um procedimento invocado automaticamente quando uma declaração DML é executada na tabela, sendo disparado e agindo em cada linha afetada.</p>
<p><a href="http://www.bosontreinamentos.com.br/bancos-de-dados/diferenca-entre-os-comandos-truncate-e-delete-em-bancos-de-dados/"><strong>TRUNCATE</strong></a>:&nbsp;Declaração SQL empregada para limpar uma tabela completamente &#8211; excluir todos os seus registros de uma só vez (quando seguida da palavra TABLE).</p>
<p><strong>TSQL</strong>: T-SQL ou Transact-SQL. &#8220;Dialeto&#8221; do SQL empregado em bancos de dados criados no SGBDR Microsoft SQL Server.</p>
<p><strong>Tupla</strong>: Em modelagem de bancos de dados, uma tupla se refere a um registro completo em uma tabela, ou seja, uma linha da tabela.</p>
<h3><a id="U"></a>U</h3>
<p><strong>Unstructured data</strong>: Dados Não-Estruturados. Trata-se de dados que não possuem um modelo de dados predefinido ou não estão organizados de forma predefinida.</p>
<h3><a id="V"></a>V</h3>
<p><strong>Visualização de Dados</strong>: O processo de analisar dados e expressá-los em um formato visual legível, como um gráfico. A visualização de dados é uma ciência em si, com inúmeras ferramentas e bibliotecas disponíveis para criação de gráficos e outras formas de exibição de dados, tais como ggplot2, <a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-criar-graficos-com-matplotlib-em-python/">matplotlib</a>, d3.js, Tableau, etc.</p>
<h3><a id="W"></a>W</h3>
<p><strong>Wide-column store</strong>: Armazenamento Colunar. Também conhecido como &#8220;Armazenamento BigTable&#8221; por conta da relação com o banco de dados BigTable do Google, é um tipo de banco de dados que armazena seus dados em registros que podem conter um grande número de colunas dinâmicas. Os nomes dessas colunas e as chaves dos registros não são fixos.</p>
<h3><a id="X"></a>X</h3>
<p><strong>XML</strong>: Sigla de eXtensible Markup Language. Trata-se de uma linguagem empregada para representação de dados e transporte de dados entre sistemas variados, muito empregada em desenvolvimento para Web.</p>
<h3><a id="Z"></a>Z</h3>
<p><strong>Zonas</strong>: Áreas distintas em um Data Lake que atendem a propósitos específicos e bem definidos.</p>
<h3>Referências:</h3>
<p><a href="https://dzone.com/articles/database-glossary-1">https://dzone.com/articles/database-glossary-1</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/dicionario-de-bancos-de-dados-e-big-data/">Dicionário de Bancos de Dados e Big Data</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/dicionario-de-bancos-de-dados-e-big-data/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>O que é uma Subconsulta SQL (Subquery)</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-subconsulta-sql-subquery/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-subconsulta-sql-subquery/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 18 Dec 2020 13:45:47 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=17360</guid>

					<description><![CDATA[<p>O que é uma Subconsulta SQL (Subquery) Uma subconsulta é uma consulta embutida dentro de outra consulta, de forma aninhada, passando os resultados da consulta mais interna para a consulta mais externa por meio de uma cláusula WHERE ou de uma cláusula HAVING. Desta forma, é possível restringir mais ainda os dados retornados por uma consulta, permitindo a criação de filtros bastante aprimorados. A subconsulta retorna os dados que serão empregado pela consulta &#8220;principal&#8221;, alimentando-a com informações a serem utilizadas como condições de filtragem. Podemos utilizar subconsultas não apenas em consultas com a cláusula SELECT, mas também em operações INSERT, UPDATE e DELETE. Quando usamos uma subconsulta em uma query, a subconsulta é resolvida primeiro, e então a consulta externa (principal) é resolvida de acordo com o resultado retornado pela subconsulta (subquery). Regras gerais para aplicação de subconsultas Algumas regras gerais precisam se seguidas para que seja possível empregar subconsultas. Entre elas, temos: A subconsulta pode ter apenas uma única coluna em sua cláusula SELECT, exceto quando a consulta principal tiver múltiplas colunas para comparação com as colunas selecionadas Se a subconsulta retornar mais de uma linha de dados, é necessário usar operadores de valores múltiplos, como o operador lógico [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-subconsulta-sql-subquery/">O que é uma Subconsulta SQL (Subquery)</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que é uma Subconsulta SQL (Subquery)</h2>
<p>Uma subconsulta é uma consulta embutida dentro de outra consulta, de forma aninhada, passando os resultados da consulta mais interna para a consulta mais externa por meio de uma cláusula <a href="http://www.bosontreinamentos.com.br/mysql/mysql-where-filtrar-resultados-de-consultas-14/">WHERE</a> ou de uma cláusula <a href="http://www.bosontreinamentos.com.br/mysql/mysql-having-filtrando-os-resultados-do-agrupamento-27/">HAVING</a>.</p>
<p>Desta forma, é possível restringir mais ainda os dados retornados por uma consulta, permitindo a criação de filtros bastante aprimorados. A subconsulta retorna os dados que serão empregado pela consulta &#8220;principal&#8221;, alimentando-a com informações a serem utilizadas como condições de filtragem.</p>
<p>Podemos utilizar subconsultas não apenas em consultas com a cláusula <a href="http://www.bosontreinamentos.com.br/mysql/mysql-select-realizar-consultas-simples-em-tabelas-12/">SELECT</a>, mas também em operações <a href="http://www.bosontreinamentos.com.br/mysql/mysql-insert-into-inserir-dados-em-tabelas-11/">INSERT</a>, <a href="http://www.bosontreinamentos.com.br/mysql/mysql-update-modificar-registros-em-tabelas-20/">UPDATE</a> e <a href="http://www.bosontreinamentos.com.br/mysql/mysql-delete-e-truncate-table-excluir-registros-de-uma-tabela-16/">DELETE</a>.</p>
<p>Quando usamos uma subconsulta em uma query, a subconsulta é resolvida primeiro, e então a consulta externa (principal) é resolvida de acordo com o resultado retornado pela subconsulta (subquery).</p>
<h3>Regras gerais para aplicação de subconsultas</h3>
<p>Algumas regras gerais precisam se seguidas para que seja possível empregar subconsultas. Entre elas, temos:</p>
<ul>
<li>A subconsulta pode ter apenas uma única coluna em sua cláusula SELECT, exceto quando a consulta principal tiver múltiplas colunas para comparação com as colunas selecionadas</li>
<li>Se a subconsulta retornar mais de uma linha de dados, é necessário usar operadores de valores múltiplos, como o <a href="http://www.bosontreinamentos.com.br/mysql/bancos-de-dados-operadores-in-e-not-in-no-mysql/">operador lógico IN</a></li>
<li>As subconsultas são escritas dentro de parênteses</li>
<li>Não é possível usar a <a href="http://www.bosontreinamentos.com.br/mysql/mysql-order-by-consultas-com-ordenacao-13/">cláusula ORDER BY</a> em uma subconsulta &#8211; mas a consulta principal pode.</li>
<li>É possível usar uma <a href="http://www.bosontreinamentos.com.br/mysql/mysql-group-by-agrupamento-de-registros-26/">cláusula GROUP BY</a> em uma subconsulta.</li>
<li>Não podemos usar o <a href="http://www.bosontreinamentos.com.br/mysql/mysql-between-selecao-de-intervalos-em-consultas-21/">operador BETWEEN</a> com uma subconsulta (na consulta principal), mas podemos usar esse operador dentro da subconsulta.</li>
</ul>
<h3>Sintaxe Básica de uma Subconsulta SQL</h3>
<p>A sintaxe básica para a criação de uma subconsulta SQL é a seguinte:</p>
<pre><span style="color: #ff0000;"><strong>SELECT coluna(s)</strong>
<strong>FROM tabela(s)</strong>
</span><strong><span style="color: #ff0000;">WHERE coluna operador</span> <span style="color: #ff00ff;">(SELECT coluna
                       FROM tabela WHERE condições)</span>;</strong></pre>
<p>Onde operador pode ser qualquer operador lógico ou relacional, como &gt;, &lt;, &gt;= ,&lt;= ,=, &lt;&gt;, IN, NOT, AND, OR, etc.</p>
<p>Vejamos exemplos de aplicação de subconsultas SQL, usando o <a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/" target="_blank" rel="noopener">SGBD MySQL Server</a>.</p>
<h3>1. Subconsulta com operação SELECT</h3>
<p>Vamos efetuar uma consulta à tabela de livros de nosso banco de dados db_biblioteca, retornando os livros (tbl_livro) publicados pela editora Wiley (tbl_editora), porém usando uma subconsulta em vez de usar INNER JOIN:</p>
<pre><span style="color: #ff6600;"><strong>SELECT NomeLivro, PrecoLivro, IdEditora</strong></span>
<span style="color: #ff6600;"><strong>FROM tbl_livro</strong></span>
<span style="color: #ff6600;"><strong>WHERE IdEditora =&nbsp;</strong></span>
<span style="color: #ff6600;"><strong>    (SELECT IdEditora</strong></span>
<span style="color: #ff6600;"><strong>     FROM tbl_editora</strong></span>
<span style="color: #ff6600;"><strong>     WHERE NomeEditora = 'Wiley');</strong></span></pre>
<p>Resultado:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17366" title="Subconsulta SQL com MySQL" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/subconsulta-sql-mysql.jpg" alt="Subconsulta SQL com MySQL" width="448" height="65" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/subconsulta-sql-mysql.jpg 510w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/subconsulta-sql-mysql-420x61.jpg 420w" sizes="auto, (max-width: 448px) 100vw, 448px" /></p>
<h3>2. Subconsulta com operação INSERT INTO</h3>
<p>Podemos usar subconsultas também com a instrução de inserção de registros INSERT INTO, e outras instruções de linguagem de manipulação de dados (DML). Com a instrução INSERT INTO, os dados retornados por uma subconsulta são usados para realizar a inserção de um registro em outra tabela.</p>
<p>Sintaxe:</p>
<pre><strong>INSERT INTO tabela (colunas)</strong>
<strong>                   (SELECT coluna(s)</strong>
<strong>                   FROM tabela(s)</strong>
<strong>                   WHERE coluna operador valor);</strong></pre>
<p>Exemplo: Vamos criar uma tabela de exemplo chamada de LivrosAssuntos, contendo os campos ID, NomeLivro e NomeAssunto:</p>
<pre><strong>CREATE TABLE LivrosAssuntos (</strong>
<strong>  ID TINYINT PRIMARY KEY AUTO_INCREMENT,</strong>
<strong>  NomeLivro VARCHAR(50),</strong>
<strong>  NomeAssunto VARCHAR(40)</strong>
<strong>)</strong></pre>
<p>Usando uma subconsulta, vamos popular esta nova tabela com os livros que tenham mais de 600 páginas e seus respectivos assuntos:</p>
<pre><span style="color: #ff6600;"><strong>INSERT INTO LivrosAssuntos (NomeLivro, NomeAssunto)</strong></span>
<span style="color: #ff6600;"><strong>  (SELECT L.NomeLivro, A,NomeAssunto</strong></span>
<span style="color: #ff6600;"><strong>  FROM tbl_livro L</strong></span>
<span style="color: #ff6600;"><strong>  INNER JOIN tbl_assunto A</strong></span>
<span style="color: #ff6600;"><strong>    ON L.IdAssunto = A.IdAssunto</strong></span>
<span style="color: #ff6600;"><strong>  WHERE L.NumPaginas &gt;= 600);</strong></span></pre>
<p>Após executar o comando, efetuamos uma consulta à nova tabela para verificar se os dados foram inseridos com sucesso:</p>
<pre><strong>SELECT * FROM LivrosAssuntos</strong></pre>
<p>Resultado:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17371 size-full" title="Inserção de dados com subconsulta SQL (subquery)" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/subconsultas-sql-insert-into-boson.jpg" alt="Inserção de dados com subconsulta SQL (subquery)" width="410" height="139"></p>
<h3>3. Subconsulta com operação UPDATE</h3>
<p>Também podemos usar uma subconsulta com uma instrução UPDATE, permitindo atualizar os valores de registros de uma tabela com base no resultado retornado pela subconsulta.</p>
<p>Sintaxe:</p>
<pre><strong>UPDATE tabela</strong>
<strong>SET coluna(s) = valor
WHERE coluna operador (SELECT coluna(s)
                       FROM tabela
                       WHERE coluna operador valor);</strong></pre>
<p>Exemplo:&nbsp;Vamos aumentar os preços dos livros da editora Microsoft Press em 12% usando a declaração UPDATE. Como não sabemos o ID desta editora de memória, vamos usar uma subconsulta para nos auxiliar:</p>
<pre><span style="color: #ff6600;"><strong>UPDATE tbl_livro</strong></span>
<span style="color: #ff6600;"><strong>SET PrecoLivro = PrecoLivro * 1.12</strong></span>
<span style="color: #ff6600;"><strong>WHERE IdEditora =&nbsp;</strong></span>
<span style="color: #ff6600;"><strong>    (SELECT IdEditora</strong></span>
<span style="color: #ff6600;"><strong>     FROM tbl_Editora</strong></span>
<span style="color: #ff6600;"><strong>     WHERE NomeEditora = 'Microsoft Press');</strong></span></pre>
<p>A subconsulta retorna o ID da editora de acordo com o nome da editora fornecido, e este ID é então empregado na consulta principal para aplicar a atualização nos valores dos registros desejados.</p>
<h3>4. Subconsulta com operação DELETE</h3>
<p>Finalmente, podemos usar subconsultas em instruções DELETE, selecionando o valor a ser excluído de uma tabela de acordo com o retorno da subconsulta.</p>
<p>Sintaxe:</p>
<pre><strong>DELETE FROM tabela</strong>
<strong>WHERE coluna operador (SELECT coluna
                       FROM tabela
                       WHERE coluna operador valor);</strong></pre>
<p>Exemplo: Desejamos excluir os livros publicados cujo assunto é &#8220;<strong>Dinossauros</strong>&#8220;, porém não sabemos o ID deste assunto na tabela de livros. Suponha também que não sabemos com exatidão se o nome do assunto é &#8220;Dinossauros&#8221;, &#8220;Dinossauro&#8221; (no singular), &#8220;Dinos&#8221; ou algo do gênero &#8211; apenas os lembramos que o nome do assunto começa com &#8220;Dino&#8221;:</p>
<pre><span style="color: #ff6600;"><strong>DELETE FROM tbl_livro
</strong></span><span style="color: #ff6600;"><strong>WHERE IdAssunto =
&nbsp;</strong></span> <span style="color: #ff6600;"><strong> (SELECT IdAssunto
</strong></span>   <span style="color: #ff6600;"><strong> FROM tbl_Assunto
</strong></span>   <span style="color: #ff6600;"><strong> WHERE NomeAssunto LIKE 'Dino%');</strong></span></pre>
<h3>Subconsultas encadeadas</h3>
<p>Podemos aninhar uma subconsulta dentro de outra subconsulta, da mesma maneira que uma subconsulta é aninhada dentro de uma consulta principal. Neste caso, a subconsulta mais interna é resolvida primeiro, depois a subconsulta intermediária, e finalmente o resultado é repassado para a consulta principal.</p>
<p>Sintaxe básica:</p>
<pre><span style="color: #ff0000;"><strong>SELECT coluna(s)</strong>
<strong>FROM tabela(s)</strong>
</span><strong><span style="color: #ff0000;">WHERE coluna operador</span> <span style="color: #993300;">(SELECT coluna</span></strong>
<strong><span style="color: #993300;">                       FROM tabela
                       WHERE coluna operador</span> <span style="color: #800080;">(SELECT coluna</span></strong>
<strong><span style="color: #800080;">                                              FROM tabela
                                              WHERE coluna operador valor)</span>;</strong></pre>
<p>Na prática, podemos pensar na subconsulta intermediária como fazendo o papel de uma consulta principal para a subconsulta de nível mais interno, e, assim, o processo é similar para quantos níveis de subconsultas forem aninhados.</p>
<p><em><strong>Há um limite para a quantidade das subconsultas que podem ser aninhadas?&nbsp;</strong></em></p>
<p>Isso depende muito da implementação de banco de dados que está sendo empregada. Por exemplo, o SGBDR&nbsp;<a href="https://docs.microsoft.com/en-us/sql/relational-databases/performance/subqueries" target="_blank" rel="noopener">Microsoft SQL Server suporta até 32 níveis de aninhamento</a> (subconsulta dentro de subconsulta), porém esse limite pode ser diferente em outros sistemas, muitas vezes por conta de restrições de memória disponível ou da complexidade em si das consultas. Consulte sempre a documentação do sistema em uso para saber mais a respeito.</p>
<p>Confira também o conteúdo deste tutorial em uma aula em vídeo:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/2qCLpE1NZ8c" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>Veja também:&nbsp;<a href="http://www.bosontreinamentos.com.br/mysql/mysql-inner-join-consultar-dados-em-duas-ou-mais-tabelas-29/">Cláusula INNER JOIN – Retornar dados de duas ou mais tabelas relacionadas</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-subconsulta-sql-subquery/">O que é uma Subconsulta SQL (Subquery)</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-uma-subconsulta-sql-subquery/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Um Resumo dos Modelos de Bancos de Dados NoSQL</title>
		<link>https://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/</link>
					<comments>https://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Sat, 31 Oct 2020 13:52:12 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[NoSQL]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=17102</guid>

					<description><![CDATA[<p>Modelos de Bancos de Dados NoSQL No artigo anterior apresentamos o conceito de bancos de dados não-relacionais, ou NoSQL, mostrando algumas características, aplicações e nomeando exemplos de tecnologias atuais que empregam essa filosofia. Vamos agora resumir os principais modelos de armazenamento não-relacionais, com suas principais características e exemplos de sistemas de gerenciamento de bancos de dados para cada um deles. Banco de Dados Orientado a Documentos Também conhecidos como Sistemas de Bancos de Dados Armazém de Documentos, são sistemas cuja principal característica é a organização de dados livre de esquemas. Neste tipo de banco de dados, os registros não precisam ter uma estrutura uniforme. Assim, registros distintos podem ter coleções de atributos diferentes. Além disso, os tipos de dados nas colunas individuais podem ser diferentes para cada registro, o que não ocorre em bancos relacionais. Também é possível armazenar mais de um valor em uma mesma coluna, como um array de valores (vetor). Em um banco relacional isso representaria um atributo multivalorado, o qual seria eliminado no processo de normalização. Finalmente, os registros podem ter uma estrutura aninhada, o que também é eliminado na normalização em um banco relacional. Exemplos Amazon DynamoDB CouchDB Microsoft Azure Cosmos DB MongoDB RavenDB O [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/">Um Resumo dos Modelos de Bancos de Dados NoSQL</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Modelos de Bancos de Dados NoSQL</h2>
<p>No artigo anterior apresentamos o <a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/">conceito de bancos de dados não-relacionais</a>, ou NoSQL, mostrando algumas características, aplicações e nomeando exemplos de tecnologias atuais que empregam essa filosofia.</p>
<p>Vamos agora resumir os principais modelos de armazenamento não-relacionais, com suas principais características e exemplos de sistemas de gerenciamento de bancos de dados para cada um deles.</p>
<h3>Banco de Dados Orientado a Documentos</h3>
<p>Também conhecidos como Sistemas de Bancos de Dados Armazém de Documentos, são sistemas cuja principal característica é a organização de dados livre de esquemas.</p>
<p>Neste tipo de banco de dados, os registros não precisam ter uma estrutura uniforme. Assim, registros distintos podem ter coleções de atributos diferentes. Além disso, os tipos de dados nas colunas individuais podem ser diferentes para cada registro, o que não ocorre em bancos relacionais.</p>
<p>Também é possível armazenar mais de um valor em uma mesma coluna, como um <em>array</em> de valores (vetor). Em um banco relacional isso representaria um atributo multivalorado, o qual seria eliminado no processo de normalização.<br />
Finalmente, os registros podem ter uma estrutura aninhada, o que também é eliminado na normalização em um banco relacional.</p>
<p><strong>Exemplos</strong></p>
<ul>
<li>Amazon DynamoDB</li>
<li>CouchDB</li>
<li>Microsoft Azure Cosmos DB</li>
<li><a href="http://www.bosontreinamentos.com.br/nosql/instalando-o-mongodb-no-microsoft-windows/">MongoDB</a></li>
<li>RavenDB</li>
</ul>
<p>O MongoDB é atualmente o mais utilizado dos bancos orientados a documento.</p>
<h3>Banco de Dados Orientado a Coluna</h3>
<p>Neste tipo de sistema de gerenciamento, os dados são armazenados em registros com a habilidade de manter um número elevado de colunas dinâmicas. Os nomes das colunas e das chaves dos registros não são fixos, e um registro pode ter literalmente bilhões de colunas. Por conta disso, um banco orientado a coluna é similar a um sistema chave/valor de duas dimensões.</p>
<p>Este tipo de banco não usa esquema fixo, assim como os bancos orientados a documento, mas com uma imolememtação distinta.</p>
<p><strong>Exemplos</strong></p>
<ul>
<li>Cassandra</li>
<li>Google Cloud Bigtable</li>
<li>HBase</li>
<li>Microsoft Azure Cosmos DB</li>
</ul>
<h3>Banco de Dados Chave/Valor</h3>
<p>Sistemas de Gerenciamento de Bancos de dados no modelo Chave/Valor são bastante simples. Esse tipo de sistema armazena apenas pares de chaves com valores associados, e permitem obter os valores quando uma consulta é realizada a uma chave.<br />
Por conta de sua simplicidade, não são empregados em aplicações mais complexas. Uma de suas principais aplicações são os sistemas de armazenamento embarcados.<br />
Com o emprego de extensões é possível transicionar para bancos orientados a documento ou colunares.</p>
<p><strong>Exemplos</strong></p>
<ul>
<li>Amazon DynamoDB</li>
<li>Hazelcast</li>
<li>Memchached</li>
<li>Redis</li>
</ul>
<h3>Banco de Dados do tipo Grafo</h3>
<p>Sistemas de Bancos de Dados Orientados a Grafo representam dados em estruturas de grafo como nós e edges, relacionamentos entre os nós. Permitem calcular propriedades específicas do grafo, como a quantidade de saltos (passos) necessários para ir de um nó a outro.</p>
<p><strong>Exemplos</strong></p>
<ul>
<li>Amazon Neptune</li>
<li>ArangoDB</li>
<li>Microsoft Azure Cosmos DB</li>
<li>Neo4j</li>
<li>OrientDB</li>
<li>Virtuoso</li>
</ul>
<h3>Motor de Busca</h3>
<p>Um motor de busca é um banco de dados NoSQL cuja função é permitir a pesquisa de conteúdo de dados. Esse tipo de sistema possui características bem peculiares, como o suporte à busca com o emprego de expressões complexas, busca de texto completo, ranqueamento e agrupamento de resultados, busca geoespacial e pesquisa distribuída, além de serem altamente otimizados para responder à alta demanda de pesquisas que podem receber.</p>
<p><strong>Exemplos</strong></p>
<ul>
<li>Elasticsearch</li>
<li>MarkLogic</li>
<li>Microsoft Azure Search</li>
<li>Solr</li>
<li>Splunk</li>
</ul>
<h3>Conclusão</h3>
<p>A escolha do modelo de banco de dados NoSQL adequado depende das necessidades específicas de cada aplicação. Cada modelo tem suas vantagens e desvantagens, e a escolha certa depende de uma série de fatores, como escalabilidade, desempenho, consistência, flexibilidade e custo.</p>
<p>Embora os bancos de dados relacionais ainda sejam amplamente utilizados, os bancos de dados NoSQL estão ganhando popularidade, especialmente em aplicações web e móveis que exigem alta escalabilidade e flexibilidade.</p>
<p>Ao entender as diferenças entre os modelos de bancos de dados NoSQL, os desenvolvedores podem tomar decisões informadas sobre qual modelo usar em seus projetos. Cada modelo tem suas próprias vantagens e desvantagens, mas todos oferecem uma alternativa interessante para os bancos de dados relacionais tradicionais.</p>
<p>Em resumo, escolher o modelo de banco de dados NoSQL certo pode ajudar a garantir que um projeto atenda às necessidades específicas de escalabilidade, desempenho, consistência e flexibilidade, permitindo que os desenvolvedores criem aplicativos robustos e confiáveis.</p>
<p>É isso! Neste artigo apresentamos sucintamente os principais modelos de bancos de dados não-relacionais em uso atualmente, com exemplos das principais tecnologias existentes para cada um deles.</p>
<p>A partir dos próximos artigos dessa série, vamos explorar mais a fundo cada modelo, em alguns casos com explicações de como instalar os sistemas e de como criar e gerenciar bancos de dados NoSQL.</p>
<p>Até mais!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/">Um Resumo dos Modelos de Bancos de Dados NoSQL</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/nosql/um-resumo-dos-modelos-de-bancos-de-dados-nosql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10 Sistemas de Bancos de Dados mais usados atualmente</title>
		<link>https://www.bosontreinamentos.com.br/bancos-de-dados/10-sistemas-de-bancos-de-dados-mais-usados-atualmente/</link>
					<comments>https://www.bosontreinamentos.com.br/bancos-de-dados/10-sistemas-de-bancos-de-dados-mais-usados-atualmente/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 25 Aug 2020 12:37:10 +0000</pubDate>
				<category><![CDATA[Bancos de Dados]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=16937</guid>

					<description><![CDATA[<p>10 Sistemas de Bancos de Dados mais usados atualmente Atualmente existem inúmeros (leia-se: dezenas) de sistemas para gerenciamento de bancos de dados no mercado, alguns amplamente utilizados e outros empregados somente em aplicações muito especiais e nichos distintos. Nem sempre é fácil decidir qual sistema usar em um projeto por conta disso. Ajuda saber quais são os mais requisitados pelo mercado, ou ao menos mais utilizados pelos desenvolvedores, analistas e DBAs, pois no geral são os que recebem maior suporte e atualizações constantes. Nessa floresta de bancos de dados, quais são os bancos de dados mais usados e mais populares? Ou ainda, quais são os bancos de dados mais utilizados no mercado? É exatamente isso que mostraremos neste artigo. Ranking de Bancos de Dados De acordo com os rankings dos sites DB-Engines e Statista, os dez sistemas de gerenciamento de bancos de dados mais usados atualmente (2020) são os seguintes: Posição Banco de Dados Tipo de Banco 1 Oracle Database Relacional 2 MySQL Relacional 3 Microsoft SQL Server Relacional 4 PostgreSQL Relacional 5 MongoDB Orientado a Documentos 6 IBM DB2 Relacional 7 Redis Chave-Valor 8 ElasticSearch Motor de Busca 9 SQLite Relacional 10 Microsoft Access Cassandra Relacional Coluna Ampla Outros [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/10-sistemas-de-bancos-de-dados-mais-usados-atualmente/">10 Sistemas de Bancos de Dados mais usados atualmente</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>10 Sistemas de Bancos de Dados mais usados atualmente</h2>
<p>Atualmente existem inúmeros (leia-se: dezenas) de sistemas para gerenciamento de bancos de dados no mercado, alguns amplamente utilizados e outros empregados somente em aplicações muito especiais e nichos distintos. Nem sempre é fácil decidir qual sistema usar em um projeto por conta disso. Ajuda saber quais são os mais requisitados pelo mercado, ou ao menos mais utilizados pelos desenvolvedores, analistas e DBAs, pois no geral são os que recebem maior suporte e atualizações constantes.</p>
<p>Nessa floresta de bancos de dados, quais são os bancos de dados mais usados e mais populares? Ou ainda, quais são os bancos de dados mais utilizados no mercado? É exatamente isso que mostraremos neste artigo.</p>
<h3>Ranking de Bancos de Dados</h3>
<p>De acordo com os rankings dos sites DB-Engines e Statista, os dez sistemas de gerenciamento de bancos de dados mais usados atualmente (2020) são os seguintes:</p>
<table style="border-collapse: collapse; width: 58.2789%; height: 161px;" border="1">
<thead>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;"><strong>Posição</strong></td>
<td style="width: 42.1863%; height: 23px; text-align: center;"><strong>Banco de Dados</strong></td>
<td style="width: 57.8806%; height: 23px; text-align: center;"><strong>Tipo de Banco</strong></td>
</tr>
</thead>
<tbody>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">1</td>
<td style="width: 42.1863%; height: 23px;"><a href="http://www.bosontreinamentos.com.br/category/oracle-database/">Oracle Database</a></td>
<td style="width: 57.8806%; height: 23px;">Relacional</td>
</tr>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">2</td>
<td style="width: 42.1863%; height: 23px;"><a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/">MySQL</a></td>
<td style="width: 57.8806%; height: 23px;">Relacional</td>
</tr>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">3</td>
<td style="width: 42.1863%; height: 23px;"><a href="http://www.bosontreinamentos.com.br/curso-de-microsoft-sql-server/">Microsoft SQL Server</a></td>
<td style="width: 57.8806%; height: 23px;">Relacional</td>
</tr>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">4</td>
<td style="width: 42.1863%; height: 23px;"><a href="http://www.bosontreinamentos.com.br/curso-completo-de-postgresql/" target="_blank" rel="noopener">PostgreSQL</a></td>
<td style="width: 57.8806%; height: 23px;">Relacional</td>
</tr>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">5</td>
<td style="width: 42.1863%; height: 23px;"><a href="http://www.bosontreinamentos.com.br/nosql/instalando-o-mongodb-no-microsoft-windows/">MongoDB</a></td>
<td style="width: 57.8806%; height: 23px;">Orientado a Documentos</td>
</tr>
<tr style="height: 23px;">
<td style="width: 16.8344%; height: 23px; text-align: center;">6</td>
<td style="width: 42.1863%; height: 23px;">IBM DB2</td>
<td style="width: 57.8806%; height: 23px;">Relacional</td>
</tr>
<tr>
<td style="width: 16.8344%; text-align: center;">7</td>
<td style="width: 42.1863%;">Redis</td>
<td style="width: 57.8806%;">Chave-Valor</td>
</tr>
<tr>
<td style="width: 16.8344%; text-align: center;">8</td>
<td style="width: 42.1863%;">ElasticSearch</td>
<td style="width: 57.8806%;">Motor de Busca</td>
</tr>
<tr>
<td style="width: 16.8344%; text-align: center;">9</td>
<td style="width: 42.1863%;">SQLite</td>
<td style="width: 57.8806%;">Relacional</td>
</tr>
<tr>
<td style="width: 16.8344%; text-align: center;">10</td>
<td style="width: 42.1863%;">
<p>Microsoft Access<br />
Cassandra</p>
</td>
<td style="width: 57.8806%;">Relacional<br />
Coluna Ampla</td>
</tr>
</tbody>
</table>
<p>Outros bancos de interesse aparecem em posições como:</p>
<ul>
<li>MariaDB: 12ª</li>
<li>Amazon DynamoDB: 16ª</li>
<li>Microsoft Azure SQL: 17ª</li>
<li>Firebird: 32ª</li>
<li>dBASE: 38ª</li>
</ul>
<p>Essa classificação é baseada na popularidade dos bancos de dados, sendo atribuída uma pontuação a cada sistema, a qual permite efetuar comparações com outros sistemas e com outros períodos, como meses ou anos anteriores.</p>
<p>Os três bancos de dados mais utilizados no mundo são, como imaginávamos, Oracle Database, MySQL e Microsoft SQL Server. Lembrando que o MySQL também é mantido pela Oracle, que, assim, detém uma grande fatia do mercado de bancos de dados no planeta.</p>
<p>Dos bancos citados, 7 são bancos do tipo <a href="http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-banco-de-dados-relacional/">relacional</a>. Bancos especializados (<a href="http://www.bosontreinamentos.com.br/nosql/bancos-de-dados-o-que-e-nosql/">NoSQL</a> / Não-Relacionais) estão crescendo em popularidade, como pode ser visto pela presença do MongoDB, Redis, ElasticSearch e Cassandra entre os dez mais.</p>
<h3>Referências</h3>
<ul>
<li><em><strong>DB-Engines Ranking</strong></em>: <a href="https://db-engines.com/en/ranking" target="_blank" rel="noopener">https://db-engines.com/en/ranking</a></li>
<li><em><strong>Ranking of the most popular database management systems worldwide, as of June 2020</strong></em>: <a href="https://www.statista.com/statistics/809750/worldwide-popularity-ranking-database-management-systems/" target="_blank" rel="noopener">https://www.statista.com/statistics/809750/worldwide-popularity-ranking-database-management-systems/</a></li>
</ul>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/bancos-de-dados/10-sistemas-de-bancos-de-dados-mais-usados-atualmente/">10 Sistemas de Bancos de Dados mais usados atualmente</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/bancos-de-dados/10-sistemas-de-bancos-de-dados-mais-usados-atualmente/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
