Projeto de Banco de Dados
O Processo de Projeto de
Banco de Dados
MODELAGEM CONCEITUAL MODELAGEM CONCEITUAL PROJETO LÓGICO PROJETO LÓGICO PROJETO FÍSICO PROJETO FÍSICO Requisitos de dados Esquema conceitual Esquema lógicoModelagem Conceitual
•
Com base nos requisitos de dados, criar
um esquema conceitual para o banco de
dados;
•
Modelo ER (entidade-relacionamento) é o
modelo de dados conceitual mais
difundido:
– É representado pelo DER (diagrama
Projeto Lógico
•
Com base no DER definido na fase
anterior, criar um diagrama relacional:
– Representação gráfica de um esquema relacional.
Projeto Físico
• Definir estruturas de armazenamento:
– Como e onde devem ser armazenadas as tabelas:
• Uma tabela em um arquivo;
• Várias tabelas em um único arquivo.
• Definir índices e seus tipos;
Projeto de Banco de Dados
Introdução
• Não é implementado por nenhum SGBD;
• Utilizado como modelo conceitual para projeto
de BDs;
• Ferramenta para a modelagem de BDs;
Entidade
•
Cada objeto particular é chamado de
entidade;
•
Exemplos:
– Objeto concreto:
– Um empregado, um carro, um estudante; – Objeto abstrato:
– Uma empresa, uma conta bancária, uma disciplina.
Entidade
•
Conjunto de entidades (tipo de entidade)
– Representação abstrata de um conjunto de objetosda realidade com características semelhantes;
– Exemplo: – Representação: ALUNO Conjunto de entidades ALUNO João Leôncio Eduardo Clidenor Alice
Relacionamento
•
Cada associação particular é chamada de
relacionamento;
•
Exemplos:
– O aluno Caio está matriculado no curso de Física;
– A empregada Joana está alocada ao departamento de vendas.
Relacionamento
•
Conjunto de relacionamentos (tipo de
relacionamento)
– Representação abstrata de um conjunto de associações entre entidades;
– Exemplo 1:
– O tipo de relacionamento MATRÍCULA associa alunos aos seus respectivos cursos.
Relacionamento
• Exemplo 2:
– O tipo de relacionamento entre EMPREGADO e
DEPENDENTE não possui um nome visível;
– Neste caso, por padrão, seu nome será
EMPREGADO-DEPENDENTE (concatenação entre o nome das entidades participantes).
Relacionamento
Tipo de entidade CURSO
Direito Computação Farmácia
Tipo de entidade ALUNO João Alice Eduardo Tipo de relacionamento MATRÍCULA Eduardo, Direito João, Computação Alice, Computação
Classificação de Relacionamentos
•
Grau
– Binário recursivo ou auto-relacionamento:
– Relacionamento entre entidades de mesmo tipo;
– Torna-se necessário a utilização de papéis;
– Papéis servem para designar a função das entidades nos relacionamentos;
•
Grau (continuação)
– Binário recursivo (continuação):
– Exemplo: – Diagrama de ocorrências: PESSOA CASAMENTO marido esposa Tipo de entidade PESSOA Raimunda Cassandra Xavier Tipo de relacionamento
CASAMENTO Xavier, Raimunda
Luan, Cassandra Alex
marido
esposa
marido
esposa
•
Grau (continuação)
– Binário:
– Em cada relacionamento, duas entidades estão envolvidas;
– Exemplo:
EMPREGADO LOTAÇÃO DEPARTAMENTO
•
Grau (continuação)
– Ternário:
– Em cada relacionamento, três entidades estão envolvidas;
– Exemplo:
CIDADE DISTRIBUIÇÃO DISTRIBUIDOR
PRODUTO
•
Cardinalidade
– Um para um (1:1):
– Seja R, um tipo de relacionamento entre os tipos de entidade A e B:
– Cada entidade de A, em R, pode estar associada somente a uma entidade de B e vice-versa;
– Exemplo: PESSOA CASAMENTO marido esposa 1 1
Classificação de Relacionamentos
•
Cardinalidade (continuação)
– Um para muitos (1:N):
– Sejam A e B duas entidades:
– As entidades de A podem se associar a muitas entidades de B;
– Porém as entidades de B podem se associar a no máximo uma entidade de A;
– Exemplo:
– Cada entidade pode estar associada a no máximo uma
EMPREGADO N LOTAÇÃO 1 DEPARTAMENTO
•
Cardinalidade (continuação)
– Muitos para muitos (N:N):
– Seja R, um tipo de relacionamento entre os tipos de entidade A e B:
– Cada entidade de A, em R, pode estar associada muitas entidades de B e vice-versa;
– Exemplo:
– Cada médico pode consultar muitos pacientes e cada
MÉDICO N CONSULTA N PACIENTE
Restrição de Participação
•
Participação total
– Toda entidade deve participar de algum relacionamento;
•
Participação parcial
– Entidades podem não possuir relacionamento.
Restrição de Participação
•
Exemplo:
– Cada departamento DEVE ser gerenciado por
algum empregado (participação total);
– Empregados PODEM não gerenciar opcional
EMPREGADO 1 1 DEPARTAMENTO
mandatório
Cardinalidade Mínima
•
Cada ligação de uma entidade para um
relacionamento tem associada as
cardinalidades mínima e máxima, que
especificam se a ligação é (0,1), (0, n),
(1,1) ou (1, n).
•
Exemplo:
Relacionamento Ternário
•
Cardinalidade de relacionamento ternário
CIDADE (0, N) DISTRIBUIÇÃO (0,N) DISTRIBUIDOR
PRODUTO
(0,N)
A cardinalidade (0,N) significa que cada distribuidor pode estar em, no mínimo, nenhum e, no máximo, vários relaciona-mentos do tipo DISTRIBUIÇÃO.
Atributo
•
Propriedade associada a todas as
entidades ou relacionamentos a que se
refere;
•
Cada entidade/relacionamento pode ter
valores associados a esse atributo;
•
Exemplo:
– As entidades do tipo PROJETO possuem os PROJETO
código nome
Cardinalidade de Atributo
•
Atributos podem ter cardinalidade;
•
Representação análoga a de uma entidade
em um relacionamento;
•
Cardinalidade é omitida quando é (1,1);
•
Exemplo:
– Os atributos código e nome têm cardinalidade
CLIENTE
código nome
Tipos de Atributos
•
Mandatório
– Cada entidade/relacionamento, deve ter um valor associado ao atributo;
•
Opcional
– Pode não haver entidade/relacionamento com valor associado ao atributo.
•
Exemplo:
CLIENTE
código
Tipos de Atributos
•
Monovalorado
– Atributo com no máximo um valor associado por entidade/relacionamento;
•
Multivalorado
– Atributo que permite mais de um valor associado por entidade/relacionamento.
•
Exemplo:
Tipos de Atributos
•
Simples
– Atributo que não pode ser subdividido;
•
Composto
– Atributo formado por outros atributos.
•
Exemplo:
PESSOA código nome simples composto endereço rua número bairroAtributos em Relacionamentos
•
Em alguns casos, pode ser apropriado
colocar atributos em relacionamentos;
•
Exemplo 1:
– Um engenheiro pode atuar com funções diferentes em projetos distintos;
– Um projeto pode ter engenheiros com funções
ENGENHEIRO (0,N) ATUAÇÃO (0,N) PROJETO
Atributos em Relacionamentos
•
Exemplo 2:
– Suponha que os tipos de vendas sejam à vista
e a prazo:
– Os atributos nº de parcelas e taxa de juros se referem a vendas a prazo e, para explicitar isso, o tipo de relacionamento FINANCIAMENTO foi criado
FINANCEIRA (0,1) FINANCIAMENTO (0,N) VENDA
Chave (Identificador)
•
Um conjunto de atributos mínimos tais que
não podem existir objetos distintos na
mesma entidade/relacionamento que
concordem em todos estes atributos;
•
Todo tipo de entidade precisa ter uma
chave, pois, em caso contrário,
esqueceram de incluir alguma informação
no esquema;
Chave em Entidades
•
Exemplo 1:
– O atributo código identifica as entidades do tipo PESSOA, ou seja, cada pessoa tem um código diferente;
– Os valores dos atributos nome e endereço podem se repetir em entidades distintas.
PESSOA
código nome endereço
Chave em Entidades
•
Exemplo 2:
– As entidades do tipo PRATELEIRA são identificadas pelo par de atributos nº do
corredor e nº da prateleira.
PRATELEIRA
nº do corredor nº da prateleira capacidade
Chave em Entidades
•
Exemplo 3:
– As entidades do tipo DEPENDENTE são
identificadas pelo par de atributos número e EMPREGADO.código;
– Entidades que necessitam de atributos externos para serem identificadas são
EMPREGADO (1,1) (0,N) DEPENDENTE
Chave em Relacionamentos
•
Exemplo 1:
– As ocorrências do relacionamento ALOCAÇÃO são identificadas pelo par
(ENGENHEIRO.código, PROJETO.código);
– Isto acontece porque cada par aparece
somente uma vez no relacionamento
ENGENHEIRO (0,N) ALOCAÇÃO (0,N) PROJETO
Chave em Relacionamentos
•
Exemplo 2:
– As ocorrências do relacionamento CONSULTA são identificadas pela tripla (MÉDICO.código,
PACIENTE.código, data/hora);
– Isto acontece porque um médico pode consultar
o mesmo paciente várias vezes.
MÉDICO (0,N) CONSULTA (0,N) PACIENTE