Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)

Post on 12-Jul-2015

409 views 7 download

Transcript of Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)

Introdução ao Desenvolvimento de Sistemas

Janynne L. S. Gomes

AULA 4

DIAGRAMA ENTIDADE

RELACIONAMENTO

2

Introdução ao Desenvolvimento de Software

Janynne L. S. Gomes

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

Janynne L. S. Gomes

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

Elementos do DER

Entidade Atributo Relacionamento

Médico CRMTrabalha

6

Entidade

1. Um conjunto de objetos do mundo real sobre 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

Entidade

Médico Setor Funcionário

LivroPaciente Secretária

Alguns exemplos:

8

Entidade

Conta Corrente Conta Poupança Conta Salário

AgênciaCliente

Alguns exemplos: Sistema Bancário

9

Atributo

• Propriedades (características) que descrevem entidades

• Exemplo de atributos para entidade médico:

– Nome

– CRM

– Data de nascimento

– Cidade Natal

– Apelido

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

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

12

Atributo Simples

Médico

Nome Nacionalidade CRM

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

Atributo Composto

Médico

EndereçoData de

Nascimento Mês

Ano

Dia

Rua

Número

CEP

Bairro

Estado

Cidade

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

16

Atributo Monovalorado

Médico

Nome Nacionalidade CRM

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

18

Site

Atributo Multivalorado

Médico

Telefone E-mail SiteE-mailTelefone

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ção do ANO da data

atual, pelo ANO da Data de Nascimento.

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

21

Atributo Identificador (chave)

Médico

Nome Nacionalidade CRM

22

Relacionamento

• Relacionamento é uma associação entre

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.

23

Relacionamento

Médico Atende Paciente

Papel: médico Papel: paciente

24

Auto-relacionamento

• Relacionamento entre instâncias da mesma entidade.

• Instâncias participam com papéis diferentes.

Funcionário SupervisionaGerente

Secretária

25

Médico

Relacionamento

Paciente

Camila Cavalcanti

Tânia Fernandes

Eduarda Carvalho

Nicole Oliveira

Dr. Joel Garcia

Dra. Giovanna

Consulta

Consulta

Consulta

26

Relacionamento

Médico Atende Paciente

Papel: médico Papel: paciente

27

Grau de Relacionamento

O grau de um relacionamento é o número de

entidades participantes.

• Unários

• Binários

• Ternários

28

Relacionamento Unário

Funcionário SupervisionaGerente

Secretária

Possui apenas uma entidade

29

Relacionamento Binário

Médico Atende Paciente

Possui apenas duas entidades

30

Relacionamento Ternário

Médico Examina Paciente

Possui três entidades

Exame

31

Multiplos Relacionamentos

Médico

Examina

Paciente

Possui três entidades

Exame

Consulta

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

Médico

Atributo de Relacionamento

Paciente

Camila Cavalcanti

Tânia Fernandes

Eduarda Carvalho

Nicole Oliveira

Dr. Joel Garcia

Dra. Giovanna

Consulta

Consulta

Consulta

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/2014Horário: 13:00Convênio: UnimedDiagnóstico: ResfriadoMedicação prescrita: Resfedryl, tomar a cada 4 horas um comprimido.

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

Um para um (1:1)

Empregado Gerencia Setor1 1

Cada setor da empresa possui apenas 1 gerente, portanto, somente um

empregado pode se relacionar com o Setor como Gerente.

37

Um para muitos (1:N) ou

Muitos para um (N:1)

Empregado Trabalha SetorN 1

Cada empregado pode trabalhar em apenas um setor da empresa, mas um

mesmo setor pode ter vários funcionários

38

Muitos para muitos (N:M)

Empregado Desenvolve ProjetoN M

Cada empregado pode desenvolver vários projetos na empresa, e um

mesmo projeto pode ter vários empregados desenvolvendo.

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

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

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

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

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

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

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

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.

47

Referências

• http://pt.wikipedia.org/wiki/Diagrama_entidade_relacionamento

• http://www.ic.unicamp.br/~beatriz/cursos/mc536/slides/MER-p-

pagina.pdf

48

Disciplina: Introdução ao Desenvolvimento de Sistemas

Professora: Janynne L. S. Gomes

Contato: janynne.gomes@outlook.com

www.eteit.univale.br