• Nenhum resultado encontrado

Aula08 Arquivos de BSI e LIC Professor.Rodrigo.Neves Aula08

N/A
N/A
Protected

Academic year: 2018

Share "Aula08 Arquivos de BSI e LIC Professor.Rodrigo.Neves Aula08"

Copied!
4
0
0

Texto

(1)

7/5/2009

1

Modelagem de

 

Dados

Efetivação Lógica dos Relacionamentos

Efetivação Lógica dos

 

Relacionamentos

Aula

 

08

1

Análise de

 

Relacionamentos

Em

 

diversas

 

situações

 

temos

 

uma

 

interpretação

 

distorcida

 

de

 

um

 

relacionamento.

 

Não

 

é

 

tarefa

 

simples,

 

identificar

 

os

 

graus

 

dos

 

relacionamen

tos e

 

as

 

tabelas

 

que

 

irão

 

se

 

relacionar.

É

 

necessário

 

desmembrar

 

o

 

problema,

 

a

 

princí

pio,

 

em

 

entidades.

 

Em

 

seguida,

 

devemos

 

criar

 

as

 

relações

 

e

 

seus

 

atributos

 

de

 

ligação.

 

Temos

 

que

 

visualizar

 

algo

 

que

 

ainda

 

vai

 

existir,

 

e

 

isto

 

é

 

tarefa

 

complexa.

 

2

Teste de

 

Relacionamento

Voltemos

 

ao

 

exemplo

 

de

 

uma

 

escola:

– Temos um cadastro de alunos.

– Cada aluno está associado a um curso e a um turno  específico e preciso saber quais são os alunos que pertencem

3 específico e preciso saber quais são os alunos que pertencem  a este curso e turno.

– Cada aluno poderá cursar uma ou mais disciplinas e  cada disciplina poderá ter um ou mais alunos matriculados.  Neste caso poderemos também controlar o lançamento de  notas de cada aluno e de cada disciplina.

Teste de

 

Relacionamento

Esboçamos

 

então

 

o

 

seguinte

 

diagrama:

4

Teste de

 

Relacionamento

Para

 

que

 

as

 

entidades

 

se

 

relacionem,

 

devem

 

existir

 

atributos

 

em

 

comum

 

entre

 

elas:

5

Teste de

 

Relacionamento

Através das

 

regras do

 

negócio,

 

podemos ler a

 

cardinalidade dos

 

relacionamentos usando os

recursos verbais:

Cada curso poderá ter vários alunos associados

6 – Cada curso poderá ter vários alunos associados 

(relacionamento 1:muitos).

– Cada turno poderá ter vários alunos associados  (relacionamento 1:muitos).

(2)

7/5/2009

2

Teste de

 

Relacionamento

Porém quando temos dificuldades de

 

enxergar

desta forma,

 

podemos lançar mão do

 

recurso

do

 

diagrama de

 

instâncias.

É fácil de montar

7 – É fácil de montar.

– Nos mostra a cardinalidade da relação.

– Mostra quem é a entidade fraca e quem é a forte. – Mostra qual entidade deve receber a chave estrangeira.

Teste de

 

Relacionamento

No

 

exemplo:

–Para ler a cardinalidade da relação entre as entidades

CURSO e ALUNO, por exemplo, faça uma tabela com  poucos registros. 

8

–Eles podem ser aleatórios:

Teste de

 

Relacionamento

Ligue os alunos a

 

alguns cursos usando as

 

regras do

 

negócio,

 

por exemplo:

9

Como de um registro de CURSO (Ex: TPD) temos várias

linhas ligando a ALUNOS (alunos 5, 6, e 7), então esta relação é de 1 para muitos (1: m).

Teste de

 

Relacionamento

Conclusão:

–Como os registros de ALUNOS só recebem uma ligação por

vez, esta entidade: * É fraca,

10 * Deve receber a chave primária de CURSO como chave

estrangeira.

Caso tivessemos múltiplas ligações em regis

tros de

 

ambas entidades,

 

o

 

relacionamento

seria m:m

 

e

 

seria necessário criar uma entida

de

 

auxiliar associativa.

Efetivação Lógica

É

 

preciso

 

incluir

 

campos

 

na

 

estrutura

 

de

 

dados

 

das

 

entidades

 

para

 

que

 

se

 

efetuem

 

os

 

relacio

namentos.

 

Logo

 

devem

 

haver

 

campos

 

comuns.

Quando

 

um

 

campo

 

em

 

uma

 

entidade

 

caracteri

11

p

za

se por

 

ser

 

a

 

chave

 

de

 

identificação

 

única

 

denomina

se

 

CHAVE

 

PRIMÁRIA.

Quando

 

em

 

uma

 

entidade

 

temos

 

um

 

campo

 

que

 

é

 

CHAVE

 

PRIMÁRIA

 

de

 

outra

 

entidade,

 

denomina

se

 

CHAVE

 

ESTRANGEIRA..

Efetivação Lógica

Esta

 

ligação

 

realiza

se

 

por

 

comparação

 

do

 

valor

 

da

 

Chave

 

Estrangeira

 

com

 

o

 

valor

 

da

 

Chave

 

Primária

 

de

 

outra

 

tabela,

 

sendo

 

um

 

papel

 

do

 

SGBD

 

e

 

não

 

da

 

modelagem.

12

Exemplo:

•Se temos um aluno de nome João e um curso de Admi‐

(3)

7/5/2009

3

Efetivação Lógica

13

Efetivação Lógica

Podemos

 

então

 

levantar

 

às

 

questões:

•Quais os nome dos alunos do curso de Administração ? •Quantos alunos temos matriculados em cada curso ? •Quantos cursos estão inscritos?

14

Para

 

um

 

bom

 

trabalho

 

de

 

modelagem,

 

deve

mos esquecer

 

estas

 

perguntas,

 

e

 

nos

 

preocu

parmos com

 

os

 

dados,

 

não

 

nos

 

importando

 

com

 

procedimentos

 

que

 

serão

 

inerentes

 

ao

 

sistema

 

final.

Efetivação Lógica

Portanto

 

é

 

mais

 

importante

 

nesta

 

fase

 

respon

der a

 

seguinte

 

pergunta:

• Sabendo o nome ou matrícula de um aluno, será possível descobrir os dados relativos ao curso em

15

possível descobrir os dados relativos ao curso em que ele está matriculado?

Para

 

esta pergunda ter uma resposta afirmati

va,

 

é

 

preciso que o

 

modelo tenha um

 

encadea

mento lógico entre

 

as

 

relações.

Relacionamentos Encadeados

Foi

 

dada

 

a

 

seguinte

 

questão:

•Uma empresa pode ter várias filiais. •Cada filial de uma empresa pode ter vários 

departamentos

16 departamentos.

•Um departamento de uma filial pode ter vários 

empregados.

Relacionamentos Encadeados

 

passo:

Criar

 

as

 

entidades

 

e

 

as

 

chaves

 

chaves primárias

Filiais(código da filial (PK), nome da filial)

( ódi d d ( ) d

17

Departamento (código do departamento (PK), nome do 

departamento)

Funcionário(matricula (PK), nome, endereço, telefone, 

salário base, código do departamento)

Relacionamentos Encadeados

 

passo:

Executar

 

os

 

relacionamentos

•Cada filial ‐> vários departamentos •Cada departamento > varíos empregados

18

Cada departamento ‐> varíos empregados

Entendemos

 

tratar

se

 

de

 

dois

 

relacionamentos

 

(4)

7/5/2009

4

Relacionamentos Encadeados

O

 

diagrama de

 

entidade relacionamento deste

problema será:

19

Relacionamentos Encadeados

Notamos

 

que

 

:

•A chave primária de uma tabela passou a ser chave estrangei‐

ra das outra.

•A entidade FUNCIONÁRIO recebeu duas chaves estrangeiras: 

o código do departamento e o código da filial

20 o código do departamento e o código da filial. 

•Esta HERANÇA se processa da seguinte forma: através da 

chave estrangeira coddepartamentoque está na entidade 

FUNCIONÁRIO, saberemos a que departamento o funcionário  pertence. Já através da chave estrangeira codfilialsaberemos 

a que filial o funcionário estará ligado. 

Relacionamentos Encadeados

21

Relacionamentos Encadeados

22

Relacionamentos Encadeados

Pelo

 

diagrama

 

de

 

instâncias

 

fica

 

fácil

 

também

 

notar

 

este

 

encadeamento

 

de

 

entidades:

23

Exercício (Entrega na próxima aula)

• Deseja‐se fazer um modelo de dados para gerenciar uma pequena biblio‐

teca. Sabe‐se que cada usuário da biblioteca deve ser cadastrado com uma matrícula, nome, email e endereço. Cada livro, que possui um código, título, código da editora, autor e ano, pode ser reservado por vários usuá‐

rios (como uma fila), mas cada usuário pode reservar apenas um livro por vez, apesar de poder pegar emprestado vários livros por vez. Note que

d f i d di l f d

deve ser feito um cadastro a parte para editora com nome, telefone, ende‐

reço e código do fornecedor, assim como o cadastro encadeado de forne‐

cedor contendo nome, CNPJ, telefone, endereço e código.

• Faça (Individual):

– O dicionário de dados do modelo.

– O diagrama de instância de cada uma das relações (com excessão daquelas criadas pelas entidades associativas), com suas respectivas cardinalidades.

– Monte o diagrama de Entidade Relacionamento do modelo.

Referências