O que é um Banco de Dados Relacional?

Post on 29-Jun-2015

246 views 0 download

description

Conceitos iniciais de Banco de Dados.

Transcript of 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 DAMASCENOJoeldson.damasceno@ifrn.edu.br

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 ?