Database
 sql >> Base de Dados >  >> RDS >> Database

Tutorial de SQL:solução única para aprender SQL

No mercado atual, onde cerca de 2,5 quintilhões de bytes de dados são gerados todos os dias, é muito importante entender como lidar com uma quantidade tão grande de dados. Bem, é aí que entra a Linguagem de Consulta Estruturada ou SQL. Portanto, neste artigo sobre o Tutorial SQL, discutirei os seguintes conceitos importantes, que são essenciais para a jornada de se tornar um Administrador de Banco de Dados.

  • Introdução ao SQL
    1. O que é SQL?
    2. Aplicativos do SQL
    3. Tipos de dados SQL
    4. Operadores SQL
  • Principais comandos SQL
    1. CRIAR
    2. DEIXAR
    3. ALTER
    4. TRUNCAR
    5. EXPLICAR
    6. INSERIR EM
    7. ATUALIZAÇÃO
    8. SELECIONAR
    9. Gostei
    10. CONCESSÃO
  • Chaves no banco de dados
  • Restrições SQL
  • Normalização
  • Uniões SQL
  • Visualizações

Tutorial SQL:introdução ao SQL

O que é SQL?

Desenvolvida por Donald D.Chamberlin na década de 1970, a Linguagem de Consulta Estruturada ou mais comumente conhecida como SQL é uma das linguagens mais populares usadas para manipular, armazenar, atualizar e recuperar dados de um banco de dados relacional. O SQL consiste em vários comandos segregados em 4 categorias, ou seja, DDL, DML, DCL e TCL para brincar com dados em bancos de dados. Além disso, bancos de dados relacionais como bancos de dados MySQL, Oracle, MS SQL Server, Sybase etc usam SQL para modificar dados.

Aplicativos do SQL

As aplicações do SQL são as seguintes:

  • Com SQL, você pode criar e descartar tabelas e bancos de dados.
  • Permite que os usuários definam e manipulem dados em bancos de dados.
  • O SQL permite que os usuários acessem, modifiquem e descrevam dados no RDBMS.
  • Com o SQL, você pode definir permissões em tabelas, exibições e procedimentos e conceder permissões específicas a diferentes usuários.
  • O SQL permite incorporar em outras linguagens usando bibliotecas e módulos SQL.

Agora que você conhece o básico do SQL, a seguir neste tutorial de SQL, vamos entender quais são os diferentes tipos de dados SQL.

Tipos de dados SQL

Os Tipos de Dados SQL são divididos nas seguintes categorias:

  • Numérico – Os tipos de dados numéricos permitem inteiros assinados e não assinados. Eles podem ser divididos em tipos de dados exatos e aproximados, onde exatos permitem os inteiros na forma de números inteiros e aproximados permitem inteiros flutuantes.
  • Cadeia de caracteres – Este tipo de dados permite caracteres de comprimento fixo e variável. Esse tipo de dados também pode ser categorizado em caracteres Unicode, que permitem comprimento fixo e variável de caracteres Unicode.
  • Binário – Os tipos de dados Binários permitem que os dados sejam armazenados no formato de valores binários, para comprimento fixo e variável.
  • Data e hora – Este tipo de dados permite que os dados sejam armazenados em diferentes formatos de data e hora.
  • Outro – Esta seção de tipos de dados tem tipos de dados como table, XML, cursor, uniqueidentifier e sql_variant.

Se você deseja obter uma compreensão detalhada dos diferentes tipos de dados SQL, consulte o guia detalhado sobre Tipos de dados SQL.

Operadores SQL

Operadores são as construções que podem manipular os valores dos operandos. Considere a expressão 4 + 6 =10, aqui 4 e 6 são operandos e + é chamado de operador.

SQL suporta os seguintes tipos de Operadores:

  • Operadores aritméticos
  • Operadores bit a bit
  • Operadores de comparação
  • Operadores compostos
  • Operadores lógicos

Para conhecer os diferentes operadores suportados pelo SQL, de forma elaborada, você pode clicar aqui. Então, agora que você sabe o que é SQL e seus fundamentos, vamos entender os principais comandos ou instruções em SQL.

Tutorial SQL:Principais comandos SQL

SQL consiste em vários comandos ou instruções para adicionar, modificar, excluir ou atualizar dados no banco de dados. Neste artigo sobre o tutorial SQL, vamos discutir as seguintes instruções:

    1. CRIAR
    2. DEIXAR
    3. ALTER
    4. TRUNCAR
    5. EXPLICAR
    6. INSERIR EM
    7. ATUALIZAÇÃO
    8. SELECIONAR
    9. Gostei
    10. CONCESSÃO

Neste tutorial SQL, vou considerar o banco de dados abaixo como exemplo, para mostrar como escrever consultas usando esses comandos SQL.

CustomerID Nome do Cliente PhoneNumber Endereço Cidade País
1 Simão 9876543210 Donald Street 52 Hyderabad Índia
2 Akash 9955449922 Queens Road 74 Mumbai Índia
3 Patrick 9955888220 Placa de seda 82 Delhi Índia
4 Mesmo 9647974327 IG Estrada 19 Hyderabad Índia
5 João 9674325689 Bloqueio de estrada da brigada 9 Bangalore Índia

CRIAR

A instrução CREATE é usada para criar uma tabela, visão ou banco de dados da seguinte maneira:

CRIAR BANCO DE DADOS

Usado para criar um banco de dados.

Sintaxe

CREATE DATABASE DatabaseName;

Exemplo

 
CREATE DATABASE CustomerInfo; 

CRIAR TABELA

Esta instrução é usada para criar uma tabela.

Sintaxe

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

Exemplo

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

CRIAR VISUALIZAÇÃO

Usado para criar uma visualização.

Sintaxe

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

Exemplo

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";

Observação: Antes de começar a criar uma tabela e inserir valores, você deve usar o banco de dados, usando a instrução USE como [USE CustomersInfo; ]

DESLIGAR

A instrução DROP é usada para eliminar uma tabela, visão ou banco de dados existente.

DEIXAR BANCO DE DADOS

Usado para eliminar o banco de dados. Ao usar esta instrução, as informações completas presentes no banco de dados serão perdidas.

Sintaxe

DROP DATABASE DatabaseName;

Exemplo

DROP DATABASE CustomerInfo;

SOLTAR TABELA

Usado para remover a tabela. Ao usar esta declaração, as informações completas presentes na tabela serão perdidas.

Sintaxe

DROP TABLE TableName;

Exemplo

DROP TABLE Customers;

DEIXAR DE VISUALIZAÇÃO

Usado para descartar a visualização. Ao usar essa instrução, as informações completas presentes na exibição serão perdidas.

Sintaxe

DROP VIEW ViewName;

Exemplo

DROP VIEW HydCustomers;

ALTER

A instrução ALTER é usada para adicionar, excluir ou modificar restrições ou colunas em uma tabela existente.

ALTER TABELA

A instrução ALTER é usada para excluir, adicionar e modificar colunas em uma tabela existente. Você pode usar ALTER TABLE com a coluna ADD/DROP para adicionar ou descartar uma coluna na tabela. Além disso, você também pode ALTER/MODIFICAR uma coluna específica.

Sintaxe

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

Exemplo

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

TRUNCAR

A instrução TRUNCATE é usada para excluir as informações presentes na tabela, mas não a própria tabela. Assim, uma vez que você usar este comando, suas informações serão perdidas, mas não a tabela ainda estará presente no banco de dados.

Sintaxe

TRUNCATE TABLE TableName;

Exemplo

TRUNCATE Table Customers;

EXPLICAR

As instruções EXPLAIN e DESCRIBE são sinônimos usados ​​para obter um plano de execução de consulta e as informações sobre uma estrutura de tabela, respectivamente. Esta instrução pode ser usada com instruções INSERT, DELETE, SELECT, UPDATE e REPLACE.

Sintaxe

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

Exemplo

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

INSERIR EM

A instrução INSERT INTO é usada para inserir novos registros em uma tabela.

Sintaxe

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Exemplo

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

ATUALIZAÇÃO

A instrução UPDATE é usada para modificar os registros já presentes na tabela.

Sintaxe

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

Exemplo

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

SELECIONAR

A instrução SELECT é usada para selecionar dados de um banco de dados e armazená-los em uma tabela de resultados, chamada de conjunto de resultados .

Sintaxe

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

Exemplo

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

Além disso, você pode usar a palavra-chave SELECT com DISTINCT, ORDER BY, GROUP BY, HAVING Clause e INTO.

GOSTEI

Este operador é usado com uma cláusula WHERE para procurar um padrão especificado em uma coluna de uma tabela. Existem principalmente dois curingas que são usados ​​em conjunto com o operador LIKE:

  • % – Corresponde a 0 ou mais caracteres.
  • _ – Corresponde exatamente a um caractere.

Sintaxe

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

Exemplo

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

CONCESSÃO

O comando GRANT é usado para fornecer privilégios ou acesso ao banco de dados e seus objetos aos usuários.

Sintaxe

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

onde,

  • PrivilegeName – Os privilégios/direitos/acesso concedidos ao usuário.
  • ObjectName – Nome de um objeto de banco de dados como TABLE/VIEW/STORED PROC.
  • Nome de usuário – Nome do usuário que recebe o acesso/direitos/privilégios.
  • PÚBLICO – Para conceder direitos de acesso a todos os usuários.
  • RoleName – O nome de um conjunto de privilégios agrupados.
  • COM OPÇÃO DE CONCESSÃO – Para dar ao usuário acesso para conceder direitos a outros usuários.

Exemplo

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

Agora que você conhece os principais comandos SQL, vamos entender quais são os diferentes tipos de chaves usadas no banco de dados. Bem, este conceito irá ajudá-lo a entender como cada tabela está relacionada com a outra tabela em um sistema de gerenciamento de banco de dados relacional.

Tutorial SQL:Chaves

A seguir estão os 7 tipos de chaves, que podem ser consideradas em um banco de dados:

  • Chave do candidato – Um conjunto de atributos que podem identificar exclusivamente uma tabela pode ser denominado como Chave Candidata. Uma tabela pode ter mais de uma chave candidata e, das chaves candidatas escolhidas, uma chave pode ser escolhida como Chave Primária.
  • Super Chave – O conjunto de atributos que podem identificar exclusivamente uma tupla é conhecido como Super Chave. Portanto, uma chave candidata, uma chave primária e uma chave exclusiva são uma superchave, mas vice-versa não é verdade.
  • Chave primária – Um conjunto de atributos que são usados ​​para identificar exclusivamente cada tupla também é uma chave primária.
  • Chave alternativa – Chaves alternativas são as chaves candidatas, que não são escolhidas como chave primária.
  • Chave exclusiva – A chave exclusiva é semelhante à chave primária, mas permite um valor NULL na coluna.
  • Chave estrangeira – Um atributo que só pode receber os valores presentes como valores de algum outro atributo é a chave estrangeira do atributo ao qual se refere.
  • Chave composta – Uma chave composta é uma combinação de duas ou mais colunas que identificam cada tupla exclusivamente.

Espero que você tenha entendido os diferentes tipos de chaves no banco de dados, a seguir neste artigo sobre tutorial SQL, vamos discutir as restrições no banco de dados. Bem, as restrições SQL são usadas para aumentar a precisão e a confiabilidade dos dados que entram no banco de dados por meio de uma tabela.

Tutorial SQL: Restrições

As restrições SQL garantem que não haja violação em termos de uma transação de dados, se encontrada, a ação será encerrada. O principal uso das restrições a seguir é limitar o tipo de dados que pode entrar em uma tabela.

  • NÃO NULO – Essa restrição é usada para garantir que uma coluna não possa armazenar um valor NULL.
  • ÚNICO – A restrição UNIQUE é usada para garantir que todos os valores inseridos em uma coluna ou tabela sejam exclusivos.
  • VERIFICAR – Essa restrição é usada para garantir que uma coluna ou várias colunas satisfaçam uma condição específica.
  • PADRÃO – A restrição DEFAULT é usada para definir um valor padrão para uma coluna se nenhum valor for especificado.
  • ÍNDICE – Essa restrição é usada para índices na tabela, através dos quais você pode criar e recuperar dados do banco de dados muito rapidamente.

Se você quiser conhecer detalhadamente as seguintes restrições com sintaxe e exemplos, consulte outros artigos sobre SQL. Então, agora que você conhece as chaves e restrições no banco de dados, a seguir neste artigo sobre o tutorial SQL, vamos dar uma olhada em um conceito interessante de Normalização.

Tutorial SQL:Normalização

A normalização é o processo de organização de dados para evitar duplicação e redundância. Existem muitos níveis sucessivos de normalização e esses são chamados de formas normais . Além disso, cada forma normal consecutiva depende da anterior. A seguir estão as formas normais presentes:

Para entender as formas normais acima, vamos considerar a seguinte tabela:


Observando a tabela acima, você pode ver claramente a redundância de dados e a duplicação de dados. Então, vamos normalizar esta tabela. Para começar a normalizar os bancos de dados, você deve sempre começar com a forma normal mais baixa, ou seja, 1NF e depois ir para as formas normais mais altas eventualmente.

Agora, vamos ver como podemos realizar a primeira forma normal, para a tabela acima.

Primeira forma normal(1NF)


Para certificar-se de que o banco de dados deve estar em 1NF , cada célula da tabela deve ter um único valor. Então, basicamente todos os registros devem ser únicos . A tabela acima será normalizada em 1NF conforme abaixo:


Se você observar na tabela acima, todos os registros são únicos. Mas, ainda há muita redundância e duplicação de dados. Então, para evitar isso, vamos normalizar o banco de dados na segunda forma normal.

Segunda Forma Normal(2NF)

Para garantir que o banco de dados esteja em 2NF , o banco de dados deve ser 1NF e também deve ter uma chave primária de coluna única . A tabela acima será normalizada em 2NF conforme abaixo:


Se você observar as tabelas acima, cada tabela tem uma chave primária de coluna única. Mas há muita redundância de dados e duplicação de algumas colunas. Então, para evitar isso, vamos normalizar o banco de dados na terceira forma normal.

Terceira Forma Normal(3NF)

Para garantir que o banco de dados esteja em 3NF , o banco de dados deve estar em 2NF e não deve ter nenhuma dependência funcional transitiva . As tabelas acima serão normalizadas em 3NF conforme abaixo:


Se você observar as tabelas acima, o banco de dados não possui nenhuma dependência transitiva. Portanto, após esta etapa, não precisamos normalizar ainda mais nosso banco de dados. Mas, se você vir alguma anomalia presente ou mais de uma única chave candidata, poderá avançar com a próxima forma normal mais alta, ou seja, BCNF.

Forma Normal Boyce-Codd(BCNF)

Para garantir que o banco de dados deve estar na BCNF, o banco de dados deve estar presente na 3NF e as tabelas devem ser divididas ainda mais, para garantir que apenas uma chave candidata esteja presente.

Com isso, chegamos ao fim da normalização. Agora, a seguir neste tutorial SQL, vamos discutir um conceito importante em SQL, que é Joins.

Tutorial SQL:Associações

As junções são usadas para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre essas tabelas e também em algumas condições. Existem basicamente quatro tipos de junções:

  • INNER JOIN: Essa junção retorna os registros que possuem valores correspondentes em ambas as tabelas.
  • FULL JOIN: O FULL JOIN retorna todos os registros que têm uma correspondência na tabela da esquerda ou da direita.
  • LEFT JOIN: Essa junção retorna os registros da tabela da esquerda e também os registros que atendem à condição da tabela da direita.
  • RIGHT JOIN: Essa junção retorna os registros da tabela da direita e também os registros que atendem à condição da tabela da esquerda.

Então, esta foi uma breve descrição sobre JOINS, mas se você quiser uma descrição detalhada sobre JOINS com um exemplo detalhado, você pode consultar meu artigo sobre SQL JOINS. Em seguida, neste tutorial SQL, vamos discutir o último conceito para este artigo, ou seja, Views.

Tutorial SQL:visualizações

Uma visão em SQL é uma tabela única, que é derivada de outras tabelas. Uma visualização contém linhas e colunas semelhantes a uma tabela real e possui campos de uma ou mais tabelas. Consulte a imagem abaixo:


Para entender como criar e descartar uma visualização, você pode consultar as instruções CREATE e DROP mencionadas acima. Com isso, encerramos este artigo sobre tutorial de SQL. Espero que você encontrou este artigo informativo. Além disso, se você estiver se preparando para entrevistas de administrador de banco de dados e estiver procurando por uma lista abrangente de perguntas, consulte nosso artigo sobre perguntas de entrevista sobre SQL.

Se você deseja aprender mais sobre o MySQL e conhecer este banco de dados relacional de código aberto, confira nosso Treinamento de Certificação MySQL DBA que vem com treinamento ao vivo conduzido por instrutor e -experiência de projeto de vida. Este treinamento irá ajudá-lo a entender o MySQL em profundidade e ajudá-lo a alcançar o domínio sobre o assunto.

Tem alguma pergunta para nós? Mencione-o na seção de comentários deste SQLTutorial e entraremos em contato com você.