• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2018

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

Copied!
4
0
0

Texto

(1)

18/2/2009

1

Modelagem de

 

Dados

Relacionamentos

Aula

 

04

1

Relacionamentos

• As entidades não são isoladas; elas estão relacionadas 

com outras entidades. 

• Quando passamos a trabalhar com mais de uma 

entidade precisamos identificar os relacionamentos

entidade, precisamos identificar os relacionamentos 

entre elas a fim de representar de maneira correta o 

mundo real.

2

Relacionamento 1:m

• Um relacionamento um para muitos (1:m) ocorre 

com freqüência em situações de negócio. No exem‐

plo anterior, temos um curso com um ou mais 

alunos. 

• A representação ficaria assim:

3

Relacionamento 1:m

OBS: A representação acima foi feita no Toad Data  Modeler, uma ferramenta de modelagem de dados 

freeware. 

• A representação da chave primária que manualmenteA representação da chave primária que manualmente 

é uma tralha (#), na ferramenta é usado a sigla PK 

(primary key).

4

Relacionamento 1:m

• O nosso diagrama pode aumentar mais um pouco. 

• Digamos que além do curso, o aluno tenha relaciona‐

mento com outras tabelas.

–Uma tabela turno,, p para identificar o turno queq  o aluno está 

estudando

–As tabelas disciplinas para armazenar todas as disciplinas 

da escola e a tabela notas que irá armazenar todas as notas 

do aluno em cada disciplina.

O diagrama poderá ficar assim:

(2)

18/2/2009

2

Relacionamento 1:m

• Na tabela notas aconteceu algo inusitado: o campo 

matricula que é chave primária na tabela ALUNO será 

chave estrangeira na tabela NOTAS. 

• Igualmente, o código da disciplina também é uma 

chave primária na tabela DISCIPLINAS, mas na tabela 

NOTAS é uma chave estrangeira. E ao mesmo tempo, 

teremos uma chave primária composta entre a 

matricula do aluno, ano e código da disciplina.

• Na representação acima vemos identificados as chaves 

primárias com o símbolo PK e as secundárias com o 

símbolo PFK. 7

Anomalias

Anomalias de Inclusão : Não podemos incluir um 

aluno de um determinado curso, antes que este 

curso esteja cadastrado anteriormente. Como existe 

um relacionamento entre as tabelas, uma depende 

da outra da outra. 

• A tabela CURSO não depende da tabela ALUNO, ou 

seja, qualquer curso poderá ser cadastrado, haja 

alunos ou não.  Já a tabela ALUNO depende total‐

mente da tabela CURSO. Um aluno só poderá ser 

cadastrado caso o curso que ele vá estudar esteja 

previamente cadastrado na tabela CURSO.

8

Anomalias

Anomalias de Exclusão : Caso tentemos excluir um 

curso que tenha vários alunos cadastrados, podemos 

perder vários registros destes alunos.

• Isso vai depender de que forma o banco de dados e a 

tabela forem criadas fisicamente. Existem casos em 

que o registro fica bloqueado para exclusão, caso 

tenham dados relacionados.

9

Relacionamento m:m

Muitos‐para‐muitos: Uma entidade em A está 

associada a qualquer número de entidades em B, e 

uma entidade em B está associada a qualquer 

número de entidades em A.

• Considere o caso em que itens são vendidos. 

Podemos identificar imediatamente duas entidades: 

VENDA e ITEM. 

• Uma venda pode consistir em muitos itens de 

mercadorias e um item de mercadoria pode aparecer 

em muitas vendas. 

10

Relacionamento m:m

• Não estamos dizendo que um mesmo item possa ser 

vendido muitas vezes, mas que o tipo específico de 

item (por exemplo, uma bússola) pode ser vendido 

muitas vezes; temos, portanto, um relacionamento 

de muitos para muitos (m m) entre VENDA e ITEM

de muitos‐para‐muitos (m:m) entre VENDA e ITEM. 

• Em um relacionamento m:m, criamos uma terceira 

entidade para ligar as entidades por meio de dois 

relacionamentos 1:m. 

• Nesse exemplo, essa terceira entidade, geralmente 

conhecida como entidade associativa, é chamada de 

VENDA_MERCADORIA.

11

Relacionamento m:m

(3)

18/2/2009

3

Relacionamento m:m

13

Relacionamento m:m

• Cada uma das linhas que aparece no formulário do 

pedido de vendas é, em geral, conhecida no varejo 

como um item de linha, onde o código da 

mercadoria é ligado a uma venda.

• Dizemos muitos para muitos porque há dois relacio‐

namentos: CODIGO DA MERCADORIA está relaciona‐

do com muitas VENDAS e VENDA está relacionada 

com muitos CÓDIGOS DE MERCADORIA.

• No caso do nosso exemplo, a entidade associativa é a 

VENDA_MERCADORIA.

14

Relacionamento m:m

Por que criamos uma terceira entidade ?

• Quando temos um relacionamento m:m, criamos 

uma entidade associativa para armazenar dados 

sobre o relacionamento. Neste caso, armazenamos 

d d b d i did

dados sobre as mercadorias vendidas. 

• Não podemos armazenar estes dados em VENDAS, 

pois uma venda pode ter muitos itens e uma entida‐

de só armazena ocorrências de valores simples. Da 

mesma maneira, não podemos armazenar esses 

dados em MERCADORIAS, porque um código de 

mercadoria pode aparecer em muitas vendas.

15

Relacionamento 1:1

• São relacionamentos em que uma entidade em A 

está associada no máximo a uma entidade em B e 

uma entidade em B está associada no máximo a uma 

entidade em A.

N l i lh l á b l

• Neste relacionamento, escolhemos qual será a tabela 

que irá receber a chave estrangeira, e para cada valor 

do campo na tabela A, há no máximo um valor na 

tabela B.

16

Relacionamento 1:1

• No exemplo abaixo podemos entender melhor este 

tipo de relacionamento, onde estaremos definindo 

que um Gerente (e somente um) gerencia um (e 

somente um) Departamento. 

17

Condicionalidade de

 

Relacionamentos

• Relacionamentos Condicionais : Nem todos os ele‐

mentos da Entidade A estão ligados a entidade B.

• Num cadastro de alunos, cada aluno obrigatoria‐

mente deve possuir um responsável. E cada respon‐

sável deve estar associado obrigatoriamente a um 

aluno.

(4)

18/2/2009

4

Condicionalidade de

 

Relacionamentos

• Relacionamentos Incondicionais : Todos os elemen‐

tos de uma entidade estão obrigatoriamente relacio‐

nados com um elemento, no mínimo, da outra 

entidade.

• Num cadastro de horário, uma matéria pode estar 

associada ou não ao cadastro de horário do aluno.

19

Exercício para ser

 

entregue em 19/03

• Uma Empresa pode ter várias filiais. Cada Filial de uma 

empresa pode ter vários departamentos. Um departa‐

mento de uma filial pode ter vário empregados.

• Entidades:

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

•Departamento (código do departamento, nome do departamento) •Funcionário (matricula, nome, endereço, telefone, salário base, 

código do departamento)

• Faça a demonstração das tabelas e seus relaciona‐

mentos por diagrama ER.

• Faça o dicionário de dados.

Referências

Documentos relacionados

c).. 23) Dê dois exemplos, um listando os pares ordenados e o outro descrevendo-os através de uma regra, de relações que tenham as propriedades reflexiva e simétrica e não tenham

[r]

[r]

[r]

[r]

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

[r]

[r]