1 / 37

Banco de Dados

Banco de Dados . PostgreSQL. Tipos de dado. Data definition language. Database - Create , Alter , Drop Schema - Create , Alter , Drop Tablespace - Create , Alter Drop Table - Create , Alter , Drop Index - Create , Alter , Drop. Principais comandos DDL. Database.

kathy
Download Presentation

Banco de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Banco de Dados PostgreSQL

  2. Tipos de dado

  3. Data definitionlanguage

  4. Database - Create, Alter, Drop • Schema - Create, Alter, Drop • Tablespace - Create, AlterDrop • Table - Create, Alter, Drop • Index - Create, Alter, Drop Principais comandos DDL

  5. Database

  6. CREATE DATABASE nome [ [ WITH ] [ OWNER [=] dono_do_banco_de_dados ] [ TEMPLATE [=] modelo ] [ ENCODING [=] codificação ] [ TABLESPACE [=] espaço_de_tabelas ] ] O comando CREATE DATABASE cria um banco de dados no PostgreSQL. • Exemplos • Para criar um banco de dados: • CREATE DATABASE lusiadas; • Para criar o banco de dados vendas pertencendo ao usuário usuvendas com o espaço de tabelas padrão espvendas: • CREATE DATABASE vendas OWNER usuvendas TABLESPACE espvendas; • Para criar o banco de dados musica com suporte a conjunto de caracteres ISO-8859-1: • CREATE DATABASE musica ENCODING 'LATIN1';

  7. ALTER DATABASE nome SET parâmetro { TO | = } { valor | DEFAULT } ALTER DATABASE nome RESET parâmetro ALTER DATABASE nome RENAME TO novo_nome ALTER DATABASE nome OWNER TO novo_dono O comando ALTER DATABASE altera os atributos de um banco de dados. • Exemplo • Para desabilitar a varredura de índices no banco de dados teste por padrão: • ALTER DATABASE teste SET enable_indexscan TO off;

  8. DROP DATABASE nome O comando DROP DATABASE remove um banco de dados. O comando DROP DATABASE não pode ser desfeito. Utilize com cuidado! • Exemplo • Para apagar o banco de dados empresas: • DROP DATABASE empresas;

  9. schema

  10. CREATE SCHEMA nome_do_esquema [ AUTHORIZATION nome_do_usuário ] [ elemento_do_esquema [ ... ] ] CREATE SCHEMA AUTHORIZATION nome_do_usuário [ elemento_do_esquema [ ... ] ] O comando CREATE SCHEMA cria um esquema no banco de dados corrente • Exemplos • Criar um esquema: • CREATE SCHEMA meu_esquema; • Criar um esquema para o usuário antonio; o esquema também se chamará antonio: • CREATE SCHEMA AUTHORIZATION antonio;

  11. ALTER SCHEMA nome RENAME TO novo_nome ALTER SCHEMA nome OWNER TO novo_dono O comando ALTER SCHEMA altera a definição de um esquema. • Exemplos • Alterar nome de um schema • ALTER SCHEMA rh RENAME TO recursoshumanos;

  12. DROP SCHEMA nome [, ...] [ CASCADE | RESTRICT ] O comando DROP SCHEMA remove esquemas do banco de dados. • Exemplos • Para remover do banco de dados o esquema meu_esquema junto com todos os objetos que este contém: • DROP SCHEMA meu_esquema CASCADE;

  13. tablespace

  14. CREATE TABLESPACE nome_do_espaço_de_tabelas [ OWNER nome_do_usuário ] LOCATION 'diretório' O comando CREATE TABLESPACE registra um novo espaço de tabelas para todo o agrupamento. • Exemplos • Criar o espaço de tabelas dbspace em /data/dbs: • CREATE TABLESPACE dbspace LOCATION '/data/dbs'; • Criar o espaço de tabelas indexspace em /data/indexes pertencendo ao usuário genevieve: • CREATE TABLESPACE indexspace OWNER genevieve LOCATION '/data/indexes';

  15. ALTER TABLESPACE nome RENAME TO novo_nome ALTER TABLESPACE nome OWNER TO novo_dono O comando ALTER TABLESPACE altera a definição de um espaço de tabelas. • Exemplos • Mudar o nome de espaco_para_indices para raid_rapido: • ALTER TABLESPACE espaco_para_indices RENAME TO raid_rapido; • Mudar o dono do espaço de tabelas espaco_para_indices: • ALTER TABLESPACE espaco_para_indices OWNER TO maria;

  16. DROP TABLESPACE nome_do_espaço_de_tabelas O comando DROP TABLESPACE remove do sistema um espaço de tabelas. • Exemplos • Para remover do sistema o espaço de tabelas minhas_coisas: • DROP TABLESPACE minhas_coisas;

  17. table

  18. CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nome_da_tabela ( { nome_da_colunatipo_de_dado [ DEFAULT expressão_padrão ] [ restrição_de_coluna [ ... ] ] | restrição_de_tabela | LIKE tabela_ancestral [ { INCLUDING | EXCLUDING } DEFAULTS ] } [, ... ] ) [ INHERITS ( tabela_ancestral [, ... ] ) ] [ WITH OIDS | WITHOUT OIDS ] [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ] [ TABLESPACE espaço_de_tabelas ] O comando CREATE TABLE cria uma tabela, inicialmente vazia, no banco de dados corrente. O usuário que executa o comando se torna o dono da tabela.

  19. onde restrição_de_coluna é: [ CONSTRAINT nome_da_restrição ] { NOT NULL | NULL | UNIQUE [ USING INDEX TABLESPACE espaço_de_tabelas ] | PRIMARY KEY [ USING INDEX TABLESPACE espaço_de_tabelas ] | CHECK (expressão) | REFERENCES tabela_referenciada [ ( coluna_referenciada ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE ação ] [ ON UPDATE ação ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] e restrição_de_tabela é: [ CONSTRAINT nome_da_restrição ] { UNIQUE ( nome_da_coluna [, ... ] ) [ USING INDEX TABLESPACE espaço_de_tabelas ] | PRIMARY KEY ( nome_da_coluna [, ... ] ) [ USING INDEX TABLESPACE espaço_de_tabelas ] | CHECK ( expressão ) | FOREIGN KEY ( nome_da_coluna [, ... ] ) REFERENCES tabela_referenciada [ ( coluna_referenciada [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE ação ] [ ON UPDATE ação ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

  20. Exemplos

  21. ALTER TABLE [ ONLY ] nome [ * ] ação [, ... ] ALTER TABLE [ ONLY ] nome [ * ] RENAME [ COLUMN ] coluna TO novo_nome_da_coluna ALTER TABLE nome RENAME TO novo_nome onde ação é uma entre: ADD [ COLUMN ] coluna tipo [ restrição_de_coluna [ ... ] ] DROP [ COLUMN ] coluna [ RESTRICT | CASCADE ] ALTER [ COLUMN ] coluna TYPE tipo [ USING expressão ] ALTER [ COLUMN ] coluna SET DEFAULT expressão ALTER [ COLUMN ] coluna DROP DEFAULT ALTER [ COLUMN ] coluna { SET | DROP } NOT NULL ALTER [ COLUMN ] coluna SET STATISTICS inteiro ALTER [ COLUMN ] coluna SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ADD restrição_de_tabela DROP CONSTRAINT nome_da_restrição [ RESTRICT | CASCADE ] CLUSTER ON nome_do_índice SET WITHOUT CLUSTER SET WITHOUT OIDS OWNER TO novo_dono SET TABLESPACE nome_do_espaço_de_tabelas O comando ALTER TABLE altera a definição de uma tabela existente.

  22. DROP TABLE nome [, ...] [ CASCADE | RESTRICT ] O comando DROP TABLE remove tabelas do banco de dados. • Exemplos • Remover duas tabelas, filmes e distribuidores: • DROP TABLE filmes, distribuidores;

  23. Index

  24. CREATE [ UNIQUE ] INDEX nome_do_índice ON tabela [ USING método ] ( { coluna | ( expressão ) } [ classe_de_operadores ] [, ...] ) [ TABLESPACE espaço_de_tabelas ] [ WHERE predicado ] O comando CREATE INDEX constrói o índice nome_do_índice na tabela especificada. • Exemplos • Para criar um índice B-tree para a coluna titulo na tabela filmes: • CREATE UNIQUE INDEX unq_titulo ON filmes (titulo); • Para criar um índice para a coluna codigo da tabela filmes e fazer o índice residir no espaço de tabelas espaco_indices: • CREATE INDEX idx_codigo ON filmes(codigo) TABLESPACE espaco_indices;

  25. ALTER INDEX nome ação [, ... ] ALTER INDEX nome RENAME TO novo_nome onde ação é um entre: OWNER TO novo_dono SET TABLESPACE nome_do_espaço_de_índices O comando ALTER INDEX altera a definição de um índice existente. • Exemplos • Para mudar o nome de um índice existente: • ALTER INDEX distribuidores RENAME TO fornecedores; • Para mover um índice para outro espaço de tabelas: • ALTER INDEX distribuidores SET TABLESPACE espaco_de_tabelas_rapido;

  26. DROP INDEX nome [, ...] [ CASCADE | RESTRICT ] O comando DROP INDEX remove do sistema de banco de dados um índice existente. • Exemplos • O comando a seguir remove o índice idx_titulo: • DROP INDEX idx_titulo;

  27. Para Banco de Dados RH • Criar Banco de Dados – Empresas • Criar Squema RH • Criar Tabelas • Empresa • Departamento • Funcao • Teste – com codigo, nome, data, valor • Alterar nome do squema para recursoshumanos • Alterar nome da tabela teste para teste2 • Alterar tipo da coluna codigo da tabela teste2 para decimal e data para timestamp • Criar um índice único para o nome da tabela teste2 • Criar as primarykeys e constratints de relacionamento para as tabelas Empresa, Departamento e Funcao • Adicionar uma coluna e-mail na tabela teste2 • Apagar índice da coluna nome da tabela teste2 • Apagar tabela teste2 Exercícios

More Related