Você está na página 1de 63

Unidade II

BANCO DE DADOS

Prof. Luiz Fernando

Sistemas de informao

ERP
BI
CRM

CPM

PLANNING

Fonte: autoria prpria.

Sistemas de informao

BD

ERP
BI
BD

CPM

CRM

PLANNING
Fonte: autoria prpria.

Etapas de um projeto de Banco de Dados


Levantamento de necessidades.
Desenho da soluo (MER).
Modelagem lgica.
Modelagem fsica.

Levantamento
Ouvir e principalmente entender as necessidades
dos usurios.

Evoluo MER

Entidade:
CPF

Pessoa

NOME

TEL
Fonte: autoria prpria.

Evoluo lgica

Tabela Lgica

PESSOA
PK

CPF
NOME
TEL

Fonte: autoria prpria.

Evoluo fsica

Tabela Fsica
PESSOA
PK

CPF

char(11)

NOME
TEL

varchar(100)
char(11)

Fonte: autoria prpria.

Evoluo SQL

CREATE TABLE PESSOA(


CPF CHAR(11) NOT NULL,
NOME VARCHAR(100),
TEL CHAR(11)
CONSTRAINT PK_PESSOA PRIMARY KEY(CPF)
)

Interatividade

Como nascem os bancos de dados?


a) Nascem prontos.
b) Nascem a partir de um software.
c) Nascem a partir de uma necessidade.
d) Nascem a partir de uma empresa como Oracle ou Microsoft.
e) Todas as alternativas esto erradas.

Desenho da soluo

MER Modelo Entidade Relacionamento


um modelo abstrato, desenvolvido pelo Prof. Peter Chen
para representar as estruturas de dados de uma forma mais
natural e mais prxima do mundo real dos negcios.
composto por entidades que so caracterizadas
por atributos e que se relacionam entre si.

Diferena entre MER e DER

MER Modelo Entidade Relacionamento


Modelo terico, inventado para transportar estruturas
existentes no mundo real para dentro do Banco de Dados.
DER Diagrama Entidade Relacionamento
Representao grfica do MER.

Entidade
Entidades, do original entity type, servem para representar
objetos ou pessoas que existem na realidade.
Exemplo: pessoa, carro, aluno, livros etc.

Atributos
Os tipos, informaes ou caractersticas que se deseja
conhecer sobre cada objeto que compe a realidade (entidade).
Exemplo: um carro possui cor (vermelha, preta), motor (1.0,
1.6, 2.0), nmero de portas (duas, quatro).

Relacionamentos

Os relacionamentos podem ser:


1-1: um para um;
1-N: um para muitos;
N-N: muitos para muitos.
A isso damos o nome de cardinalidade.
No MER, os relacionamentos so identificados
com um verbo.

Modelagem lgica
a fase da modelagem em que a entidade est mais
parecida com o seu desenho final, com todos os seus
atributos visveis, entre eles, o seu atributo-chave.

Modelagem fsica
a parte final do projeto de Banco de Dados. Nele j esto
definidos os atributos das tabelas e os respectivos data types.

Exemplo de 1:1
Uma pessoa possui um automvel.

1
Pessoa

1
Automvel

Possui

1
Fonte: autoria prpria.

Um automvel pertence a uma pessoa.

Exemplo de 1:1 modelo lgico

PESSOA
PK

CPF
NOME
TEL

Fonte: autoria prpria.

AUTOMOVEL
PK
PK,FK1

CHASSI
CPF
MODELO

Exemplo de 1:N
Uma pessoa possui vrios automveis.

1
Pessoa

N
Automvel

Possui

Fonte: autoria prpria.

Vrios automveis pertencem a uma pessoa.

Exemplo de 1:N modelo lgico

PESSOA
PK

CPF
NOME
TEL

Fonte: autoria prpria.

AUTOMOVEL
PK
PK,FK1

CHASSI
CPF
MODELO

Exemplo de N:N
Um aluno possui vrios professores.

1
Aluno

N
Professor

Possui

N
Fonte: autoria prpria.

Um professor possui vrios alunos.

Obtendo a cardinalidade
Um aluno possui vrios professores.

1
Aluno

N
Professor

Possui

N
Fonte: autoria prpria.

Um professor possui vrios alunos.

Exemplo de N:N modelo lgico

ALUNO
PK

RA
NOME

Fonte: autoria prpria.

PROFESSOR
PK

FUNCIONAL
NOME

Exemplo de N:N modelo lgico

ALUNO
PK

PROFESSOR

RA

PK

NOME

NOME

ALUNO_PROFESSOR
PK,FK1
PK,FK2

Fonte: autoria prpria.

FUNCIONAL

RA
FUNCIONAL

Interatividade

Quando dizemos que um determinado alimento est


dentro de um grupo e um grupo pode conter vrios
alimentos, estamos falando de qual tipo de cardinalidade?
a) 1-N.
b) N-N.
c) 1-1.
d) M-N.
e) M-M.

Chaves
Chave candidata.
Chave primria.
Chave estrangeira.
Chave surrogada.

Chave candidata
Existe apenas no MER.
utilizada para indicar atributos que podem vir a ser
uma chave primria, por isso candidata, candidata a
chave primria.

Chave primria
Atributo nico de uma tabela.
Serve para que no haja repetio de dados.
Pode ser simples (quando composta de um atributo) ou
composta (quando composta de dois ou mais atributos).

Chave estrangeira
Essencial para o relacionamento entre duas ou mais tabelas.
Garante a integridade dos dados.
Pode ser simples ou composta.

Chave surrogada
Tambm conhecida como chave artificial.
Serve para substituir a chave original da tabela.
muito utilizada em modelos de datawarehouse.
Normalmente composta de nmeros sequenciais.

Chave primria simples

Fonte: autoria prpria.

Chave primria composta

Fonte: autoria prpria.

Tipos de relacionamento

Quando fazemos o relacionamento entre duas ou mais tabelas,


esse relacionamento pode ser classificado de duas formas:
Identificado tambm conhecido como relacionamento
forte. Identifica que a chave estrangeira da tabela pai
faz parte da chave da tabela filha.
No identificado tambm conhecido como relacionamento
fraco. Identifica que a chave estrangeira da tabela pai no
faz parte da chave primria da tabela filha, sendo esse
apenas mais um atributo.

Relacionamento forte
Como existe mais de uma cidade com o mesmo nome,
a UF serve para deix-las nicas.

Fonte: autoria prpria.

Relacionamento fraco
Um carro nico, de acordo com o seu chassi, por isso, a
cor e o motor so apenas atributos que caracterizam o carro.

Fonte: autoria prpria.

Normalizao
Normalizao de dados o processo formal, passo a passo,
que examina os atributos de uma entidade, com o objetivo
de evitar anomalias observadas na incluso, excluso
e alterao de registros.

1a Forma Normal 1NF


Uma relao estar na Primeira Forma Normal, 1FN, se
e somente se todos os domnios bsicos contiverem
somente valores atmicos (no contiver grupos repetitivos).
Procedimentos
Identificar a chave primria da entidade.
Identificar o grupo repetitivo e remov-lo da entidade.
Criar uma nova entidade com a chave primria
da entidade anterior e o grupo repetitivo.

1a Forma Normal 1NF


A chave primria da nova entidade ser obtida pela
concatenao da chave primria da entidade inicial
e a do grupo repetitivo.

1FN Tabela de clientes

Cd_Cliente

Nome

Telefone

Endereo

Joo

(11)1234-5678
(11)2345-6789

Rua Seis, 85
Morumbi
12536-965

Maria

(11)3456-7890
(11)4567-8901

Rua Onze, 64
Moema
65985-963

Jos

(11)5678-9012
(11)6789-0123

Praa Ramos
Liberdade
68858-456

Fonte: autoria prpria.

1FN Tabela de clientes


Aqui temos o mesmo grupo de dados para todos
os registros.

1FN Tabela de clientes


CdCli

Nome

Telefone

Rua

Bairro

CEP

Joo

(11)1234-5678
(11)2345-6789

Rua Seis, 85

Morumbi

12536-965

Maria

(11)3456-7890
(11)4567-8901

Rua Onze, 64

Moema

65985-963

Jos

(11)5678-9012
(11)6789-0123
(11)7890-1234

Praa Ramos

Liberdade

68858-456

Fonte: autoria prpria.

1FN Tabela de clientes


Quebramos o atributo endereo em outros trs atributos
(rua, bairro e CEP).
No caso dos telefones, ainda temos repeties.

1FN Tabela de clientes

Cd_Cli

Nome

Rua

Bairro

CEP

Joo

Rua Seis, 85

Morumbi

12536-965

Maria

Rua Onze, 64

Moema

65985-963

Jos

Praa Ramos

Liberdade

68858-456

Fonte: autoria prpria.

1FN Tabela de telefones

Telefone

Cd_Cli

(11)1234-5678

(11)2345-6789

(11)3456-7890

(11)4567-8901

(11)5678-9012

(11)6789-0123

(11)7890-1234

Fonte: autoria prpria.

Interatividade

Assinale a alternativa correta.


a) Relacionamento fraco aquele em que a chave primria
da tabela pai faz parte da chave primria da tabela filha.
b) A normalizao tem como objetivo evitar redundncias
desnecessrias dentro de um banco de dados.
c) Cardinalidade um passo para a normalizao.
d) Formas normais como definimos o relacionamento
entre tabelas.
e) Todas as alternativas esto corretas.

2a Forma Normal 2FN


Uma relao estar na Segunda Forma Normal, 2FN, se j
estiver na 1FN e no existir nenhum atributo que no seja
dependente de toda a chave da tabela.
Procedimentos
Identificar os atributos que no so funcionalmente
dependentes de toda a chave primria.
Remover da entidade todos esses atributos identificados
e criar uma nova entidade com eles.

2FN Tabela de pedidos

N_Pedido

C_Produto

N_Produto

Qtd

Vl_Unitrio

Subtotal

1234

Impressora
matricial

100,00

400,00

2345

Impressora jato
de tinta

200,00

600,00

3456

Impressora laser

1000,00

2000,00

5678

Impressora
multifuncional

350,00

350,00

Fonte: autoria prpria.

2FN Tabela de pedidos


No est na Segunda Forma Normal porque temos atributos
que no dependem da chave primria.

2FN Tabela de pedidos

N_Pedido

C_Produto

Qtd

Vl_Unitrio

Subtotal

1234

100,00

400,00

2345

200,00

600,00

3456

1000,00

2000,00

5678

350,00

350,00

Fonte: autoria prpria.

2FN Tabela de pedidos

C_Produto

N_Produto

1234

Impressora matricial

2345

Impressora jato de tinta

3456

Impressora laser

5678

Impressora multifuncional

Fonte: autoria prpria.

2FN
Da tabela de pedidos foi retirada a descrio do produto,
porque o atributo dependente apenas do cdigo do produto.
Foi criada uma nova tabela, chamada de Produto, composta
por Cdigo do Produto e Nome do Produto.
Foi mantido o Cdigo do Produto, na tabela de Pedido,
para o relacionamento.

3a Forma Normal 3FN


Uma tabela est na Terceira Forma Normal, 3FN, se ela
estiver na 2FN e se nenhuma coluna no chave depender
de outra coluna no chave.
Procedimentos
Identificar todos os atributos que so funcionalmente
dependentes de outros atributos no chave.
Remov-los.

3a Forma Normal 3FN


A chave primria da nova entidade ser o atributo do qual
os atributos removidos so funcionalmente dependentes.

3FN Tabela de pedidos

N_Pedido

C_Produto

Qtd

Vl_Unitrio

Subtotal

1234

100,00

400,00

2345

200,00

600,00

3456

1000,00

2000,00

5678

350,00

350,00

Fonte: autoria prpria.

3FN Tabela de pedidos


Ainda existe um atributo que est relacionado com outro
atributo no chave.
O atributo SUBTOTAL derivado do clculo da quantidade
que multiplica o valor unitrio.

3FN Tabela de pedidos

N_Pedido

C_Produto

Qtd

Vl_Unitrio

1234

100,00

2345

200,00

3456

1000,00

5678

350,00

Fonte: autoria prpria.

3FN Tabela de pedidos


Nesse caso, removemos a coluna, pois, entre outras coisas,
ela era derivada de um clculo.

Propagao de chave primria

Fonte: autoria prpria.

Propagao de chave primria


Na primeira tabela, UF, temos uma chave simples,
o campo UF.
Na segunda tabela, CIDADE, temos uma chave composta,
os campos CIDADE e UF, que vieram da tabela UF.
Na terceira tabela, BAIRRO, temos outra chave composta,
os campos BAIRRO, UF e CIDADE, que vieram
da tabela CIDADE.

Propagao de chave primria


Na quarta tabela, LOGRADOURO, temos outra chave
composta, os campos LOGRADOURO,UF, CIDADE e
BAIRRO, que vieram da tabela BAIRRO.

Interatividade

Assinale a alternativa correta.


a) Campos calculados no devem ser gravados na tabela,
e sim criados em consultas.
b) A normalizao deve ser feita durante a fase do MER.
c) A normalizao possui apenas duas formas normais.
d) Chaves compostas so mais eficazes do que
chaves simples.
e) Nenhuma alternativa est correta.

AT A PRXIMA!