1. Crie uma seqüência para ser usada com a coluna de chave primária da tabela DEPT. A seqüência deve começar em 60 e ter um valor máximo de 200. Incremente sua seqüência em dez números. Nomeie a seqüência DEPT_ID_SEQ. CREATE SEQUENCE DEPT_ID_SEQ INCREMENT BY 10 -- aumenta de 10 em 10 START WITH 60 -- inicia com 60 MAXVALUE 200 -- cresce até 100 NOCYCLE; -- quando chegar no 200 para de contar. -- Caso fosse escolhido CYCLE, quando -- chegar ao fim, o contador volta -- para 60. 2. Crie um script (select) para exibir as seguintes informações sobre as seqüências: nome da seqüência, valor máximo, tamanho do incremento e último número. Nomeie o script como ex13_2.sql . Execute o script. A tabela DEPT foi criada com as seguintes definições: CREATE TABLE dept (deptno NUMBER(2), dname VARCHAR2(14), loc VARCHAR2(13), CONSTRAINT DEPT_PK PRIMARY KEY(DEPTNO)); Resposta do exercício: Select criado: SELECT SEQUENCE_NAME, MAX_VALUE,INCREMENT_BY, LAST_NUMBER FROM USER_SEQUENCES; Este select foi gravado Arquivo ex13_2.sql, assim este select torna-se um script e pode ser executado da seguinte maneira: SQL> @C:\EDINELSON\Network\BD\bd2\aula_06_11\ex13_2.sql Resultado da execução do script: SEQUENCE_NAME MAX_VALUE INCREMENT_BY LAST_NUMBER --------------------------- ---------- ------------ ----------DEPT_ID_SEQ 200 10 60 3. Crie um script para inserir uma linha na tabela DEPT. Nomeie o script como ex13_3.sql. Certifique-se de usar a seqüência criada para a coluna ID.. Execute o script. Adicione dois departamentos chamados Educação e Administração. Confirme as adições. Inserindo dados na tabela Dept insert into DEPT (deptno, dname, loc) values (DEPT_ID_SEQ.nextval, 'Educação ', 'Nova Odessa '); insert into DEPT (deptno, dname, loc) values (DEPT_ID_SEQ.nextval, 'Administração ', 'Nova Odessa '); Estes dois comandos foram gravados no aqruivo ex13_3.sql tornando-se, assim, um script Para executar o script basta fornecer o caminho onde ele está gravado bem como o seu nome. SQL> @C:\EDINELSON\Network\BD\bd2\aula_06_11\ex13_3.sql 4. Crie um índice não-exclusivo na coluna de chave estrangeira (dept_id /deptno) na tabela EMP. Crie um índice para a coluna nome do departamento. A tabela EMP foi criada com as seguintes definições: CREATE TABLE emp ( empno NUMBER(4), ename VARCHAR2(10) NOT NULL, job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(7,2) NOT NULL, CONSTRAINT emp_empno_pk PRIMARY KEY (EMPNO) , CONSTRAINT emp_empno_fk FOREIGN KEY (deptno) REFERENCES dept (deptno)); Relembrando a sintaxe de criação de índice: CREATE [UNIQUE] INDEX <nome_índice> ON nome_da_tabela (coluna 1 [ASC | DESC] [coluna 2 [ASC | DESC]]...); Respostas do exercício: Create index I_EMP_DEPTNO on EMP (DEPTNO); Create index I_DEPT_DNOME on DEPT (DNAME); 5. Exiba os índices e as exclusividades existentes no dicionário de dados para a tabela EMP. Salve a instrução em um script chamado ex13_5.sql. SQL> SELECT INDEX_NAME, TABLE_NAME,UNIQUENESS 2 FROM USER_INDEXES 3 WHERE TABLE_NAME = 'EMP'; INDEX_NAME -----------------------------I_EMP_DEPTNO EMP_EMPNO_PK TABLE_NAME -----------------------------EMP EMP Mostrando os índices de todas as tabelas (criadas nestes exercícios): SQL> SELECT INDEX_NAME, TABLE_NAME,UNIQUENESS 2 FROM USER_INDEXES; INDEX_NAME -----------------------------I_EMP_DEPTNO EMP_EMPNO_PK I_DEPT_DNOME DEPT_PK TABLE_NAME -----------------------------EMP EMP DEPT DEPT UNIQUENES --------NONUNIQUE UNIQUE NONUNIQUE UNIQUE UNIQUENES --------NONUNIQUE UNIQUE