Buscar

BD I - linguagem de Manipulação de Dados

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

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

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ê viu 3, do total de 18 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

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

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ê viu 6, do total de 18 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

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

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ê viu 9, do total de 18 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

Prévia do material em texto

Structured Query Language (SQL)
2
Linguagens de SGBD
 Durante o desenvolvimento do sistema R, pesquisadores da IBM
desenvolveram a linguagem SEQUEL, primeira linguagem de acesso
para Sistemas Gerenciadores de Banco de Dados Relacionais.
 ISO e ANSI lançou em 1986 a primeira versão do padrão da linguagem
SQL, o SQL-86.
 A linguagem passou por aperfeiçoamentos em 1989 e, em 1992, foi
lançada a SQL-92 ou SQL2.
 Um novo padrão, chamado de SQL-99 ou SQL3 foi lançado no ano de
2000. Foi o primeiro padrão a estender a linguagem para permitir a
utilização de tipos de dados complexos e a incorporar características
da orientação a objetos.
 Após uma grande revisão do padrão SQL3 foi lançada a SQL:2003.
Nesta verão foi adicionada uma nova parte ligada ao tratamento de
XML.
3
Linguagens de SGBD
 Linguagem de Definição de Dados (DDL):
 usada para especificar o esquema conceitual.
 Linguagem de Manipulação de Dados (DML):
 usada para manipular os dados em um banco de dados. As
manipulações típicas são a recuperação, inserção, remoção e
modificação dos dados.
4
Tipos de Dados
(4 GB)
(4 GB)
5
Modelo Utilizado
Pessoa(CPF, Nome, Sexo)
Piloto (CPF, Cart_Trab)
CPF Referencia Pessoa
Passageiro(CPF, Dieta)
CPF Referencia Pessoa
Voo(Numero, Data, P_CPF)
CPF Referencia Piloto
Reserva(V_Numero, P_CPF)
V_Numero Referencia Voo
P_CPF Referencia Passageiro
Telefone(Numero, P_CPF)
CPF Referencia Pessoa
6
Linguagem de Definição de Dados (DDL)
 Criação de SCHEMA:
CREATE SCHEMA EMPRESA AUTHORIZATION ‘Jsilva’;
 Objetivo: Agrupar tabela e outras construções que pertencem à
mesma aplicação de banco de dados.
 Authorization
 Usuário ou conta proprietária do schema.
7
Linguagem de Definição de Dados (DDL)
 Criação de Tabelas:
CREATE TABLE NOME_TABELA(
COL1 TIPO_COLUNA [NOT NULL],
COL1 TIPO_COLUNA [NOT NULL],
COL1 TIPO_COLUNA [NOT NULL]
)
8
Linguagem de Definição de Dados (DDL)
 Em geral, o esquema SQL são declarados e
especificados implicitamente no ambiente nas
instruções CREATE TABLE. Como alternativa
podemos declarar explicitamente o nome do
esquema sendo: <nome do esquema>.<nome da
relação>
 CREATE TABLE EMPRESA.FUNCIONARIO...
Em vez de
 CRETE TABLE FUNCIONARIO ...
9
Linguagem de Definição de Dados (DDL)
 Na criação de tabelas, é possível especificar vários
tipos de restrições:
 Chave Primária: PRIMARY KEY ;
 Chave Estrangeira: FOREIGN KEY;
 Chave Alternativa (ou alternada): UNIQUE;
 Restrição de Domínio: CHECK.
 Pode-se atribuir nomes às restrições de integridade:
 CONSTRAINT NOME_RESTRIÇÃO TIPO RESTRIÇÃO.
 FOREIGN KEY (CPF) REFERENCES Pessoa (CPF)
10
Linguagem de Definição de Dados (DDL)
CREATE TABLE Pessoa(CPF VARCHAR(11) NOT NULL,
Nome VARCHAR(30) NOT NULL UNIQUE,
Sexo VARCHAR(1) NOT NULL,
PRIMARY KEY (CPF));
CREATE TABLE Piloto(CPF VARCHAR(11) NOT NULL,
Cart_Trab VARCHAR(13) NOT NULL UNIQUE,
PRIMARY KEY (CPF),
FOREIGN KEY (CPF)
REFERENCES Pessoa (CPF));
11
Linguagem de Definição de Dados (DDL)
CREATE TABLE Passageiro(CPF VARCHAR(11) NOT NULL
CONSTRAINT PK_PASSAGEIRO PRIMARY KEY
CONSTRAINT FK_PESSOA REFERENCES Pessoa (CPF),
Dieta VARCHAR(1) CHECK (Dieta IN(‘S’, ‘N’)));
CREATE TABLE Voo(Numero Numeric NOT NULL
CONSTRAINT PK_VOO PRIMARY KEY,
Data Date NOT NULL,
TIPO VARCHAR2(15) DEFAULT ‘NACIONAL’,
P_CPF VARCHAR(11) NOT NULL
CONSTRAINT FK_PILOTO REFERENCES Piloto (CPF));
12
Linguagem de Definição de Dados (DDL)
 Deleção de item referenciado:
... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF)
REFERENCES Piloto (CPF)
ON DELETE RESTRICT); -- impede a exclusão (default)
... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF)
REFERENCES Piloto (CPF)
ON DELETE SET NULL); -- transforma o valor em nulo
... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF)
REFERENCES Piloto (CPF)
ON DELETE CASCADE); -- exclui a linha da tabela
13
 Alteração de Tabelas:
 Incluir novas colunas em uma tabela;
 Excluir colunas existentes em uma tabela;
 Adicionar a definição de uma restrição em uma tabela;
 Excluir a definição de uma restrição existente em uma
tabela;
 Modificar uma coluna.
Linguagem de Definição de Dados (DDL)
14
Linguagem de Definição de Dados (DDL)
CREATE TABLE Reserva(V_Numero Numeric NOT NULL,
P_CPF VARCHAR(11) NOT NULL);
CREATE TABLE Telefone(Numero VARCHAR(15) NOT NULL,
P_CPF VARCHAR(11) NOT NULL, 
PRIMARY KEY (Numero, P_CPF),
FOREIGN KEY (P_CPF)
REFERENCES Pessoa(CPF));
15
ALTER TABLE Telefone
ADD COLUMN TIPO VARCHAR2(5) DEFAULT ‘FIXO’ NOT NULL;
ALTER TABLE Telefone 
DROP COLUMN Tipo;
ALTER TABLE TELEFONE
ADD CONSTRAINT TIPO_TELEFONE
CHECK (TIPO IN(‘Fixo’, ‘Movel’));
ALTER TABLE TELEFONE
DROP CONSTRAINT TIPO_TELEFONE;
Linguagem de Definição de Dados (DDL)
16
ALTER TABLE Reserva
ADD CONSTRAINT PK_RESERVA PRIMARY KEY (V_Numero, P_CPF);
ALTER TABLE Reserva
ADD CONSTRAINT FK_RESERVA_VOO FOREIGN KEY (V_Numero)
REFERENCES Voo (Numero);
ALTER TABLE Reserva
ADD CONSTRAINT FK_RESERVA_PASSAGEIRO FOREIGN KEY (P_CPF)
REFERENCES Passageiro (CPF);
ALTER TABLE Reserva ENABLE CONSTRAINT FK_RESERVA_PASSAGEIRO;
ALTER TABLE Reserva DISABLE CONSTRAINT FK_RESERVA_PASSAGEIRO;
Linguagem de Definição de Dados (DDL)
17
Linguagem de Definição de Dados (DDL)
 Deletar Tabela (estrutura):
DROP TABLE Pessoa;
FIM

Outros materiais