Você está na página 1de 58

Banco de Dados Profa. Rita de Cssia Rodrigues 2. Semestre ADS ritacrodrigues@yahoo.com.

br AULA 11 SQL - DDL LINGUAGEM DE DEFINIO DE DADOS

Agenda
Objetivo Conceitos referentes a linguagem de definio de dados Reviso dos Conceitos Exerccios

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Objetivos
Explanar os conceitos de modelagem de dados; Caracterizar a aplicao da linguagem de definio de dados; Projetar banco de dados, identificar e abstrair as necessidades; Aplicar os conceitos trabalhados para construir um modelo de dados.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Contedo Programtico referente a esta aula


Liguagem de definio de dados Nomenclatura Tipos de Dados Dicionrio de Dados DDL (Create, Alter e DROP) Constraints Aes Referenciais (Integridade Referencial)

Exerccios

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Nomenclatura (Tabelas e Campos)


Tamanho do nome da tabela: 30 caracteres Tamanho do nome de um campo: 30 caracteres Caracteres permitidos: letras nmeros underscore ( _ ) cifro($) e # Observao:
11/09/2012

Primeiro caractere deve ser uma letra. Rita C. Rodrigues Banco de Dados Profa.

Tipos de Dados Oracle


Tipo de Dados VARCHAR2 (tamanho) CHAR(tamanho) Number(p,s) DATE CLOB BLOB Descrio Dados de caractere de comprimento varivel Dados de caractere de comprimento fixo Dados numricos de comprimento varivel Valores de data e hora Dados de caractere de um byte at 4 gigabytes Dados binrios de at 4 gigabytes

Mais informaes:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i16209 http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i2093 http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements001.htm#i45441

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Documentao do Modelo de Dados Relacional ou Fsico Dicionrio de Dados


Refere-se a descrio completa da estrutura de uma tabela, onde indicado: Nome; Tipo de Dado; Tamanho de cada campo; Descrio (informaes adicionais, caractersticas relevantes).

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Documentao do Modelo de Dados Relacional ou Fsico Dicionrio de Dados - Exemplo


Produto:
Nome do Campo NumeroSerie CodigoCatalogo VersaoProduto CNPJCli

Armazenar todos os produtos comercializados, com informaes referentes a quantidade e preo principalmente.
Tipo de Dados Number Number Number VARCHAR2 Tamanho 5 5 3 15 X PK X X No nulo Armazena a verso do produto adquirido pelo cliente FK Outras informaes Comentrios Armazenar o nmero de srie do produto

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

SQL - Structured Query Language (Linguagem Estruturada de Consulta)

uma linguagem de definio, manipulao e controle de banco de dados. Representa um conjunto de comandos responsveis pela definio das tabelas, seleo e atualizao dos dados em um SGBD.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

Divises do Comando SQL

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

10

Divises do Comando SQL

DDL Linguagem de Definio de Dados Utilizada para definir tabelas e elementos associados. Exemplos:CREATE, DROP, ALTER DML Linguagem de Manipulao de Dados Utilizada para inserir, atualizar e apagar dados. Exemplos: INSERT, UPDATE, DELETE.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

11

Divises do Comando SQL

DCL Linguagem de Controle de Dados Utilizada para controlar autorizao de acesso a dados e operaes. Exemplos: GRANT, REVOKE DTL Linguagem de Transao de Dados Utilizada para controlar as transaes de banco de dados. Exemplos: COMMIT, ROLLBACK.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

12

Divises do Comando SQL

DQL Linguagem de Consulta de Dados Tambm chamada de DRS. Utilizada para especificar consultas. composta por vrias clusulas e opes, o que possibilita a elaborao de consultas simples complexas. Exemplos: SELECT

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

13

Divises do Comando SQL


Alguns SGBDs que utilizam SQL: SGBD Apache Derby, Cach, DB2, Firebird, Informix, Interbase, SQL Server, MySQL, Oracle, PostGreSQL, Sybase. ANSI (American National Standards Institute) e ISO so responsveis pela (American Institute) padronizao. Porm h muitas variaes criadas pelos fabricantes de SGBD.

Leitura Recomendada:
http://pt.wikipedia.org/wiki/SQL http://en.wikipedia.org/wiki/SQL http://www.oracle.com/technology/products/database/application_development/pdf/SQL_2003_TWP.pdf http://www.sigmod.org/publications/sigmod-record/0403/E.JimAndrew-standard.pdf/view
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 14

Verses SQL ANSI

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

15

Transformao do Modelo para SQL Criao de Tabelas


Comando CREATE TABLE Sintaxe para criar a estrutura de uma tabela definindo as colunas (campos) e as chaves primrias e estrangeiras existentes (relacionamento PK x FK). Sintaxe:
CREATE TABLE <nome-tabela> ( <nome-coluna> <tipo-do-dado> [NOT NULL] PRIMARY KEY (nome-coluna-chave) FOREIGN KEY (nome-coluna-chave-estrangeira) REFERENCES <nome-tabela-pai> (nome-coluna-chave-primria));

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

16

Transformao do Modelo para SQL - CONSTRAINTS


parte opcional da clusula CREATE TABLE e ALTER TABLE So regras TABLE. agregadas a colunas e tabelas.

As restries(Constraints) evitam: Que uma tabela seja deletada se houver pendncias Dados invlidos sejam inseridos em branco Garante a integridade dos dados armazenados

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

17

Transformao do Modelo para SQL CONSTRAINTS Tipos de Constraint no Oracle


Not Null Unique Check Default Primary key Foreign key

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

18

Transformao do Modelo para SQL CONSTRAINTS


Restrio (Constraints) Not Null Constraints) Indica que o contedo de uma coluna no poder ser nulo. Exemplo: NUMEROSERIEPRODUTO Restrio (Constraints) DEFAULT Constraints) Serve para atribuir um contedo padro a uma coluna da tabela, sempre que for includa uma nova linha na tabela. Exemplo:
DT_REALIZADO
11/09/2012

NUMBER(5) NOT NULL

DATE DEFAULT SYSDATE


Banco de Dados Profa. Rita C. Rodrigues 19

Transformao do Modelo para SQL CONSTRAINTS


Restrio (Constraints) UNIQUE Constraints) Indica que no pode haver repetio no contedo da coluna. diferente do conceito de chave primria (nico e no nulo). Quando indicamos que uma coluna deve conter valores nicos, indicamos que todos os valores no nulos devem ser exclusivos. Exemplo: CNPJCLI VARCHAR2(15) UNIQUE

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

20

Transformao do Modelo para SQL CONSTRAINTS


Restrio (Constraints) CHECK Constraints) Definio de um domnio. Domnio uma expresso de valores possveis para o contedo de uma coluna.

Exemplo:
SEXO CHAR(1) CHECK ( UPPER(SEXO) = M OR UPPER(SEXO) = F) )

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

21

Transformao do Modelo para SQL CONSTRAINTS


Restrio (Constraints) Primary Key Constraints) Permite identificar um nico registro na tabela. Exemplo: PRIMARY KEY (ID_GRUPO)

Restrio (Constraints) FOREIGN KEY Constraints) Estabelece o relacionamento entre duas tabelas. Exemplo: FOREIGN KEY (ID_GRUPO) REFERENCES GRUPO(ID_GRUPO)
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 22

Transformao do Modelo para SQL CONSTRAINTS Adicionando Restries (Constraints)

Normalmente utilizamos o comando ALTER TABLE para inserir restries (Constraints). uma boa prtica adicionar ou eliminar restries, mas no modificar restries. Adicione uma restrio NOT NULL utilizando a clusula MODIFY.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

23

Aes Referenciais (Integridade Referencial)


Um banco de dados impe restries referenciais para garantir a integridade dos dados quando as linhas de uma tabela so alteradas ou excludas. Se as linhas dependentes nas tabelas referenciandas ainda existem, essas referncias devem ser consideradas. SQL: 2003 especifica cinco diferentes aes referenciais que devem ter lugar em tais ocorrncias, so elas: Cascade Restrict No Action Set Null Set Default
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 24

Aes Referenciais (Integridade Referencial)


Cascade Criao de aes em cascata Deve ser usada com muito critrio quando construmos um banco de dados pelos riscos de sua utilizao, porm so de grande valia na garantia de integridade referencial no banco de dados. A utilizao da clusula ON DELETE CASCADE especifica que se houver uma tentativa de apagar uma linha com uma chave primria referenciada por chaves estrangeiras em linhas existentes em outras tabelas, tambm sero apagadas todas as linhas que contm essas chaves estrangeiras. A opo ON UPDATE CASCADE impede que sejam feitas mudanas na chave referenciada caso existam linhas referenciando o valor desta.
11/09/2012

Podem ser utilizadas asde Dados clusulas Rodrigues duas Profa. Rita C. juntas. Banco

25

Aes Referenciais (Integridade Referencial)


Restrict Opo default. Esta opo no permite a excluso/alterao na tabela pai de um registro cuja chave primria exista em alguma tabela filha. A verificao feita antes de executar a instruo de

excluso/alterao.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

26

Aes Referenciais (Integridade Referencial)


No Action Esta opo no permite a excluso/alterao na tabela pai de um registro cuja chave primria exista em alguma tabela filha. A verificao feita aps a execuo da instruo de

excluso/alterao. Se a regra de atualizao for NO ACTION, sero verificadas as tabelas dependentes com relao s restries de chave estrangeira aps todas as excluses terem sido executadas, mas antes dos gatilhos serem executados. Se alguma linha de tabela dependente violar a restrio de chave estrangeira, a instruo ser rejeitada.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

27

Aes Referenciais (Integridade Referencial)


SET NULL Altera o contedo da coluna (chave estrangeira) para nulo, perdendo a referncia, sem deixar valores inconsistentes. Caso a coluna correspondente a chave estrangeira permita nulos.

SET DEFAULT Altera o contedo da coluna (chave estrangeira) para o valor especificado na clusula default se houver.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

28

Transformao do Modelo para SQL - Comando ALTER TABLE


Alterar a estrutura de uma tabela acrescentando, alterando, retirando e alterando nomes, formatos das colunas e a integridade referencial definidas em uma determinada tabela. Sntaxe:
ALTER TABLE <nome-tabela> DROP COLUMN <nome-coluna> ADD <nome-coluna> <tipo-do-dado> [NOT NULL] [NOT NULL WITH DEFAULT] RENAME <nome-coluna> <novo-nome-coluna> MODIFY <nome-coluna> <tipo-do-dado> [NULL] [NOT NULL]

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

29

Transformao do Modelo para SQL - Comando ALTER TABLE Exemplos


Adicionando colunas ALTER TABLE Cliente ADD email VARCHAR2(80) UNIQUE; Adicionando restries (constraints) (constraints) ALTER TABLE Cliente ADD PRIMARY KEY(CDCLIENTE); Modificando colunas
ALTER TABLE Cliente MODIFY email varchar2(100) NOT NULL;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

30

Transformao do Modelo para SQL - Comando ALTER TABLE Exemplos


Excluindo elementos Colunas ALTER TABLE Cliente drop column email; Restries (contraints) (contraints) ALTER TABLE EXE02_CANDIDATO_CARGO DROP CONSTRAINT PK_Candidato_Cargo;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

31

Transformao do Modelo para SQL - Comando ALTER TABLE Exemplos


Alterao de Nomes Alterao de nome da tabela ALTER TABLE cliente RENAME TO cli; Alterao de nome da coluna ALTER TABLE cliente RENAME COLUMN nome_Cliente TO nmcliente;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

32

Transformao do Modelo para SQL Implementao de Chaves Primrias e Estrangeiras


H trs formas: 1. Criar as tabelas com as chaves primrias e estrangeiras Desvantagem: ter que observar a ordem de criao das tabelas e o comando mais complexo. 2. Criar as tabelas com as chaves primrias e depois as estrangeiras Vantagem: a leitura e criao do comando mais simples. 3. Criar as tabelas, as chaves primrias e depois as estrangeiras Vantagem: a leitura e criao do comando mais simples.

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

33

Transformao do Modelo para SQL Modelo Lgico Academia de Ginstica

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

34

Transformao do Modelo para SQL Modelo Relacional Academia de Ginstica

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

35

Transformao do Modelo para SQL Criao de Tabelas Exemplo


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA INSTITUIO CREATE TABLE EX01_INSTITUICAO ( cod_instituicao NUMBER (5) NOT NULL , nome_instituicao VARCHAR2 (60) NOT NULL , endereco_instituicao VARCHAR2 (60) NOT NULL , fone_instituicao NUMBER (8) , perc_desconto NUMBER (4,2) NOT NULL ); -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_INSTITUICAO
ADD CONSTRAINT EX01_INSTITUICAO_PK PRIMARY KEY ( cod_instituicao ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

36

Transformao do Modelo para SQL Criao de Tabelas Exemplo


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA MODALIDADE CREATE TABLE EX01_MODALIDADE ( cod_modalidade NUMBER (3) NOT NULL , desc_modalidade VARCHAR2 (40) NOT NULL ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_MODALIDADE
ADD CONSTRAINT EX01_MODALIDADE_PK PRIMARY KEY ( cod_modalidade ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

37

Transformao do Modelo para SQL Criao de Tabelas Exemplo


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA SALA CREATE TABLE EX01_SALA ( cod_sala NUMBER (4) NOT NULL , num_andar NUMBER (3) , capacidade NUMBER (2) NOT NULL , observacao VARCHAR2 (100) ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_SALA ADD CONSTRAINT EX01_SALA_PK PRIMARY KEY ( cod_sala ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

38

Transformao do Modelo para SQL Criao de Tabelas Exemplo


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA AULA CREATE TABLE EX01_AULA ( cod_aula NUMBER (4) NOT NULL , cod_modalidade NUMBER (3) NOT NULL , cod_sala NUMBER (4) NOT NULL , nivel_dificuldade NUMBER (1) NOT NULL , duracao NUMBER (3) NOT NULL ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_AULA ADD CONSTRAINT AULA_PK PRIMARY KEY ( cod_aula ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

39

Transformao do Modelo para SQL Criao de Tabelas Exemplo (Implementao da Especializao/Generalizao)


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA PESSOA CREATE TABLE EX01_PESSOA ( cod_pessoa NUMBER (5) NOT NULL , nom_pessoa VARCHAR2 (30) NOT NULL , fone_pessoa NUMBER (8) ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_PESSOA ADD CONSTRAINT EX01_PESSOA_PK PRIMARY KEY ( cod_pessoa ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

40

Transformao do Modelo para SQL Criao de Tabelas Exemplo (Implementao da Especializao/Generalizao)


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA ALUNO CREATE TABLE EX01_ALUNO ( cod_pessoa_aluno NUMBER (5) NOT NULL , cod_instituicao NUMBER (5) , dt_nascimento DATE NOT NULL , sexo CHAR (1) NOT NULL ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_ALUNO ADD CONSTRAINT ALUNO_PK PRIMARY KEY ( cod_pessoa_aluno ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

41

Transformao do Modelo para SQL Criao de Tabelas Exemplo (Implementao da Especializao/Generalizao)


/******* CRIAO DAS TABELAS E CHAVE PRIMRIA ********/ -- TABELA PROFESSOR CREATE TABLE EX01_PROFESSOR ( cod_pessoa_professor NUMBER (5) NOT NULL , sobrenome_professor VARCHAR2 (30) NOT NULL ) ; -- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_PROFESSOR ADD CONSTRAINT EX01_PROFESSOR_PK PRIMARY KEY ( cod_pessoa_professor ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

42

Transformao do Modelo para SQL Criao de Tabelas Exemplo (Implementao das Associativas tabela prpria)
/******* CRIAO DAS TABELAS E CHAVE PRIMRIA -- TABELA REALIZAO AULA CREATE TABLE EX01_REALIZACAO_AULA ( cod_realizacao_aula NUMBER (8) NOT NULL cod_pessoa_aluno NUMBER (5) NOT NULL cod_pessoa_professor NUMBER (5) NOT NULL cod_aula NUMBER (4) NOT NULL dia_semana NUMBER (1) NOT NULL horario_inicial DATE NOT NULL ) ; ********/

, , , , ,

-- CRIAO DA CHAVE PRIMRIA ALTER TABLE EX01_REALIZACAO_AULA ADD CONSTRAINT EX01_REALIZACAO_AULA_PK PRIMARY KEY ( cod_realizacao_aula ) ;
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 43

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela REALIZAO_AULA ******/ ALTER TABLE EX01_REALIZACAO_AULA ADD CONSTRAINT EX01_FK_REALIZACAO_AULA_PROF FOREIGN KEY ( cod_pessoa_professor ) REFERENCES EX01_PROFESSOR ( cod_pessoa_professor ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

44

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela REALIZAO_AULA *******/ ALTER TABLE EX01_AULA ADD CONSTRAINT EX01_FK_AULA FOREIGN KEY ( cod_modalidade ) REFERENCES EX01_MODALIDADE ( cod_modalidade ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

45

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela REALIZAO_AULA *******/ ALTER TABLE EX01_REALIZACAO_AULA ADD CONSTRAINT EX01_FK_REALIZACAO_AULA_ALUNO FOREIGN KEY ( cod_pessoa_aluno ) REFERENCES EX01_ALUNO ( cod_pessoa_aluno ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

46

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela ALUNO *******/ ALTER TABLE EX01_ALUNO ADD CONSTRAINT EX01_FK_ALUNO_INST FOREIGN KEY ( cod_instituicao ) REFERENCES EX01_INSTITUICAO ( cod_instituicao ) ON DELETE SET NULL ;
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 47

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela ALUNO *******/ ALTER TABLE EX01_ALUNO ADD CONSTRAINT EX01_FK_PESSOA_ALUNO FOREIGN KEY ( cod_pessoa_aluno ) REFERENCES EX01_PESSOA ( cod_pessoa ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

48

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela PROFESSOR *******/ ALTER TABLE EX01_PROFESSOR ADD CONSTRAINT EX01_FK_PESSOA_PROF FOREIGN KEY ( cod_pessoa_professor ) REFERENCES EX01_PESSOA ( cod_pessoa ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

49

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela REALIZAO_AULA ******/ ALTER TABLE EX01_REALIZACAO_AULA ADD CONSTRAINT EX01_FK_REALIZA_AULA FOREIGN KEY ( cod_aula ) REFERENCES EX01_AULA ( cod_aula ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

50

Transformao do Modelo para SQL Criao das Chaves Estrangeiras


/******* Chave ESTRANGEIRA - Tabela AULA *******/ ALTER TABLE EX01_AULA ADD CONSTRAINT EX01_FK_AULA_SALA FOREIGN KEY ( cod_sala ) REFERENCES EX01_SALA ( cod_sala ) ;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

51

Transformao do Modelo para SQL Criao de Tabelas Exemplo Relacionamento Recursivo


/* TABELA FUNCIONARIO */ CREATE TABLE EX02_FUNCIONARIO ( matricula NUMBER (5) NOT NULL , cod_depto NUMBER (4) NOT NULL , cod_cargo NUMBER (4) NOT NULL , Gerente NUMBER (5) NULL , nome VARCHAR2 (60) NOT NULL , cpf NUMBER (11) NOT NULL , RG CHAR (15) NOT NULL ) ; /* Chave primria da tabela Funcionario */ ALTER TABLE EX02_FUNCIONARIO ADD CONSTRAINT EX02_FUNCIONARIO_PK PRIMARY KEY ( matricula ) ; /******* Chave ESTRANGEIRA - Tabela Funcionario ********/ ALTER TABLE EX02_FUNCIONARIO ADD CONSTRAINT FK_GERENTE FOREIGN KEY (Gerente) REFERENCES EX02_FUNCIONARIO (matricula) ON DELETE SET NULL;
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 52

Transformao do Modelo para SQL


Implementao Chave Primria Composta

/* Chave primria da tabela PRESCRIO - Chave composta */ ALTER TABLE PRESCRICAO ADD CONSTRAINT PK_PRESCRICAO PRIMARY KEY ( COD_MEDICAMENTO, COD_CONSULTA);

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

53

Comando DROP TABLE


Deletar a estrutura e os dados existentes em uma tabela. Aps a execuo deste comando estaro deletados todos os dados, estrutura e ndices de acessos que estejam a ela associados. DROP TABLE <nome-tabela> Exemplo: drop table PRODUTO;

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

54

Comando DROP TABLE Exemplos do modelo Recrutamento e Seleo


/* EXCLUSO DE TABELAS E CONSTRAINTS */ DROP TABLE EX01_ALUNO CASCADE CONSTRAINTS ; DROP TABLE EX01_AULA CASCADE CONSTRAINTS ; DROP TABLE EX01_INSTITUICAO CASCADE CONSTRAINTS ; DROP TABLE EX01_MODALIDADE CASCADE CONSTRAINTS ; DROP TABLE EX01_PESSOA CASCADE CONSTRAINTS ; DROP TABLE EX01_PROFESSOR CASCADE CONSTRAINTS ; DROP TABLE EX01_REALIZACAO_AULA CASCADE CONSTRAINTS ; DROP TABLE EX01_SALA CASCADE CONSTRAINTS ;
11/09/2012 Banco de Dados Profa. Rita C. Rodrigues 55

Prxima aula estudaremos


Reviso de conceitos atravs de exerccios ndices e DML

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

56

Referncias Bibliogrficas da aula de hoje e Leitura Sugerida


MACHADO, Felipe Nery R. Banco de Dados - Projeto e Implementao. rica, 2004. Pginas: 330, 331. ELMASRI, R.; NAVATHE, S.B. Sistemas de Banco de Dados: Fundamentos e Aplicaes. Pearson, 2005. Pginas: 153, 154. http://en.wikipedia.org/wiki/Foreign_key

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

57

Copyright 2012 Prof. Rita de Cssia Rodrigues Todos direitos reservados. Reproduo ou divulgao total ou parcial deste documento expressamente probido sem o consentimento formal, por escrito, do Professor (autor).

11/09/2012

Banco de Dados Profa. Rita C. Rodrigues

58

Você também pode gostar