o que é um banco de dados relacional?
DESCRIPTION
Conceitos iniciais de Banco de Dados.TRANSCRIPT
BANCO DE DADOS
P R O G R A M A Ç Ã O C O M A C E S S O
JOELDSON COSTA [email protected]
O que é um banco de dados relacional?
VAMOS COMEÇAR A CRIAR UM BANCO.
CALMA! ESPERE UM POUCO.
IMPORTANTE! Não se pode criar um banco de dados sem nenhum conhecimento. É IMPORTANTE conhecer pelo menos o básico.
FundamentosUm Arquivo
Uma unidade dedados no Arquivo
é chamado de registro (record).
CAMPO
REGISTRO
E Cada item no registroÉ chamado de campo (field).
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?
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.
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!
Percebeu que não há dois códigos de produto iguais?
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
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...
• 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
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.
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?
Código do Produto
Nome do Produto Preço Unitário Comentários
101 Melão 800 Com sementes
102 Morango 150103 Maçã 120104 Limão 200 Azedo201 Pinhão 100 Com casca202 Caqui 160301 Pêssego 130302 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.U
m n
ulo.
Não pode ser nulo.
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.
Tipos de modelos de dadosModelo hierárquico
Tipos de modelos de dadosModelo de dados em rede
Tipos de modelos de dadosModelo de dados relacional
No modelo de banco dados
relacional, uma tabela também é
chamada de relacionamento. RELAÇÃO
Uma unidade de dados ou um registro é chamada de linha.
E cada item do banco de dados ou campo é chamado
de coluna.
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?
Esse código é chamado de
chave primária(PRIMARY KEY)
PRIMARY KEY
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...
Existem muitas operações, de fato, são oito!
União
DiferençaIntersecção Divisão
Projeção
JunçãoSeleção
OperaçõesProduto
Cartesiano
Uma vantagem do MODELO de DADOS RELACIONAL é que se pode processar os dados
combinando essas operações.
Operações de extração de dadosOperações de conjuntos
Nome do Produto Preço UnitárioMelão 800 R$Morango 150 R$Maçã 120 R$Limão 200 R$
Nome do Produto Preço UnitárioMelão 800 R$Morango 150 R$Pinhão 100 R$Caqui 350 R$
Tabela produto 1 Tabela produto 2
Operações de extração de dadosUNIÃO
Nome do Produto Preço UnitárioMelão 800 R$Morango 150 R$Maçã 120 R$Limão 200 R$Pinhão 100 R$Caqui 350 R$
MaçãLimão
MelãoMorango
PinhãoCaqui
TABELA DE PRODUT 1
TABELA DE PRODUT 2
Operações de extração de dadosDIFERENÇA
Nome do Produto Preço UnitárioMaçã 120 GLimão 200 G
Nome do Produto Preço UnitárioPinhão 100 GCaqui 350 G
TABELA DE PRODUT 1
TABELA DE PRODUT 2
MaçãLimão
MelãoMorango
PinhãoCaqui
TABELA DE PRODUT 1
TABELA DE PRODUT 2
MaçãLimão
MelãoMorango
PinhãoCaqui
Operações de extração de dadosINTERSECÇÃO
Nome do Produto Preço UnitárioMaçã 120 GLimão 200 G
TABELA DE PRODUT 1
TABELA DE PRODUT 2
MaçãLimão
MelãoMorango
PinhãoCaqui
Operações de extração de dadosPRODUTO CARTESIANO
Código do Produto
Nome do Produto
Preço Unitário
101 Melão 800 G102 Morango 150 G103 Maçã 120 G
Tabela de Produtos
Cód. Dest.Export. Nome Dest. Export.
12 África
23 EUA
25 Argentina
Tabela de Produtos
3 linhas
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
Operações RelacionaisPROJEÇÃOProjeção é uma operação que extrai colunas de uma tabela.
Nome do ProdutoMelãoMorangoMaçã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.
Operações RelacionaisSELEÇÃOA operação de seleção extrai linhas de uma tabela.
Nome do Produto Preço UnitárioMaçã 120 GLimão 200 G
Seleção ´como projeção, mas extrai linhas em vez de colunas. A seleção extrai dados “horizontalmente”.
Operações RelacionaisJUNÇÃOA 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 G102 Morango 150 G103 Maçã 120 G104 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
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
Operações RelacionaisDIVISÃODivisã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/312 África 10/323 EUA 5/325 Argentina 21/330 Portugal 25/3
Cód. Dest.Export.
Nome Dest. Export.
12 África23 EUA
Tabela de Vendas
Tabela de Destino de Exportação
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.
Data5/3
RESPONDER OS EXERCÍCIOS• Baixar e responder o exercício de Banco de Dados Relacional no Acadêmico.• Entregar na próxima aula.
Pergunta ?