Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Alexander Gobbato Banco de Dados Alterando a Estrutura das Tabelas Agenda Introdução Alterar a estrutura de uma tabela Acrescentar campos em uma tabela; Modificar tipo, tamanho ou obrigatoriedade de campos de uma tabela; Acrescentar restrições em uma tabela; Desabilitar restrições de uma tabela Excluir restrição de uma tabela Excluir uma tabela Exercícios Alteração de Estrutura Após a criação da estrutura de uma tabela, pode- se incluir (ADD), excluir (DROP) ou modificar (MODIFY) colunas ou constraints e desabilitar contraints dessa tabela. Utilizaremos o comando ALTER. ALTER TABLE TB_CLIENTE ADD( IE_FISICA_JURIDICA CHAR(1)) / Exemplo 1: Acrescentar campos em uma tabela ALTER TABLE TB_CLIENTE MODIFY (nm_cliente not null); Exemplo 2: Alterando obrigatoriedade de atributos em uma tabela. ALTER TABLE TB_CLIENTE MODIFY (DS_ENDERECO NUMBER(3)); Exemplo 3: Modificando o tipo de atributos em uma tabela. Alteração de Estrutura Restrições ALTER TABLE TB_CLIENTE ADD(CONSTRAINT CLIENTE_IE_FISICA_JURIDICA_CK CHECK(IE_FISICA_JURIDICA IN('F','J'))); Exemplo 5: Acrescentar restrições a uma tabela ALTER TABLE TB_CLIENTE MODIFY (NR_CEP VARCHAR2(12)); Exemplo 4: Modificando o tamanho dos atributos em uma tabela. Restrições ALTER TABLE TB_CLIENTE DISABLE CONSTRAINT CLIENTE_IE_FISICA_JURIDICA_CK; Exemplo 6.1: Desabilitar uma restrição de uma tabela ALTER TABLE TB_CLIENTE ENABLE CONSTRAINT CLIENTE_IE_FISICA_JURIDICA_CK; Exemplo 6.2: Habilitar uma restrição de uma tabela Restrições ALTER TABLE TB_CLIENTE DROP CONSTRAINT CLIENTE_IE_FISICA_JURIDICA_CK; Exemplo 7: Excluir uma restrição de uma tabela ALTER TABLE TB_CLIENTE DROP COLUMN IE_FISICA_JURIDICA; Exemplo 8: Excluir uma coluna de uma tabela Visualizando Modificações As modificações podem ser visualizadas através da descrição da tabela alterada (DESC) ou da consulta às tabelas de controle (USER_CONSTRAINTS E USER_CONS_COLUMNS) Algumas informações sobre as restrições que foram criadas para uma tabela são armazenadas em uma tabela de controle, atualizada automaticamente. Esta tabela é a USER_CONSTRAINTS. Exemplos SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME=‘TB_CLIENTE' SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='CLIENTE' SELECT * FROM CAT Lista tabelas criadas Excluindo uma tabela Para excluir uma tabela utilizamos o comando DROP TABLE. DROP TABLE TB_CLIENTE Comando: DROP TABLE nome_da_tabela Dependências, fk?Cliente Conta 1 N Exemplos ALTER TABLE TB_FORNECEDOR ADD(CONSTRAINT FORNECEDOR_CD_FORNECEDOR_PK PRIMARY KEY(CD_FORNECEDOR)); ALTER TABLE TB_FORNECEDOR MODIFY( CD_FORNECEDOR VARCHAR2(50)); ALTER TABLE TB_FORNECEDOR DROP(IE_FISICA_JURIDICA); Exercícios Criar todas as tabelas sem criar as regras Exercícios 1. Criar a tabela Nota_Fiscal. Nr_nota numérico com 5 posições Cd_c1iente numérico com 4 posições não nulas Dt_emissão data não nula Ie_tipo_nota alfanumérico com 1 posição Ie_tributada alfanumérico com 1 posição 2. Criar a tabela de itens da nota fiscal (Item_Nota_Fiscal ). Nr_nota numérico com 5 posições Nr_item numérico com 2 posições Cd_produto numérico com 5 posições Qt_produto numérico com 10 inteiros e 3 decimais Vl-unitário numérico com 8 inteiros e 2 decimais Ds_observacao alfanumérico de 250 posições 3. Criar a tabela de tipos de produtos (Tipo Produto). Cd_tipo_produto numérico com 3 posições não nulas Nm_tipo_produto alfanumérico com 30 posições não nulas Alterar as estrutura das tabelas criadas adicionando as regras Exercícios 4. Criar as tabelas de empresas e filiais (Empresa e Fi1ia1). Empresa Cd_empresa numérico com 2 posições Nm_empresa alfanumérico com 30 posições não nulas Nr_cnpj numérico de 15 posições não nulas Filial Cd_empresa numérico com 2 posições Cd_filial numérico com 2 posições Nm_fi1ia1 alfanumérico com 25 posições não nulas 5. Criar a tabela de países (Pais). Cd_país numérico com 2 posições Nm_pais alfanumérico com 45 posições Ds_nacionalidade alfanumérico com 35 posições Exercícios tabela Nota_Fiscal. Ie_tipo_nota poderá receber os valores C e D (C-Compra e D-Devolução) Ie_tributada poderá receber os valores S e N Esta tabela tem como chave primária o número da nota tabela Item_Nota_Fiscal Ds_observacao alfanumérico de 250 posições Esta tabela tem como chave primária o número da nota e o número do item e sem repetição de produto para uma mesma nota tabela Tipo_Produto Esta tabela tem como chave primaria o código e sem repetição do nome do tipo de produto tabelas de empresas e filiais (Empresa e Fi1ia1). Empresa Esta tabela tem como chave primária o código da empresa e sem repetição do do numero do CGC. Filial Esta tabela tem como chave primária os códigos da empresa e da filial o código da empresa deve existir na tabela de empresas tabela Pais Esta tabela tem como chave primaria o código e sem repetição do nome Referências Bibliográficas [1] Fanderuff, Damaris. Dominando o Oracle 9i: Modelagem e desenvolvimento. São Paulo:Pearson Education do Brasil, 2003. [2] Costa, Rogério Luis de C. SQL : guia prático. 2. ed. Rio de Janeiro : Brasport, 2006. www.cruzeirodosul.edu.br
Compartilhar