banco de dados i – bd i prof. lineu mialaret aula 6: modelo entidade relacionamento (3)

21
©Prof. Lineu Mialare Aula 6 - 1 Banco de Dados I Banco de Dados I – BD I Prof. Lineu Mialaret Aula 6: Modelo Entidade Relacionamento (3) Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013

Upload: terah

Post on 06-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013. Banco de Dados I – BD I Prof. Lineu Mialaret Aula 6: Modelo Entidade Relacionamento (3). Elementos do MER. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 1Banco de Dados I

Banco de Dados I – BD I Prof. Lineu Mialaret

Aula 6: Modelo Entidade Relacionamento (3)

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Campus de Caraguatatuba

Tecnólogo em Análise e Desenvolvimento de Sistemas

10 Semestre de 2013

Page 2: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 2Banco de Dados I

Elementos do MER Um Modelo Entidade Relacionamento - MER consiste dos

seguintes elementos: Diagramas,

Os quais contém Entidades (Supertipos e Subtipos, por exemplo), Atributos, Relacionamentos; e

Informações Complementares não Diagramáticas (Dicionário de Dados), As quais representam descrições das Entidades e dos Atributos,

Formatos, Valores Admissíveis, Domínios, e Regras de Negócio.

Page 3: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 3Banco de Dados I

Identificando e Modelando as Entidades

Os passos descritos abaixo ajudam a identificar e modelar entidades, a partir de anotações de uma entrevista ou outra documentação qualquer (ou supondo que tenha sido realizada a Etapa de Especificação e produzido também o Modelo Funcional): Examinar cada substantivo do contexto.

Quais são os substantivos significativos para o domínio de negócio?

Nomear (dar nomes significativos) as entidades descobertas e identificar alguns de seus atributos, bem como os componentes que farão parte de chaves.

Essas entidades relacionam-se com outras?

Quais são esses esses relacionamentos e suas cardinalidades?

Eles possuem atributos?

Page 4: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 4Banco de Dados I

Exemplo de Modelagem (Chen) V 1.0

Uma locadora de veículos tem uma agência, a qual possui

vários automóveis usados para alugar. Os automóveis são

classificados pelo seu porte (pequeno, médio e grande) e

têm um preço do aluguel (R$/dia) definido pelo porte. A

locadora precisa armazenar os dados de seus veículos e

movimentações financeiras, bem como seus clientes

devem ter sua informações (nome, CPF, endereço e

telefone) disponibilizadas de forma permanente.

Page 5: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 5Banco de Dados I

1- Identificar Entidades

Agencia

Cliente

Automovel

Page 6: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 6Banco de Dados I

2 - Identificar Atributos

Agencia

Cliente

Automovel

Porte

codigo nome endereco

cpf endereco telefone

codigo nome

placamarca

tipo preco

Page 7: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 7Banco de Dados I

Agencia

Cliente

Automovel

Porte

codigo nome endereco

cpf endereco telefone

codigo nome

placamarca

tipo preco

3 - Identificar Chaves

Page 8: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 8Banco de Dados I

Agencia

Cliente

Automovel

Porte

codigo nome endereco

cpf endereco telefone

codigo

nome

placamarca

tipo preco

tem

tem

alugapossui

4 - Identificar Relacionamentos

Page 9: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 9Banco de Dados I

Agencia

Cliente

Automovel

Porte

codigo nome endereco

cpf endereco telefone

codigo

nome

placamarca

tipo preco

tem

tem

alugapossui

5 - Identificar Cardinalidades

Page 10: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 10Banco de Dados I

Agencia

Cliente

Automovel

Porte

codigo nome endereco

cpf endereco telefone

codigo

nome

placamarca

tipo preco

tem

tem

alugapossui

data_inicio data_fim

valor_pago

6 - Identificar Atributos de Relacionamentos

Page 11: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 11Banco de Dados I

Um hospital emprega vários médicos e enfermeiras. Cada

médico é auxiliado por uma ou mais enfermeiras, e ele

atende um ou mais pacientes no seu turno de trabalho.

Para cada paciente atendido, o médico receita um

tratamento, que pode ou não utilizar medicamentos.

Exercício 1 - Contexto de Negócio

Page 12: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 12Banco de Dados I

Uma empresa de treinamento oferece vários cursos na

área de informática. Cada curso tem código, nome e

preço. Os cursos têm a duração de uma, duas ou três

semanas. Um professor pode lecionar em vários cursos.

Cada curso é ministrado por apenas um professor. Um

aluno pode matricular-se em vários cursos. A empresa

precisa registrar nome e telefone de cada aluno e de

cada professor.

Exercício 2 - Contexto de Negócio

Page 13: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 13Banco de Dados I

Exercício 3 - Contexto de Negócio

“Eu sou o Diretor de Recursos Humanos de uma grande Empresa. Precisamos manter informações sobre os nossos empregados tais como: nome, cargo, data de admissão e salário.

Alguns dos Empregados são Gerentes. Freqüentemente precisamos saber qual é o Gerente de determinado Empregado e quais Empregados estão sob responsabilidade de determinado Gerente.

A Empresa é dividida em Departamentos. Cada Empregado é designado para um dos Departamentos. Precisamos saber a localização desse Departamento.”

Page 14: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 14Banco de Dados I

“Nossa empresa vende produtos para todo o país. Ela está dividida em em quatro regiões de vendas: Norte, Sul, Leste e Oeste. Cada região é dividida por sua vez em distritos.

Cada distrito é segmentado em territórios e cada território está separado em áreas de vendas.

Nós temos vendedores que são responsáveis por uma ou mais áreas e possuem uma cota de venda específica.

Também temos gerentes que são responsáveis por um ou mais distritos e pelos territórios dentro deles. Diretores de vendas são responsáveis por uma ou mais regiões. ”

Exercício 4 - Contexto de Negócio

Page 15: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 15Banco de Dados I

“Nossa empresa aluga pequenos caminhões e utilitários. Nós possuímos 347 escritórios em todo o território nacional e a nossa frota é de 5.780 veículos. Cada escritório tem um nome próprio e um código numérico com 3 dígitos. Cada escritório pode possuir vários veículos sob sua responsabilidade, mas cada veículo deve pertencer a apenas um único escritório.

A empresa trabalha com cinco tipos diferentes de veículos: caminhões pequenos, médios e grandes, e utilitários cabine simples e dupla. Cada tipo possui código próprio. Nós precisamos manter informações sobre a data da última manutenção e a data do vencimento do registro para todos os veículos.

Para os caminhões precisamos saber ainda a leitura do hodômetro, a capacidade do tanque e se possui rádio ou não. Nossa empresa aluga veículos para pessoas físicas ou para outras empresas e para cada veículo alugado é efetuado um contrato.

Das empresas locatárias precisamos armazenar apenas o nome e o endereço. Das pessoas físicas precisamos armazenar o nome, endereço, telefone e o número da habilitação.

Cada contrato de aluguel é identificado pelo número do escritório de origem mais um número de identificação do contrato. Nós precisamos armazenar também a data do aluguel, a duração provável, o escritório de retirada, o escritório para entrega, o depósito efetuado e as taxas diárias e por quilômetro.”

Exercício 5 - Contexto de Negócio

Page 16: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 16Banco de Dados I

“Hospitais são formados por um ou mais Ambulatórios e cada um destes está em um único Hospital. Médicos clinicam em um único Hospital, cada um deles agregando vários Médicos. Hospitais solicitam exames clínicos em vários Laboratórios, e cada um destes pode ter solicitações de vários Hospitais. Pacientes consultam vários Médicos, e estes são consultados por vários Pacientes. Ambulatórios atendem vários Pacientes, enquanto que estes só podem ser atendidos em um único Ambulatório. Pessoal de apoio está alocado a cada Ambulatório, e cada um destes conta com vários integrantes do Pessoal de apoio. Pacientes realizam vários Exames, e cada Exame é realizado por um único Paciente. Laboratórios fazem vários Exames, e cada um dos Exames é feito em um único Laboratório. Cada Paciente pode receber vários Diagnósticos, e cada Diagnóstico é de um único Paciente.”

Exercício 6 - Contexto de Negócio

Page 17: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 17Banco de Dados I

“Uma companhia é organizada em departamentos e cada um destes tem um nome, um número e um empregado que o gerencia. Deseja-se armazenar a data na qual o empregado começou a gerenciar o departamento.

Um departamento pode estar em vários locais. Um departamento controla uma quantidade de projetos, os quais possuem número, nome e um único local.

Um empregado é caracterizado por um número de matrícula, nome, sexo e salário. Ele está associado a um departamento mas pode trabalhar em vários projetos que não necessariamente são controlados pelo mesmo departamento.

Deseja-se armazenar o número de horas que um empregado trabalha em um projeto e o supervisor direto de cada empregado.

Cada empregado possui dependentes caracterizados por nome, data de nascimento e grau de parentesco.”

Exercício 7 - Contexto de Negócio

Page 18: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 18Banco de Dados I

“Considere um pequeno aeroporto privado. Cada avião tem um número de registro, é de um tipo de avião específico e é armazenado em um hangar particular. Cada tipo de avião tem um número de modelo, uma capacidade e um peso.

Cada hangar tem um número, uma capacidade de armazenamento e uma localização. O Banco de Dados do aeroporto também deve manter informações sobre os proprietários de cada avião e sobre os empregados que realizam manutenção no mesmo. Cada avião pode pertencer a um grupo de empresas, enquanto que cada empresa pode ter mais de um avião. Além disso, deseja-se armazenar a data de aquisição do mesmo pelas empresas proprietárias.

Cada uma destas empresas é caracterizada pelo CNPJ, nome, endereço e telefone. Cada empregado pode realizar vários serviços de manutenção, os quais podem ser feitos por vários empregados. Um avião pode passar por vários serviços de manutenção e cada um destes serviços é caracterizado pela data da manutenção, número de horas trabalhadas, tipo do serviço feito e finalmente, o número do avião é também usado na identificação de cada serviço.

Exercício 8 - Contexto de Negócio (1)

Page 19: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 19Banco de Dados I

Cada piloto tem atributos específicos, como o número da licença e o conjunto de restrições de vôo. Cada empregado tem atributos próprios, como salário, função e data de início no emprego. Todas as pessoas cujas informações são armazenadas têm um CPF, nome, endereço e telefone.

A base de dados do aeroporto também mantém informações sobre os aviões que cada piloto pilota e os tipos de aviões que cada empregado pode realizar manutenção.

Cada avião pode ser pilotado por vários pilotos e cada piloto pode pilotar vários aviões. Sempre que um vôo é (ou está para ser) realizado, comunicações são feitas com várias torres de comando. Cada torre de comando possui um código e uma localização.

Cada empregado pode trabalhar na manutenção de vários tipos de avião e cada modelo de avião pode precisar de vários empregados trabalhando na sua manutenção.”

Exercício 8 - Contexto de Negócio (2)

Page 20: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 20Banco de Dados I

“Considere o seguinte sistema de gerenciamento imobiliário simplificado, que visa manter informações sobre clientes, proprietários dos imóveis, contratos de aluguel, funcionários e agências, o qual deve atender os seguintes requisitos de dados persistentes:

1) Cada cliente possui CPF, nome, endereço e uma lista de telefones para contato.

2) Cada cliente é atendido por um único funcionário, o qual é caracterizado pelo número da carteira profissional, nome, endereço, telefone, função e salário.

3) Cada funcionário possui um único supervisor e trabalha em uma única agência. Cada agência tem um código, uma descrição e um funcionário que a gerencia.

4) Deve-se armazenar a data na qual o funcionário começou a gerenciar a agência. Além disso, cada gerente pode gerenciar apenas uma única agência.

5) Um cliente tem uma ou mais preferências por um ou mais tipos de imóveis, onde cada preferência é caracterizada pelo código do cliente, tipo e valor máximo de aluguel.

Exercício 9 - Contexto de Negócio (1)

Page 21: Banco de Dados I – BD I   Prof. Lineu Mialaret  Aula 6:  Modelo Entidade Relacionamento (3)

©Prof. Lineu MialaretAula 6 - 21Banco de Dados I

6) Um cliente pode estar associado a vários contratos de aluguel, os quais possuem número, período e valor. Mas cada contrato refere-se a um único cliente.

7) Cada contrato diz respeito a um único imóvel, o qual possui um código, localização, tipo e valor solicitado pelo proprietário. Além disso, cada imóvel possui um único proprietário, que tem CPF, nome e telefones.

8) Um imóvel disponível para negociação pode ser divulgado em vários jornais, os quais possuem um código e um nome. Deve-se armazenar a data e o custo da divulgação de cada imóvel feito por cada jornal.”

Exercício 9 - Contexto de Negócio (2)