SlideShare a Scribd company logo
1 of 30
Download to read offline
– SQL –
           Linguagem de Definição de
                    Dados
            Laboratório de Bases de Dados
       Profa. Dra. Cristina Dutra de Aguiar Ciferri


Laboratório de Bases de Dados       Profa. Dra. Cristina Dutra de Aguiar Ciferri
Oracle e SQL DDL
      •  CREATE TABLE
            –  cria uma nova tabela (relação) no BD
            –  a nova tabela não possui dados
      •  DROP TABLE
            –  remove uma tabela (relação) e todas as
               suas instâncias do BD
      •  ALTER TABLE
            –  altera a estrutura de uma tabela (relação)
               já existente no BD

Laboratório de Bases de Dados             Profa. Dra. Cristina Dutra de Aguiar Ciferri
CREATE TABLE
      CREATE TABLE nome_da_tabela
      (nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] [,
       nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] ]
      [, restrições] ) ;



      •  Cria uma nova tabela (relação)
      •  Cria os atributos da nova tabela, com
            –  nome do atributo (i.e., nome_da_coluna)
            –  tipo de dado e tamanho
            –  valor DEFAULT
            –  restrições que atuam no atributo
Laboratório de Bases de Dados                        Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Dados
      •  Char
            –  alfanumérico de tamanho fixo
            –  tamanho máximo de 2.000 caracteres
      •  Varchar2
            –  alfanumérico de tamanho variável
            –  tamanho máximo de 4.000 caracteres
      •  CLOB (character long object)
            –  alfanumérico de tamanho variável
            –  tamanho máximo de 4 GB

Laboratório de Bases de Dados              Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Dados
      •  BLOB (binary long object)
            –  binário de tamanho variável
            –  tamanho máximo de 4 GB
      •  BFILE (binary file)
            –  armazena uma referência a um arquivo
               externo ao banco de dados
            –  não permite referência remota
                  •  o arquivo deve estar localizado na mesma
                     máquina que o banco de dados
            –  tamanho gerenciado pelo sistema operacional
Laboratório de Bases de Dados                   Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Dados
      •  Number (numérico, máx. 38 carac)
            –  Number(4)
                  •  número inteiro
                  •  tamanho máximo de 4 números
            –  Number(12,2)
                  •  número de ponto flutuante
                  •  tamanho máximo de 12 números
                  •  10 inteiros e 2 decimais




Laboratório de Bases de Dados                Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Dados
      •  DATE
            –  século, ano, mês, dia, hora, minuto, segundo
      •  TIMESTAMP
            –  dados de DATE + milésimo de segundo
      •  Demais tipos de dados
            –  mantidos para compatibilidade com versões
               anteriores
            –  não são indicados para serem utilizados


Laboratório de Bases de Dados              Profa. Dra. Cristina Dutra de Aguiar Ciferri
Cláusula DEFAULT
      •  Funcionalidade
            –  associa um valor default para um atributo,
               caso nenhum outro valor seja especificado
      •  expr
            –  valor fixo
            –  expressão
            –  função
            –  variável do sistema (e.g., SYSDATE)


Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
Restrições de Integridade
      •  Valor nulo
            –  representado por NULL
            –  membro de todos os domínios
      •  Restrição NOT NULL
            –  especificada quando NULL não é permitido
            –  proíbe que o atributo receba valor nulo
      •  Comparações
            –  usar IS NULL e IS NOT NULL


Laboratório de Bases de Dados          Profa. Dra. Cristina Dutra de Aguiar Ciferri
Restrições de Integridade
      •  Cláusula PRIMARY KEY
            –  identifica os atributos da relação que
               formam a sua chave primária
                  •  os atributos devem ser definidos como
                     NOT NULL
            –  sintaxe
                  PRIMARY KEY (atributo1, atributo2, ..., atributoX)
      •  Cláusula UNIQUE
            –  não permite valores duplicados para um
               determinado atributo

Laboratório de Bases de Dados                    Profa. Dra. Cristina Dutra de Aguiar Ciferri
Restrições de Integridade
      •  Cláusula CHECK
            –  especifica um predicado que precisa ser
               satisfeito por todas as tuplas de uma relação
            –  exemplos
                  •  saldo NUMBER (6,2), ...
                  •  CHECK (saldo >= 0.0),

                  •  nível char(15), ...
                  •  CHECK (nível IN (`Bacharelado`,`Mestrado`,
                     `Doutorado`))


Laboratório de Bases de Dados                  Profa. Dra. Cristina Dutra de Aguiar Ciferri
Restrições de Integridade
      •  Cláusula FOREIGN KEY
            –  reflete nas chaves estrangeiras todas as
               alterações na chave primária
            –  elimina a possibilidade de violação da
               integridade referencial
            –  sintaxe
                  FOREIGN KEY (atributos)
                  REFERENCES nome_relação (atributos)
                  [ON DELETE [ NO ACTION | CASCADE | SET NULL |
                               SET DEFAULT]]



Laboratório de Bases de Dados                   Profa. Dra. Cristina Dutra de Aguiar Ciferri
Nomeando Restrições
      •  Toda restrição possui um nome
            –  definido pelo usuário: opção CONSTRAINT
            –  atribuído automaticamente pelo sistema
      •  Definição de restrições
            –  chaves primárias (i.e., PRIMARY KEY)
            –  chaves estrangeiras (i.e., FOREIGN KEY)
            –  chaves únicas (i.e., UNIQUE)
            –  condições para valores permitidos para
               determinado campo (i.e., CHECK)

Laboratório de Bases de Dados           Profa. Dra. Cristina Dutra de Aguiar Ciferri
Declarando Restrições
      •  Exemplo
            CREATE TABLE cliente (

                 declaração dos campos
                cod_cliente     NUMBER(4),
                CPF_cliente     CHAR(12),
                 ... ,

                   declaração das restrições
                CONSTRAINT PK_CLIENTE PRIMARY KEY (cod_cliente),
                CONSTRAINT UNIQUE_CPF UNIQUE (CPF_cliente),
                ... )


Laboratório de Bases de Dados                  Profa. Dra. Cristina Dutra de Aguiar Ciferri
DESCRIBE
                          DESC[RIBE] nome_da_tabela;


      •  Mostra a estrutura de uma tabela




Laboratório de Bases de Dados                  Profa. Dra. Cristina Dutra de Aguiar Ciferri
DROP TABLE
                         DROP TABLE nome_da_tabela;


      •  Remove uma tabela existente do BD
      •  Verifica dependências
            –  foreign keys de outras tabelas associadas
               devem ser eliminadas anteriormente




Laboratório de Bases de Dados                 Profa. Dra. Cristina Dutra de Aguiar Ciferri
ALTER TABLE
      •  Altera o esquema de uma tabela do BD
            –  adiciona (ADD)
            –  remove (DROP)
            –  modifica (MODIFY)
            –  habilita (ENABLE) ou desabilita (DISABLE)
      atributos ou restrições de integridade




Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
ALTER TABLE
    ALTER TABLE nome_da_tabela
    ADD (nome_da_coluna tipo_de_dado [(tamanho)] [restrições] [,
         nome_da_coluna tipo_de_dado [(tamanho)] [restrições] ]
         [, restrições])
    MODIFY (nome_da_coluna [tipo_de_dado [(tamanho)]] [,
              nome_da_coluna [tipo_de_dado [(tamanho)]]])
    DROP COLUMN nome_da_coluna
    DROP CONSTRAINT nome_da_restrição
    ENABLE/DISABLE CONSTRAINT nome_da_restrição




Laboratório de Bases de Dados               Profa. Dra. Cristina Dutra de Aguiar Ciferri
– SQL –
          Linguagem de Manipulação
                  de Dados
            Laboratório de Bases de Dados
       Profa. Dra. Cristina Dutra de Aguiar Ciferri


Laboratório de Bases de Dados       Profa. Dra. Cristina Dutra de Aguiar Ciferri
Inserção
      •  Realizada através da especificação
            –  de uma tupla particular
            –  de uma consulta que resulta em um
               conjunto de tuplas a serem inseridas
      •  Valores dos atributos das tuplas
         inseridas
            –  devem pertencer ao domínio do atributo
      •  Atributos sem valores
            –  especificados por NULL ou valor DEFAULT

Laboratório de Bases de Dados              Profa. Dra. Cristina Dutra de Aguiar Ciferri
INSERT
                       INSERT INTO nome_tabela
                         VALUES ( V1, V2, ..., VN ) ;

      •  Ordem dos atributos deve ser mantida




Laboratório de Bases de Dados                Profa. Dra. Cristina Dutra de Aguiar Ciferri
INSERT
      INSERT INTO nome_tabela (A1, A2, ..., An)
        VALUES ( V1, V2, ..., VN ) ;

       •  Ordem dos atributos não precisa ser
          mantida




Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
INSERT
                     INSERT INTO nome_tabela
                       SELECT ...
                        FROM ...
                        WHERE ... ;

     •  Tuplas resultantes da cláusula SELECT
        serão inseridas na tabela nome_tabela



Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
– SQL –
                                Sequências

            Laboratório de Bases de Dados
       Profa. Dra. Cristina Dutra de Aguiar Ciferri


Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
Criação
      •  Sequências
            –  estruturas criadas no banco de dados que
               retornam um valor diferente a cada acesso

          CREATE SEQUENCE nome_sequência
          [START WITH valor_inicial]
          [INCREMENT BY incremento]
          [MAXVALUE valor_máximo/NOMAXVALUE]
          [MINVALUE valor_mínimo/NOMINVALUE]
          [CYCLE/NOCYCLE]

Laboratório de Bases de Dados             Profa. Dra. Cristina Dutra de Aguiar Ciferri
Criação
      •  Cláusulas
            –  START WITH
                  •  valor default 1
            –  INCREMENT BY
                  •  valor default 1
            –  CYCLE/NOCYCLE
                  •  se for cíclica, retorna ao valor de início
      •  Exemplo
                CREATE SEQUENCE SEQ_ALUNO
                START WITH 6;
Laboratório de Bases de Dados                       Profa. Dra. Cristina Dutra de Aguiar Ciferri
Manipulação
      •  CURRVAR
            –  retorna o valor corrente da sequência
      •  NEXTVAL
            –  retorna o próximo valor da sequência
             uma sequência somente será inicializada com
               o primeiro NEXTVAL referente a ela
      •  Exemplos
            SELECT SEQ_ALUNO.NEXTVAL from Dual;
            SELECT SEQ_ALUNO.CURRVAL from Dual;

Laboratório de Bases de Dados            Profa. Dra. Cristina Dutra de Aguiar Ciferri
Alteração
      •  ALTER SEQUENCE
            –  altera a definição de uma sequência, com
               exceção de seu valor inicial

          ALTER SEQUENCE nome_sequência
          opção


      •  Exemplo
                ALTER SEQUENCE SEQ_ALUNO
                INCREMENT BY 2;
Laboratório de Bases de Dados           Profa. Dra. Cristina Dutra de Aguiar Ciferri
Exemplo
      •  Tabela
            –  aluno (NUSP, nome_aluno, sexo_aluno)


      •  Inserção de uma tupla
            INSERT INTO ALUNO
            VALUES (SEQ_ALUNO.NEXTVAL,
                     'Aluno teste',
                     'f');


Laboratório de Bases de Dados             Profa. Dra. Cristina Dutra de Aguiar Ciferri
Remoção
      •  DROP SEQUENCE
            –  remove uma sequência do banco de dados

                 DROP SEQUENCE nome_seqüência



      •  Exemplo
                DROP SEQUENCE SEQ_ALUNO;



Laboratório de Bases de Dados         Profa. Dra. Cristina Dutra de Aguiar Ciferri

More Related Content

Similar to Bd acomandos

introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxSaraR49
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdfgabriel-colman
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darinTicianne Darin
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01Gilson Figueredo
 
Fundamentos de Banco de Dados Linguagem SQL.pptx
Fundamentos de Banco de Dados Linguagem SQL.pptxFundamentos de Banco de Dados Linguagem SQL.pptx
Fundamentos de Banco de Dados Linguagem SQL.pptxantoniofialho8
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Rafael Barbolo
 
Comandos basicos da linguagem SQL em banco de dados
Comandos basicos da linguagem SQL em banco de dadosComandos basicos da linguagem SQL em banco de dados
Comandos basicos da linguagem SQL em banco de dadosHenrikCruzAraujo
 

Similar to Bd acomandos (20)

introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptxintroduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
introduao-a-sql-prof-anderson-cavalcanti-ufrn-ct-dca.pptx
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdf
 
Agbd aula4 sql_ddl
Agbd aula4 sql_ddlAgbd aula4 sql_ddl
Agbd aula4 sql_ddl
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Scc0241m01revisao
Scc0241m01revisaoScc0241m01revisao
Scc0241m01revisao
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
6338 111121071604-phpapp01
6338 111121071604-phpapp016338 111121071604-phpapp01
6338 111121071604-phpapp01
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Fundamentos de Banco de Dados Linguagem SQL.pptx
Fundamentos de Banco de Dados Linguagem SQL.pptxFundamentos de Banco de Dados Linguagem SQL.pptx
Fundamentos de Banco de Dados Linguagem SQL.pptx
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
SQL Oracle
SQL OracleSQL Oracle
SQL Oracle
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)
 
SQL.ppt
SQL.pptSQL.ppt
SQL.ppt
 
Comandos basicos da linguagem SQL em banco de dados
Comandos basicos da linguagem SQL em banco de dadosComandos basicos da linguagem SQL em banco de dados
Comandos basicos da linguagem SQL em banco de dados
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 

Bd acomandos

  • 1. – SQL – Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 2. Oracle e SQL DDL •  CREATE TABLE –  cria uma nova tabela (relação) no BD –  a nova tabela não possui dados •  DROP TABLE –  remove uma tabela (relação) e todas as suas instâncias do BD •  ALTER TABLE –  altera a estrutura de uma tabela (relação) já existente no BD Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 3. CREATE TABLE CREATE TABLE nome_da_tabela (nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] [, nome_da_coluna tipo_de_dado [(tamanho)] [DEFAULT expr] [restrições] ] [, restrições] ) ; •  Cria uma nova tabela (relação) •  Cria os atributos da nova tabela, com –  nome do atributo (i.e., nome_da_coluna) –  tipo de dado e tamanho –  valor DEFAULT –  restrições que atuam no atributo Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 4. Tipos de Dados •  Char –  alfanumérico de tamanho fixo –  tamanho máximo de 2.000 caracteres •  Varchar2 –  alfanumérico de tamanho variável –  tamanho máximo de 4.000 caracteres •  CLOB (character long object) –  alfanumérico de tamanho variável –  tamanho máximo de 4 GB Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 5. Tipos de Dados •  BLOB (binary long object) –  binário de tamanho variável –  tamanho máximo de 4 GB •  BFILE (binary file) –  armazena uma referência a um arquivo externo ao banco de dados –  não permite referência remota •  o arquivo deve estar localizado na mesma máquina que o banco de dados –  tamanho gerenciado pelo sistema operacional Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 6. Tipos de Dados •  Number (numérico, máx. 38 carac) –  Number(4) •  número inteiro •  tamanho máximo de 4 números –  Number(12,2) •  número de ponto flutuante •  tamanho máximo de 12 números •  10 inteiros e 2 decimais Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 7. Tipos de Dados •  DATE –  século, ano, mês, dia, hora, minuto, segundo •  TIMESTAMP –  dados de DATE + milésimo de segundo •  Demais tipos de dados –  mantidos para compatibilidade com versões anteriores –  não são indicados para serem utilizados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 8. Cláusula DEFAULT •  Funcionalidade –  associa um valor default para um atributo, caso nenhum outro valor seja especificado •  expr –  valor fixo –  expressão –  função –  variável do sistema (e.g., SYSDATE) Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 9. Restrições de Integridade •  Valor nulo –  representado por NULL –  membro de todos os domínios •  Restrição NOT NULL –  especificada quando NULL não é permitido –  proíbe que o atributo receba valor nulo •  Comparações –  usar IS NULL e IS NOT NULL Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 10. Restrições de Integridade •  Cláusula PRIMARY KEY –  identifica os atributos da relação que formam a sua chave primária •  os atributos devem ser definidos como NOT NULL –  sintaxe PRIMARY KEY (atributo1, atributo2, ..., atributoX) •  Cláusula UNIQUE –  não permite valores duplicados para um determinado atributo Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 11. Restrições de Integridade •  Cláusula CHECK –  especifica um predicado que precisa ser satisfeito por todas as tuplas de uma relação –  exemplos •  saldo NUMBER (6,2), ... •  CHECK (saldo >= 0.0), •  nível char(15), ... •  CHECK (nível IN (`Bacharelado`,`Mestrado`, `Doutorado`)) Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 12. Restrições de Integridade •  Cláusula FOREIGN KEY –  reflete nas chaves estrangeiras todas as alterações na chave primária –  elimina a possibilidade de violação da integridade referencial –  sintaxe FOREIGN KEY (atributos) REFERENCES nome_relação (atributos) [ON DELETE [ NO ACTION | CASCADE | SET NULL | SET DEFAULT]] Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 13. Nomeando Restrições •  Toda restrição possui um nome –  definido pelo usuário: opção CONSTRAINT –  atribuído automaticamente pelo sistema •  Definição de restrições –  chaves primárias (i.e., PRIMARY KEY) –  chaves estrangeiras (i.e., FOREIGN KEY) –  chaves únicas (i.e., UNIQUE) –  condições para valores permitidos para determinado campo (i.e., CHECK) Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 14. Declarando Restrições •  Exemplo CREATE TABLE cliente ( declaração dos campos cod_cliente NUMBER(4), CPF_cliente CHAR(12), ... , declaração das restrições CONSTRAINT PK_CLIENTE PRIMARY KEY (cod_cliente), CONSTRAINT UNIQUE_CPF UNIQUE (CPF_cliente), ... ) Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 15. DESCRIBE DESC[RIBE] nome_da_tabela; •  Mostra a estrutura de uma tabela Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 16. DROP TABLE DROP TABLE nome_da_tabela; •  Remove uma tabela existente do BD •  Verifica dependências –  foreign keys de outras tabelas associadas devem ser eliminadas anteriormente Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 17. ALTER TABLE •  Altera o esquema de uma tabela do BD –  adiciona (ADD) –  remove (DROP) –  modifica (MODIFY) –  habilita (ENABLE) ou desabilita (DISABLE) atributos ou restrições de integridade Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 18. ALTER TABLE ALTER TABLE nome_da_tabela ADD (nome_da_coluna tipo_de_dado [(tamanho)] [restrições] [, nome_da_coluna tipo_de_dado [(tamanho)] [restrições] ] [, restrições]) MODIFY (nome_da_coluna [tipo_de_dado [(tamanho)]] [, nome_da_coluna [tipo_de_dado [(tamanho)]]]) DROP COLUMN nome_da_coluna DROP CONSTRAINT nome_da_restrição ENABLE/DISABLE CONSTRAINT nome_da_restrição Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 19. – SQL – Linguagem de Manipulação de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 20. Inserção •  Realizada através da especificação –  de uma tupla particular –  de uma consulta que resulta em um conjunto de tuplas a serem inseridas •  Valores dos atributos das tuplas inseridas –  devem pertencer ao domínio do atributo •  Atributos sem valores –  especificados por NULL ou valor DEFAULT Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 21. INSERT INSERT INTO nome_tabela VALUES ( V1, V2, ..., VN ) ; •  Ordem dos atributos deve ser mantida Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 22. INSERT INSERT INTO nome_tabela (A1, A2, ..., An) VALUES ( V1, V2, ..., VN ) ; •  Ordem dos atributos não precisa ser mantida Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 23. INSERT INSERT INTO nome_tabela SELECT ... FROM ... WHERE ... ; •  Tuplas resultantes da cláusula SELECT serão inseridas na tabela nome_tabela Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 24. – SQL – Sequências Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 25. Criação •  Sequências –  estruturas criadas no banco de dados que retornam um valor diferente a cada acesso CREATE SEQUENCE nome_sequência [START WITH valor_inicial] [INCREMENT BY incremento] [MAXVALUE valor_máximo/NOMAXVALUE] [MINVALUE valor_mínimo/NOMINVALUE] [CYCLE/NOCYCLE] Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 26. Criação •  Cláusulas –  START WITH •  valor default 1 –  INCREMENT BY •  valor default 1 –  CYCLE/NOCYCLE •  se for cíclica, retorna ao valor de início •  Exemplo CREATE SEQUENCE SEQ_ALUNO START WITH 6; Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 27. Manipulação •  CURRVAR –  retorna o valor corrente da sequência •  NEXTVAL –  retorna o próximo valor da sequência  uma sequência somente será inicializada com o primeiro NEXTVAL referente a ela •  Exemplos SELECT SEQ_ALUNO.NEXTVAL from Dual; SELECT SEQ_ALUNO.CURRVAL from Dual; Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 28. Alteração •  ALTER SEQUENCE –  altera a definição de uma sequência, com exceção de seu valor inicial ALTER SEQUENCE nome_sequência opção •  Exemplo ALTER SEQUENCE SEQ_ALUNO INCREMENT BY 2; Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 29. Exemplo •  Tabela –  aluno (NUSP, nome_aluno, sexo_aluno) •  Inserção de uma tupla INSERT INTO ALUNO VALUES (SEQ_ALUNO.NEXTVAL, 'Aluno teste', 'f'); Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 30. Remoção •  DROP SEQUENCE –  remove uma sequência do banco de dados DROP SEQUENCE nome_seqüência •  Exemplo DROP SEQUENCE SEQ_ALUNO; Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri