Buscar

Banco de Dados - Linguagens de SGBD [DDL] (Módulo IX)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Structured Query Language (SQL)
Linguagens de SGBD
� SEQUEL, criado pela IBM.
� ISO e ANSI cria em 1986 a primeira versão do padrão da 
linguagem SQL, o SQL-86.
2
� Surge em 1992 o padrão SQL-92 ou SQL2.
� No ano 2000 surge o padrão SQL-99 ou SQL3.
� Da revisão do SQL3 surge o SQL:2003 que trouxe novas 
funcionalidades ligadas ao tratamento do XML.
Linguagens de SGBD
� Nos módulos IX e X estudaremos:
3
�Linguagem de Definição de Dados (DDL).
�Linguagem de Manipulação de Dados (DML).
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Criando tabelas:
4
�Criando tabelas:
CREATE CREATE CREATE CREATE TABLE TABLE TABLE TABLE NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho),
COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho));
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Como criar uma tabela ALUNO?
5
�Como criar uma tabela ALUNO?
Linguagem de Definição de Dados (DDL)
� Criando a tabela ALUNO:
6
CREATE TABLE CREATE TABLE CREATE TABLE CREATE TABLE ALUNO (MATRICULA ALUNO (MATRICULA ALUNO (MATRICULA ALUNO (MATRICULA VARCHAR(11VARCHAR(11VARCHAR(11VARCHAR(11) ) ) ) ,,,,
CPF VARCHAR(11CPF VARCHAR(11CPF VARCHAR(11CPF VARCHAR(11) ) ) ) ,,,,
NOME VARCHAR(30NOME VARCHAR(30NOME VARCHAR(30NOME VARCHAR(30) ) ) ) ,,,,
SEXO SEXO SEXO SEXO VARCHAR(1),VARCHAR(1),VARCHAR(1),VARCHAR(1),
COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5);
� Assim, criamos a tabela ALUNO com as colunas: MATRÍCULA,CPF,NOME, 
SEXO e COD_CURSO.
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Mas como definir as restrições de integridade?
7
�Mas como definir as restrições de integridade?
Linguagem de Definição de Dados (DDL)
� Mas o que são mesmo as restrições de integridade???
� Quais as principais restrições de integridade???
8
Quais as principais restrições de integridade???
Restrições de Integridade
• Conjunto de requisitos visando a consistência dos dados e que é mantida
pelo SGBD.
• Principais Restrições de Integridade:
a) Integridade de Domínio;
9
b) Integridade deVazio;
c) Integridade de Chave;
d) Integridade Referencial;
e) Integridade de Unicidade;
Linguagem de Definição de Dados (DDL)
�Definição das restrições de integridade:
PRIMARY KEY Restrição de chave 
10
FOREIGN KEY Restrição Referencial
UNIQUE Restrição de Unicidade
CHECK Restrição de Domínio
NOT NULL Restrição de Vazio 
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Definição das restrições de integridade:
11
�Definição das restrições de integridade:
CREATE CREATE CREATE CREATE TABLE TABLE TABLE TABLE ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11) ) ) ) NOT NULLNOT NULLNOT NULLNOT NULL,,,,
CPF VARCHAR(11) CPF VARCHAR(11) CPF VARCHAR(11) CPF VARCHAR(11) NOT NULL UNIQUENOT NULL UNIQUENOT NULL UNIQUENOT NULL UNIQUE,,,,
NOME VARCHAR(30) NOME VARCHAR(30) NOME VARCHAR(30) NOME VARCHAR(30) NOT NULLNOT NULLNOT NULLNOT NULL,,,,
SEXO VARCHAR(1) SEXO VARCHAR(1) SEXO VARCHAR(1) SEXO VARCHAR(1) CHECKCHECKCHECKCHECK (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), 
COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5),
PRIMARY PRIMARY PRIMARY PRIMARY KEY KEY KEY KEY (MATRICULA),(MATRICULA),(MATRICULA),(MATRICULA),
FOREIGN KEY FOREIGN KEY FOREIGN KEY FOREIGN KEY (COD_CURSO),(COD_CURSO),(COD_CURSO),(COD_CURSO),
REFERENCES CURSO REFERENCES CURSO REFERENCES CURSO REFERENCES CURSO (COD_CURSO));(COD_CURSO));(COD_CURSO));(COD_CURSO));
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Podemos também atribuir nomes às restrições de 
12
�Podemos também atribuir nomes às restrições de 
integridade!
CREATE TABLE ALUNO (MATRICULA VARCHAR(11) NOT NULL,
CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT PK_ALUNO PK_ALUNO PK_ALUNO PK_ALUNO PRIMARY KEYPRIMARY KEYPRIMARY KEYPRIMARY KEY
CPF VARCHAR(11) NOT NULL UNIQUE,
NOME VARCHAR(30) NOT NULL,
SEXO VARCHAR(1) CHECK (SEXO IN(‘F’,’M’)), 
COD_CURSO VARCHAR(5),
CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES 
CURSO(COD_CURSO)CURSO(COD_CURSO)CURSO(COD_CURSO)CURSO(COD_CURSO);;;;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
13
�Alterando tabelas:
Alterar uma tabela consiste em:
a) Incluir novas colunas;
b) Excluir colunas;
c) Adicionar ou Excluir uma restrição;
d) Redefinir uma coluna.
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
14
�Alterando tabelas:
Incluindo novas colunas:
ALTER ALTER ALTER ALTER TABLETABLETABLETABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
ADD ADD ADD ADD COLUMNCOLUMNCOLUMNCOLUMN NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO);
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
15
�Alterando tabelas:
Como incluir a coluna “TELEFONE” na tabela ALUNO?
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
16
�Alterando tabelas:
Incluindo a coluna “TELEFONE” na tabela ALUNO!
ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO 
ADD COLUMN ADD COLUMN ADD COLUMN ADD COLUMN TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT NULL;NULL;NULL;NULL;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
17
�Alterando tabelas:
Excluindo uma coluna:
ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA 
DROP DROP DROP DROP COLUMN COLUMN COLUMN COLUMN NOME_COLUNANOME_COLUNANOME_COLUNANOME_COLUNA;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
18
�Alterando tabelas:
Excluindo a coluna “TELEFONE”da tabela ALUNO:
ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE ALUNO ALUNO ALUNO ALUNO 
DROP DROP DROP DROP COLUMN COLUMN COLUMN COLUMN TELEFONETELEFONETELEFONETELEFONE;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
19
�Alterando tabelas:
Adicionando uma restrição:
ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA 
ADD ADD ADD ADD CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO CHECK CHECK CHECK CHECK RESTRIÇÃORESTRIÇÃORESTRIÇÃORESTRIÇÃO;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
20
�Alterando tabelas:
Adicionando uma restrição na tabela ALUNO:
ALTER TABLE ALTERTABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO 
ADD CONSTRAINT ADD CONSTRAINT ADD CONSTRAINT ADD CONSTRAINT TIPO_TELTIPO_TELTIPO_TELTIPO_TEL
CHECKCHECKCHECKCHECK (TIPO_TELEFONE (TIPO_TELEFONE (TIPO_TELEFONE (TIPO_TELEFONE IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’));
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
21
�Alterando tabelas:
Excluindo uma restrição:
ALTER TABLEALTER TABLEALTER TABLEALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA
DROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
22
�Alterando tabelas:
Excluindo uma restrição na tabela ALUNO:
ALTER TABLEALTER TABLEALTER TABLEALTER TABLE ALUNOALUNOALUNOALUNO
DROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINT TIPO_TELTIPO_TELTIPO_TELTIPO_TEL;
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
23
�Alterando tabelas:
Redefinindo uma coluna:
ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA 
MODIFYMODIFYMODIFYMODIFY (NOME_COLUNA TIPO (NOME_COLUNA TIPO (NOME_COLUNA TIPO (NOME_COLUNA TIPO tam_originaltam_originaltam_originaltam_original((((tam_finaltam_finaltam_finaltam_final))))))));
** para diminuir tamanho a coluna precisa estar vazia.
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Alterando tabelas:
24
�Alterando tabelas:
Redefinindo uma coluna na tabela ALUNO:
ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO 
MODIFYMODIFYMODIFYMODIFY (NOME VARCHAR30(50))(NOME VARCHAR30(50))(NOME VARCHAR30(50))(NOME VARCHAR30(50));
** para diminuir tamanho a coluna precisa estar vazia.
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Renomeando tabelas:
25
�Renomeando tabelas:
RENAMERENAMERENAMERENAME NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA TOTOTOTO NOVO_NOME_TABELANOVO_NOME_TABELANOVO_NOME_TABELANOVO_NOME_TABELA; 
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Renomeando a tabela ALUNO:
26
�Renomeando a tabela ALUNO:
RENAMERENAMERENAMERENAME ALUNO ALUNO ALUNO ALUNO TOTOTOTO ESTUDANTESESTUDANTESESTUDANTESESTUDANTES; 
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Deletando uma tabela (deleta a estrutura):
27
�Deletando uma tabela (deleta a estrutura):
DROP TABLEDROP TABLEDROP TABLEDROP TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA; 
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Deletando a tabela ALUNO (deleta a estrutura):
28
�Deletando a tabela ALUNO (deleta a estrutura):
DROP TABLEDROP TABLEDROP TABLEDROP TABLE ALUNOALUNOALUNOALUNO; 
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Deletando uma tabela
29
�Deletando uma tabela
TRUNCATE TABLETRUNCATE TABLETRUNCATE TABLETRUNCATE TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA;
** (deleta todos os dados, voltando ao estado inicial de criação da tabela):
Linguagem de Definição de Dados (DDL)
� Principais comandos DDL:
�Deletando a tabela ALUNO
30
�Deletando a tabela ALUNO
TRUNCATE TABLETRUNCATE TABLETRUNCATE TABLETRUNCATE TABLE ALUNOALUNOALUNOALUNO;
** (deleta todos os dados, voltando ao estado inicial de criação da tabela):
Tipos de Dados
31
1- Crie a tabela Empregado(CPF,Matrícula, Nome,Sexo)
especificando as respectivas restrições de integridade .
2- Altere a tabela Empregado criada na questão anterior,
ExercíciosExercíciosExercíciosExercícios
32
2- Altere a tabela Empregado criada na questão anterior,
adicionando e esta tabela a coluna “Telefone”.
3- Crie uma nova restrição referencial na tabela Empregado.
Referências BibliográficasReferências BibliográficasReferências BibliográficasReferências Bibliográficas
EMASRIEMASRIEMASRIEMASRI, , , , Ramez; NAVATHERamez; NAVATHERamez; NAVATHERamez; NAVATHE, , , , ShamkantShamkantShamkantShamkant B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson EducationEducationEducationEducation do do do do Brasil. Brasil. Brasil. Brasil. 
São Paulo. 2005São Paulo. 2005São Paulo. 2005São Paulo. 2005....
SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 
3º 3º 3º 3º edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books 1.1.1.1.
33
SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 
3º 3º 3º 3º edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books 1.1.1.1.

Outros materiais