O documento fornece uma introdução sobre bancos de dados relacionais, incluindo:
1) Explica os conceitos básicos de registros, campos, tabelas, chaves primárias e valores nulos.
2) Descreve as principais operações em bancos de dados relacionais como projeção, seleção e junção.
3) Fornece exemplos para ilustrar como essas operações podem ser usadas para extrair dados de múltiplas tabelas.
1. BANCO DE DADOS
P R O G R A M A Ç Ã O C O M A C E S S O
JOELDSON COSTA DAMASCENO
Joeldson.damasceno@ifrn.edu.br
O que é um
banco de dados relacional?
5. Uma unidade de
dados no Arquivo
é chamado de
registro (record).
R
E
G
I
S
T
R
O
E Cada item no registro
É chamado de campo (field).
6. Quer dizer que
um produto
corresponde a
um registro?
ISSO
MESMO.
Então o código do
produto, o nome
do produto, o preço
unitário. E os
comentários são
campos, certo?
7. Código do
Produto
Nome do
Produto
Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150
103 Maçã 120
104 Limão 200
201 Pinhão 100
202 Caqui 160
... ... ... ...
Registro
Campos
Cada registro contém campos do mesmo tipo,
por exemplo:
1) Código do produto é um valor de
três dígitos...
2) E nome do produto tem dez
caracteres ou menos.
8. Código do
Produto
Nome do
Produto
Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150
103 Maçã 120
104 Limão 200
201 Pinhão 100
202 Caqui 160
... ... ... ...
Agora, vamos pensar um pouco sobre o
código do produto um pouco mais
detalhadamente.
Hmmm...
Registro...
Campo...
Tanta coisa
para decorar...
Aff...
AQUI!
10. E não existem
registros
duplicados. Então,
se você sabe que o
código do produto é
101,
102
103
Pode identificar o
produto como sendo
melão.
101
11. Código do Produto Nome do Produto Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150
103 Maçã 120
104 Limão 200 Azedo
201 Pinhão 100 Com casca
202 Caqui 160
301 Pêssego 130
302 Kiwi 200 Alta qualidade
... ... ... ...
Observe que há valores
repetidos na tabela, mas
não tem como saber se e
um limão ou um kiwi. Ou
seja, mesmo que você
saiba que o preço de uma
fruta é 200...
12. • Então podemos identificar dados pelos códigos do produto, mas
não pelo preço unitário.
• No mundo dos bancos de dados, um campo como o de código
do produto, os valores não se repetem.
• É chamado de único (unique).
Código único
13. Os comentários
• O campo de comentários, serve para fazer uma descrição do
produto.
• Não há como identificar o produto olhando os comentários.
14. Código do
Produto
Nome do Produto Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150
103 Maçã 120
104 Limão 200 Azedo
201 Pinhão 100 Com casca
202 Caqui 160
301 Pêssego 130
302 Kiwi 200 Alta qualidade
... ... ... ...
Algumas valores
abaixo de
comentários
estão vazios?
15. Código do
Produto
Nome do Produto Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150
103 Maçã 120
104 Limão 200 Azedo
201 Pinhão 100 Com casca
202 Caqui 160
301 Pêssego 130
302 Kiwi 200 Alta qualidade
... ... ... ...
A ausência de um
valor é chamada de
nulo (null), no
mundo dos banco de
dados.
Um nulo é aceitável
em comentários, mas
não em códigos de
produtos, que
identificam dados.Umnulo.
Não pode
ser nulo.
16. Quando você usa o termo Banco de Dados, que tipo de banco de
dados vem em sua mente?
Existem vários tipos de bancos de dados, para isso, vamos
entender os tipos de modelos de dados.
20. No modelo de
banco dados
relacional, uma
tabela também é
chamada de
relacionamento. RELAÇÃO
21. Uma unidade de dados ou um
registro é chamada de linha.
E cada item do banco de
dados ou campo é chamado
de coluna.
22.
23. Chave (key)
• Além dos conceitos anteriores, algumas vezes um campo tem
um papel importante no banco de dados.
• Esse campo especial é chamado de chave (key).
Lembra do
campo código?
25. O modelo de banco de dados relacional é projetado de forma que
se possa processar os dados com operações matemáticas.
Indo mais além...
26. Existem muitas
operações, de
fato, são oito!
Projeção
Operações
Produto
Cartesiano
Uma vantagem do MODELO
de DADOS RELACIONAL é que
se pode processar os dados
combinando essas operações.
27. Operações de extração de dados
Operações de conjuntos
Nome do Produto Preço Unitário
Melão 800 R$
Morango 150 R$
Maçã 120 R$
Limão 200 R$
Nome do Produto Preço Unitário
Melão 800 R$
Morango 150 R$
Pinhão 100 R$
Caqui 350 R$
Tabela produto 1 Tabela produto 2
28. Operações de extração de dados
UNIÃO
Nome do Produto Preço Unitário
Melão 800 R$
Morango 150 R$
Maçã 120 R$
Limão 200 R$
Pinhão 100 R$
Caqui 350 R$
Maçã
Limão
Melão
Morango
Pinhão
Caqui
TABELA DE
PRODUT 1
TABELA DE
PRODUT 2
29. Operações de extração de dados
DIFERENÇA
Nome do Produto Preço Unitário
Maçã 120 G
Limão 200 G
Nome do Produto Preço Unitário
Pinhão 100 G
Caqui 350 G
TABELA DE
PRODUT 1
TABELA DE
PRODUT 2
Maçã
Limão
Melão
Morango
Pinhão
Caqui
TABELA DE
PRODUT 1
TABELA DE
PRODUT 2
Maçã
Limão
Melão
Morango
Pinhão
Caqui
30. Operações de extração de dados
INTERSECÇÃO
Nome do Produto Preço Unitário
Maçã 120 G
Limão 200 G
TABELA DE
PRODUT 1
TABELA DE
PRODUT 2
Maçã
Limão
Melão
Morango
Pinhão
Caqui
31. Operações de extração de dados
PRODUTO CARTESIANO
Código do
Produto
Nome do
Produto
Preço
Unitário
101 Melão 800 G
102 Morango 150 G
103 Maçã 120 G
Tabela de Produtos
Cód. Dest.
Export.
Nome Dest. Export.
12 África
23 EUA
25 Argentina
Tabela de Produtos
3 linhas
32. Código do
Produto
Nome do
Produto
Preço Unitário Cód. Dest.
Export.
Nome Dest.
Export.
101 Melão 800 G 101 África
101 Melão 800 G 101 África
101 Melão 800 G 101 África
102 Morango 150 G 102 EUA
102 Morango 150 G 102 EUA
102 Morango 150 G 102 EUA
103 Maçã 120 G 103 Argentina
103 Maçã 120 G 103 Argentina
103 Maçã 120 G 103 Argentina
3 x 3 = 9 linhas
PRODUTO CARTESIANO
33. Operações Relacionais
PROJEÇÃO
Projeção é uma operação que extrai colunas de uma tabela.
Nome do Produto
Melão
Morango
Maçã
Limão
Pense na projeção como
extração “vertical”, como
mostrado abaixo:”
Nessa operação foi
usada para extrair
apenas os nomes de
produtos incluídos na
Tabela de Produtos.
34. Operações Relacionais
SELEÇÃO
A operação de seleção extrai linhas de uma tabela.
Nome do Produto Preço Unitário
Maçã 120 G
Limão 200 G
Seleção ´como projeção, mas extrai linhas em vez de colunas. A seleção extrai dados
“horizontalmente”.
35. Operações Relacionais
JUNÇÃO
A operação de Junção(join) é muito poderosa. Ela literalmente refere-se à tarefa de
juntar tabelas. Vamos examinar as tabelas abaixo como exemplo.
Código do
Produto
Nome do
Produto
Preço
Unitário
101 Melão 800 G
102 Morango 150 G
103 Maçã 120 G
104 Limão 200 G
Tabela de Produtos
Data
Código do
Produto
Quantidade
1/11 102 1100
1/11 101 300
5/11 103 1700
8/11 101 500
Tabela de Vendas
36. Data
Código do Produto
Nome do
Produto
Preço Unitário
Quantidade
1/11 101 Melão 800 G 1100
1/11 102 Morango 150 G 300
5/11 103 Maçã 120 G 1700
8/11 104 Limão 200 G 500
37. Operações Relacionais
DIVISÃO
Divisão é uma operação que extrai as linhas cujos valores de coluna
correspondem àquelas na segunda tabela. Vamos ver um exemplo.
Cód. Dest.
Export.
Nome Dest.
Export.
Data
12 África 5/3
12 África 10/3
23 EUA 5/3
25 Argentina 21/3
30 Portugal 25/3
Cód. Dest.
Export.
Nome Dest.
Export.
12 África
23 EUA
Tabela de Vendas
Tabela de Destino de Exportação
38. Dividir a Tabela de Vendas pela de Destino da Exportação resulta
na tabela a seguir. Isso permite encontrar as datas quando as frutas
foram exportadas tanto para o EUA quanto para a África.
Data
5/3