O que é um Diagrama Entidade Relacionamento (DER)?
• Elementos do DER
– Entidades
– Atributos
• Tipos de atributos
– Relacionamentos
• Auto-relacionamento
• Grau de relacionamento
• Atributos
• Cardinalidade
2. AULA 4 DIAGRAMA ENTIDADE RELACIONAMENTO
2
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
3. 3
Agenda
•O que é um Diagrama Entidade Relacionamento (DER)?
•Elementos do DER
–Entidades
–Atributos
•Tipos de atributos
–Relacionamentos
•Auto-relacionamento
•Grau de relacionamento
•Atributos
•Cardinalidade
3
Introdução ao Desenvolvimento de Software
JanynneL. S. Gomes
4. 4
O que é um Diagrama Entidade Relacionamento(DER)?
Um modelo que descreve o modelo de dados de um sistema com alto nível de abstração.
Ele é a principal representação das dependências e exigências estabelecidas entre as entidades do sistema.
5. 5
Elementos do DER
Entidade
Atributo
Relacionamento
Médico
CRM
Trabalha
6. 6
Entidade
1.Um conjunto de objetos do mundo realsobre os quais se deseja manter informações na base de dados.
2.É distinguível de outros objetos
3.É representada através de um retângulo
4.Pode representar:
1.Objetos concretos (uma pessoa)
2.Objetos Abstratos (uma empresa, um setor, um departamento)
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
7. 7
Entidade
Médico
Setor
Funcionário
Livro
Paciente
Secretária
Alguns exemplos:
8. 8
Entidade
Conta Corrente
Conta Poupança
Conta Salário
Agência
Cliente
Alguns exemplos:
Sistema Bancário
9. 9
Atributo
•Propriedades (características) que descrevem entidades
•Exemplo de atributos para entidade médico:
–Nome
–CRM
–Data de nascimento
–Cidade Natal
–Apelido
10. 10
Atributo
•Propriedades (características) que descrevem entidades
•Exemplo de atributos para entidade médico:
–Nome: José Steve da Silva
–CRM: 4887
–Data de nascimento: 01/05/1950
–Cidade Natal: Governador Valadares
–Apelido: Steve
11. 11
Atributo Simples e Atributo Composto
•Simples: atributo que possui apenas um único valor atômico (apenas um dado).
•Exemplo:
–Nacionalidade
–Nome
•Composto: atributo que é composto por vários dados.
•Exemplo:
–Endereço
–Data de Nascimento
13. 13
Atributo Simples e Atributo Composto
•Simples: atributo que possui apenas um único valor atômico (apenas um dado).
•Exemplo:
–Nacionalidade
–Nome
•Composto: atributo que é composto por vários dados.
•Exemplo:
–Endereço
–Data de Nascimento
14. 14
Atributo Composto
Médico
Endereço
Data de Nascimento
Mês
Ano
Dia
Rua
Número
CEP
Bairro
Estado
Cidade
15. 15
Atributo Monovalorado e Atributo Multivalorado
•Monovalorado: atributo que possui apenas um único valor.
•Exemplo:
–Local de Nascimento
–Nome
–CRM
•Multivalorado: atributo que pode possuir vários valores ao mesmo tempo.
•Exemplo:
–Telefone
–E-mail
17. 17
Atributo Monovalorado e Atributo Multivalorado
•Monovalorado: atributo que possui apenas um único valor.
•Exemplo:
–Local de Nascimento
–Nome
–CRM
•Multivalorado: atributo que pode possuir vários valores ao mesmo tempo.
•Exemplo:
–Telefone
–E-mail
19. 19
Atributo Armazenado e Atributo Derivado
•Armazenado: atributo que o valor é apenas armazenado, não possui regra de cálculo para ser obtido.
•Exemplo:
–Local de Nascimento
–Nome
–CRM
•Derivado: atributo que pode ser obtido através de cálculo de demais valores armazenados e valores externos.
•Exemplo:
–Idade é obtida a partir do cálculo de subtraçãodo ANO da data atual, pelo ANO da Data de Nascimento.
20. 20
Atributo Identificador (chave)
•Atributo (ou combinação de atributos) que identifica univocamente uma instância de entidade
•Uma entidade pode ter mais de uma chave
22. 22
Relacionamento
•Relacionamento é uma associaçãoentre entidades
•Cada tipo entidade que participa de um tipo relacionamento executa um papel no relacionamento.
•Papéis não são necessários em relacionamentos cujas entidades associadas sejam distintas.
24. 24
Auto-relacionamento
•Relacionamento entre instâncias da mesma entidade.
•Instâncias participam com papéis diferentes.
Funcionário
Supervisiona
Gerente
Secretária
32. 32
Atributo de Relacionamento
•Características específicas do relacionamento.
•São informações que precisam ser armazenadas sobre a associação.
Médico
Atende
Paciente
Data
Data
Medicação
33. 33
Médico
Atributo de Relacionamento
Paciente
Camila Cavalcanti
Tânia Fernandes
Eduarda Carvalho
Nicole Oliveira
Dr. Joel Garcia
Dra. Giovanna
Consulta
Consulta
Consulta
34. 34
Médico
Atributo de Relacionamento
Paciente
Camila Cavalcanti
Tânia Fernandes
Eduarda Carvalho
Nicole Oliveira
Dr. Joel Garcia
Dra. Giovanna
Consulta
Consulta
Consulta
Data: 22/10/2014
Horário: 13:00
Convênio:Unimed
Diagnóstico: Resfriado
Medicação prescrita: Resfedryl, tomar a cada 4 horas um comprimido.
35. 35
Cardinalidade
Especifica o número máximo de vezes em que a entidade pode participar do relacionamento:
•um-para-um (1:1)
•um-para-muitos (1:N) ou muitos-para-um (N:1)
•muitos-para-muitos (N:M)
36. 36
Um para um (1:1)
Empregado
Gerencia
Setor
1
1
Cada setor da empresa possui apenas 1 gerente, portanto, somente um empregadopode se relacionar com o Setorcomo Gerente.
37. 37
Um para muitos (1:N) ou Muitos para um (N:1)
Empregado
Trabalha
Setor
N
1
Cada empregadopode trabalhar em apenas um setor da empresa, mas um mesmo setor pode ter vários funcionários
38. 38
Muitos para muitos (N:M)
Empregado
Desenvolve
Projeto
N
M
Cada empregadopode desenvolver vários projetosna empresa, e um mesmo projeto pode ter vários empregados desenvolvendo.
39. 39
Praticando...
Cenário: Locadora
Uma pequena locadora de vídeos possui cerca de 2.000 DVDs, cujo empréstimo deve ser controlado. Cada DVD 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 DVD é controlado que filme ele contém. Para cada filme há pelo menos um DVD. Alguns poucos filmes necessitam de mais de um DVD.
40. 40
Praticando...
Cenário: Locadora
Os clientes podem desejar encontrar os filmes estrelados pelo seu ator predileto. Por isso, é necessário manter a informação dos atores que atuam em cada filme. Os clientes, às vezes, desejam receber referências de determinado ator, tais como o nome real, a data de nascimento, etc.
A locadora possui muitos clientes cadastrados. Somente clientes cadastrados podem alugar DVDs. Para cada cliente é necessário saber seu pré-nome e seu sobrenome, seu telefone e seu endereço. Além disso, cada cliente recebe um número de associado.
41. 41
Praticando...
Cenário: Locadora
Finalmente, desejamos saber quais DVDs estão locados por um dado cliente. Um cliente pode locar vários DVDs ao mesmo tempo. Não são mantidos registros históricos de aluguéis.
42. 42
Praticando...
•Passos para resolver o exercício
–Identificar as entidades
–Identificar se precisa agrupar as entidades por tipo
–Identificar os atributos das entidades
–Identificar os relacionamentos entre as entidades
–Identificar os atributos dos relacionamentos
43. 43
Praticando...
Cenário: Empresa de construção civil
Uma grande empresa de engenharia civil deseja informatizar a gerência de seus projetos de construção de imóveis.
Cada projeto é contratado por um ou mais clientes e possui um nome, uma data de início de fim, uma categoria de imóvel (se é apartamento, casa, flat, loja), um endereço da construção, um gerente do projetos e várias fases.
O endereço possui logradouro, numero, complemento, CEP, bairro, cidade, estado, país.
44. 44
Praticando...
Cenário: Empresa de construção civil
Cada fase possui um nome, uma data de início, uma data de fim, uma ou mais equipes de funcionários.
Para cada equipe de funcionários é necessário ter pelo menos um engenheiro civil, pelo menos um engenheiro eletricista, pelo menos um arquiteto, pelo menos um pedreiro e pelo menos 3 ajudantes de pedreiro.
Cada funcionário possui um nome, cpf, data de nascimento, RG e trabalha em vários projetos.
45. 45
Praticando...
Cenário: Empresa de construção civil
Cada fase é composta de várias tarefas a serem executadas. Cada tarefa possui apenas um reponsável, uma data de início, uma data de fim, um status e um campo para guardar observaçoes sobre a execução da tarefa.
Cada cliente possui um nome, cpf, um ou mais endereços, um ou mais telefones. Um cliente pode contratar vários projetos ao mesmo tempo.
46. 46
Praticando...
Cenário: Empresa de construção civil
O gerente poderá acompanhar o status dos projetos através do agrupamento das atividades pelo status e data de conclusão.
O gerente ainda poderá saber em qua atividade cada funcionário está alocado no momento.