Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS Aula 03

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 46 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 46 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 46 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

AULA 03
SQL PARTE 1 – CREATE TABLE E DML
Nesta aula, você irá: 
1.Conhecer a linguagem SQL;
2.Aprender a instalar e configurar um SGBD;
3.Aprender a criar tabelas;
4.Manipular dados.
Instalação e configuração do SGBD Oracle 10G 
Express
Visando tornar nossas aulas de SQL as mais 
práticas possíveis, utilizaremos o Oracle 10G 
Express. Para isso, é importante que você faça o 
download do SGBD e realize sua instalação no 
computador que irá utilizar ˘˘para seu estudo.
A parte inicial de nossa aula será, então, 
dedicada a essa tarefa. Mãos a obra.
IMPLEMENTAÇÃO DE BANCO DE DADOS 1
Download Oracle
IMPLEMENTAÇÃO DE BANCO DE DADOS 2
IMPLEMENTAÇÃO DE BANCO DE DADOS 3
IMPLEMENTAÇÃO DE BANCO DE DADOS 4
IMPLEMENTAÇÃO DE BANCO DE DADOS 5
IMPLEMENTAÇÃO DE BANCO DE DADOS 6
IMPLEMENTAÇÃO DE BANCO DE DADOS 7
IMPLEMENTAÇÃO DE BANCO DE DADOS 8
Testando o Oracle (No NICIAR do WINDOWS)
IMPLEMENTAÇÃO DE BANCO DE DADOS 9
IMPLEMENTAÇÃO DE BANCO DE DADOS 10
Criando Usuário – Via Comando
IMPLEMENTAÇÃO DE BANCO DE DADOS 11
Digite o comando: 
GRANT CONNECT, RESOURCE TO AULABD
DEPOIS CLIQUE EM EXECUTAR
Criando Usuário – Via Interface
IMPLEMENTAÇÃO DE BANCO DE DADOS 12
IMPLEMENTAÇÃO DE BANCO DE DADOS 13
IMPLEMENTAÇÃO DE BANCO DE DADOS 14
A LINGUAQEM SQL COMO PADRÃO
Agora que já instalamos e criamos o usuário 
AULABD, vamos começar nosso estudo da 
Linguagem SQL.
 
SQL quer dizer Structured Query Language e é o 
padrão mundial de acesso às bases de dados 
relacionais.
Partes da  SQL
✴DDL
Create, Alter, Drop, Rename, Truncate
Permitem a criação e definição de 
objetos como tabelas, views e outros 
objetos no banco de dados.
IMPLEMENTAÇÃO DE BANCO DE DADOS 15
✴DRL
Select
É o comando mais comum do SQL. 
U t i l i z a d o a m p l a m e n t e p a r a 
recuperação dos dados de uma base. 
✴DML
Insert, Delete, Update
Comandos de manipulação dos dados. 
Usados nas aplicações que mantêm a 
base de informações com inserções, 
atualizações e deleções de dados.
✴DCL
Grant, Revoke
São utilizados para atribuir ou remover 
direitos de acesso a objetos do banco 
de dados e suas estruturas.
✴Controle de Transções
Commit, Rollback, Savepoint
Faz parte do padrão SQL a efetivação 
total, parcial ou o abandono de uma 
transação através da utilização destes 
comandos.
IMPLEMENTAÇÃO DE BANCO DE DADOS 16
Criação de Tabelas
Iniciaremos nosso Estudo pelo Comando de 
Criação de Tabelas
 
A tabela é a forma básica de armazenamento de 
informações em um sistema gerenciador de 
banco de dados relacional e, por isso, deve 
conter um conjunto de elementos, alguns 
opcionais, na sua composição e que são:
NOME
IMPLEMENTAÇÃO DE BANCO DE DADOS 17
COLUNAS
DICA
A recomendação de encurtar os 
nomes de colunas se faz necessária, 
mas não obrigatória, para facilitar o 
trabalho do analisador de comandos 
SQL do RDBMS (parser).
Quanto maiores os nomes das 
colunas, mais demorada é a etapa de 
aná l i se do comando , po rém, 
devemos ter o cuidado para não 
IMPLEMENTAÇÃO DE BANCO DE DADOS 18
tirarmos o significado claro da coluna 
na tabela.
TIPOS DE DADOS
Cada coluna de uma tabela, tem que ter um 
tipo de dado definido e único, obedecendo a 
lista de tipos definidos pelo RDBMS. No 
Oracle existe uma diversidade bastante 
grande de tipos e alguns são descritos na 
tabela abaixo:
IMPLEMENTAÇÃO DE BANCO DE DADOS 19
RESTRIÇÕES (CONSTRAINS)
Criando a tabela DEPARTAMENTO 
 
Antes de conhecermos melhor os comandos 
desta aula, vamos analisar uma tabela: 
 
Tabela Coluna Tipo Tamanho Observação
Departa
mento
ID numérico 5 C h a v e 
Primária 
Departa
mento
NOME caracter 40 obrigatório
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 20
A análise da tabela nos mostra o seguinte: 
- a tabela possui duas colunas ( ID e Nome); 
- a coluna ID é um número inteiro de 5 dígitos, 
logo seu tipo deve ser number(5); 
- a coluna ID é a chave primária, logo deve 
receber a constraint Primary Key; 
- a coluna Nome é alfanumérica de 40 
caracteres, logo seu tipo deve ser varchar2(40); 
- a coluna Nome é de preenchimento obrigatório, 
logo deve receber a constraint Not Null 
. 
Dessa forma, o comando para criar a tabela 
acima poderia ser parecido com: 
 
CRIAÇÃO DA TABELA DEPARTAMENTO 
 
CREATE TABLE DEPARTAMENTO ( ID 
N U M B E R ( 7 ) P R I M A R Y K E Y, N O M E 
VARCHAR2(40) 
NOT NULL) 
 
Para facilitar a visualização dos comandos, 
podemos identá- los , já que espaços, 
tabulações e ENTER não são considerados em 
um comando SQL: 
 
CREATE TABLE DEPARTAMENTO 
( ID NUMBER(7) PRIMARY KEY, 
NOME VARCHAR2(40) NOT NULL) 
IMPLEMENTAÇÃO DE BANCO DE DADOS 21
 
Observe a restrição Primary Key que indica que 
a coluna codigo_cargo é a Chave Primária da 
tabela e Not Null, indicando que a coluna Nome 
é de preenchimento obrigatório. 
 
Vamos, então, criar a tabela Departamento no 
Oracle. 
Primeiro, vamos fazer login com o Usuário 
AULABD: 
Na tela inicial, clique em Sql e na Seguinte em 
Comandos Sql
IMPLEMENTAÇÃO DE BANCO DE DADOS 22
 
Estamos, então, na tela de execução de 
comandos SQL; digite o comando de Criação da 
Tabela e Clique em Executar. 
Após e execução, irá aparecer uma mensagem, 
informando que o comando foi executado e a 
tabela criada. 
P o d e m o s v e r a e s t r u t u r a da t a b e l a 
Departamento através do comando Describe. (o 
comando pode ser escrito de forma abreviada 
como DESC) 
IMPLEMENTAÇÃO DE BANCO DE DADOS 23
Observe que a coluna ID está com o valor 1, em 
Chave Primária, identificando que ela possui 
esta restrição. 
Note, ainda, que tanto a coluna NOME, como ID, 
estão sem marcação em anulável, NOME 
porque tem a restrição NOT NULL e ID por ser 
chave primária. 
ACRESCENTANDO COLUNAS EM TABELAS
Podemos acrescentar colunas em tabela já 
criada com comando Alter Table.
Sintaxe:
alter table <nome tabela> add <nome_coluna> 
<tipo da coluna> <constrain>
EXEMPLO
ALTER TABLE DEPARTAMENTO ADD descricao 
VARCHAR (30) NOT NULL;
Vamos conferir como ficou a estrutura da tabela. 
Dê o comando DESCRIBE DEPARTAMENTO. 
Observe que a tabela possui agora 3 colunas : 
ID,NOME e DESCRIÇÃO.
IMPLEMENTAÇÃO DE BANCO DE DADOS 24
ALTERANDO TABELAS 
 
O comando ALTER TABLE permite, além de criar 
novas colunas, podermos alterar constraints já 
existentes em colunas de nossas tabelas. 
 
Por exemplo, para tornarmos o campo 
DESCRIÇÂO, da tabela Departamento, não 
obrigatório, podemos utilizar a cláusula MODIFY, 
conforme abaixo: 
 
ALTER TABLE DEPARTAMENTO MODIFY 
DESCRICAO NULL 
 
Vamos executar o comando: para isso, digite-o 
no Oracle e clique em executar. 
IMPLEMENTAÇÃO DE BANCO DE DADOS 25
Observe a mensagem, informando que a tabela 
foi alterada 
 
Vamos conferir como ficou a estrutura da tabela. 
Dê o comando DESCRIBE DEPARTAMENTO. 
Observe que a tabela possui agora 3 colunas : 
ID,NOME e DESCRIÇÃO. 
ELIMINANDO COLUNAS DE TABELAS 
 
Com o Oracle é possível eliminar colunas de 
tabelas, inclusive aquelas referenciadas por 
constraints e índices, até mesmo chaves 
primárias, únicas e estrangeiras. É verdade que 
cuidados em nível de aplicação devem ser 
tomados por parte dos desenvolvedores e DBAs, 
IMPLEMENTAÇÃO DE BANCO DE DADOS 26
p o r é m , o p r o d u t o i m p l e m e n t a e s t a 
funcionalidade. 
Ao eliminarmos uma coluna, suas restrições, 
caso existam, também são removidas do 
dicionário de dados. 
 
Sintaxe 
 
alter table <nome_tabela> drop column 
<nome_coluna>; 
 
Onde: 
<nome_tabela> é o nome da tabela a qual será 
eliminada a coluna. 
<nome coluna> é o nome da coluna que será 
eliminada. 
 
Por exemplo, se desejarmos eliminar a coluna 
descrição da tabela Departamento, daria o 
seguinte comando: 
ALTER TABLE DEPARTAMENTO DROP 
COLUMN DESCRICAO 
 
Vamos executar o comando, para isso, digite-o 
no Oracle e clique em executar. 
Observe a mensagem informando que a tabela 
foi alterada. 
IMPLEMENTAÇÃO DE BANCO DE DADOS 27
Vamos conferir como ficou a estrutura da tabela. 
Dê o comando DESCRIBE DEPARTAMENTO. 
Observe que a tabela possui agora apenas 2 
colunas : ID e NOME 
IMPLEMENTAÇÃO DE BANCO DE DADOS 28
MAIS CONSTRAINTS
Até agora utilizamos apenas as constraints NOT 
NULL e PRIMARY KEY, vejamos agora as 
Constraints UNIQUE e FOREIGN KEY.
CAMPOS ÚNICOS
Esta constraint determina que uma coluna não 
pode ter valor repetido; não significando, 
entretanto, que deva possuir valor, ou seja, que 
tenho preenchimento obrigatório.
Isso significa que podemos ter mais uma linha 
nula em uma coluna única.
Para estabelecer essa restrição, estabelecemos 
UNIQUE como restrição da coluna, por exemplo:
 
CPF char(11) UNIQUE,
R E F O R Ç A N D O A I N T E G R I D A D E 
REFERENCIAL COM CHAVE ESTRANGEIRA
Os relacionamentos entre tabelas são criados, 
gerando-se chaves estrangeiras (foreign key – 
FK) nas tabelas FILHO que referenciam colunas 
chaves nas tabelas PAI.
 
Para estabelecer essa restrição, acrescentamos 
REFERENCES definição da coluna como 
exemplo:
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 29
I D _ D E P T O n u m b e r ( 7 ) R e f e r e n c e s 
Departamento(ID),
Onde:
Id_depto é o nome da coluna.
Number(7) o tipo da coluna.
References identifica a restrição de chave 
estrangeira.
Departamento é o nome da tabela para onde 
aponta a chave estrangeira.
(ID) é coluna da tabela departamento apontada 
pela chave estrangeira.
Vejamos um exemplo de criação de Tabela 
utilizando estas restrições.
Observe o comando, de sua análise podemos 
observar que:
• A coluna ID é sua chave primaria;
• As colunas ULT_NOME e PRIM_NOME são de 
preenchimento obrigatório;
• A coluna CPF é única;
• A coluna ID_DEPTO é uma chave estrangeira 
para a tabela departamento;
• A coluna ID_GERENTE é uma chave 
estrangeira para a própria tabela empregado, 
IMPLEMENTAÇÃO DE BANCO DE DADOS 30
que se originou de uma autorelacionamento na 
modelagem conceitual.
CREATE TABLE EMPREGADO (ID NUMBER(7) 
PRIMARY KEY, 
ULT_NOME VARCHAR(20) NOT NULL, 
PRIM_NOME VARCHAR(20) NOT NULL, 
CARGO VARCHAR(30), 
SALARIO NUMBER(7,2), 
DT_ADMISSAO DATE, 
CPF CHAR(11) UNIQUE, 
ID_DEPTO NUMBER(7) REFERENCES 
DEPARTAMENTO(ID), 
ID_GERENTE NUMBER(7) REFERENCES 
EMPREGADO(ID))
Vamos conferir como ficou a estrutura da tabela.
De o comando DESCRIBE EMPREGADO.
IMPLEMENTAÇÃO DE BANCO DE DADOS 31
CONSTRAINT DE COLUNAS E TABELAS 
 
As constraints podem ser definidas junto com a 
coluna. ou separadamente (no final do 
comando create table ou com o comando alter 
table). 
As constraints not null só podem ser definidas 
junto com a definição da coluna. 
As constraints de tabela são util izadas 
principalmente para criar constraints compostas. 
onde duas ou mais colunas fazem parte da 
constraint. como por exemplo, chaves primárias 
compostas. 
Vejamos um exemplo: 
A tabela Turmas possui uma chave primary 
composta pelas colunas CODIGO_TURMA e 
CODIGO_CURSO. O comando para sua criação 
é: 
 
CREATE TABLE TURMAS 
(CODIGO_TURMA NUMBER(6), 
CODIGO_CURSO NUMBER(3), 
CODIGO_FUNCIONARIO NUMBER(6), 
DATA_INICIO DATE, 
IMPLEMENTAÇÃO DE BANCO DE DADOS 32
DATA_FIM DATE , 
SALA NUMBER(2), 
P R I M A R Y K E Y ( C O D I G O _ T U R M A , 
CODIGO_CURSO) ); 
 
Execute o comando no ORACLE. 
Observe a mensagem de tabela criada. 
 
Vamos conferir como ficou a estrutura da tabela. 
Dê o comando DESCRIBE TURMAS. 
Observe, particularmente, a indicação de que a 
tabela possui uma chave primária composta 
p e l a s c o l u n a s C O D I G O _ T U R M A e 
CODIGO_CURSO. 
DETALHE
IMPLEMENTAÇÃO DE BANCO DE DADOS 33
INCLUINDO UMA FOREIGN KEY NUMA TABELA 
EXISTENTE 
 
Também podemos incluir a constraint de Foreign 
Key após a criação da tabela, para tal, basta 
especificar a adição da constraint no comando 
ALTER TABLE. 
Para exemplificar, vamos primeiro criar a tabela 
CLIENTE, utilizando o comando abaixo:CREATE TABLE CLIENTE 
( ID NUMBER(7) PRIMARY KEY, 
NOME VARCHAR2(40) NOT NULL, 
VENDEDOR NUMBER(7)) 
IMPLEMENTAÇÃO DE BANCO DE DADOS 34
A tabela foi criada, mas a coluna Vendedor 
deveria ser uma chave estrangeira para a tabela 
Empregado na coluna ID, podemos dar o 
seguinte comando de ALTER TABLE: 
 
ALTER TABLE CLIENTE ADD FOREIGN KEY 
(VENDEDOR) REFERENCES EMPREGADO(ID) 
Onde: 
CLIENTE – é a tabela a ser alterada 
ADD FOREIGN KEY – é a restrição a ser 
acrescida 
(VENDEDOR) é a coluna que recebera a 
constraint 
REFERENCES EMPREGADO(ID) indica a 
tabela e coluna referenciadas pela chave 
estrangeira. 
RENOMEANDO TABELAS
É possível trocar o nome de uma tabela através 
do comando RENAME. Sua sintaxe é bem 
simples, conforme mostrada abaixo:
Renomeando a Tabela TURMAS.
 
RENAME TURMAS TO NOVATURMA.
 
Execute o comando no ORACLE.
IMPLEMENTAÇÃO DE BANCO DE DADOS 35
Observe a mensagem de INSTRUÇÃO 
PROCESSADA.
ELIMINANDO TABELAS
Para eliminarmos uma tabela já existente, basta 
executarmos o comando DROP TABLE.
Veja o exemplo:
 
Eliminando a tabela NOVATURMA
 
DROP TABLE NOVATURMA
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 36
Execute o comando no ORACLE
Observe a mensagem de TABELA ELIMINADA.
Vamos conferir como ficou a estrutura da tabela 
NOVATURMA.
Dê o comando DESCRIBE NOVATURMA.
Observe a mensagem dizendo que o objeto não 
pode ser encontrado.
Isso aconteceu, porque a tabela foi eliminada do 
banco de dados.
Se você aplicar este comando em uma tabela 
que possua filhos, como por exemplo, a tabela 
Departamento irá gerar um erro ( veja figura).
O erro ocorre porque essa tabela é referenciada 
por uma foreign key de outra tabela, que ficaria 
inconsistente caso esta fosse removida; o banco 
de dados, muito acertadamente, não permite 
este comando DROP TABLE.
Caso seja realmente necessário eliminar essa 
tabela, posso solicitar que todas as constraints a 
ela vinculadas sejam eliminadas também, para 
isso acrescentamos CASCADE CONSTRAINTS 
ao comando.
IMPLEMENTAÇÃO DE BANCO DE DADOS 37
MANIPULANDO DADOS
Agora que já aprendemos a criar, alterar e 
eliminar tabelas iremos estudar os comandos 
de manipulação de dados que permitam que 
façamos a inclusão, alteremos ou eliminemos 
linhas das tabelas.
Esses comandos são:
INSERT" DELETE" UPDATE
COMANDO INSERT - INSERINDO LINHAS
O comando INSERT insere linhas em uma 
tabela. A forma mais simples do comando 
IMPLEMENTAÇÃO DE BANCO DE DADOS 38
INSERT insere somente uma linha , dados os 
valores conforme a sintaxe abaixo:
insert into " <nome_tabela> (coluna1, 
coluna2, ..., colunan) values (valor1, 
valor2, ..., valorn)
INSERT SEM REFERENCIAR COLUNAS
INSERT INTO DEPARTAMENTO VALUES 
( 10, ‘Financeiro’)
IMPLEMENTAÇÃO DE BANCO DE DADOS 39
INSERT REFERECIANDO COLUNAS
INSERT INTO DEPARTAMENTO (ID,NOME) 
VALUES ( 20, ‘Vendas’)
CONFERINDO INSERÇÃO
SELECT * FROM DEPARTAMENTO
IMPLEMENTAÇÃO DE BANCO DE DADOS 40
Comando Update
Para alterarmos dados já existentes em 
nossas tabelas utilizaremos o comando 
UPDATE.
Veja a sintaxe do comando abaixo:
UPDATE [schema. ] nome_tabela 
SET coluna1 = expressão I subquery [, 
colunan = ... ]
WHERE condição
ATUALIZANDO LINHAS
Vejamos um exemplo que ira alterar o ID de 
todos os Departamentos somando 100 a eles.
UPDATE DEPARTAMENTO 
SET ID = ID + 100
Execute o comando no ORACLE
Observe a mensagem de que as duas linhas da 
tabela foram atualizadas.
IMPLEMENTAÇÃO DE BANCO DE DADOS 41
Conferindo Inserção
IMPLEMENTAÇÃO DE BANCO DE DADOS 42
Update Com Condição
UPDATE DEPARTAMENTO
SET ID = ID + 1000
WHERE ID = 110
Conferindo Update
SELECT  *  FROM  DEPARTAMENTO
Podemos atualizar apenas algumas linhas, 
para isso, iremos estabelecer uma condição 
na cláusula where que a linha a ser 
atualizada deve atender.
Por exemplo, se desejamos somar 1000 
apenas ao ID do departamento 110, 
devemos dar o seguinte comando:
IMPLEMENTAÇÃO DE BANCO DE DADOS 43
UPDATE DEPARTAMENTO 
SET ID = ID + 1000
WHERE ID = 110
Execute o comando no ORACLE.
Observe a mensagem de que uma linha foi 
atualizada.
Comando Delete
Para excluirmos linhas em uma tabela 
utilizamos o comando DELETE.
Veja a sintaxe do comando abaixo:
DELETE [FROM] [schema.]nome_tabela
WHERE condição
IMPLEMENTAÇÃO DE BANCO DE DADOS 44
IMPLEMENTAÇÃO DE BANCO DE DADOS 45
REGISTRO DE PARTICIPAÇÃO
1. O comando que exclui linhas de uma tabela é:
 1) Update " " 4) Alter 
 2) Delete " " 5) Drop
 3) Insert 
 
 
2. O comando que atualiza linhas é o comando:
1) Update "" " 4) Alter 
 2) Delete "" " 5) Drop
 3) Insert 
 
3. O comando que insere linhas é o comando:
1) Update "" " 4) Alter 
 2) Delete "" " 5) Drop
 3) Insert
  
4. O comando que me permite incluir uma nova 
coluna em um tabela é o comando:
 1) Update " " 4) Alter
 2) Delete "" " 5) Drop
 3) Insert 
IMPLEMENTAÇÃO DE BANCO DE DADOS 46

Outros materiais