Você está na página 1de 69

Bancos de Dados Relacionais

Uma introduo prtica

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

PROGRAMA
1.Introduo
1.1 Evoluo do armazenamento de dados
1.2 Arquitetura de um DBMS

2.Modelo Relacional
2.1 Modelo E-R
2.2 Modelo Relacional
2.3 Operaes
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

PROGRAMA
3.SQL Bsico

EPUSP-PMR

3.1 Criao de tabelas


3.2 Queries simples
3.3 Subqueries
3.4 Agregao

Prof. Dr. Marcos Tsuzuki

PROGRAMA
4.SQL Avanado

EPUSP-PMR

4.1 Indexao
4.2 Joins
4.3 Views
4.4 Triggers
4.5 Constraints

Prof. Dr. Marcos Tsuzuki

PROGRAMA
5, 6, 7, 8. Apresentao do Projeto
Cada aluno far um projeto de banco de dados
especificando o caso de estudo, a aplicao, a
modelagem do banco de dados, o fluxo de
informao e como utiliz-lo como Data Ware
House.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

1.Introduo
1.1 Evoluo do armazenamento de dados
1.2 Arquitetura de um DBMS

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

1.1 Introduo: Evoluo do armazenamento de dados

Evoluo dos sistemas de armazenamento de massa


Memria
Sistema de arquivos
Acesso seqencial
Acesso direto
Acesso indexado
Bancos de dados

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

1.1 Introduo: Evoluo do armazenamento de dados

Caractersticas de um DBMS
Usurios devem poder definir seu schema (estrutura lgica
dos dados), usando uma linguagem apropriada (DDL, data
definition language)
Usurios devem poder realizar perguntas e acessos (query)
sem conhecimento da estrutura de armazenamento dos dados,
usando uma linguagem apropriada (DML, data manipulation
language ou query-language)
Usurios devem poder acessar grandes volumes de dados de
forma eficiente
Usurios devem poder acessar dados de forma independente
uns dos outros, sob controle de acesso
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

1.1 Introduo: Evoluo do armazenamento de dados

Evoluo histrica dos DBMS


Hierrquico (modelo em rvore, 60)
Stone

Schwarzenegger

Basic Instinct

Total Recall

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

1.1 Introduo: Evoluo do armazenamento de dados

Evoluo histrica dos DBMS


Rede (CODASYL, fim 60)
Stone

Schwarzenegger

Basic Instinct

Total Recall

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

10

1.1 Introduo: Evoluo do armazenamento de dados

Evoluo histrica dos DBMS


Relacional (Codd, 70)
Stone

Basic Instinct

Schwarzenegger

Total Recall

Stone

Total Recall

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

11

1.2 Introduo: Arquitetura de um DBMS

Arquitetura de um DBMS
Schema

Queries

Query Processor
Transaction Mng
Storage Manager
Data
Metadata
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

12

1.2 Introduo: Arquitetura de um DBMS

Storage Manager
Composto por
File Manager, responsvel pela manipulao do disco
Buffer Manager, responsvel pelos dados em memria
(cache, paginao)

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

13

1.2 Introduo: Arquitetura de um DBMS

Query Manager
Composto por
Query translator (de SQL para acessos a dados armazenados)
Query optimizer

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

14

1.2 Introduo: Arquitetura de um DBMS

Transaction Manager
Garante as propriedades ACID
Atomicidade (Atomicity): uma transao indivisvel; ou
ela acontece ou no
Consistncia (Consistency):Antes e aps uma transao, o
estado do banco de dados consistente
Isolao (Isolation):Se duas ou mais transaes
acontecem simultaneamente, seus efeitos devem ser
isolados
Durabilidade (Durability): Se uma transao se completa,
seus efeitos no devem cessar mesmo que o sistema falhe
imediatamente aps

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

15

1.2 Introduo: Arquitetura de um DBMS

Transaction Manager
Lock
Define o nvel de isolao
Pgina
Linha
Logging
Armazenamento no voltil
Commit
Durabilidade da transao

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

16

1.2 Introduo: Arquitetura de um DBMS

Transaction Manager
ndice
Hash
Balanced tree
Binary tree

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

17

2.Modelo Relacional
2.1 Modelo E-R
2.2 Modelo Relacional
2.3 Operaes

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

18

2.1 Modelo E-R

Ciclo de Projeto
Requisitos
Projeto Conceitual
Schema conceitual
Projeto Lgico

E-R

Schema lgico
Projeto Fsico
Schema fsico
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

SQL
19

2.1 Modelo E-R

Conceitos bsicos
Entidade
Representam classes do mundo real

Relacionamento
Representam agregaes entre duas ou mais
entidades
Os relacionamentos podem ser
Binrios: entre duas entidades
N-rios: entre N entidades
Recursivos: de uma entidade para ela prpria
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

20

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


1 para 1

min_card(Ordem, remessa) = 0
max_card(Ordem, remessa) = 1
min_card(Fatura, remessa) = 1
max_card(Fatura, remessa) = 1
Ordem

EPUSP-PMR

(0,1)

remessa

(1,1)

Prof. Dr. Marcos Tsuzuki

Fatura

21

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


1 para n

min_card(Pessoa, mora_em) = 0
max_card(Pessoa, mora_em) = 1
min_card(Cidade, mora_em) = 0
max_card(Cidade, mora_em) = n
Pessoa

EPUSP-PMR

(1,1)

mora_em

(0,n)

Prof. Dr. Marcos Tsuzuki

Cidade

22

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


n para n

min_card(Produto, usa) = 1
max_card(Produto, usa) = n
min_card(Materiais, usa) = 0
max_card(Materiais, usa) = n
Produto

EPUSP-PMR

(1,n)

usa

(0,n)

Prof. Dr. Marcos Tsuzuki

Materiais

23

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


Recursivo (1-n)

min_card(Empregado, chefia) = 0
max_card(Empregado, chefia) = n
min_card(Empregado, responde_a) = 0
max_card(Empregado, responde_a) = 1

Empregado

(0,n)

gerencia

chefia

(0,1)

responde_a
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

24

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


N-rio

Matria

(1,3)

aula

(0,40)

Sala

(0,n)
Dia

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

25

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


N-rio

Aluno

(1,n)

aula

(0,n)

Disciplina

(0,1)
Professor

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

26

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


N-rio
Separar a entidade Aluno e analisar o par Professor,
Disciplina. Para cada par Professor/Disciplina podemos ter
de 1 at N Alunos relacionados;
Separar a entidade Professor e analisar o par Aluno,
Disciplina. Para cada par Aluno/Disciplina podemos ter 1 e
somente 1 Professor relacionado;
Separar a entidade Disciplina e analisar Professor, Aluno.
Para cada par Professor/Aluno podemos ter de 1 at N
Disciplinas relacionadas.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

27

2.1 Modelo E-R

Cardinalidade dos Relacionamentos


N-rio
Quando um aluno est matriculado em uma disciplina, este
tem sempre um professor;
Um aluno pode estar matriculado em vrias disciplinas;
Uma disciplina tem vrios alunos, e somente um professor;
Um professor leciona uma disciplina para vrios alunos.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

28

2.1 Modelo E-R

Decidir a Cardinalidade
Modelagem de Dados uma Arte
Nota Fiscal, Item de Nota Fiscal e Produto

Nota Fiscal

(1,n)

possui

(1,1)

Item de NF
(1,1)
associa
(1,n)
Produto

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

29

2.1 Modelo E-R

Decidir a Cardinalidade
Modelagem de Dados uma Arte
Todas as notas fiscais tm, no mnimo, um item de nota fiscal
relacionado;
Todo item de nota fiscal est relacionado a uma nota fiscal;
Todo item de nota fiscal est relacionado a um produto.

A entidade item de NF est relacionando NF e produto.


Ela tambm conhecida como Entidade Associativa.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

30

2.1 Modelo E-R

Atributos
Atributos so propriedades elementares de
entidades e relacionamentos
Nome
Pessoa

RG
Profisso

mora_em
Data_da_mudana

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

31

2.1 Modelo E-R

Identificadores (chaves)
Identificadores (chaves) so conjuntos de
atributos que podem determinar unicamente
uma entidade
Nome

Pessoa

EPUSP-PMR

RG
Profisso

Prof. Dr. Marcos Tsuzuki

32

2.1 Modelo E-R

Identificadores (chaves)
Simples ou compostos
Internos ou externos

Empregado (1,1)

trabalha_no

(1,n) Departamento

ID
Nota: Empregado uma entidade fraca
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

33

2.1 Modelo E-R

Agregao
Um assassino faz vtimas. Quando ele assassina,
utiliza armas.
Assassino

Assassina

Vtima

Usa
Arma
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

34

2.1 Modelo E-R

Agregao
Existem na realidade dois relacionamentos para retratar um fato
por completo.
O que desejamos relacionar uma ocorrncia de Arma, com
uma ocorrncia do fato, do relacionamento Assassina.
Assassino

Faz

Crime

Tem

Vtima

Usa
Arma

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

35

2.1 Modelo E-R

Agregao

Um mdico atende a muitos pacientes, que o consultam, e um paciente pode


realizar consultas com muitos mdicos. Sempre que um paciente consulta um
mdico, este fornece uma receita, que pode ter um, ou vrios remdios.

Consulta
Mdico

Atende

Consulta
Paciente

Receita
Remdio
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

36

2.1 Modelo E-R

Problemas 2.1
a.Prepare um diagrama E-R para um sistema de
controle de pedidos
b.Mostre dois identificadores para a entidade
DETALHE
PRODUTO

CABEALHO
nro_linha

EPUSP-PMR

DETALHE

Prof. Dr. Marcos Tsuzuki

37

2.2.Modelo Relacional

Conceitos bsicos
Relao: tabela bi-dimensional
Atributos: nomes das colunas da tabela
Schema: nome da relao e atributos
Filme(Ttulo, Ano, Durao, Classificao)

Tupla: linhas de uma relao


(Star Wars, 1977, 124, Fico)

Domnio: valores que um atributo pode assumir

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

38

2.2.Modelo Relacional

Formas normais
O conceito de normalizao foi introduzido por E.F.Codd em
1970 (primeira forma normal). Esta tcnica um processo
matemtico que tem seus fundamentos na teoria dos conjuntos.
Atravs deste processo pode-se, gradativamente, substituir um
conjunto de entidades e relacionamentos por um outro, o qual se
apresenta purificado em relao s anomalias de atualizao
(incluso, alterao e excluso) as quais podem causar certos
problemas, tais como: grupos repetitivos (atributos
multivalorados) de dados, dependncias parciais em relao a
uma chave concatenada, redundncia desnecessria de dados,
dificuldade na representao de fatos da realidade observada e
dependncias transitivas entre atributos.
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

39

2.2.Modelo Relacional

Fomulrio de Pedido
Num. Ped. Cliente
3445
TCA
3445
TCA
3445
TCA
3445
TCA
3445
TCA
3445
TCA
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes

EPUSP-PMR

Endereo
R. Meira
R. Meira
R. Meira
R. Meira
R. Meira
R. Meira
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127

CGC
1111111
1111111
1111111
1111111
1111111
1111111
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323

IE
111111
111111
111111
111111
111111
111111
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434

Cod. Prod. Unid.


45
L
130
M
335
Kg
78
Kg
90
L
39
Kg
45
L
78
Kg
21
Kg
98
L
90
L
43
M
25
F
65
L
51
M
74
M

Quant.

Prof. Dr. Marcos Tsuzuki

20
2
30
50
40
3
50
47
20
15
15
10
10
5
20
30

Descrio Val.
lcool
tecido
farinha
cimento
cola
chumbo
lcool
cimento
pregos
tinta azul
cola
arame
algodo
querosene
fio eltrico
linha 10

Unit. Tot. Prod. Tot. do Ped.


5,00
100,00
1799,00
20,00
40,00
1799,00
1,00
30,00
1799,00
30,00 1500,00
1799,00
3,00
120,00
1799,00
3,00
9,00
1799,00
5,00
250,00
2650,00
30,00 1410,00
2650,00
5,00
100,00
2650,00
25,00
375,00
2650,00
3,00
45,00
2650,00
3,00
30,00
2650,00
2,00
20,00
2650,00
8,00
40,00
2650,00
13,00
260,00
2650,00
4,00
120,00
2650,00

40

2.2.Modelo Relacional

Fomulrio de Pedido (Atributos)

Nmero do pedido
Prazo de entrega
Cliente
Endereo
Cidade
UF
CGC
Inscrio Estadual
Cdigo do produto
Unidade do produto

EPUSP-PMR

Quantidade do produto
Descrio do produto
Valor unitrio do produto
Valor total do produto
Valor total do pedido
Cdigo do vendedor
Nome do vendedor

Prof. Dr. Marcos Tsuzuki

41

2.2.Modelo Relacional

Formas normais
Caso esta entidade fosse implementada como uma
tabela em um banco de dados, as seguintes anomalias
iriam aparecer:
Anomalia de incluso: ao ser includo um novo cliente, o
mesmo tem que estar relacionado a uma venda;
Anomalia de excluso: ao ser excludo um cliente, os dados
referentes as suas compras sero perdidos;
Anomalia de alterao: caso algum fabricante de produto
altere a faixa de preo de uma determinada classe de
produtos, ser preciso percorrer toda a entidade para se
realizar mltiplas alteraes.
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

42

2.2.Modelo Relacional

Primeira Forma Normal (1FN)

Em uma determinada realidade, s vezes encontramos algumas informaes


que se repetem (atributos multivalorados), retratando ocorrncias de um
mesmo fato dentro de uma nica linha e vinculadas a sua chave primria;
Ao observarmos a entidade PEDIDO, apresentada anteriormente,
visualizamos que um certo grupo de atributos (produtos solicitados) se repete
(nmero de ocorrncias no definidas) ao longo do processo de entrada de
dados na entidade;
A 1FN diz que: cada ocorrncia da chave primria deve corresponder a uma e
somente uma informao de cada atributo, ou seja, a entidade no deve conter
grupos repetitivos (multivalorados);
Para se obter entidades na 1FN, necessrio decompor cada entidade no
normalizada em tantas entidades quanto for o nmero de conjuntos de
atributos repetitivos. Nas novas entidades criadas, a chave primria a
concatenao da chave primria original mais o(s) atributo(s) do grupo
repetitivo visualizado(s) como chave primria deste grupo.
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

43

2.2.Modelo Relacional

Primeira Forma Normal (1FN)

Ao aplicarmos a 1FN sobre a entidade PEDIDO, obtemos mais uma entidade


chamada ITEM-DE-PEDIDO, que herdar os atributos repetitivos e
destacados da entidade PEDIDO;
Um PEDIDO possui no mnimo 1 e no mximo N elementos em ITEM-DEPEDIDO e um ITEM-DE-PEDIDO pertence a 1 e somente 1 PEDIDO.

Pedido

EPUSP-PMR

(1,n)

Possui

(1,1)

Prof. Dr. Marcos Tsuzuki

Item de Pedido

44

2.2.Modelo Relacional

Primeira Forma Normal (1FN)

PEDIDO

Nmero do pedido
Prazo de entrega
Cliente
Endereo
Cidade
UF
CGC
Inscrio Estadual
Valor total do pedido
Valor total do pedido
Cdigo do vendedor
Nome do vendedor

EPUSP-PMR

ITEM DE PEDIDO

Prof. Dr. Marcos Tsuzuki

Nmero do pedido
Cdigo do produto
Quantidade do produto
Descrio do produto
Valor unitrio do produto
Valor total do produto
Unidade do produto

45

2.2.Modelo Relacional

Dependncia Funcional

Para descrevermos as prximas formas normais, se faz necessria a


introduo do conceito de dependncia funcional, sobre o qual a maior parte
da teoria de normalizao foi baseada;
Dada uma entidade qualquer, dizemos que um atributo ou conjunto de
atributos A dependente funcional de um outro atributo B contido na mesma
entidade, se a cada valor B existir nas linhas da entidade em que aparece, um
nico valor de A. Em outras palavras, A depende funcionalmente de B;
Na entidade PEDIDO, o atributo PRAZO-DE-ENTREGA depende
funcionalmente de NUMERO-DO-PEDIDO;
O exame das relaes existentes entre os atributos de uma entidade deve ser
feito a partir do conhecimento (conceitual) que tem sobre a realidade a ser
modelada.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

46

2.2.Modelo Relacional

Dependncia Funcional Total e Parcial

Na ocorrncia de uma chave primria concatenada, dizemos que um atributo


ou conjunto de atributos depende de forma completa ou total desta chave
primria concatenada, se e somente se, a cada valor da chave (e no parte
dela), est associado um valor para cada atributo, ou seja, um atributo no se
apresenta com dependncia completa ou total quando s depende de parte da
chave primria concatenada e no dela como um todo;
Dependncia total na entidade ITEM-DO-PEDIDO, o atributo
QUANTIDADE-DO-PRODUTO depende de forma total ou completa da
chave primria concatenada (NMERO-DO-PEDIDO + CDIGO-DOPRODUTO);
A dependncia total ou completa s ocorre quando a chave primria for
composta por vrios atributos, ou seja, em uma entidade de chave primria
composta de um nico atributo no ocorre este tipo de dependncia.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

47

2.2.Modelo Relacional

Dependncia Funcional Transitiva

Quando um atributo ou conjunto de atributos A depende de outro atributo B


que no pertence chave primria, mas dependente funcional desta,
dizemos que A dependente transitivo de B.
Dependncia transitiva na entidade PEDIDO, os atributos ENDEREO,
CIDADE, UF, CGC e INSCRIO ESTADUAL so dependentes transitivos
do atributo CLIENTE. Nesta mesma entidade, o atributo NOME-DOVENDEDOR dependente transitivo do atributo CDIGO-DOVENDEDOR;
Com base na teoria sobre as dependncias funcionais entre atributos de uma
entidade, podemos continuar com a apresentao das outras formas normais.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

48

2.2.Modelo Relacional

Segunda Forma Normal (2FN)


Devemos observar se alguma entidade possui chave primria
concatenada, e para aquelas que satisfizerem esta condio,
analisar se existe algum atributo ou conjunto de atributos com
dependncia parcial em relao a algum elemento da chave
primria concatenada;
Com a finalidade de tornar ainda mais estvel o modelo de
dados, a aplicao da 2FN sobre as entidades em observao
geram novas entidades, que herdaro a chave parcial e todos os
atributos que dependem desta chave parcial, ou seja, uma
entidade para estar na 2FN no pode ter atributos com
dependncia parcial em relao chave primria.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

49

2.2.Modelo Relacional

Segunda Forma Normal (2FN)


A entidade ITEM-DO-PEDIDO apresenta uma chave primria
concatenada e por observao, notamos que os atributos
UNIDADE-DO-PRODUTO, DESCRIO-DO-PRODUTO e
VALOR-UNITRIO dependem de forma parcial do atributo
CDIGO-DO-PRODUTO, que faz parte da chave primria.
Logo devemos aplicar a 2FN sobre esta entidade. Quando
aplicarmos a 2FN sobre ITEM-DO-PRODUTO, ser criada a
entidade PRODUTO que herdar os atributos UNIDADE-DOPRODUTO, DESCRIO-DO-PRODUTO e VALORUNITRIO e ter como chave primria o CDIGO-DOPRODUTO.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

50

2.2.Modelo Relacional

Segunda Forma Normal (2FN)


Pedido

(1,n)

Possui

(1,1)

Item de Pedido
(1,1)

Participa
(0,n)

Um PRODUTO participa de no mnimo 0


e no mximo N elementos de ITEM-DEPEDIDO e um ITEM-DE-PEDIDO s
pode conter 1 somente 1 PRODUTO.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

Produto

51

2.2.Modelo Relacional

Terceira Forma Normal (3FN)

Uma entidade est na 3FN se nenhum de seus atributos possui dependncia


transitiva em relao a outro atributo da entidade que no participe da chave
primria, ou seja, no exista nenhum atributo intermedirio entre a chave
primria e o prprio atributo observado;
Ao retirarmos a dependncia transitiva, devemos criar uma nova entidade que
contenha os atributos que dependem transitivamente de outro e a sua chave
primria o atributo que causou esta dependncia;
Alm de no conter atributos com dependncia transitiva, entidades na 3FN
no devem conter atributos que sejam o resultado de algum clculo sobre
outro atributo, que de certa forma pode ser encarada como uma dependncia
funcional.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

52

2.2.Modelo Relacional

Terceira Forma Normal (3FN)

Na entidade PEDIDO, podemos observar que o atributo NOME-DOVENDEDOR depende transitivamente do atributo CDIGO-DOVENDEDOR que no pertence chave primria. Para eliminarmos esta
anomalia devemos criar a entidade VENDEDOR, com o atributo NOMEDO-VENDEDOR e tendo como chave primria o atributo CDIGO-DOVENDEDOR;
Encontramos ainda o conjunto de atributos formados por ENDEREO,
CIDADE, UF, CGC e INSCRIO ESTADUAL que dependem
transitivamente do atributo CLIENTE. Neste caso, devemos criar a entidade
CLIENTE que conter os atributos ENDEREO, CIDADE, UF, CGC e
INSCRIO ESTADUAL. Para chave primria desta entidade vamos criar
um atributo chamado CDIGO-DO-CLIENTE que funcionar melhor como
chave primria do que NOME-DO-CLIENTE, deixando este ltimo como
simples atributo da entidade CLIENTE.
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

53

2.2.Modelo Relacional

Terceira Forma Normal (3FN)


(1,n)

Pedido
(1,1)

Faz
(0,n)

Cliente

EPUSP-PMR

Possui

(1,1)

(1,1)

Item de Pedido
(1,1)

Tira
(0,n)

Vendedor

Prof. Dr. Marcos Tsuzuki

Participa
(0,n)

Produto

54

2.2.Modelo Relacional

Terceira Forma Normal (3FN)


Um PEDIDO s feito por um e somente um CLIENTE e um
CLIENTE pode fazer de 0 at N elementos de PEDIDO. Um
PEDIDO s tirado por um e somente um VENDEDOR e
VENDEDOR pode tirar de 0 a N elementos de PEDIDO.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

55

2.2.Modelo Relacional

Forma Normal de BOYCE/CODD (FNBC)

As definies da 2FN e 3FN, desenvolvidas por Codd, no cobriam certos


casos. Esta inadequao foi apontada por Boyce em 1974. Os casos no
cobertos pelas definies de Codd somente ocorrem quando trs condies
aparecem juntas:
A entidade tenha vrias chaves candidatas;
Estas chaves candidatas sejam concatenadas (mais de um atributo);
As chaves concatenadas compartilham pelo menos um atributo comum;
Na verdade, a FNBC uma extenso da 3FN, que no resolvia certas
anomalias presentes na informao contida em uma entidade. O problema foi
observado porque a 2FN e a 3FN s tratavam dos casos de dependncia
parcial e transitiva de atributos fora de qualquer chave, porm quando o
atributo observado estiver contido em uma chave, ele no captado pela
verificao da 2FN e 3FN.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

56

2.2.Modelo Relacional

Forma Normal de BOYCE/CODD (FNBC)

Considere a seguinte entidade FILHO:


Nome do Filho
Endereo do Filho
Data Nascimento
Nome da Escola
Nmero da Sala
Nome do Professor

Por hiptese, vamos assumir que um professor possa estar associado a mais
de uma escola e uma sala. Sob esta suposio, tanto a chave (candidata)
concatenada NOME-DA-ESCOLA + SALA-DA-ESCOLA bem como
NOME-DA-ESCOLA + NOME-DO-PROFESSOR podem ser determinantes.
Logo esta entidade atende s trs condies relacionadas anteriormente.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

57

2.2.Modelo Relacional

Forma Normal de BOYCE/CODD (FNBC)


As chaves candidatas para a entidade FILHO so: NOME-DO-FILHO +
ENDEREO-DO-FILHO, NOME-DO-FILHO + NMERO-DA-SALA e
NOME-DO-FILHO + NOME-DO-PROFESSOR;
Todas as trs chaves apresentam mais de um atributo (concatenados);
Todas as trs chaves compartilham um mesmo atributo: NOME-DO-FILHO.

A definio da FNBC a seguinte: uma entidade est na FNBC


se e somente se todos os determinantes forem chaves candidatas.
Notem que esta definio em termos de chaves candidatas e
no sobre chaves primrias.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

58

2.2.Modelo Relacional

Forma Normal de BOYCE/CODD (FNBC)

Neste exemplo, NOME-DO-PROFESSOR no completamente dependente


funcional do NMERO-DA-SALA, nem NMERO-DA-SALA
completamente dependente funcional do NOME-DO-PROFESSOR. Neste
caso, NOME-DO-PROFESSOR realmente completamente dependente
funcional da chave candidata concatenada NOME-FILHO + NMERO-DASALA ou NMERO-DA-SALA completamente dependente funcional da
chave candidata concatenada NOME-DO-FILHO + NOME-DOPROFESSOR;
Ao se aplicar a FNBC, a entidade FILHO deve ser dividida em duas
entidades, uma que contm os atributos que designam um professor em uma
particular escola e nmero de sala.
Nome da Escola
Nmero da Sala
Nome do Professor

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

Nome do Filho
Endereo do Filho
Data Nascimento
Nome da Escola
Nmero da Sala

59

2.2.Modelo Relacional

Quarta Forma Normal (4FN)

Na maioria dos casos, as entidades normalizadas at a 3FN so fceis de


entender, atualizar e de se se recuperar dados. Mas s vezes podem surgir
problemas com relao a algum atributo no chave, que recebe valores
mltiplos para um mesmo valor de chave. Esta nova dependncia recebe o
nome de dependncia multivalorada que existe somente se a entidade contiver
no mnimo trs atributos;
Uma entidade que esteja na 3FN tambm est na 4FN, se ela no contiver
mais do que um fato multivalorado a respeito da entidade descrita. Esta
dependncia no o mesmo que uma associao M:N entre atributos,
geralmente descrita desta forma em algumas literaturas.
Dada a entidade hipottica a seguir:
Cdigo do Fornecedor
1111
1111
1111
1111

EPUSP-PMR

Cdigo da Pea
BA3
CJ10
88A
BA3

Prof. Dr. Marcos Tsuzuki

Cdigo do Comprador
113
113
435
537

60

2.2.Modelo Relacional

Quarta Forma Normal (4FN)

Como podemos observar, esta entidade tenta conter dois fatos multivalorados:
as diversas peas compradas e os diversos compradores. Com isto apresenta
uma dependncia multivalorada entre CDIGO-FORNECEDOR e o
CDIGO-PEA e entre CDIGO-FORNECEDOR e o CDIGOCOMPRADOR. Embora esteja na 3FN, ao conter mais de um fato
multivalor, torna a sua atualizao muito difcil, bem como a possibilidade de
ocorrer problemas relativos ao espao fsico de armazenamento, causados
pela ocupao desnecessria de rea de memria;
Para passarmos a entidade acima para a 4FN, necessria a realizao de
uma diviso da entidade original, em duas outras, ambas herdando a chave
CDIGO-FORNECEDOR e concatenado, em cada nova entidade, com os
atributos CDIGO-PEA e CDIGO-COMPRADOR.
Cdigo do Fornecedor
Cdigo da Pea

EPUSP-PMR

Cdigo do Fornecedor
Cdigo do Comprador

Prof. Dr. Marcos Tsuzuki

61

2.3.Operaes no Modelo Relacional

Seleo
Produz uma nova relao R com um subconjunto
das tuplas originais

ttulo,ano=Star Wars (Filmes)


selecionaria os atributos Ttulo e Ano da relao
Filmes cujos ttulos so Star Wars.
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

62

2.3.Operaes no Modelo Relacional

Operaes de conjunto
R, S sendo relaes, tem-se
R S : unio
R S : interseco
R - S : diferena
aplicam-se sobre os elementos de R e S
EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

63

2.3.Operaes no Modelo Relacional

Projeo
Seleo de um ou mais atributos de uma relao
ttulo, ano (Filmes)
selecionaria os atributos Ttulo e Ano da relao
Filmes.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

64

2.3.Operaes no Modelo Relacional

Produto Cartesiano
O produto R x S o conjunto de pares formados
tomando-se o primeiro elemento do par como
sendo um elemento qualquer de R e o segundo,
um elemento de S

EPUSP-PMR

A
1
3

B
2
4

A
1
1
1
3
3
3

R.B
2
2
2
4
4
4

S.B
2
4
9
2
4
9

B
2
4
9

C
5
7
10

C
5
7
10
5
7
10

D
6
8
11
6
8
11

Prof. Dr. Marcos Tsuzuki

D
6
8
11

65

2.3.Operaes no Modelo Relacional

Join
O join natural R S o produto das duas relaes,
relacionando somente as tuplas que
correspondem em um dado sentido

EPUSP-PMR

A
1
6
9

B
2
7
7

C
3
8
8

A
1
1
6
9

B
2
2
7
7

C
3
3
8
8

B
2
2
7

C
3
3
8

D
4
5
10

D
4
5
10
10

Prof. Dr. Marcos Tsuzuki

66

2.3.Operaes no Modelo Relacional

Problemas 2.3
a. Para o modelo relacional do sistema de pedidos,
calcule as operaes para alguma(s) das
relaes.

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

67

2.3.Operaes no Modelo Relacional

Produto Cartesiano
O produto R x S o conjunto de pares formados
tomando-se o primeiro elemento do par como
sendo um elemento qualquer de R e o segundo,
um elemento de S

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

68

2.2.Modelo Relacional

Problemas 2.2
a.Converta o modelo E-R para o relacional
b.Analise o modelo relacional obtido em a. em
relao s formas normais

EPUSP-PMR

Prof. Dr. Marcos Tsuzuki

69

Você também pode gostar