Nas manipulações de registros realizadas diretamente em banco de dados ou em plataformas desenvolvidas no padrão RESTful, o conceito CRUD estabelece o modelo correto no manuseio desses dados.

CRUD representa as quatro principais operações realizadas em banco de dados, seja no modelo relacional (SQL) ou não-relacional (NoSQL), facilitando no processamento dos dados e na consistência e integridade das informações.

Convidamos você a conhecer mais sobre as quatro operações realizadas no CRUD, quando aplicadas diretamente em um banco de dados e emAPIs.

Para saber mais sobre este tema, confira os tópicos que preparamos para você: 

 Boa leitura!

O que é CRUD e quais as 4 operações básicas de um banco de dados?

Crud representação

A sigla CRUD significa as iniciais das operações create (criação), read (leitura), update (atualização) e delete (exclusão). Essas quatro siglas tratam a respeito das operações executadas em bancos de dados relacional (SQL) e não-relacional (NoSQL). Essas operações pertencem ao agrupamento chamado de Data Manipulation Language (DML), utilizado na linguagem Structured Query Language (SQL).

Vamos conhecer quais são os quatros comandos utilizados para as operações de manipulações em tabelas no banco de dados:

Create

A operação de criação de um registro em uma tabela é realizada pelo comando INSERT. Exemplo:

INSERT into FUNCIONARIO (IdFuncionario, Nome) values (1, 
	‘Funcionário A’);

Entendendo a sintaxe utilizada:

            INSERT: palavra-chave que indica a inserção de um novo registro;

            into: palavra-chave que indica em qual tabela o novo registro será inserido;

            (IdFuncionario, Nome): nome de cada coluna da tabela;

            values: palavra-chave que indica os dados que serão inseridos na tabela.

Read

A operação de consulta de um ou mais registros em uma tabela é realizada pelo comando SELECT. Exemplo:

SELECT IdFuncionario, Nome from FUNCIONARIO;

Entendendo a sintaxe utilizada:

SELECT: palavra-chave utilizada para determinar quais campos da tabela FUNCIONARIO serão exibidos no resultado dessa consulta.

Update

Comando utilizado para a atualização de um ou mais registros de uma tabela. Exemplo:

UPDATE FUNCIONARIO set Nome = ‘Funcionário A - alterado’ where 
  IdFuncionario = 1;

Entendendo a sintaxe utilizada:

UPDATE: palavra-chave utilizada para indicar a atualização do campo Nome na tabela FUNCIONARIO para o registro do campo Id igual a 1;

Delete 

Comando utilizado para a exclusão de registro (s) de uma tabela. Exemplo:

DELETE from FUNCIONARIO where IdFuncionario = 1;

Entendendo a sintaxe utilizada:

DELETE: palavra-chave utilizada para indicar em qual tabela será realizada a exclusão física do(s) registro(s).

Boas práticas: Para os comandos UPDATE e DELETE, utilize as declarações BEGIN TRANSACTION com COMMIT ou ROLLBACK, que certificam que as transações realizadas no banco de dados serão processadas com sucesso.

Vamos explicar cada um deles:

1) BEGIN TRANSACTION: declara o início lógico da transação;

2) @@ROWCOUNT: exibe quantos registros na tabela serão alterados;

3) COMMIT: declaração responsável por executar a transação física do comando no banco de dados;

4) ROLLBACK: responsável por finalizar a transação lógica, caso a instrução do comando esteja errada.

Exemplo prático:

Código CRUD

Passo a passo:

1) Execute apenas a declaração BEGIN TRANSACTION;

2) Execute toda a linha do comando UPDATE;

3) Para certificar que a atualização do registro ocorrerá apenas para o IdFuncionario igual a 1, execute o comando SELECT @@ROWCOUNT;

4) O valor apresentado deverá ser igual a 1, ou seja, apenas um registro será alterado. Nesse caso, execute a declaração COMMIT para realizar a transação física desta instrução no banco de dados.

Ponto de atenção: a declaração ROLLBACK só deverá ser executada quando o comando @@ROWCOUNT apresentar resultado diferente da instrução que se deseja realizar no banco de dados.

As manipulações em tabelas não ocorrem somente quando utilizamos os comandos diretamente no banco de dados. Vamos apresentar outra abordagem de como utilizar o modelo CRUD no padrão RESTful.

O padrãoRESTful estabelece contratos definidos para o paradigma de programação para a Web chamado deAPI REST. Nesse modelo, as aplicações precisam utilizar corretamente os verbos do protocolo HTTP para efetuarem a comunicação com o banco de dados. A vantagem desse padrão é que as chamadas realizadas para qualquer um dosendpoints oferecidos por uma aplicação poderá ser consumido de forma assíncrona.

Uma forma prática de entendermos a correspondência entre os comandos de SQL e o padrão RESTful no modelo CRUD, está na tabela a seguir:

Tabela correspondência SQL e Protocolo HTTP

Exemplo de CRUD na prática!

Vamos aprender como utilizar os comandos de CRUD utilizando o padrão RESTful:

POST: responsável por enviar os parâmetros de uma requisição HTTP para a inclusão em banco de dados. Exemplo:

Requisição:

Requisição CRUD

Corpo da Requisição:

Corpo da Requisição

Status esperado da requisição:

Resultado esperado da requisição CRUD

GET: retorna os dados de uma pesquisa realizada pela requisição HTTP. Esse verbo apresenta duas formas de pesquisa. Exemplos:

Retornar todos os registros da tabela mencionada na requisição:

Requisição:

Retornando registros da requisição

Retorno esperado da requisição:

Retorno esperado

Retornar o registro de uma consulta específica:

Requisição:

Consulta específica retorno

Retorno esperado da requisição:

Retorno esperado da consulta CRUD

PUT: realiza a atualização dos dados de um registro específico da tabela. Exemplo:

Requisição:

Comando PUT atualização

Corpo da Requisição:

Corpo da requisição com PUT

Status esperado da requisição:

Status esperado

DELETE: responsável em realizar a exclusão física de um registro específico da tabela. Exemplo:

Requisição:

Usando DELETE

Status esperado da requisição:

Resultado esperado

Quais as vantagens e desvantagens de usar CRUD?

Principais vantagens:

  • Conceito utilizado tanto para o modelo relacional (SQL) quanto para o não-relacional (NoSQL);
  • praticidade para acessar e manipular os dados em um servidor;
  • no padrão RESTful, a agilidade no retorno dos dados sem concorrência, para métodos assíncronos;
  • praticidade no desenvolvimento do código e das regras de negócio na API RESTful;
  • interoperabilidade e usabilidade da API RESTful com o servidor de dados.

Principais desvantagens:

  • necessidade de adequar da API RESTful quando há alterações nas regras de negócio no banco de dados;
  • requer atenção na execução dos comandos UPDATE e DELETE, quando executados diretamente no banco de dados;
  • sistema legado requer maior esforço na adequação das regras de negócio, principalmente quando essas regras estão na Stored Procedures.

CRUD é uma forma simplificada de interagir com os dados em um servidor, ganhando notoriedade pela simplicidade nas operações realizadas no padrão RESTful. Razão essa que permite a escalabilidade das aplicações, sem comprometer o desempenho dos recursos do banco de dados.

Se você gostou desse conteúdo, que tal conhecer sobre a profissão do DBA e quais as suas atribuições?

Deixe um comentário
Você também pode gostar