tecnologia | big data | business intelligence | banco de dados

Cursos gratuitos (dados, desenvolvimento, Linux, ...)

Nesta publicação irei concentrar cursos gratuitos dos temas que geralmente são abordados por aqui. Sempre que possível, irei manter esta publicação atualizada.

*** Cursos em português:

- Python (Básico):
https://www.youtube.com/watch?v=S9uPNppGsGo&list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6

- Python Fundamentos para Análise de Dados, Big Data Fundamentos, Microsoft Power BI para Data Science, entre outros:
https://www.datascienceacademy.com.br/cursosgratuitos

- Git e GitHub, Linux, Banco de Dados, SQL, Python, Docker, TypeScript e muitos outros:
https://web.dio.me/


*** Cursos em inglês:

- Python:
https://www.youtube.com/watch?v=mRMmlo_Uqcs&list=PLIhvC56v63ILPDA2DQBv0IKzqsWTZxCkp

- Linux:
https://www.youtube.com/watch?v=VbEx7B_PTOE&list=PLIhvC56v63IJIujb5cyE13oLuyORZpdkL

- Bash Scripting:
https://www.youtube.com/watch?v=SPwyp2NG-bE&list=PLIhvC56v63IKioClkSNDjW7iz-6TFvLwS
Data publicação: 21:26 25/05/2022

Banco de Dados - Junções (JOIN)

As tabelas podem ser unidas de diversas maneiras. A técnica mais comum é a chamada de junção equivalente (INNER JOIN). Uma linha é associada a uma ou mais linhas em outras tabelas com base na igualdade dos valores ou expressões da coluna.

Tipos de junções (JOINS):
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL JOIN
- CROSS JOIN

Exemplos:
SELECT f.nm_funcionario, d.nm_departamento
FROM tb_funcionarios f
INNER JOIN tb_departamentos d
ON f.id_departamento = d.id_departamento;








Data publicação: 18:26 29/03/2021

Banco de Dados - Grupos de Dados (GROUP BY)

A cláusula GROUP BY facilita a criação de grupos, a qual aparece depois das cláusulas WHERE, mas antes da cláusula ORDER BY. Esta cláusula é bastante utilizada em conjunto com funções de grupo para realizar contagens, localizar o maior / menor valor de um grupo ou do conjunto de registros de uma tabela.

Exemplo (agrupando por departamento):
OBS: a sintaxe abaixo mostrará por departamento a quantidade de funcionários, o maior e menor salário.
SELECT
id_departamento,
MAX(vl_salario) AS maior_salario,
MIN(vl_salario) AS menor_salario,
COUNT(*) AS quantidade_funcionarios
FROM tb_funcionarios
GROUP BY id_departamento
ORDER BY id_departamento;

Exemplo (sem agrupamento, escopo total da tabela):
OBS: a sintaxe mostrará a quantidade de funcionários, o maior e menor salário da tabela.
SELECT
MAX(vl_salario) AS maior_salario,
MIN(vl_salario) AS menor_salario,
COUNT(*) AS quantidade_funcionarios
FROM tb_funcionarios;
Data publicação: 18:16 12/07/2020

Banco de Dados - Funções (Functions)

Uma função é um programa gravado para aceitar opcionalmente parâmetros de entrada, realizar uma operação ou retornar um valor único. Uma função retorna apenas um valor por execução.

Funções de Linhas Simples:
   - UPPER
Retorna a conversão da cadeia de caracteres em letras maiúsculas;
Exemplo Oracle: SELECT UPPER('texto em letras minúsculas') AS texto FROM DUAL;
Exemplo SQL Server: SELECT UPPER('texto em letras minúsculas') AS texto;
- LOWER
Retorna a conversão da cadeia de caracteres em letras minúsculas;
Exemplo Oracle: SELECT LOWER('texto em letras maiúsculas') AS texto FROM DUAL;
Exemplo SQL Server: SELECT LOWER('texto em letras maiúsculas') AS texto;
- SUBSTRING
Retorna parte da cadeia de caracteres de acordo com os parâmetros informados;
Exemplo Oracle: SELECT SUBSTRING('Database', 1, 4) AS texto FROM DUAL;
Exemplo SQL Server: SELECT SUBSTRING('Database', 1, 4) AS texto;
Funções Oracle:
- LENGTH
Retorna a quantidade de caracteres;
Exemplo: SELECT LENGTH('Paralelepípedo') AS palavra FROM DUAL;
- SYSDATE
Retorna a data atual;
Exemplo: SELECT SYSDATE AS data_atual FROM DUAL;
Funções Microsoft SQL Server:
- LEN
Retorna a quantidade de caracteres;
Exemplo: SELECT LEN('Paralelepípedo') AS palavra;
- GETDATE()
Retorna a data atual;
Exemplo: SELECT GETDATE() AS data_atual;

Funções de Linhas Múltiplas / Grupo:
   - MAX
Retorna o valor máximo;
Exemplo: SELECT MAX(VL_SALARIO) AS MAIOR_SALARIO FROM TB_FUNCIONARIOS;
- MIN
Retorna o valor mínimo;
Exemplo: SELECT MIN(VL_SALARIO) AS MENOS_SALARIO FROM TB_FUNCIONARIOS;
- SUM
Retorna a soma dos valores;
Exemplo: SELECT SUM(VL_SALARIO) AS TOTAL_SALARIO FROM TB_FUNCIONARIOS;
- AVG
Retorna a média dos valores;
Exemplo: SELECT AVG(VL_SALARIO) AS MEDIA_SALARIAL FROM TB_FUNCIONARIOS;
- COUNT
Retorna a quantidade de registros;
Exemplo: SELECT COUNT(*) AS QTD_FUNCIONARIOS FROM TB_FUNCIONARIOS;
Data publicação: 20:18 09/05/2020

Banco de Dados - Classificando Dados (ORDER BY)

A cláusula ORDER BY é responsável pela transformação da saída da consulta em dados classificados. Esta cláusula é sempre a última cláusula em uma declaração SELECT.

Classificação Ascendente (ASC):
   SELECT * FROM tb_funcionarios ORDER BY nm_funcionario ASC;
SELECT * FROM tb_funcionarios ORDER BY nm_funcionario;
Cláusulas específicas do Oracle:
SELECT * FROM tb_funcionarios ORDER BY nm_funcionario ASC NULLS FIRST;
SELECT * FROM tb_funcionarios ORDER BY nm_funcionario ASC NULLS LAST;

Classificação Decrescente (DESC):
   SELECT * FROM tb_funcionarios ORDER BY nm_funcionario DESC;
Cláusulas específicas do Oracle:
SELECT * FROM tb_funcionarios ORDER BY nm_funcionario DESC NULLS FIRST;
SELECT * FROM tb_funcionarios ORDER BY nm_funcionario DESC NULLS LAST;
Data publicação: 21:20 25/12/2019

Banco de Dados - Restringindo a Seleção de Dados (WHERE)

A cláusula WHERE estende a declaração SELECT ao fornecer o idioma às linhas restringidas retornadas, baseadas em uma ou mais condições.

Exemplos:
SELECT * FROM tb_funcionarios WHERE nm_funcionario = 'LEANDRO';
SELECT * FROM tb_funcionarios WHERE nm_funcionario IN('LEANDRO', 'Leandro');
SELECT * FROM tb_funcionarios WHERE nm_funcionario LIKE 'Leandro%';
SELECT * FROM tb_funcionarios WHERE nm_funcionario IS NULL;

Ponto de Atenção: O banco de dados Oracle é "Sensível a Maiúsculas" (Case Sensitive), portanto ao filtrar uma coluna desconhecida pode ser necessária a utilização de fórmulas para transformar o texto em maiúsculas (este será tema abordado no próximo tópico).
Data publicação: 21:54 01/10/2019

Banco de Dados - Seleção de Dados (SELECT)

A declaração SELECT é um mecanismo flexível para recuperar informações de uma tabela de banco dados. Esta declaração nunca altera o as informações armazenadas no banco de dados.

Exemplos:
SELECT * FROM tb_funcionarios;
SELECT DISTINCT nm_funcionario FROM tb_funcionarios;

Oracle:
SELECT 'Olá mundo!' FROM dual;

Microsoft SQL Server:
SELECT 'Olá mundo!';

Data publicação: 19:29 29/09/2019

Banco de Dados - Tipos de Armazenamento de Dados (Data Types)

Para armazenar os dados em um banco de dados é necessário ter conhecimento prévio sobre o tipo de dados que serão inseridos em cada coluna das tabelas. Abaixo será listado os principais tipos de dados.

Oracle:
Texto:
CHAR
VARCHAR2
Número:
NUMBER
FLOAT
Data:
DATE
INTERVAL

Microsoft SQL Server:
Texto:
CHAR
VARCHAR
Número:
INT
BIGINT
FLOAT
MONEY
Data:
DATETIME
SMALLDATETIME
Data publicação: 19:27 29/09/2019

SQL Server - Importar tabelas utilizando BCP

Nesta postagem irei mostrar como importar tabelas utilizando o utilitário BCP (Bulk Copy Program) do banco de dados Microsoft SQL Server.

Sintaxe do utilitário BCP:
bcp {table|view|"query"}
{out|queryout|in|format}
{data_file|nul}
{[optional_argument]...}

Parâmetros para indicar importação ou exportação:
- out: Indica que o utilitário irá exportar uma tabela ou view para um arquivo.
- queryout: Indica que o comando irá exportar os dados de uma query para um arquivo.
- in: Indica que o utilitário irá importar os dados de um arquivo para uma tabela.

Para exemplificar a exportação, foi utilizado um arquivo batch (importa_tb_alunos.bat) com o código abaixo.
bcp estudos..tb_alunos in "C:\EXPORT\tb_alunos.txt" -T -c

Explicando brevemente o código acima, "estudos..tb_alunos" é o nome da database seguido do nome da tabela para importação, "in" informa que o arquivo será importado na tabela informada anteriormente, "-T" é o parâmetro para Windows Authentication (utiliza o usuário e senha do Windows para acessar o banco de dados), "-c" indica que as colunas serão exportadas como caracteres.

Parâmetros:
-S     => Servidor
-F2 => Primeira linha a importar (neste exemplo, segunda linha)
-L100 => Última linha a importar (neste exemplo, centésima linha)
-U => Usuário do banco de dados
-P => Senha do usuário do banco de dados
-c => Tipo de dados caractere (delimitadores padrões: linha "ENTER" e coluna "TAB")
-w => Tipo de dados unicode (delimitadores padrões: linha "ENTER" e coluna "TAB")
-t"\t" => Delimitador de coluna (neste exemplo, "TAB")
-r"\n" => Delimitador de linha (neste exemplo, "ENTER")
-T => Windows Authentication
-e => Arquivo para armazenamento dos erros de importação
-o => Arquivo para armazenamento do output após a execução do BCP
-f => Format file cujo define a estrutura da tabela

Publicações relacionadas:
- SQL Server - Exportar tabelas utilizando BCP.
Data publicação: 22:13 16/09/2018

SQL Server - Exportar tabelas utilizando BCP

Nesta postagem irei mostrar como exportar tabelas utilizando o utilitário BCP (Bulk Copy Program) do banco de dados Microsoft SQL Server.

Sintaxe do utilitário BCP:
bcp {table|view|"query"}
{out|queryout|in|format}
{data_file|nul}
{[optional_argument]...}

Parâmetros para indicar importação ou exportação:
- out: Indica que o utilitário irá exportar uma tabela ou view para um arquivo.
- queryout: Indica que o comando irá exportar os dados de uma query para um arquivo.
- in: Indica que o utilitário irá importar os dados de um arquivo para uma tabela.

Para exemplificar a exportação, foi utilizado um arquivo batch (exporta_tb_alunos.bat) com o código abaixo.
bcp estudos..tb_alunos out "C:\EXPORT\tb_alunos.txt" -T -c

Explicando brevemente o código acima, "estudos..tb_alunos" é o nome da database seguido do nome da tabela a ser exportada, "out" informa que a tabela será exportada no arquivo informado, "-T" é o parâmetro para Windows Authentication (utiliza o usuário e senha do Windows para acessar o banco de dados), "-c" indica que as colunas serão exportadas como caracteres.

Abaixo será mostrado outra forma de exportar a mesma tabela utilizando query.
bcp "select * from estudos..tb_alunos" queryout "C:\EXPORT\tb_alunos.txt" -T -c

Parâmetros:
-S     => Servidor
-F2 => Primeira linha a importar (neste exemplo, segunda linha)
-L100 => Última linha a importar (neste exemplo, centésima linha)
-U => Usuário do banco de dados
-P => Senha do usuário do banco de dados
-c => Tipo de dados caractere (delimitadores padrões: linha "ENTER" e coluna "TAB")
-w => Tipo de dados unicode (delimitadores padrões: linha "ENTER" e coluna "TAB")
-t"\t" => Delimitador de coluna (neste exemplo, "TAB")
-r"\n" => Delimitador de linha (neste exemplo, "ENTER")
-T => Windows Authentication
-e => Arquivo para armazenamento dos erros de importação
-o => Arquivo para armazenamento do output após a execução do BCP
-f => Format file cujo define a estrutura da tabela

Publicações relacionadas:
- SQL Server - Importar tabelas utilizando BCP.
Data publicação: 22:01 12/07/2018

Oracle - Números Sequenciais com OVER

Números sequenciais em ordem crescente de first_name:

SELECT
ROW_NUMBER() OVER (ORDER BY e.first_name) AS sequencia,
e.employee_id,
e.first_name
FROM hr.employees e
ORDER BY e.first_name;



Números sequenciais para cada agrupamento de department_id em ordem crescente de employee_id:

SELECT
e.department_id,
e.last_name,
e.employee_id,
ROW_NUMBER() OVER (PARTITION BY e.department_id ORDER BY e.employee_id) AS emp_id
FROM hr.employees e
ORDER BY e.department_id,
e.employee_id;



Mostrar registros que estão entre determinadas linhas, no exemplo abaixo, entre as linhas 51 e 100:

SELECT r, last_name
FROM (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R
FROM hr.employees)
WHERE R BETWEEN 51 and 100;



OBS: a cláusula OVER funciona da mesma forma no Oracle e SQL Server
Data publicação: 00:54 06/01/2015

Utilizando Oracle SQL Developer com o MS SQL Server 2008 R2

Oracle SQL Developer é um software gratuito para acesso a banco de dados Oracle. Com ele é possível conectar a outros bancos de dados utilizando drivers JDBC de terceiros como Microsoft SQL Server, MySQL, ACCESS, e SyBase.

Como o driver JDBC da Microsoft não funciona corretamente com o Oracle SQL Developer é necessário utilizar o JTDS. O mesmo está disponível para download na página da Sourceforge. Faça o download da versão JTDS 1.2.7 Dist, testei outras versões do JTDS e as mesmas não funcionaram.

Descompacte o arquivo jtds-1.2.7-dist.zip e copie o jtds-1.2.7.jar para a pasta SQL Developer/Drivers. Crie a pasta Drivers caso não exista.

Para utilizar a autenticação do Windows é necessário copiar o arquivo jtds-1.2.7-dist\x86\SSO\ntlmauth.dll para a pasta \jdk\jre\bin.

Para habilitar o SQL Server, no Oracle SQL Developer, basta adicionar o driver jtds-1.2.7.jar em Ferramentas > Banco de dados > Drivers JDBC de Terceiros.


Feito os passos anteriores, basta criar um nova conexão SQL Server e configurá-la.


Versões utilizadas:
Oracle SQL Developer: 3.2.20.09
Driver JTDS 1.2.7 Dist
Java SE Development Kit 6.45 (JDK 6U45)
Data publicação: 12:08 18/09/2014

Banco de Dados - Declarações SQL

Nesta publicação, irei listar como os comandos de banco de dados estão divididos / classificados.

1. DML - Data Manipulation Language (Linguagem de Manipulação de Dados)

SELECT
INSERT
UPDATE
DELETE
MERGE

OBS: alguns autores não consideram a instrução SELECT como DML.

2. DDL - Data Definition Language (Linguagem de Definição de Dados)

CREATE
ALTER
DROP
TRUNCATE
RENAME
COMMENT

3. DCL - Data Control Language (Linguagem de Controle de Dados)
Instruções Oracle:
GRANT
REVOKE

4. TCL - Transaction Control Language (Linguagem de Controle de Transações)

COMMIT
ROLLBACK
Instruções Oracle:
SAVEPOINT
Instruções Microsoft SQL Server:
BEGIN TRANSACTION

Ponto de Atenção: No banco de dados Oracle, é necessário executar a cláusula COMMIT ou ROLLBACK após a execução de um comando DML (com exceção do SELECT). Comandos DDL possuem a execução do COMMIT implícito.
Data publicação: 16:02 10/09/2014
Perfil
Olá jovem Padawan, seja bem vindo! Este site foi criado com o intuito de compartilhar um pouco de conhecimento de Tecnologia da Informação, Big Data, Banco de Dados e Business Intelligence.

GitHub  Linkedin  Youtube

"Meus filhos terão computadores, sim, mas antes terão livros. Sem livros, sem leitura, os nossos filhos serão incapazes de escrever - inclusive a sua própria história." (Bill Gates)


Leandro Sacramento, Todos os direitos reservados - 2012 - 2022