Upload
joel-santos
View
494
Download
0
Embed Size (px)
Citation preview
Introdução a Banco de Dados
MODELO CONCEITUAL CHAVES
Iana Daya Cavalcante Facundo Passos [email protected]
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
Modelo de Entidade e Relacionamento
Introdução a Banco de Dados - [email protected]
COMO DISTIGUIR AS INSTÂNCIAS DE UMA ENTIDADE?
CHAVES DE IDENTIFICAÇÃO (atributos identificadores)
Valores utilizados para identificar cada entidade de forma única;
Conjunto de um ou mais atributos cujos valores servem para
distinguir uma ocorrência da entidade das demais ocorrências da
mesma entidade;
Conjunto de atributos que identificam uma instância.
Definição
Introdução a Banco de Dados - [email protected]
SIMPLES:
Formada por apenas um atributo
Ex: Empregado (matricula, nome, endereco, funcao, salario)
matricula = chave
COMPOSTA:
É uma chave formada por mais de um atributo.
Ex: Dependentes (RG_responsavel, nome dependente,
data_nascimento, relação, sexo)
RG_responsavel, nome dependente = chave
Chaves de Identifcação - Tipos
Introdução a Banco de Dados - [email protected]
CHAVE CANDIDATA
Quando uma instância possui mais que uma chave, cada uma dessas
chaves é chamada de candidata.
Ex: Candidato (nome, RG, CIC, endereço, sexo)
CHAVE PRIMÁRIA
A chave candidata escolhida pelo projetista de banco de dados para
identificar as instâncias
Chaves de Identifcação - Tipos
Introdução a Banco de Dados - [email protected]
RESTRIÇÕES DA CHAVE PRIMÁRIA
Todo registro tem um conjunto de atributos que o identifica de maneira
única na relação;
Nenhum valor de chave primária poderá ser NULO;
Chave primária não deve permitir a ocorrência de valores duplicados.
Introdução a Banco de Dados - [email protected]
Chaves de Identifcação - Tipos
CHAVE ESTRANGEIRA
É a chave primária de uma entidade presente em outra, fazendo uma
conexão entre estas duas entidades.
Departamento (nome, código)
Empregado (nome, matricula, cod_depto, salário)
Nome Código
Contabilidade 1
Engenharia Civil 2
Engenharia Mecânica 3
Nome Matrícula Cod_Depto. Salário
João Luiz 10101010 1 3.000,00
Fernando 20202020 2 2.500,00
Ricardo 30303030 2 2.300,00
Jorge 40404040 2 4.200,00
Código no esquema Empregado (cod_depto) é chave estrangeira
Chaves de Identifcação - Tipos
Introdução a Banco de Dados - [email protected]
Empregado (nome, matricula, depto, cod_supervisor, salário)
Departamento (nome, codigo, Matric_gerente)
Nome Matrícula Depto. Cod_Supervisor Salário
João Luiz 10101010 1 NULO 3.000,00
Fernando 20202020 2 10101010 2.500,00
Ricardo 30303030 2 10101010 2.300,00
Jorge 40404040 2 20202020 4.200,00
Renato 50505050 3 20202020 1.300,00
Nome Código Matric Gerente
Contabilidade 1 10101010
Engenharia Civil 2 30303030
Engenharia Mecânica 3 20202020
Código do departamento na tabela de empregado (dpto) e
Matrícula na tabela departamento (matric_gerente) são chaves estrangeiras.
Introdução a Banco de Dados - [email protected]
Chaves de Identifcação - Tipos
CHAVE COMPOSTA
É uma chave formada por mais de um atributo.
Ex: Sistema de Controle de Multas de Trânsito.
“toda multa está relacionada a um carro”;
“carros devem ser de propriedades de pessoas que tenham
carteira de habilitação”;
“carteiras de habilitação são emitidas pelo DETRAN de cada estado”.
Surrogates
Introdução a Banco de Dados - [email protected]
Evitar usar chaves compostas sempre que possível!
DETRAN (sigla, estado)
Motorista (habilitação, sigla_DETRAN)
Carro (placa, habilitação, sigla_DETRAN)
Multa (numero, placa,habilitação, sigla_DETRAN)
O que fazer quando um motorista mudar de estado?
Quando for for modificada a estrutura de codificação das placas
dos carros?
Surrogates
Introdução a Banco de Dados - [email protected]
SOLUÇÃO: chave de identificação própria: “surrogate”
ou object identification (object id)
criados para cada entidade (chave primária);
identifica univocamente cada instância da entidade;
não precisa ser percebido pelos usuários;
é gerado automaticamente pelo SGBD (não é controlado pelo usuário)
Surrogates
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
Engloba todos os conceitos do MER mais os conceitos de subclasse,
superclasse, generalização e especialização e o conceito de herança de
atributos permitindo a representação de informações mais complexas.
MODELO DE ENTIDADE E RELACIONAMENTO EXTENDIDO
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
Tipo entidade é utilizado para representar um conjunto de
entidades do mesmo tipo.
Ex: Empregado pode ser engenheiro, técnico ou secretária
SUPERCLASSES E SUBCLASSES
Empregado
Secretária Engenheiro Técnico
É
um
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
A subclasse herda todos os atributos da superclasse.
Ex: Empregado pode ser engenheiro, técnico ou secretária
HERANÇA DE ATRIBUTOS
Secretária Técnico
Empregado
Engenheiro
Idiomas
Sexo
Matrícula Endereço
Categoria
Nome
Velocidade
de
Digitação
CREA
É
um
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
ESPECIALIZAÇÃO
A especialização é o processo de criar, a partir de entidades mais
genéricas (superclasses), novas entidades mais específicas (subclasses).
O conjunto de subclasses é formado baseado em alguma característica
que distinga as entidades entre si.
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
ESPECIALIZAÇÃO
Empregado
Secretária
Técnico
Engenheiro
Mensalista
É
um
Horista
Num. horas
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
HERANÇA DE PROPRIEDADES
Cada 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.
Introdução a Banco de Dados - [email protected]
CLIENTE
PESSOA
FÍSICA
PESSOA
JURÍDICA
nome código
RG sexo CGC Tipo de organização
Modelo de Entidade e Relacionamento Extendido
HERANÇA DE PROPRIEDADES
TOTAL: Para cada instância da entidade genérica, existe sempre uma
Instância em uma das entidades especializadas
Introdução a Banco de Dados - [email protected]
CLIENTE
PESSOA
FÍSICA
PESSOA
JURÍDICA
Todo cliente deve ser pessoa
física ou jurídica
Modelo de Entidade e Relacionamento Extendido
HERANÇA DE PROPRIEDADES
PARCIAL: Nem toda ocorrência da entidade genérica possui
correspondente em entidade especializada
Introdução a Banco de Dados - [email protected]
FUNCIONÁRIO
MOTORISTA
tipo
SECRETÁRIA
Pode existir funcionário
que não seja motorista
nem secretária
Modelo de Entidade e Relacionamento Extendido
GENERALIZAÇÃO
A generalização é a união do conteúdo de duas ou mais subentidades,
formando uma superentidade, ou seja, cria, a partir de entidades mais
específicas, uma entidade mais genérica.
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
GENERALIZAÇÃO
Empregado
Secretária
Técnico
Engenheiro
Mensalista
É
um
Horista
É
um
Gerente
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
RESTRIÇÕES DA GENERALIZAÇÃO
Cobertura Total: cada instância da superentidade deve ser uma instância
de alguma subentidade;
Ex.:Todo Empregado deve ser Engenheiro, Secretária ou Técnico
Cobertura Parcial:uma instância de uma superentidade pode não ser
membro de nenhuma subentidade;
Ex.: Pode existir empregado que não seja Engenheiro, Secretária
ou Técnico.
Introdução a Banco de Dados - [email protected]
Modelo de Entidade e Relacionamento Extendido
Disjunção: uma dada instância pode ser membro de no máximo uma
subentidade;
Ex.:Empregado ou é secretária, engenheiro ou técnico.
Sobreposição: uma mesma instância pode ser membro de mais de uma
subentidade;
Ex.:Empregado pode ser engenheiro e técnico .
Introdução a Banco de Dados - [email protected]
RESTRIÇÕES DA GENERALIZAÇÃO
Modelo de Entidade e Relacionamento Extendido
Disjunção: uma dada instância pode ser membro de no máximo uma
subentidade;
Ex.:Empregado ou é secretária, engenheiro ou técnico.
Sobreposição: uma mesma instância pode ser membro de mais de uma
subentidade;
Ex.:Empregado pode ser engenheiro e técnico .
Introdução a Banco de Dados - [email protected]
RESTRIÇÕES DA GENERALIZAÇÃO
Modelo de Entidade e Relacionamento Extendido
Estrutura que denota a existência de uma junção de elementos através
de um relacionamento e que permite que essa junção seja percebida
como um novo elemento a ser, por sua vez, relacionado a outro elemento
Introdução a Banco de Dados - [email protected]
AGREGAÇÃO
FUNCIONÁRIO
FUNÇÃO
PROJETO alocação
exerce
N N
N
Modelo de Entidade e Relacionamento Extendido
Restrição de Uso da Agregação
Somente é possível quando há relacionamento de Muitos-para-Muitos
que representa um fato; caso contrário a terceira entidade envolvida
estará sempre relacionada com uma das entidades em questão
Introdução a Banco de Dados - [email protected]
AGREGAÇÃO