Upload
phungtuong
View
214
Download
1
Embed Size (px)
Citation preview
Processo de Projeto de Banco de Dados
2
Levantamento e Análise de Requisitos
Projeto Conceitual
Projeto Lógico (Mapeamento do Modelo de Dados)
Projeto Físico
BD
Requisitos do Banco de Dados
Esquema Conceitual (Alto Nível)
Esquema Lógico (Modelo do SGBD)
Catálogo do SGBD
Esquema Interno
Minimundo
1
2
3
4
Projeto Conceitual: Modelo ER
3
• Modelo de dados ER
• Não é implementado por nenhum SBD;
• Utilizado como modelo conceitual para projeto de BDs: • Ferramenta para a modelagem de BDs.
• Proposto por P. Chen em 1976;
Princípio Básico:
Representar dados através: Entidades;
Relacionamentos entre as entidades;
Atributos: propriedades de entidades ou relacionamentos.
Projeto Conceitual: Modelo ER
4
• 1976 O Dr. Peter Chen (visite bit.csc.lsu.edu/~chen/chen.html) propôs o modelo Entidade-Relacionamento (ER) para projetos de banco de dados dando uma nova e importante percepção dos conceitos de modelos de dados. Assim como as linguagens de alto nível, a modelagem ER possibilita ao projetista concentrar-se apenas na utilização dos dados, sem se preocupar com estrutura lógica de tabelas.
Dr. Peter Chen, criador do
modelo ER.
5
Considere o BD chamado EMPRESA e seus requisitos.
• Organizada em departamentos: • um nome único;
• um número único;
• um empregado que gerencia o departamento;
• a data de quando o empregado começou a gerenciar o departamento deve ser registrada;
• um departamento pode ter varias localizações.
• Um departamento controla um número de projetos: • cada qual com um nome e número únicos;
• uma única localização.
Aplicação Exemplo
6
• Cada empregado:
• nome, identidade, endereço, salário, sexo, data nascimento;
• um empregado é assinalado a um departamento;
• pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento;
• o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado;
• Registro para cada empregado: • número de dependentes (para seguro);
• para cada dependente:
• primeiro nome, sexo, data de nascimento e relacionamento com o empregado.
Aplicação Exemplo
Modelo ER: Entidades e Atributos
8
Entidade
• Representação abstrata de um objeto do mundo real;
• Exemplos de entidades do mundo real:
• Objeto concreto: • Um empregado, um carro, um estudante.
• Objeto abstrato: • Uma empresa, uma conta bancária, uma disciplina.
• Conjunto de entidades (tipo de entidade):
• Entidades que apresentam características semelhantes;
• Exemplo: • Estudantes, Empregados, Contas.
Modelo ER: Entidades e Atributos
9
Atributos de uma entidade
• Propriedades que caracterizam uma entidade. • Exemplos:
• Atributos de empregados:
• matrícula, nome, endereço, rg, cpf, data-nasc, salário, lotação, data-admissão.
• Atributos de estudantes:
• matrícula, nome, curso, rg, cpf, data-ingresso.
• A cada atributo de uma entidade deve estar associado um valor.
Modelo ER: Entidades e Atributos
10
Atributos de uma entidade • Atributos chave de uma entidade:
• Conjunto de atributos que identificam univocamente uma entidade • Exemplo:
• Matrícula é atributo chave para Estudante.
• Chave pode ser formada por vários atributos: chave composta • Exemplo:
• Numero e Nome são chaves compostas da entidade Departamento.
• Domínio de um atributo:
• Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente: • Exemplo:
• RG:Integer; Nome do Empregado:String.
Modelo ER: Entidades e Atributos
12
Atributos de uma entidade • Tipos de atributos:
• Atributo atômico: • Atributo que não pode ser subdividido. Exemplo: Salário.
• Atributo composto: • Atributo formado por vários atributos. Exemplo: Endereço.
• Atributo monovalorado: • Atributo para o qual está associado um único valor. Exemplo: Nome.
• Atributo multivalorado: • Atributo para qual podem estar associados vários valores. Exemplo:
Para o atributo telefone podem estar associados vários valores, como telefone residencial, comercial e celular.
• Atributo derivado: • Atributo cujo valor é derivado com base no valor de um outro atributo
(atributo base). Exemplo: Atributo idade pode ser derivado do atributo data-nasc.
Modelo ER: Relacionamentos
14
Relacionamento • Abstração que representa associações entre
diferentes conjuntos de entidades.
• Exemplo: • Empregado John Smith trabalha para Departamento
pesquisa. • Empregado Fred Brown gerencia Departamento pesquisa. • Departamento pesquisa controla Projeto X.
Modelo ER: Relacionamentos
15
Tipo de Relacionamento • Define um conjunto de associações entre n tipos de
entidade E1, E2,...,En
• Exemplo:
• Trabalha_para entre Empregado e Departamento
Modelo ER: Relacionamentos
16
Tipo de Relacionamento
• Formalmente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej
• R ∈ E1 x E2 x ... x En
• ri = (e1, ..., en)
• Grau de um Tipo de Relacionamento • Número de tipos de entidade participantes de um tipo de
relacionamento.
Modelo ER: Relacionamentos
19
Restrições sobre Relacionamento
• Limitam as possíveis combinações de entidades que podem participar no conjunto de relacionamentos;
• Cardinalidade: número de instâncias de um tipo de relacionamento do qual uma entidade pode participar;
• Participação: se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total: • Exemplo: Todo empregado deve trabalhar p/ um departamento. (total)
• Exemplo: Nem todo empregado gerencia um departamento. (parcial)
• Cardinalidade + Participação Restrições Estruturais
Modelo ER: Relacionamentos
22
Relacionamentos Recursivos • Auto relacionamento
• Relacionamento envolvendo um único conjunto de entidades;
• Exemplo:
• Cada departamento possui vários supervisores:
• Responsáveis por um subconjunto de empregados do departamento.
• Modelagem do relacionamento entre empregado e supervisor:
• Um supervisor também é uma entidade do tipo Empregado;
• Relacionamento supervisiona.
Supervisiona
Empregado
1
1
2
2
1 1
Empregado desempenha dois papéis
- é-supervisionado-por (1)
- é-supervisor-de (2)
Modelo ER: Entidades
25
Entidade Fraca • Entidade cuja existência depende de estar associada, via um
relacionamento (relacionamento de identificação), com uma outra entidade (entidade forte);
• Exemplo: • Considere o relacionamento dependência entre os conjuntos
de entidades Empregado e Dependente. • Dependente contém os dependentes dos empregados da empresa.
• A existência de um dependente Bárbara: • Depende da existência de um empregado André e que
• Bárbara esteja relacionada a André através do relacionamento dependência.
• Uma entidade fraca é identificada • Por estar relacionada com uma entidade forte:
• Pelo atributo chave da entidade forte.
• Atributos da própria entidade fraca: • Chave parcial.
27
Modelo ER: Notação
Nome atributo
Símbolo Representação
Conjunto de entidades
Conjunto de entidades fracas
Conjunto de relacionamentos (relacionamento)
Relacionamento de identificação
Atributo
28
Modelo ER: Notação
Nome atributo
Símbolo Representação
Atributo chave
Nome atributo Atributo derivado
Nome atributo *
Nome atributo
Nome atributo Nome atributo
Atributo multivalorado
Atributo composto
29
Modelo ER: Notação Símbolo Representação
E1 R E2 1 N
Cardinalidade 1:N
R E (min,max) Restrição estrutural de
participação de E em R
E1 R E2 Participação total de E2 em R
Nome atributo Atributo chave parcial de uma entidade fraca