A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Banco de Dados PostgreSQL. TIPOS DE DADO DATA DEFINITION LANGUAGE.

Apresentações semelhantes


Apresentação em tema: "Banco de Dados PostgreSQL. TIPOS DE DADO DATA DEFINITION LANGUAGE."— Transcrição da apresentação:

1 Banco de Dados PostgreSQL

2 TIPOS DE DADO

3

4

5

6 DATA DEFINITION LANGUAGE

7 Principais comandos DDL • Database - Create, Alter, Drop • Schema - Create, Alter, Drop • Tablespace - Create, Alter Drop • Table - Create, Alter, Drop • Index - Create, Alter, Drop

8 DATABASE

9 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 : •CREATE DATABASE musica ENCODING 'LATIN1';

10 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;

11 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;

12 SCHEMA

13 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;

14 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;

15 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;

16 TABLESPACE

17 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';

18 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;

19 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;

20 TABLE

21 CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nome_da_tabela ( { nome_da_coluna tipo_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.

22 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 ]

23 Exemplos

24

25

26

27

28

29 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.

30

31

32 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;

33 INDEX

34 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;

35 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;

36 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;

37 Exercícios • 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 primary keys e constratints de relacionamento para as tabelas Empresa, Departamento e Funcao • Adicionar uma coluna na tabela teste2 • Apagar índice da coluna nome da tabela teste2 • Apagar tabela teste2


Carregar ppt "Banco de Dados PostgreSQL. TIPOS DE DADO DATA DEFINITION LANGUAGE."

Apresentações semelhantes


Anúncios Google