Entendendo a Relação entre SQL, DML e DDL: Fundamentos de Banco de Dados
Tags: braziliandevs
Published: 2023-08-07 19:34:31

*Introdução:*

Neste artigo, irei explorar sobre a linguagem SQL para a manipulação e o gerenciamento de dados em bancos de dados relacionais. É importante destacar que o SQL os quatro tipos de comandos: Criar, Ler, Atualizar e Deletar.

Estas quatro operações são carinhosamente chamadas de CRUD. Por isso, vamos discutir e compreender essa relação entre o SQL, DML e DDL.

Este artigo é parte de uma síntese de notas soltas entre a disciplina de banco de dados do tecnólogo que faço, e do bootcamp que estou fazendo no momento.

Então, vamos começar!
## Abordando a linguagem SQL

O SQL é uma linguagem com o propósito de permitir que pessoas técnicas e não técnicas façam requisições, manipulem e transformem os dados em um banco de dados relacional.

Por ser uma linguagem simples, os banco de dados SQL são seguros e fornecem suporte a escalabilidade para muitos serviços na web quanto em aplicações mobile.

## A Importância da DML na Manipulação de Dados

Em português, a DML pode ter o significado de "Linguagem de Manipulação de Dados", ou seja, a DML é essencial por permitir ao usuário realizar operações cruciais em um banco de dados relacional.

Seguem os comandos DML:
```sql
SELECT; /*Permite que os usuários busquem por informações gerais ou específicas*/
INSERT; /*Permite que se adicione novos registros (linhas) a uma tabela*/
UPDATE; /*Permite modificar valores de colunas existentes*/
DELETE; /*Permite a remoção de registros de uma tabela*/
```

Desta maneira, a DML permite que aqueles que irão manipular o banco de dados realizem as operações de forma eficiente e segura.

## Explorando a DDL e sua Relação com a Estrutura do Banco de Dados

Em português, a DDL se traduz como a "Linguagem de Definição de Dados". Enquanto na anterior falamos sobre a manipulação em um banco de dados relacionais, agora nós passamos a falar sobre a definição da estrutura do banco de dados pretendido, ou seja, gerenciamento dos objetos que o compõe.

Seguem os comandos DDL:
```sql
CREATE; /*Criar novos objetos no banco de dados, tabelas, índices, views*/
ALTER; /*Modificcar a estrutura de objetos já existentes, add ou remover colunas, tipo de dado*/
DROP; /*Excluir objetos do banco de dados*/
TRUNCATE; /*Remover todos os dados de uma tabela, mantendo sua estrutura intacta*/
```

A DDL é crucial pelo seu aspecto administrativo onde busca criar e modificar o banco de dados com o propósito de atender a necessidade do sistema e dos usuários. Sendo assim, importante para:

1. Criar e modificar tabelas e objetos;
2. Garantir a integridade dos dados;
3. Otimização do desempenho;
4. Segurança;
5. Manutenção e escalabilidade.

## Praticando

A maneira de praticar conceitos teóricos aprendidos é sempre fundamental para concretizar os estudos, mas diferentemente de praticar com desafios de códigos, praticar SQL depende muito mais de já encontrarmos banco de dados prontos e então experimentar técnicas nele para extrair informações.

- [CS50: Semana 7 - SQL](https://dev.to/matt1cs/cs50-semana-7-lab-musicas-48m7) 
Deixarei aqui minhas soluções da semana 7 do CS50 que trata diretamente de manipulação de banco de dados com SQL.

Neste post encontra-se as respostas que investiguei para os desafios do laboratório, recomendo sempre o CS50 como um excelente estudo de base para diversos conceitos introdutórios e fundamentais para desenvolvimento de software.

## Conclusão

Tanto a DML quanto a DDL são as duas partes principais da linguagem SQL, onde juntas oferecem uma abordagem completa para criar, manipular e gerenciar bancos de dados relacionais.

Fico por aqui, e se estiver interessado em saber mais sobre estrutura de dados e algoritmos, acompanhe minha série em desenvolvimento sobre esse assunto.

- [Explorando as Fundamentais Estruturas de Dados: Uma Introdução](https://dev.to/matt1cs/explorando-as-fundamentais-estruturas-de-dados-uma-introducao-4n84)
- [Explorando as Fundamentais Estruturas de Dados: Algoritmos de Ordenação](https://dev.to/matt1cs/explorando-as-fundamentais-estruturas-de-dados-algoritmos-de-ordenacao-50ml)

Até a próxima!