26
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 Conceitual Chaves

Embed Size (px)

Citation preview

Page 1: Modelo Conceitual Chaves

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

Page 2: Modelo Conceitual Chaves

Modelo de Entidade e Relacionamento

Introdução a Banco de Dados - [email protected]

COMO DISTIGUIR AS INSTÂNCIAS DE UMA ENTIDADE?

Page 3: Modelo Conceitual Chaves

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]

Page 4: Modelo Conceitual Chaves

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]

Page 5: Modelo Conceitual Chaves

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]

Page 6: Modelo Conceitual Chaves

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

Page 7: Modelo Conceitual Chaves

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]

Page 8: Modelo Conceitual Chaves

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

Page 9: Modelo Conceitual Chaves

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]

Page 10: Modelo Conceitual Chaves

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]

Page 11: Modelo Conceitual Chaves

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]

Page 12: Modelo Conceitual Chaves

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]

Page 13: Modelo Conceitual Chaves

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]

Page 14: Modelo Conceitual Chaves

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]

Page 15: Modelo Conceitual Chaves

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]

Page 16: Modelo Conceitual Chaves

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]

Page 17: Modelo Conceitual Chaves

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

Page 18: Modelo Conceitual Chaves

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

Page 19: Modelo Conceitual Chaves

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

Page 20: Modelo Conceitual Chaves

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]

Page 21: Modelo Conceitual Chaves

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]

Page 22: Modelo Conceitual Chaves

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]

Page 23: Modelo Conceitual Chaves

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

Page 24: Modelo Conceitual Chaves

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

Page 25: Modelo Conceitual Chaves

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

Page 26: Modelo Conceitual Chaves

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