user:1379492:administracao_avancada_servicos_rede:nocoes_sgbd

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

user:1379492:administracao_avancada_servicos_rede:nocoes_sgbd [2015/08/27 03:22] (atual)
Linha 1: Linha 1:
 +~~NOTOC~~
 +====== Administração básica de SGBDs ======
  
 +A seguir temos algumas noções das linguagens de controle, definição e manipulação de dados, bem como das operações de //backup// e //​restore//​. O ambiente utilizado para os testes foi o SGBD [[http://​www.postgresql.org/​|PostgreSQL]].
 +
 +
 +==== Noções da linguagem de definição de dados ====
 +
 +São declarações que fazem parte da linguagem SQL e que definem a estrutura de um banco de dados. Possibilitam a criação de bancos de dados e suas tabelas, indices etc. Apesar de uma teórica padronização,​ possuem grandes variações entre SGBDs distintos. Os principais comandos são exemplificados a seguir.
 +
 +** CREATE: ** Cria um novo banco de dados, tabela, índice, usuário etc. 
 +
 +Criando um banco de dados:
 +
 +<code postgresql>​
 +postgres=# create database aasr;
 +CREATE DATABASE
 +</​code>​
 +
 +Criando um usuário:
 +
 +<code postgresql>​
 +postgres=# create user aasr_admin encrypted password '​q1w2e3r4';​
 +CREATE ROLE
 +</​code>​
 +
 +Criando uma tabela (no banco ''​aasr'',​ como usuário ''​aasr_admin''​). É necessário dar permissões para este usuário, como mostrado posteriormente,​ com o comando ''​GRANT'':​
 +
 +<code postgresql>​
 +postgres=# \connect aasr aasr_admin 127.0.0.1
 +Senha para usuário aasr_admin: ​
 +conexão SSL (protocolo: TLSv1.2, cifra: ECDHE-RSA-AES256-GCM-SHA384,​ bits: 256, compressão:​ desabilitado)
 +Você está conectado agora ao banco de dados "​aasr"​ como usuário "​aasr_admin"​ na máquina "​127.0.0.1"​ na porta "​5432"​.
 +aasr=>
 +aasr=> create table lista (url char(100) primary key, id integer not null);
 +CREATE TABLE
 +aasr=> ​
 +aasr=> create table lista_ip (end_ip char(16) primary key, id integer not null);
 +CREATE TABLE
 +</​code>​
 +
 +**DROP:** Remove um banco de dados, tabela, índice, usuário etc.
 +
 +<code postgresql>​
 +aasr=> drop table lista_ip;
 +DROP TABLE
 +</​code>​
 +
 +**ALTER:** Altera um banco de dados, tabela, índice, usuário etc.
 +
 +<code postgresql>​
 +aasr=> alter table lista add end_ip char(16);
 +ALTER TABLE
 +</​code>​
 +
 +==== Noções da linguagem de controle de dados ====
 +
 +São declarações que fazem parte da linguagem SQL e servem para (entre outras coisas) conceder e remover permissões de acesso aos dados armazenados no SGBD. 
 +
 +**GRANT:** Concede permissões de acesso aos dados.
 +
 +<code postgresql>​
 +postgres=# grant all on database aasr to aasr_admin;
 +GRANT
 +</​code>​
 +
 +**REVOKE:** Retira permissões de acesso aos dados.
 +
 +<code postgresql>​
 +postgres=# revoke all on database aasr from aasr_admin;
 +REVOKE
 +</​code>​
 +
 +==== Noções da linguagem de manipulação de dados ====
 +
 +Permitem a inserção, remoção, consulta e alteração dos dados existentes nas tabelas. Nas suas formas mais básicas estes comandos são bastante padronizados,​ podendo ser utilizados em qualquer SGBD.
 +
 +**INSERT:** Insere dados em uma tabela.
 +
 +<code postgresql>​
 +aasr=> insert into lista values ('​www.coisa.com','​1','​1.2.3.4'​);​
 +INSERT 0 1
 +aasr=> ​
 +aasr=> insert into lista values ('​www.asdfg.com','​2','​6.6.6.6'​),​('​www.zxcvb.com','​3','​9.9.9.9'​);​
 +INSERT 0 2
 +</​code>​
 +
 +**SELECT:** Consulta dados existentes em tabelas.
 +
 +<code postgresql>​
 +aasr=> select * from lista;
 +                                                 ​url ​                                                 | id |      end_ip ​     ​
 +------------------------------------------------------------------------------------------------------+----+------------------
 + ​www.coisa.com ​                                                                                       |  1 | 1.2.3.4 ​        
 + ​www.asdfg.com ​                                                                                       |  2 | 6.6.6.6 ​        
 + ​www.zxcvb.com ​                                                                                       |  3 | 9.9.9.9 ​        
 +(3 registros)
 +</​code>​
 +
 +<code postgresql>​
 +aasr=> select url from lista where end_ip='​6.6.6.6';​
 +                                                 ​url ​                                                 ​
 +------------------------------------------------------------------------------------------------------
 + ​www.asdfg.com ​                                                                                      
 +(1 registro)
 +</​code>​
 +
 +**UPDATE:** Altera dados existentes em tabelas.
 +
 +<code postgresql>​
 +aasr=> update lista set end_ip='​7.7.7.7'​ where url='​www.asdfg.com';​
 +UPDATE 1
 +</​code>​
 +
 +**DELETE:** Remove dados existentes em tabelas.
 +
 +<code postgresql>​
 +aasr=> delete from lista where id='​3';​
 +DELETE 1
 +</​code>​
 +
 +
 +==== Backup/​Restore ====
 +
 +Estas operações não fazem parte da linguagem SQL, sendo realizadas de forma completamente diferente em cada SGBD. No //​PostgreSQL//,​ para realizar um //backup// completo, basta executar o comando ''​pg_dumpall > backup.sql''​ (como usuário ''​postgres''​).
 +
 +Para restaurar este backup (em outra máquina, com o banco "​vazio"​),​ basta executar ''​pg_restore backup.sql''​ (também como usuário ''​postgres''​).
  • user/1379492/administracao_avancada_servicos_rede/nocoes_sgbd.txt
  • Última modificação: 2015/08/27 03:22
  • (edição externa)