o que é um banco de dados relacional?

40
BANCO DE DADOS PROGRAMAÇÃO COM ACESSO JOELDSON COSTA DAMASCENO [email protected] que é um nco de dados relacional?

Upload: joeldson-costa-damasceno

Post on 29-Jun-2015

246 views

Category:

Technology


0 download

DESCRIPTION

Conceitos iniciais de Banco de Dados.

TRANSCRIPT

Page 1: O que é um Banco de Dados Relacional?

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?

Page 2: O que é um Banco de Dados Relacional?

VAMOS COMEÇAR A CRIAR UM BANCO.

CALMA! ESPERE UM POUCO.

Page 3: O que é um Banco de Dados Relacional?

IMPORTANTE! Não se pode criar um banco de dados sem nenhum conhecimento. É IMPORTANTE conhecer pelo menos o básico.

Page 4: O que é um Banco de Dados Relacional?

FundamentosUm Arquivo

Page 5: O que é um Banco de Dados Relacional?

Uma unidade dedados no Arquivo

é chamado de registro (record).

CAMPO

REGISTRO

E Cada item no registroÉ chamado de campo (field).

Page 6: O que é um Banco de Dados Relacional?

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?

Page 7: O que é um Banco de Dados Relacional?

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.

Page 8: O que é um Banco de Dados Relacional?

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!

Page 9: O que é um Banco de Dados Relacional?

Percebeu que não há dois códigos de produto iguais?

Page 10: O que é um Banco de Dados Relacional?

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

Page 11: O que é um Banco de Dados Relacional?

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

Page 12: O que é um Banco de Dados Relacional?

• 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

Page 13: O que é um Banco de Dados Relacional?

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.

Page 14: O que é um Banco de Dados Relacional?

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?

Page 15: O que é um Banco de Dados Relacional?

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.

Page 16: O que é um Banco de Dados Relacional?

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.

Page 17: O que é um Banco de Dados Relacional?

Tipos de modelos de dadosModelo hierárquico

Page 18: O que é um Banco de Dados Relacional?

Tipos de modelos de dadosModelo de dados em rede

Page 19: O que é um Banco de Dados Relacional?

Tipos de modelos de dadosModelo de dados relacional

Page 20: O que é um Banco de Dados Relacional?

No modelo de banco dados

relacional, uma tabela também é

chamada de relacionamento. RELAÇÃO

Page 21: O que é um Banco de Dados Relacional?

Uma unidade de dados ou um registro é chamada de linha.

E cada item do banco de dados ou campo é chamado

de coluna.

Page 22: O que é um Banco de Dados Relacional?
Page 23: O que é um Banco de Dados Relacional?

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?

Page 24: O que é um Banco de Dados Relacional?

Esse código é chamado de

chave primária(PRIMARY KEY)

PRIMARY KEY

Page 25: O que é um Banco de Dados Relacional?

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

Page 26: O que é um Banco de Dados Relacional?

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.

Page 27: O que é um Banco de Dados Relacional?

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

Page 28: O que é um Banco de Dados Relacional?

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

Page 29: O que é um Banco de Dados Relacional?

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

Page 30: O que é um Banco de Dados Relacional?

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

Page 31: O que é um Banco de Dados Relacional?

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

Page 32: O que é um Banco de Dados Relacional?

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

Page 33: O que é um Banco de Dados Relacional?

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.

Page 34: O que é um Banco de Dados Relacional?

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”.

Page 35: O que é um Banco de Dados Relacional?

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

Page 36: O que é um Banco de Dados Relacional?

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

Page 37: O que é um Banco de Dados Relacional?

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

Page 38: O que é um Banco de Dados Relacional?

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

Page 39: O que é um Banco de Dados Relacional?

RESPONDER OS EXERCÍCIOS• Baixar e responder o exercício de Banco de Dados Relacional no Acadêmico.• Entregar na próxima aula.

Page 40: O que é um Banco de Dados Relacional?

Pergunta ?