• Nenhum resultado encontrado

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

N/A
N/A
Protected

Academic year: 2021

Share "BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha."

Copied!
22
0
0

Texto

(1)

BANCO DE DADOS WEB

AULA

4

professor Luciano Roberto Rocha

(2)

O que

é SQL?

Structured Query Language, ou Linguagem de Consulta

Estruturada ou SQL, é uma linguagem de pesquisa declarativa

para banco de dados relacional.

Muitas das características originais do SQL foram inspiradas na

álgebra relacional

Foi desenvolvido originalmente no início dos anos 70 nos

laboratórios da IBM.

Tinha por objetivo demonstrar a viabilidade da implementação

do modelo relacional proposto por Edgar Codd.

Seu nome original era SEQUEL, acrônimo para "Structured

English Query Language"

(3)

SQL

(principais características)

A linguagem SQL é um grande padrão de banco de dados.

Por ser uma linguagem declarativa (não procedural), uma consulta

SQL especifica a forma do resultado e não o caminho para chegar a

ele.

Apesar de ser originalmente criada pela IBM, muitos

desenvolvedores foram criando "dialetos" para ela. Essa expansão

levou à necessidade de ser criado e adaptado um padrão para a

linguagem.

Em 1986/87 a linguagem SQL foi padronizada pela ANSI e ISO

sendo revisada nos anos de 1992, 1999 e 2003.

Normalmente a linguagem pode ser aportada de plataforma

para plataforma sem mudanças significativas em sua estrutura.

(4)

Estrutura

da linguagem SQL

A

linguagem SQL é dividida em subconjuntos de acordo com as

operações que se deseja efetuar sobre um banco de dados. Os

principais subconjuntos são:

DDL - Data Definition Language

(Linguagem de Definição de Dados) Principais comandos: CREATE, ALTER e DROP

DML - Data Manipulation Language

(Linguagem de Manipulação de Dados) Principais comandos: SELECT, INSERT, UPDATE, DELETE, TRUNCATE e outros.

DCL - Data Control Language

(Linguagem de Controle de Dados) Principais comandos: GRANT, REVOKE e SET.

(5)

DDL

Linguagem de Definição de Dados

O conjunto de comandos da linguagem DDL é usado para a

definição das estruturas de dados, fornecendo as instruções

que permitem a criação, modificação e remoção de objetos

de banco de dados (base de dados, esquemas, tabelas,

índices etc.).

A maioria dos bancos de dados comerciais tem extensões

proprietárias no DDL.

Os comandos básicos da DDL são:

■ CREATE: cria um objeto (uma Tabela, por exemplo) dentro da base de dados. ■ DROP: apaga um objeto do banco de dados.

■ ALTER: permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.

(6)

DML

Linguagem de Manipulação de Dados

É o grupo de comandos dentro da linguagem SQL utilizado para a

recuperação, inclusão, remoção e modificação de informações

em bancos de dados.

Os comandos básicos da DML são:

■ SELECT: permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado.

■ INSERT é usada para inserir um registro (formalmente uma tupla) a uma tabela existente.

■ UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente. ■ DELETE permite remover linhas existentes de uma tabela.

■ TRUNCATE: remove rapidamente todas as linhas da tabela, esvaziando-a. ■ COMMIT: efetiva a transação atualmente executada.

■ ROLLBACK:desfaz a transação corrente, fazendo com que todas as modificações realizadas pela transação sejam rejeitadas.

(7)

DCL

Linguagem de Controle de Dados

É o grupo de comandos que permitem ao administrador de banco

de dados gerenciar os aspectos de autorização de dados e

licenças de usuários para controlar quem tem acesso para ver ou

manipular dados dentro do banco de dados.

Alguns exemplos de comandos DCL são:

■ GRANT: concede privilégios a um ou mais usuários para acessar ou realizar determinadas operações em um objetos de dados.

■ REVOKE: revoga (remove) ou restringe a capacidade de um usuário de executar operações.

■ SET: Define parâmetros em tempo de execução, como por exemplo, o tipo de codificação do cliente e o estilo de representação de data e hora.

(8)

BANCO DE DADOS WEB

AULA

4

professor Luciano Roberto Rocha

www.lrocha.com

(9)

Criação de Usuários

CREATE USER

: cria uma conta de usuário do banco de dados

Descrição

Adiciona um novo usuário ao agrupamento de bancos de dados do PostgreSQL. Apenas os superusuários do banco de dados podem usar este comando.

Sinopse

CREATE USER nome [ [ WITH ] opção [ ... ] ] onde opção pode ser:

| CREATEDB | NOCREATEDB

| CREATEUSER | NOCREATEUSER

| IN GROUP nome_do_grupo [, ...]

| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'senha' | VALID UNTIL 'data_e_hora'

(10)

Criação de Usuários

Parâmetros

nome

O nome do usuário.

CREATEDB - NOCREATEDB

Estas cláusulas definem a permissão para o usuário criar banco de dados. Se for especificado CREATEDB, o usuário sendo definido terá permissão para criar seus próprios bancos de dados. Se for especificado NOCREATEDB, nega-se ao usuário a

permissão para criar banco de dados. Se nenhuma destas cláusulas for especificada, o padrão é NOCREATEDB.

CREATEUSER - NOCREATEUSER

Estas cláusulas determinam se o usuário pode ou não criar novos usuários. CREATEUSER também torna o usuário um superusuário, o qual pode passar por cima de todas as restrições de acesso. Se nenhuma destas cláusulas for especificada, o padrão é NOCREATEUSER.

(11)

Criação de Usuários

Parâmetros

nome_do_grupo

O nome de um grupo existente onde o usuário será incluído como um novo membro. Podem ser especificados nomes de vários grupos.

senha

Define a senha do usuário. Esta opção pode ser omitida, mas o usuário não poderá mais se conectar se for decidido mudar para autenticação por senha. A senha poderá ser definida ou mudada posteriormente através do comando ALTER USER.

ENCRYPTED - UNENCRYPTED

Estas cláusulas controlam se a senha será armazenada criptografada, ou não, nos catálogos do sistema; Se não for especificada nenhuma destas cláusulas, o comportamento padrão será determinado pelo parâmetro de configuração password_encryption.

data_e_hora

(12)

Criação de Usuários

Exemplos

Criar um usuário sem senha: CREATE USER jonas;

Criar um usuário com senha no grupo desenvolvedores:

CREATE USER manuel PASSWORD 'jw8s0F4' IN GROUP desenvolvedores;

Criar um usuário com uma senha válida até o fim de 2009. Após o primeiro segundo de 2010 a senha não será mais válida.

CREATE USER miriam PASSWORD 'jw8s0F4' VALID UNTIL '2010-01-01';

Criar uma conta onde o usuário pode criar bancos de dados:

CREATE USER manuel PASSWORD 'jw8s0F4' CREATEDB; Criar um superusuário:

CREATE USER “Altair” CREATEUSER CREATEDB PASSWORD 'jw8s0F4';

(13)

Alteração de Usuários

ALTER USER

: altera uma conta de usuário do banco de dados

Descrição

Altera os atributos de uma conta de usuário do PostgreSQL. Os atributos não mencionados no comando permanecem com suas definições anteriores.

Somente um superusuário do banco de dados pode alterar qualquer uma destas configurações para qualquer usuário. Os usuários comuns podem apenas alterar suas próprias senhas.

Sinopse

ALTER USER nome [ [ WITH ] opção [ ... ] ] ALTER USER nome RENAME TO novo_nome

ALTER USER nome SET parâmetro { TO | = } { valor | DEFAULT } ALTER USER nome RESET parâmetro

(14)

Alteração de Usuários

Exemplos

Mudar a senha do usuário:

ALTER USER marcos PASSWORD 'hu8jmn3'; Mudar a data de expiração da senha do usuário:

ALTER USER manuel VALID UNTIL 'Jan 31 2030';

Mudar a data de expiração da senha, especificando que a senha expira ao meio dia de 4 de maio de 2010:

ALTER USER cristiane VALID UNTIL 'May 4 2010 12:00:00'; Tornar o usuário válido para sempre:

ALTER USER andrea VALID UNTIL 'infinity';

Dar ao usuário permissão para criar outros usuários e novos bancos de dados: ALTER USER luizete CREATEUSER CREATEDB;

(15)

Exclusão de Usuários

DROP USER

: remove uma conta de usuário do banco de dados

Descrição

O comando DROP USER remove o usuário especificado. Não remove as tabelas, visões ou outros objetos pertencentes ao usuário. Se o usuário possuir algum banco de dados uma mensagem de erro é gerada.

Sinopse

DROP USER nome

Parâmetro

nome

(16)

Exclusão

de Usuários

Observações

O PostgreSQL inclui o aplicativo dropuser que possui a mesma funcionalidade deste comando (na verdade, chama este comando), mas que pode ser executada a partir da linha de comandos.

Para remover um usuário que possui um banco de dados, primeiro o banco de dados deve ser removido ou mudado de dono.

Não se aconselha remover um usuário que possua algum objeto de banco de dados, ou que tenha permissões concedidas para objetos. Atualmente isto só é verificado no caso dos donos de bancos de dados, mas é provável que as versões futuras do PostgreSQL verifiquem os outros casos.

Exemplos

Para remover uma conta de usuário: DROP USER marcos;

(17)

Criação de Grupos

CREATE GROUP

: cria um grupo de usuário do banco de dados

Descrição

O comando CREATE GROUP cria um grupo de usuários. É necessário ser um superusuário do banco de dados para executar este comando.

Deve ser observado que tanto os usuários quanto os grupos são definidos no nível de agrupamento de bancos de dados e, portanto, são válidos em todos os bancos de dados do agrupamento.

Sinopse

CREATE GROUP nome [ [ WITH ] opção [ ... ] ] onde opção pode ser:

(18)

Criação de Grupos

Parâmetros

nome

O nome do grupo.

nome_do_usuário

A lista dos usuários a serem incluídos no grupo. Os usuários devem existir.

Exemplos

Criar um grupo vazio:

CREATE GROUP colaboradores; Criar um grupo com membros:

CREATE GROUP vendas WITH USER jonas, marcela;

obs: Não existe o comando CREATE GROUP no padrão SQL. O conceito de “papéis” (roles) é semelhante

(19)

Alteração de Grupos

ALTER GROUP

: altera um grupo de usuários

Descrição

O comando ALTER GROUP altera os atributos de um grupo de usuários.

As duas primeiras variantes abaixo adicionam ou removem usuários de um grupo, respectivamente. A terceira forma muda o nome do grupo.

Somente os superusuários do banco de dados podem utilizar este comando.

Para  conhecer  o  conjunto  de  grupos  existentes,  deve  ser  consultada a t a b e l a  d o  s i s t e m a  “ p g _ g r o u p ”  c o m o s e g u i n t e c o m a n d o : 

SELECT groname FROM pg_group; 

Sinopse

ALTER GROUP nome_do_grupo ADD USER nome_do_usuário [, ... ] ALTER GROUP nome_do_grupo DROP USER nome_do_usuário [, ... ]

(20)

Alteração de Grupos

Parâmetros

nome_do_grupo

O nome do grupo a ser modificado.

nome_do_usuário

Os usuários a serem adicionados ou removidos do grupo. Os usuários devem existir; o comando ALTER GROUP não cria nem remove usuários.

novo_nome

O novo nome do grupo.

Exemplos

Adicionar usuários a um grupo:

ALTER GROUP arquitetura ADD USER joana, alberto; Remover um usuário de um grupo:

ALTER GROUP engenharia DROP USER margarida;

(21)

Exclusão de Grupos

DROP GROUP

: remove um grupo de usuários

Descrição

O comando DROP GROUP remove um grupo de usuários especificado. Os usuários que fazem parte do grupo não são removidos.

Somente os superusuários do banco de dados podem utilizar este comando.

Sinopse

(22)

Exclusão de Grupos

Parâmetros

nome_do_grupo

O nome do grupo a ser removido.

Exemplos

Para remover um grupo:

DROP GROUP arquitetura;

Obs.: Não se aconselha remover um grupo que tenha permissões concedidas para objetos. Atualmente isto não é exigido, mas é provável que as versões futuras do PostgreSQL verifiquem este erro.

Referências

Documentos relacionados

Bastos, Maria Helena Camara, A formação de professores para o ensino mútuo no Brasil: O “Curso Normal para professores de primeiras letras” do barão de Gérando (1839), en A

Para esta atividade fora proposto trabalhar o conteúdo de composições e decomposições utilizando o ábaco, que se refere a um objeto de madeira retangular com

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

No caso de uma apresentação de Artigo em formato Áudio, o arquivo deverá ser enviado em CD por correio postal para:.. Comitê Editorial INFEIES - RM

Essa publicação (Figura 6) destaca a “grande ameaça” que está por trás do pânico moral: a destruição da família nuclear (pai, mãe e filhos).Em seguida o pastor

O IDD é a diferença entre o desempenho médio do concluinte de um curso e o desempenho médio estimado para os concluintes desse mesmo curso e representa, portanto, quanto cada curso

Exerce, entre outras, as seguintes tarefas: recolhe, analisa e gere as ofertas e pedidos de emprego, com vista à satisfação das necessidades de mão-de-obra por parte dos