Um pouco mais de cardinalidade e
Relacionamentos
cardinalidade (mínima, máxima) de entidade
em relacionamento= número (mínimo, máximo)
de ocorrências de entidade associadas a uma
ocorrência da entidade em questão através do
relacionamento
Cardinalidade Máxima
• Entidade EMPREGADO tem cardinalidade
máxima 1 no relacionamento LOTAÇÃO
• Entidade DEPARTAMENTO tem cardinalidade
máxima 120 no relacionamento LOTAÇÃO:
A cardinalidade máxima pode ser usada para
classificar relacionamentos binários.
Um relacionamento binário é aquele cujas
ocorrências envolvem duas entidades.
• Podemos classificar os relacionamentos
• em n:n (muitos-para-muitos), 1:n (um-paramuitos) e 1:1 (um-para-um).
Exemplos
Ternário
• Relacionamentos de grau maior do que dois
(relacionamentos ternários, quaternários,…)
Na linha que liga o retângulo representativo da
entidade DISTRIBUIDOR ao losango
representativo do relacionamento expressa que
cada par de ocorrências (cidade, produto) está
associado a no máximo um distribuidor.
• Um distribuidor pode distribuir em uma
cidade muitos produtos.
• Um distribuidor pode distribuir um produto
em muitas cidades.
Cardinalidade Mínima
Pode ser representada por um modelo ER é o
número mínimo de ocorrências de entidade
que são associadas a uma ocorrência de uma
entidade através de um relacionamento
• A cardinalidade mínima 1 também recebe a
denominação de “associação obrigatória”
• a cardinalidade mínima 0 também recebe a
denominação de “associação opcional”.
cada empregado deve ter a ele alocada obrigatoriamente
uma mesa (cardinalidade mínima 1) e que uma mesa
pode existir sem que a ela esteja alocado um empregado
(cardinalidade mínima 0).
Exemplos de Entidades e
Relacionamentos
• Cada disciplina possui exatamente um departamento
responsável, e um departamento é responsável por
muitas disciplinas, inclusive por nenhuma.
• Uma disciplina pode possuir diversos pré-requisitos,
inclusive nenhum. Uma disciplina pode ser prérequisito de muitas outras disciplinas, inclusive de
nenhuma.
• Uma disciplina pode aparecer no currículo de muitos
cursos (inclusive de nenhum) e um curso pode possuir
muitas disciplinas em seu currículo (inclusive
nenhuma).
• Um aluno está inscrito em exatamente um curso e um
curso pode ter
• nele inscritos muitos alunos (inclusive nenhum).
Atributo
Dado que é associado a cada ocorrência de
uma entidade ou de um relacionamento
nome e código são atributos obrigatórios
(cardinalidade mínima “1” – cada entidade possui no mínimo um
valor associado) e mono-valorados (cardinalidade máxima “1” –
cada entidade possui no máximo um valor associado). Já o atributo
telefone, é um atributo opcional (cardinalidade mínima 0) e multivalorado (cardinalidade máxima n).
Atributos do Relacionamento
Identificador
Relacionamento Identificador
Cada dependente está relacionado a exatamente um
empregado. Um dependente é identificado pelo empregado
ao qual ele está relacionado e por um número de seqüência
que distingue os diferentes dependentes de um mesmo
empregado.
Modelagem de Dados Usando o
Modelo EntidadeRelacionamento (MER)
O MER é usado principalmente durante o processo de projeto da
base de dados.
No projeto conceitual, você elabora o modelo conceitual do BD,
ou seja, a representação de elementos do mundo real (entidades
e seus atributos) e os relacionamentos existentes entre eles.
Este modelo de alto nível facilita a compreensão do ambiente
real do usuário sem estar vinculado a nenhum modelo
tecnológico de BD.
Representa as propriedades estáticas do sistema, definindo a
estrutura do BD em alto nível.
Os três elementos fundamentais que
fazem parte do MER
Entidade – representação abstrata de objetos de
interesse do sistema no mundo real do qual você
deve armazenar informações.
Atributo – tipo de informação elementar que deve ser
armazenada de cada entidade, representando uma
propriedade ou um relacionamento entre elas.
Relacionamento – representa uma associação entre
entidades
Modelo conceitual
A modelagem conceitual basea-se no mais alto nível e deve ser usada
para envolver o cliente. Os exemplos de modelagem de dados visto
pelo modelo conceitual são mais fáceis de compreender, já que não há
limitações ou aplicação de tecnologia específica. O diagrama de dados
que deve ser construido aqui, chama-se Diagrama Entidade e Diagrama
Entidade e Relacionamento, onde deverá ser identificado todas as
entidades e os relacionamentos entre elas. Este diagrama é a chave
para a compreensão do modelo conceitual de dados.
Modelo lógico
O modelo lógico já leva em conta algumas limitações e implementa
recursos como adequação de padrão e nomenclatura. Define as chaves
primárias e estrangeiras. deve ser criado levando em conta os
exemplos de modelagem de dados criados no modelo conceitual.
Modelo físico
No modelo físico fazemos a modelagem física do modelo de banco de
dados. Leva-se em conta as limitações impostas pelo SGBD escolhido e
deve ser criado sempre com base nos exemplos de modelagem de
dados produzidos no item anterior, modelo lógico.
Exemplo de projeto
Uma escola deseja tornar disponível, em uma intranet, as notas dos alunos por
matéria e por bimestre, sendo que um semestre terá sempre duas notas bimestrais
e a média final do semestre será calculada pelo sistema.
Na página, o aluno poderá visualizar o código e a descrição da matéria, o bimestre, a
nota e, no final do semestre, a respectiva média final, consultar quais matérias
cursa e os respectivos professores. O professor terá acesso às matérias que leciona
em cada curso para lançar as notas de cada aluno.
A escola poderá extrair relatórios ou pesquisas sobre as matérias que o aluno cursa
e, ainda, quais professores lecionam uma determinada matéria. Para que não haja
confusão entre matérias com mesmo nome, todas as matérias possuirão um código
próprio que as distinguirão por curso e por turma.
Assim, matemática I da turma A do curso de Ciência da Computação, terá um código
de matéria diferente de matemática I da turma B do mesmo curso. Será diferente
também da matemática I de qualquer outro curso. Dessa forma, cada código de
matéria terá somente um professor responsável.
Para iniciar o levantamento de informações,
considerando normalmente que neste texto:
• Um substantivo indica a existência de uma entidade;
• Um verbo indica a existência de um relacionamento;
• Um adjetivo indica a existência de um atributo
(qualifica a entidade);
• Um advérbio temporal, qualificando o verbo, indica a
existência de um • atributo de relacionamento.
Cardinalidade
Uma nota pertence a apenas um aluno.
Um aluno possui muitas notas.Então: um aluno – muitas notas. Um
aluno cursa muitas matérias. Uma matéria é cursada por muitos alunos.
Então: muitos alunos – muitas matérias.
Uma matéria tem muitas notas. Uma nota pertence a uma matéria.
Então: uma matéria – muitas notas. Um professor leciona muitas
matérias. Uma matéria é lecionada por apenas um professor. Então: um
professor – muitas matérias. Uma turma tem muitas matérias. Uma
matéria é ligada a muitas turmas. Então: muitas turmas – muitas
matérias.
• Relacionamento um-para-um: a escolha da chave
estrangeira fica a critério do programador em
escolher em qual tabela ficará.
• Relacionamento um-para-muitos: a chave
estrangeira tem por obrigação de estar na tabela cuja
cardinalidade é o "muitos“.
• Relacionamento muitos-para-muitos: escolha de sua
chave estrangeira deve estar em uma tabela extra.
Estudo de caso - Locadora de vídeos
Uma pequena locadora de vídeos possui ao redor de 2.000 fitas de vídeo,
cujo empréstimo deve ser controlado.
Cada fita possui um número. Para cada filme, é necessário saber seu título
e sua categoria (comédia, drama, aventura, …). Cada filme recebe um
identificador próprio. Para cada fita é controlado que filme ela contém. Para
cada filme há pelo menos uma fita, e cada fita contém somente um filme.
Alguns poucos filmes necessitam duas fitas.
Os clientes podem desejar encontrar os filmes estrelados pelo seu ator
predileto. Por isso, é necessário manter a informação dos atores que
estrelam em cada filme. Nem todo filme possui estrelas. Para cada ator os
clientes às vezes desejam saber o nome real, bem como a data de
nascimento.
A locadora possui muitos clientes cadastrados. Somente clientes
cadastrados podem alugar fitas. Para cada cliente é necessário saber seu
prenome e seu sobrenome, seu telefone e seu endereço. Além disso, cada
cliente recebe um número de associado.
Finalmente, desejamos saber que fitas cada cliente tem emprestadas. Um
cliente pode ter várias fitas em um instante no tempo. Não são mantidos
registros históricos de aluguéis.
Sistema de recepção de encomendas na empresa XXX.
A empresa XXX é uma pequena empresa onde se processam as
encomendas da seguinte forma:
Sempre que chega uma nota de encomenda esta será validada,
verificando-se a existência de produto, através da consulta a uma lista de
produtos existentes e da quantidade em estock. Para que uma encomenda
seja aceite é necessário, existirem os produtos em quantidade necessária
e também ter conhecimento das referências do cliente. Caso não se
verifique qualquer uma das condições, a encomenda será rejeitada sendo
o respectivo cliente avisado. No caso de a encomenda ser aceita será dado
andamento ao processo para que a expedição da mercadoria seja feito o
mais rápido possível.
Download

Um pouco mais de cardinalidades e