Linguagem de controle de dados - Data control language

Uma linguagem de controle de dados ( DCL ) é uma sintaxe semelhante a uma linguagem de programação de computador usada para controlar o acesso aos dados armazenados em um banco de dados ( autorização ). Em particular, é um componente da Structured Query Language (SQL). Linguagem de controle de dados é um do grupo lógico em comandos SQL. SQL é a linguagem padrão para sistemas de gerenciamento de banco de dados relacionais. As instruções SQL são usadas para executar tarefas como inserir dados em um banco de dados, excluir ou atualizar dados em um banco de dados ou recuperar dados de um banco de dados.

Embora os sistemas de banco de dados usem SQL, eles também têm suas próprias extensões proprietárias adicionais que geralmente são usadas apenas em seus sistemas. Por exemplo, o servidor Microsoft SQL usa Transact-SQL (T-SQL), que é uma extensão do SQL. Da mesma forma, a Oracle usa PL-SQL, que é sua extensão proprietária apenas para eles. No entanto, os comandos SQL padrão como "Selecionar", "Inserir", "Atualizar", "Excluir", "Criar" e "Eliminar" podem ser usados ​​para realizar quase tudo o que é necessário fazer com um banco de dados.

Exemplos de comandos DCL incluem:

  • GRANT para permitir que usuários especificados executem tarefas específicas.
  • REVOKE para remover a acessibilidade do usuário ao objeto de banco de dados.

As operações para as quais privilégios podem ser concedidos ou revogados de um usuário ou função se aplicam à linguagem de definição de dados (DDL) e à linguagem de manipulação de dados (DML), e podem incluir CONNECT , SELECT , INSERT , UPDATE, DELETE , EXECUTE , e USO .

Microsoft SQL Server:

De acordo com o servidor Microsoft SQL, existem quatro grupos de comandos SQL. (MSSQL)

  • Linguagem de manipulação de dados (DML)
  • Linguagem de definição de dados (DDL)
  • Linguagem de controle de dados (DCL)
  • Linguagem de controle de transações (TCL)

Os comandos DCL são usados ​​para controle de acesso e gerenciamento de permissões para usuários no banco de dados. Com eles podemos facilmente permitir ou negar algumas ações para usuários nas tabelas ou registros (segurança em nível de linha).

Os comandos DCL são:

GRANT - Podemos dar certas permissões na tabela (e outros objetos) para certos usuários do banco de dados,

NEGAR - bane certas permissões dos usuários.

REVOKE - com este comando podemos recuperar a permissão dos usuários.

Por exemplo, GRANT pode ser usado para dar privilégios ao usuário para fazer SELECT, INSERT, UPDATE e DELETE em uma tabela específica ou em mais de uma tabela.

Com o comando REVOKE, podemos retomar o privilégio para o padrão ou revogar um comando específico como atualizar ou excluir com base nos requisitos.

Exemplo:

Conceda SELECT, INSERT, UPDATE, DELETE no funcionário para o usuário 1

Revogar INSERT no funcionário para o usuário 1

Negar atualização no funcionário para o usuário 1

GRANT no primeiro caso demos privilégios ao usuário User1 para fazer SELECT, INSERT, UPDATE e DELETE na tabela chamada funcionários.

REVOKE com este comando podemos retomar o privilégio para o padrão, neste caso, retomamos o comando INSERT na tabela workers para o usuário User1.

NEGAR é um comando específico. Podemos concluir que cada usuário tem uma lista de privilégios negados ou concedidos, então o comando DENY existe para banir explicitamente alguns privilégios nos objetos do banco de dados .:

Banco de dados ORACLE fb: Dipa Lolman.9

O Oracle divide os comandos SQL em diferentes tipos. Eles são.

  • Declarações de linguagem de definição de dados (DDL)
  • Declarações de linguagem de manipulação de dados (DML)
  • Declarações de controle de transação
  • Declarações de controle de sessão
  • Declaração de controle do sistema
  • Instruções SQL incorporadas

Para obter detalhes, consulte Oracle- TCL         

As instruções de linguagem de definição de dados (DDL) permitem que você execute estas tarefas:

  • Criar, alterar e descartar objetos de esquema
  • Conceder e revogar privilégios e funções
  • Analise as informações em uma tabela, índice ou cluster
  • Estabeleça opções de auditoria
  • Adicione comentários ao dicionário de dados

Portanto, os comandos DDL do banco de dados Oracle incluem os privilégios conceder e revogar que, na verdade, fazem parte da linguagem de controle de dados no servidor Microsoft SQL.

Sintaxe para concessão e revogação no Oracle:

Exemplo :

GRANT SELECT, INSERT, UPDATE, DELETE ON db1.Employee TO user1;

REVOGAR, SELECIONAR, INSERIR, ATUALIZAR, EXCLUIR NO db1.Employee FROM user1;

Declarações de controle de transação no Oracle:

As instruções de controle de transações gerenciam as alterações feitas pelas instruções DML. As instruções de controle de transação são:

  • COMPROMETER-SE
  • ROLLBACK
  • SALVAR PONTO
  • DEFINIR A TRANSAÇÃO
  • DEFINIR CONSTRAINT

Servidor MySQL : indo

Servidor MySQL, eles dividem as instruções SQL em diferentes tipos de instruções

  • Declarações de definição de dados
  • Declarações de manipulação de dados
  • Declarações Transacionais e de Bloqueio
  • Declarações de replicação
  • Declarações Preparadas
  • Sintaxe de instrução composta
  • Instruções de administração de banco de dados
  • Declarações de utilidade

Para obter detalhes, consulte as declarações transacionais do MySQL )

A sintaxe de concessão e revogação fazem parte das declarações de administração do banco de dados ao sistema de gerenciamento de contas.

A instrução GRANT permite que os administradores do sistema concedam privilégios e funções, que podem ser concedidos a contas e funções de usuário. Estas restrições de sintaxe se aplicam:

  • GRANT não pode combinar a concessão de privilégios e funções na mesma instrução. Uma determinada instrução GRANT deve conceder privilégios ou funções.
  • A cláusula ON distingue se a declaração concede privilégios ou funções:
  • Com ON, a declaração concede privilégios
  • Sem o ON, a instrução concede funções.
  • É permitido atribuir privilégios e funções a uma conta, mas você deve usar instruções GRANT separadas, cada uma com a sintaxe apropriada para o que deve ser concedido.

A instrução REVOKE permite que os administradores do sistema revoguem privilégios e funções, que podem ser revogados de contas e funções de usuário.

Exemplos :

REVOKE INSERT ON *. * FROM 'jeffrey' @ 'localhost';

REVOKE 'role1', 'role2' FROM 'user1' @ 'localhost', 'user2' @ 'localhost';

REVOKE SELECT ON world. * FROM 'role3';

GRANT ALL ON db1. * TO 'jeffrey' @ 'localhost';

GRANT 'role1', 'role2' TO 'user1' @ 'localhost', 'user2' @ 'localhost';

GRANT SELECT ON world. * TO 'role3';

No PostgreSQL , a execução de DCL é transacional e pode ser revertida.

Conceder e Revogar são os comandos SQL usados ​​para controlar os privilégios dados aos usuários em um Banco de Dados

O SQLite não possui comandos DCL, pois não possui nomes de usuário ou logins. Em vez disso, o SQLite depende das permissões do sistema de arquivos para definir quem pode abrir e acessar um banco de dados.

Veja também

Referências