Você está na página 1de 8

Pontifícia Universidade Católica do Rio de Janeiro

Coordenação Central de Extensão - CCE

PÓS-GRADUAÇÃO EM ANÁLISE, PROJETO


E GERÊNCIA DE SISTEMAS

LABORATÓRIO DE
BANCO DE DADOS

Janeiro de 2001
os
Prof Rubens e Paulinho
Capítulo 1

CONHECENDO O AMBIENTE DE
BANCO DE DADOS
Laboratório de Banco de Dados Cliente/Servidor 1-1

1. Criando e Mantendo Objetos no Banco de Dados

Criar Usuários (Create User)


Criar um usuário e senha para o aluno usar o ambiente de banco de
dados.

Exemplo:
CREATE USER seu usuário IDENTIFIED BY sua password;

ALTER SESSION AMARCOS NLS_DATE_FORMAT =


‘DD/MM/YY’;

Criando Tabelas com PK e FK (Create Table)

Criar uma tabela, definir suas colunas e outras propriedades.

Exemplo: CREATE TABLE DEPARTAMENTO


(DN CHAR(3) NOT NULL,
DNOME CHAR(20),
LOCAL CHAR(20),
MATRIC INT,
PRIMARY KEY (DN));

CREATE TABLE EMPREGADO


(MATRIC INT NOT NULL,
NOME CHAR(20),
SALARIO INT,
DEPT CHAR(3) NOT NULL DEFAULT ‘D4’,
CHECK (SALARIO < 10000),
PRIMARY KEY (MATRIC),
FOREIGN KEY (DEPT) REFERENCES DEPARTAMENTO
(DN) ON DELETE CASCADE);

Alterar Tabelas (Alter Table)

Incluir ou redefinir uma coluna numa tabela existente.

Exemplo:
a) Alterar a tabela Empregado adicionando o campo telefone.

ALTER TABLE EMPREGADO ADD TELEFONE INT;


Laboratório de Banco de Dados Cliente/Servidor 1-2

b) Alterar a tabela Empregado modificando o tamanho do campo salário


para sete com duas casas decimais.

ALTER TABLE EMPREGADO MODIFY SALARIO NUMBER(7,2);

c) Alterar a tabela Empregado excluindo a chave primária.

ALTER TABLE EMPREGADO DROP PRIMARY KEY;

Deletar Tabelas (Drop Table)

Excluir uma tabela, índice, etc. de um Banco de Dados.

Exemplo:
a) Excluir a tabela Empregado.

DROP TABLE EMPREGADO;

Criar Views (Create View)

Definir uma visão sobre uma ou mais tabelas e/ou sobre outras visões.

Exemplo: CREATE VIEW EMP (MATR, NOME, SAL) AS


SELECT MATRIC, NOME, SALARIO
FROM EMPREGADO
WHERE DEPT=’ENG’;

Autorizações
Grant
Atribuir privilégios relativos a tabelas e visões.

Exemplo: GRANT ALL ON EMPREGADO TO MARCOS;

GRANT SELECT ON MARCOS.EMPREGADO TO PUBLIC;

Revoke

Revogar privilégios relativos ao Banco de Dados ou acesso a tabelas.

Exemplo: REVOKE ALL ON EMPREGADO FROM MARCOS;


Laboratório de Banco de Dados Cliente/Servidor 1-3

Comandos SQL: Insert , Delete , Update e Select simples.

Insert

Incluir linhas em uma tabela ou visão.

Exemplo:
a) Incluir dados em uma tabela Departamento.

INSERT INTO DEPARTAMENTO VALUES


(‘ENG’,‘ENGENHARIA’, ‘RIO DE JANEIRO’, 9712);

Delete

Excluir linhas de uma tabela.

Exemplo:
a) Excluir o empregado onde a matrícula é igual a 9701.

DELETE FROM EMPREGADO WHERE MATRIC=9701;

b) Excluir todas as linhas da tabela Empregado.

DELETE FROM EMPREGADO;

Update

Alterar o valor de um ou mais atributos de uma tabela.

Exemplo:
a) Alterar o salário para 10000 do empregado de matrícula 9712.

UPDATE EMPREGADO SET SALARIO=10000


WHERE MATRIC=9712;
Laboratório de Banco de Dados Cliente/Servidor 1-4

Select

Selecionar linhas em uma tabela ou visão.

Exemplo:
a) Obter todos os dados da tabela Empregado.

SELECT * FROM EMPREGADO;

b) Obter todos os dados do empregado ‘Joao da Silva’.


SELECT * FROM EMPREGADO WHERE NOME=‘JOAO DA SILVA’;

c) Obter o nome dos Empregados com salário maior que 5000.

SELECT NOME FROM EMPREGADO WHERE SALARIO > 5000;

Atenção: Observar o uso da cláusula on Delete (Restrict, Cascade e Set Null)


Laboratório de Banco de Dados Cliente/Servidor 1-5

Manipulação de datas em Oracle

Descrição:

I. Datas Default:

A data default no Oracle para armazenamento de atributos com


datatype DATE é sempre: DD-MMM-YY HH:MI:SS:SSSSS

Para leitura e gravação de um atributo tipo DATE o default é:

DD-MMM-YY ex: 01-SEP-97

Seja qual for o formato informado no comando de inserção ou


Update, o Oracle sempre grava hora, minuto e segundo além da data.

II. Alteração no formato default:

Podemos alterar o default do Oracle através do seguinte comando:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'

A partir desse momento o default para apresentação de datas do


select ou no insert será o formato especificado acima.

ex.: Insert into lixo values('01/02/1996')

Essa alteração é temporária e só vale para a session que executou o


comando

" ALTER SESSION "

III. Formatando datas em SELECT, INSERT, UPDATE E LOAD

A leitura de um atributo com o datatype DATE tem bastante variedade


para o programador usar, veja os exemplos abaixo:

1. Lendo uma data com o formato dia, mês e ano com 4 digitos:

Select TO_CHAR(nome_campo,'DD/MM/YYYY') from nome_tabela


Laboratório de Banco de Dados Cliente/Servidor 1-6

2. Lendo apenas o ano de uma data

Select TO_CHAR(nome_campo,'YYYY') from nome_tabela

3. Lendo um timestamp

Select TO_CHAR(nome_campo,'DD-MM-YYYY HH:MI:SS:SSSSS')


from nome_tabela

Esse é o tamanho maximo de uma data em termos de tempo.

Para a gravação de datas em atributos da tabela o processo é exatamente o


mesmo trocando-se apenas a função TO_CHAR para TO_DATE

ex.: Insert into nome_tabela (campox) values ( TO_DATE


(‘01/05/2003’,’dd/mm/yyyy’) );

Obs: quando incluimos uma data com formato e s/ hora, min e seg
é assumido: 12:00:00:00000 (12 horas, 0 minutos, e 0 seg ......).

O timestamp automatico do sistema é SYSDATE.

ex.: Insert into nome_tabela (campox) values(sysdate);

Uma tabela pode possuir um atributo com default que deverá ser
assumido em uma inserção ou load ou qualquer tipo de operação de
carga, para tal será necessario defini-la da seguinte forma:

Create table Lixo (campo DATE default sysdate);


ou se a tabela já existe
Alter table Lixo modify campo date default null;

Você também pode gostar