43
Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Embed Size (px)

Citation preview

Page 1: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Bancos de Dados

Projeto de Banco de Dados

Modelagem E-R

Page 2: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Realiza projeto do Sistema; Prepara testes

Define regras do negócio

Usuário Analista de Sistemas

Banco de dados

DBA

Projeto Lógico/Físico BD

Projeto Conceitual/ Lógico BD

Projetista

Prepara projeto do BDDefine restrições e solução lógica

Atores do Processo

4

5

5

3

21

Page 3: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

ANALISTA

Mini-mundo

ModeloLógico

Modelo Físico

ModeloConceitual

Banco de Dados

Realidade

Níveis de Abstração

Page 4: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Conceitual

=> modelo abstrato que descreve a estrutura de um BD de forma independente de um SGBD particular (restrições impostas por tecnologias, técnicas de implementação ou dispositivos físicos)

Page 5: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Conceitual

primeira etapa do projeto de um sistema de aplicação em banco de dados

utilizado para entendimento, transmissão, validação de conceitos, mapeamento do ambiente, diálogo entre usuários e desenvolvedores

Page 6: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Exemplo de Modelo Conceitual

AUTOR LIVROescreveN

INFANTIL ADULTO

N

Modelo Entidade-Relacionamento

Page 7: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Lógico

Os objetos, suas características e relacionamentos têm uma representação de acordo com as regras de implementação e limitações impostas por algum tipo de tecnologia

Relacional, Orientada a Objetos, Objeto-Relacional

Page 8: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Lógico

Resulta da aplicação de regras de derivação sobre um modelo conceitual

Nível mais restrito aos desenvolvedores

Page 9: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Lógico

descreve as estruturas que estarão contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem, sem considerar características de armazenamento do SGBD

Page 10: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Lógico é dependente do TIPO/MODELO de dados

particular do SGBD que será usado

Exemplo: Tabela/Relação -> Modelo Relacional

Identidade Nome Telefone

23470981 Flávio Câmara 21 23867543

10876457 Lúcio Maia 81 65439878

65438945 Ana Furtado 83 2256756

19876589 Joana Marques 83 2478976

Page 11: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Físico

partirá do lógico e descreverá as estruturas físicas de armazenamento de dados (tamanho de campos, índices, métodos de acesso do SGBD, etc)

Linguagens e Notações dependem do SGBD

Pode ser necessário o conhecimento do modo físico de implementação das estruturas de dados

Page 12: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelos

Os objetivos dos modelos são:

Comunicação com clientes

pode-se mostrar ao cliente, através de um produto de demonstração, parte ou todo o comportamento externo de um sistema

Page 13: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelos Os objetivos dos modelos são:

Visualização:

permite visualizar idéias antes de torná-las concretas

Redução da complexidade:

os modelos reduzem a complexidade dividindo-a em um pequeno número de coisas importantes a serem tratadas de cada vez

Page 14: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Objetivos da Modelagem Conceitual de Dados

Representar um ambiente observado

O significado da informação

Servir de instrumento para comunicação

Favorecer o processo de verificação e validação

Page 15: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Objetivos da Modelagem Conceitual de Dados

Capturar aspectos de relacionamento entre os objetos observados

Servir de referencial para a geração de estruturas de dados

Estabelecer conceitos únicos a partir de visões diversas

Page 16: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Entidade-Relacionamento

Histórico:

1976, Peter P. Chen publicou:

“The Entity-Relationship Model: Toward the unified view of data”

Base: Teoria Relacional (Codd, 1970)

Page 17: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Entidade-Relacionamento

É um modelo de dados conceitual de alto nível, projetado para estar o mais próximo possível da visão que o usuário tem dos dados, não se preocupando em representar como estes dados estarão realmente armazenados.

É utilizado principalmente durante o processo de projeto de banco de dados

Page 18: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Modelo Entidade-Relacionamento

Identifica e modela entidades e relacionamentos, permitindo a especificação de um esquema que represente a estrutura lógica geral do Banco de Dados;

Produz um diagrama fácil de ser entendido pelo usuário final;

Page 19: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Abordagem Entidade-Relacionamento

ENTIDADE 1 ENTIDADE 2Relacio-namento

Atributo 1

Atributo 2

Page 20: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Entidade

ENTIDADES - Representa qualquer “coisa” (concreta ou abstrata) sobre o qual se deseja manter informações.

Ex: Empregado, empresa, consulta, embarque

• São representadas graficamente por um retângulo!

EmbarqueEmpregado

Page 21: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Entidades

Page 22: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Entidades

AlunoPessoa Professor

Material Animal Mamífero

AveMeio de

TransporteTransporte

Aéreo

Page 23: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Entidade

Entidade Pode ser interpretada como uma

tabela de dados, onde cada linha representa uma instância

Page 24: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Atributos de uma Entidade

são características, valores descritos, propriedades ou dados associados a uma entidade ou relacionamento.

Ex: são atributos da entidade Pessoa: nome, endereço, telefone, ...

Para cada atributo há um conjunto de valores permissíveis (domínio)

Page 25: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Atributos

Placa Marca Chassi Proprietário Fabricante AnoJHK-3456 Gol 3KG00324MH9 José Batista Volkswagen 2001MSN-3289 Fiesta 5GH00845MH

8Carla Maia Ford 2002

JHG-5634 Meriva 7JK00887MH8 Ana Gomes Chevrolet 2002

Entidade: Automóvel

Identidade Nome Endereço Telefone Estatura Peso

123567-PB José Batista Dias Rocha, 345 228 9876 1,87 84

675439-CE Maria Costa Beira Mar, 245 246 7854 1,65 60

754398-PE Caio Silva Boa Viagem, 234 226 2378 1,70 68

Entidade: Cliente

Page 26: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamento

Fato ou acontecimento que liga dois objetos existentes no mundo real

são relações ou associações existentes entre entidades

Obs: Verbos expressam fatos

Page 27: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos

Pessoa possui automóvel

Professor ensina aluno

Pessoa mora em apartamento

Francisco é casado com Maria

Marcos passeia em um barco

Carla pilota avião

Documento pertence a processo

Page 28: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Generalização: Resultado da união de dois ou mais

conjuntos de entidades de nível mais baixo produzindo um conjunto de entidades de nível mais alto

Especialização: Resultado da separação de um

subconjunto de entidades de nível mais alto, formando um conjunto de entidades de nível mais baixo

Page 29: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

CLIENTE

PESSOA FÍSICA

PESSOA JURÍDICA

Generalização

Especialização

Page 30: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Herança de PropriedadesCada instância da entidade

especializada possui, além de suas próprias propriedades, também as propriedades da instância da entidade genérica correspondente

AtributosRelacionamentosGeneralizações ou especializações

Page 31: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Herança de Propriedades

CLIENTE

PESSOA FÍSICA

PESSOA JURÍDICA

nomecódigo

RG sexo CGC Tipo de organização

Page 32: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Total - Para cada instância da entidade genérica, existe sempre uma instância em uma das entidades especializadas

CLIENTE

PESSOA FÍSICA

PESSOA JURÍDICA

t Todo cliente deve ser pessoa física ou jurídica

Page 33: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Parcial - Nem toda ocorrência da entidade genérica possui correspondente em entidade especializada

FUNCIONÁRIO

MOTORISTA SECRETÁRIA

ptipo

Pode existir funcionário que

não seja motorista nem

secretária

Page 34: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Generalização/Especialização

Não há limites no número de níveis hierárquicos

No entanto, atenção quanto ao número de níveis.

Page 35: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos

Grau ou Cardinalidade

Caracterizam o número mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento

Page 36: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos

Grau ou Cardinalidade

A BR

1. Com quantos elementos de B se relaciona cada um dos elementos de A?2. Dado um elemento de B, com quantos elementos de A ele se relaciona?

Page 37: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos

Relacionamento de Um-para-Um (1:1)

PESSOA CERTIDÃODE ÓBITOrecebe

1 1

Page 38: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos

Relacionamento de Um-para-Muitos (1:N)

EMPRESA FILIALpossui1 N

onde N = 0, 1 ou mais

Page 39: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Relacionamentos Relacionamento de Muitos-para-Muitos

(M:N) ou (N:N)

ATLETA ESPORTEpraticaM N

Page 40: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Exercício - Identifique as entidades e atributos

O sistema deve possibilitar o cadastro dos alunos, professores e turmas de uma Escola Infantil. Para os alunos, devem existir informações sobre seu nome, matrícula, data de nascimento, pais ou responsáveis, telefone, endereço, entre outras. Para os professores, devem constar as informações sobre seu grau de instrução, matrícula, nome, endereço, telefone, data de nascimento, formação, faixa etária de experiência (das crianças que já lecionou), salário base, etc.

Page 41: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Exercício - Identifique as entidades e atributos

As turmas devem ser registradas segundo um código, nome da turma, sala, horário, tipo (se é A, B, C), etc.

Serão cadastrados, também, os materiais utilizados na turma que deverão ser entregues pelos alunos.

O sistema deverá gerar listagens dos alunos por turma e professor, boletins de notas, emissão de boletins de pagamento, lista de materiais por turma, entre outros relatórios.

Page 42: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Exercícios

Represente através da notação E-R os seguintes relacionamentos, incluindo a cardinalidade:

a) Médico atende paciente

b) Estado é governado por Governador

c) Autor escreve livro

Page 43: Bancos de Dados Projeto de Banco de Dados Modelagem E-R

Exercícios

Represente através da notação E-R os seguintes relacionamentos, incluindo a cardinalidade:

e) Empregado possui dependente

f) Coordenação é composta de professores

g) Em determinada clínica, os médicos são classificados em pediatras, neurologistas e ortopedistas