Pessoal,
minha ideia é postar as coisas que me chamaram atenção ou não conhecia ou achei importante.

Essa prova trata somente esses tipos de objetos:
Non-Schema Objects: USER / ROLE / PUBLIC SYNONYM
Schema Objects: TABLE / VIEW / SEQUENCE / PRIVATE SYNONYM

Curiosidades:

  • Cuidado com criação desses objetos para que não sejam palavras reservadas;
  • Também na criação de objetos o case sensitive não existe: TABLE_TEST ou table_test é salvo como TABLE_TEST nos metadados. Caso seja necessário criar com maiúsculo/minúsculo podemos usar entre ” ” e ainda dessa forma podemos criar nome com espaço ex.: “TABLE TEST”
  • O tipo CHAR não é obrigatório ter tamanho na criação (inicia tamanho 1);
  • Sobre o CONSTRAINTS temos duas formas de usar dentro do CREATE TABLE.

IN LINE
Create Table TESTE (
TESTE_ID NUMBER PRIMARY KEY,
TESTE_NM VARCHAR2(10));

Create Table TESTE (
TESTE_ID NUMBER CONSTRAINT TESTE PRIMARY KEY,
TESTE_NM VARCHAR2(10));

OUT OF LINE
Create Table TESTE (
TESTE_ID NUMBER,
TESTE_NM VARCHAR2(10),
PRIMARY KEY (TESTE_ID));

Create Table TESTE (
TESTE_ID NUMBER,
TESTE_NM VARCHAR2(10),
CONSTRAINT TESTE PRIMARY KEY (TESTE_ID));

Obs.: Essas opções de IN LINE e OUT OF LINE servem também para UNIQUE e FOREIGN. Para o NOT NULL somente IN LINE.

  • Outra forma de criar um campo NULL:

Create Table TESTE (
TESTE_ID NUMBER,
TESTE_NN CHAR CONSTRAINT TESTE_NN NOT NULL,
TESTE_NM VARCHAR2(10),
CONSTRAINT TESTE PRIMARY KEY (TESTE_ID));

  • Sobre criação de FOREIGN KEY é que pode ser criada entre tabelas aonde a CONSTRAINT pode ser PRIMARY KEY ou UNIQUE KEY, e uma restrição para FOREIGN KEY que não pode ser em campos do tipo BLOB, CLOB e TIMESTAMP WITH TIME ZONE. (ainda vou testar para todos os tipos e posto o resultado como complemento);

Questões:

1 –
Create Table TESTE#1 (
TESTE_ID NUMBER,
TESTE_NM VARCHAR2(10),
PRIMARY KEY (TESTE_ID));

Esse CREATE TABLE acima vai dar ERRO por causa do “#”?
SIM
NAO

2 – O usuário CAPIN pode criar uma tabela com nome de CAPIN? Se SIM pode criar uma VIEW com esse nome?
SIM SIM
NAO NAO
SIM NAO
NAO SIM

3 – Posso criar uma tabela e ter o mesmo nome dela em uma constraint?
SIM
NAO

Respostas no próximo post.

Book: SQL Certified Expert Exam Guide, Steve O’Hearn pela Oracle Press
Link Book na Amazon

Att,
capin