Post on 31-Jul-2020
Programação com acesso a BD
Prof.: Clayton Maciel Costa
clayton.maciel@ifrn.edu.br 1
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
7
Aplicação ExemploEsquema Conceitual do BD EMPRESA
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
11
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: Entidades e Atributos
13
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
17
Modelo ER: Relacionamentos
18
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
20
Modelo ER: Relacionamentos
21
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
11
Empregado desempenha dois papéis- é-supervisionado-por (1)- é-supervisor-de (2)
Modelo ER: Relacionamentos
23
24
Aplicação ExemploEsquema Conceitual do BD EMPRESA
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.
26
Aplicação ExemploEsquema Conceitual do BD EMPRESA
27
Modelo ER: Notação
Nome atributo
SímboloSímbolo RepresentaçãoRepresentaçã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ímboloSímbolo RepresentaçãoRepresentação
Atributo chave
Nome atributo Atributo derivado
Nome atributo*
Nome atributo
Nome atributo Nome atributo
Atributo multivalorado
Atributo composto
29
Modelo ER: NotaçãoSímboloSímbolo RepresentaçãoRepresentação
E1 R E21 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 E2em R
Nome atributo Atributo chave parcial deuma entidade fraca
FIM
30