




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Programação
Tipologia: Notas de estudo
1 / 113
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Conceito
O SQL*PLUS é um ambiente de trabalho que permite ao usuário ORACLE acessar o banco de dados para efetuar varias atividades como incluir, consultar, alterar ou remover dados;
O ambiente SQLPLUS permite:*
Características do SQL:
Para que o usuário possa se conectar com o produto SQL*PLUS, è necessário que esteja previamente cadastrado como usuário ORACLE.
Quando o ORACLE é instalado, e criado automaticamente um usuário chamado SCOTT com a senha TIGER, este usuário acessa várias tabelas e estruturas próprias deste usuário.
Sintaxe de comando ambiente Character mode:
SQLPLUS[usuário]/[senha]
Prompt>sqlplus scott/tiger
SQL*PLUS: Release 3.1.3.7.2 - Production on Wed Sep 04 15:22:47 1996 Copyright © ORACLE Corporation 1979, 1994. All rights reserved.
Connected to: Oracle7 Server Release 7.1.3.3.6 - Production Release With the tributed option PL/SQL Release 2.1.3.2.1 - Production
SQL>
Em ambiente Gráfico:
Localize o Ícone Sql*Plus no Windows e dê um Click Duplo.
Para abandonar o SQLPLUS basta digitar:*
SQL> Exit;
Para consulta comandos usa-se o comando HELP
SQL> Help
Para consulta o conteúdo do diretório sem deslogar do SQLPLUS:*
SQL> Host
ou para executar o comando dentro do SQL*PLUS
SQL> Host
Exemplo 3: listando apenas a linha 2 e tornando-a corrente
SQL> L 2 2* (Codigo number(2) not null,
Input
Pode-se incluir uma ou mais linhas no buffer a partir da linha corrente ,ou no meio do texto, forçando uma determinada linha a se tornar corrente.
Sintaxe:
I[NPUT] [texto]
Exemplo 1: Incluindo uma linha depois da linha 2
SQL>List 3 3* nome varchar2(20) not null,
SQL> i 4* data_inclusao date, ou SQL> i data_inclusao date,
SQL> List 1 create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 Data_inclusao date. 5 dt_nascimento date, 6 id_sexo char, 7* Observação long)
Change
Sintaxe:
C[HANGE]/texto antigo/[texto novo]
O conteúdo de qualquer linha do buffer pode ser alterado todo ou parcialmente através do comando CHANGE.
Exemplo:
SQL> L 4 4* data_inclusao date, SQL> c/data_inclusao/dt_inclusao
SQL> List 1 create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 dt_inclusao date. 5 dt_nascimento date, 6 id_sexo char, 7* Observação long)
Nota: No local da / pode-se usar outros caracteres. Preferencialmente usar caracteres não usados na descricao dos comandos;
Del
Exclui a linha corrente do buffer;
Sintaxe:
DEL
Exemplo:
SQL> L 4 4* dt_inclusao date,
SQL> del SQL> L 1 create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 dt_nascimento date, 5 id_sexo char, 6* Observação long
Nota: Não é possível excluir várias linhas ao mesmo tempo.
Append
Pode-se acrescentar, ao final da linha corrente, um texto ou um caracter, utilizando o comando APPEND.
Sintaxe:
A[PPEND] [texto, caracter]
Quando nenhum arquivo é especificado, o SQL*PLUS criará no diretório corrente um arquivo chamado AFIEDT.BUF que conterá o comando do buffer. O editor será então ativado, carregando para a memória este arquivo; todas as alterações realizadas através do editor serão automaticamente transferidas para o buffer, quando da saída do mesmo.
Exemplo: Se existir algo no buffer:
SQL> edit Wrote file afiedt.buf
Executando o conteúdo do Buffer:
O conteúdo de SQL editado no buffer, pode ser executada de três maneiras diferentes: ; , / e run , especificadas a seguir:
SQL Terminator
A variável de sistema SQLT[erminator], define o caracter que representa para o SQL*PLUS fim do comando de SQL e execução imediata do mesmo. Normalmente, este caracter é o ponto e virgula (;).
Exemplo: Editando um arquivo para criar uma estrutura:
SQL> SHOW SQLTERMINATOR SQLTERMINATOR , (hex 3b)
SQL> create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 dt_nascimento date, 5 id_sexo char, 6* Observação long);
Table created
Barra (/):
A barra / , quando digitada na primeira coluna da linha em branco do buffer, determinada a execução do comando SQL; se for digitada diretamente no prompt, significa que o comando de SQL, contido no buffer, deve ser executado sem a exibição do mesmo.
Exemplo 1:
SQL> create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 dt_nascimento date, 5 id_sexo char, 6 Observação long) 7 /
Table created
Exemplo 2: Executando arquivo previamente digitado:
SQL> /
Table created
O comando run ou r , determina que o comando SQL do buffer, deve ser executado com a exibição do mesmo.
Exemplo: Executando arquivo do buffer:
SQL> Run 1 create table cadastro 2 (Codigo number(2) not null, 3 Nome varchar2(20) not null, 4 dt_nascimento date, 5 id_sexo char, 6* Observação long)
Table created
Buffer x arquivo
O buffer é uma área de memória capaz de armazenar temporariamente, um comando SQL; quando a conexão com o SQL*PLUS é encerrada, o comando é abandonado. Da mesma forma, quando outro comando é digitado, o anterior passa a não existir; se for necessário executar o comando outras vezes, tal comando deve ser gravado em um arquivo através do comando SAVE.
OBS: A variável de sistema SUF[FIX] define a extensão que deve ser assumida nas transações, entre o SQL*PLUS e o sistema operacional, quando a extensão for omitida; normalmente esta extensão é .sql.
SQL> clear buffer
Colocando comentários nos comandos SQL
Usando REM[ARK]
Usa-se no início da linha acompanhado do comentário
Exemplo:
REM Relacao de Funcionários REM para pagamento de Salários Select empno, ename, job, comm, sal REM verificando na tabela EMP from emp order by deptno /
Usando /* ....... */
Usa-se para abranger o comentario
Exemplo:
/* Relacao de Funcionarios para pagamento de Salários / / / Select empno, ename, job, comm, sal from emp / verificando na tabela EMP */ order by deptno /
Usando --
Usa-se antes do comentario:
Exemplo:
-- Relacao de Funcionarios -- para pagamento de Salários -- Select empno, ename, job, comm, sal from emp -- verificando na tabela EMP order by deptno /
Criando uma Tabela:
Criando a estrutura de uma tabela.
Sintaxe:
CREATE TABLE usuário.nome_tabela ( nome_coluna tipo_dado [tamanho} [restrições], (nome_coluna tipo_dado [tamanho] [restrições], [restrições] ) TABLESPACE nome_tablespace PCTFREE número PCTUSED número
Exemplo: Para criar uma tabela, digite na linha de comando:
SQL> create table EMP 2 (empno number(4) not null, 3 ename varchar2(20), 4 job varchar2(10), 5 mrg number(4), 6 hiredate date, 7 sal number(7,2), 8 comm number(7,2), 9 deptno number(2) not null)
Table created.
Exemplo:
SQL> create table cadastro 2 (...... 3 Observação Long varchar ou Observação Long, 4 ....);
Colunas que armazenam valores binários com tamanho variável máximo de 255 bytes). O tamanho tem que ser informado (este tipo é mais usado para armazenar seqüências de caracteres gráficos).
LONG RAW
Colunas que armazenam valores binários com tamanho variável (máximo de 2G bytes); o tamanho não deve ser informado (este tipo é mais usado para armazenar seqüências de caracteres gráficos).
Nota: Para os tipos LONG e LONG RAW:
NUMBER
Colunas que armazenam valores numéricos, positivos ou negativos, com no máximo de 38 dígitos; caso o tamanho não seja informado, o ORACLE assumirá que o tamanho máximo é 38 com o ponto decimal flutuante. O tamanho de uma coluna numérica pode ser definido com precisão e escala.
Exemplos:
Especificação Dados Valor Armazenado number 7456123.89 7456123. number(9) 7456123.89 7456124 number(9,2) 7456123.89 7456123. number(9,1) 7456123.89 7456123. number(6) 7456123.8 Erro number(15,1) 7456123.8 7456123. number(7,2) 7456123.89 Erro number(7,-2) 7456123.89 7456100 number(4,5) .01234.
number(4,5) .00012. number(4,5) .000127. number(2,7) .0000012. number(2,7) .00000123.
código number (2) not null, salário number(9,2), vl_completo number(3,8), vl_deposito number (10,-2)
Colunas que armazenam data, hora (com minutos e segundos) e o século; não deve ser informado o tamanho.
Exemplo:
SQL> Create table Cadastro (.... dt_inclusao date, ....);
Verificando a Estrutura de uma tabela
Uma vez criada a tabela no Banco de Dados, pode-se visualizar a definição de sua estrutura através do comando DESCRIBE
DESCRIBE
Sintaxe:
DESC[RIBE] nome_tabela
Exemplo:
SQL> desc emp
Restrições / Constraints
Restrições são regras básicas, informadas ao RDBMS, para o controle do preenchimento de uma ou mais colunas da tabela. Podem ser especificadas na definição da coluna (column constraint) ou no final do comando de criação da tabela (table constraint).
Estas restrições forçam a consistência e integridade referencial do Banco de Dados; toda restrição criada possui um nome que pode ser atribuído pelo usuário através da opção CONSTRAINT. Caso isto não ocorra, o ORACLE se encarregará de escolher um nome de acordo com critérios próprios (a vantagem dessa atribuição ser realizada pelo usuário é a facilidade de uma exclusão futura).
O uso de restrições eliminam erros de programação, além de sua funcionalidade ser controlada pelo ORACLE. Estas restrições são armazenadas no dicionário de dados; por isso os dados inseridos através de qualquer aplicação se ajustam as constraints definidas.
Caso alguma restrição seja violada, imediatamente são retornadas mensagens de erro que podem ser tratadas pelas aplicações.
Exemplo 1: Column Constraint
SQL> Create table Emp (empno number(4) constraint pk_emp primary key, ename varchar2(20) constraint uk_emp unique, job varchar2(10), mrg number constraint fk_mgr references emp, hiredate date default sysdate, sal number(12,2) constraint ck_sal check (sal > 500), comm number(5,2), deptno number(2) constraint fk_deptno references dept);
Exemplo 2: Table Constraint
SQL. Create table Emp (empno number(4) , ename varchar2(20) , job varchar2(10) , mgr number , hiredate date , sal number(12,2) , comm number(5,2) , deptno number(2) , constraint pk_emp primary key (empno), constraint uk_emp unique(ename), constraint fk_mgr foreign key (mgr) references emp(empno), constraint ck_sal check (sal > 500), constraint fk_deptno foreign key (deptno) references dept(deptno) on delete cascade)
Not Null
Define se o preenchimento da coluna é obrigatório, só pode ser declarado junto com a coluna. Caso não seja informada, será assumida a opção NULL.
Exemplo:
SQL> Create table Emp (....., ename varchar2(20) not null, .....);
Primary Key
Define que uma ou mais colunas compõem a chave primária da tabela. São usadas para identificar uma linha exclusiva da tabela. Desta forma para cada chave é retornada apenas uma linha da tabela.
Exemplo:
SQL> Create table Emp (empno number(4), ... deptno number(2), constraint pk_emp primary key (empno), ....);
Foreign Key
Define que uma ou mais colunas compõem a chave primária ou são únicas em uma outra tabela, só podem ser declaradas depois de todas as colunas.
Exemplo:
SQL> Create table Emp (.... deptno number(2) constraint fk_deptno foreign key (deptno) references dept(deptno));
Check
Define um domínio de valores permitidos para uma coluna.
Exemplo 1:
SQL> Create table Emp (....., sal number(12,2) constraint ck_sal check (sal > 500), .....);
Exemplo 2:
SQL> Create table Cadastro (....., id_sexo varchar2(1) constraint ck_sexo check (id_sexo in ( M , F )), .....);
Exercícios - 02
cd_cliente n(6) chave primária nm_cliente c(45) chave única ie_sexo c(1) somente aceitar F ou M endereço c(45) obrigatório cidade c(20) estado c(2) CEP n(9) DDD n(4) fone n(9) cd_representante n(4) obrigatório vl_limite_credito n(10,2) observação long
cd_produto n(6) chave primária ds_produto c(50) chave única
nr_pedido n(4) chave primária dt_pedido data obrigatória ie_comissao c(1) deve aceitar S ou N cd_cliente chave estrangeira na tabela cliente dt_envio data vl_total n(12,2) deve ser maior ou igual a zero
nr_pedido n(4) chave estrangeira na tabela pedido nr_item n(4) cd_produto n(6) chave estrangeira na tabela produto vl_unitario n(9,2) obrigatório quantidade n(8) obrigatório vl_total_item n(9,2)
obs.: Chave primária composta por: nr_pedido e nr_item