Banco de Dados Cap - PowerPoint PPT Presentation

About This Presentation
Title:

Banco de Dados Cap

Description:

Banco de Dados Cap tulo 2: Modelo Conceitual: Entidades e Relacionamentos UFCG/CCT/DSC Cl udio Baptista Motiva o Modelagem sem ntica permite aproximar o modelo ... – PowerPoint PPT presentation

Number of Views:103
Avg rating:3.0/5.0
Slides: 50
Provided by: fuji94
Category:
Tags: banco | cap | dados | modelo | semantico

less

Transcript and Presenter's Notes

Title: Banco de Dados Cap


1
Banco de DadosCapítulo 2 Modelo Conceitual
Entidades e Relacionamentos
  • UFCG/CCT/DSC
  • Cláudio Baptista

2
Motivação
  • Modelagem semântica permite aproximar o modelo
    obtido do mundo real
  • Exemplo de modelos
  • MER
  • UML (linguagem de modelagem universal)

3
Fases de um projeto de BD
Mini-mundo
Coleta e Análise de Requisitos
Requisitos de BD
Projeto Conceitual
Esquema conceitual
Projeto Lógico
Esquema lógico
Projeto Físico
Esquema interno
4
Modelo de Entidades e Relacionamentos (MER)
  • Representação semântica das estruturas de dados
    mantidas num banco de dados
  • Foi proposto por Peter Chen em 1976
  • Possui várias notações
  • Relacionamentos como objetos do Modelo (Chen)
  • Relacionamentos apenas como simples ligações
    (Codd, Martin)

5
Entidades
  • Uma entidade é tudo aquilo sobre o qual se deseja
    manter informações.
  • Podendo representar
  • objetos concretos pessoas, livros, carros,
  • conceitos abstratos empresas, eventos,
    embarques,

6
Entidade
  • Possui propriedades que a distingue de outras
    entidades.
  • É um subconjunto de objetos (instâncias) que
  • desempenha o mesmo papel semântico
  • possui os mesmos tipos de propriedades
    (atributos)

7
Entidades
  • Ex.
  • Conjunto de todas as contas correntes de um banco
  • Conjunto de todos os empregados de uma empresa
  • Conjunto de todos os filmes de um produtor
  • Representação de entidades no diagrama E-R
    (entidades e relacionamentos)

Empregado
Aluno
Empréstimo
8
Entidades
  • Entidades devem ser descritas num Dicionário de
    Dados

9
Entidades
  • Entidades devem ser descritas num Dicionário de
    Dados

10
Entidades
11
Atributos
  • São as propriedades que caracterizam ou descrevem
    uma entidade ou um relacionamento.
  • Ex. A entidade CARRO poderia ter os seguintes
    atributos
  • Placa, fabricante, modelo, ano de fabricação,
    cor, preço
  • O relaciomento TRABALHA entre EMPREGADO e
    PROJETO pode ter o atributo horasTrabalhadas.

12
Atributos
  • Cada atributo possui um domínio que identifica o
    conjunto de valores permitidos para aquele
    atributo.
  • Ex. nome domínio string(20) salário
    domínio numérico

13
Atributos
Atributos devem também ser descritos no
Dicionário de Dados
14
Atributos
  • Simples é atômico. Ex. Idade
    numérico Nome cadeia de caracteres
  • Composto contém sub-atributos que compõem o
    atributo. Ex. Endereço(rua, número, bairro,
    CEP, cidade, )

15
Atributos
  • Simplesmente valorados têm um único valor para
    uma instância de uma entidade. Ex. PESSOA Idade
  • Multivalorados possuem vários valores numa
    instância de uma entidade. PESSOATitulaçãoSuperio
    r(nenhum, Bel. MSc., PhD)
  • Atributos derivados podem ser determinados a
    partir de outros atributos/entidades. Ex. Idade e
    dataAniversário

16
Relacionamentos
  • São funções que mapeiam um conjunto de instâncias
    de uma entidade em um outro conjunto de
    instâncias de outra entidade (ou da mesma
    entidade auto relacionamento). Em outras
    palavras, são associações entre diversas
    entidades.
  • Ex. Um empregado trabalha num projeto Um
    cliente possui conta bancária Um filme possui
    vários atores

17
Relacionamentos
1..N
1..N
horas
matricula
nome
salário
18
Relacionamentos
0..N
0..1
19
Relacionamentos
Empregado
Departamento
trabalha
possui
20
Relacionamentos
21
Restrições de Integridade
  • Caracterizam as restrições nas quais os
    relacionamentos entre entidades estão submetidos
    (regras do negócio). Ex. Todo
    empregado deve estar lotado num
    departamento Existe Cliente que não foi
    recomendado por Cliente Toda NotaFiscal deve
    ter pelo menos um item discriminado Toda multa
    deve estar associada a um carro Existe
    carro sem multa asociada

22
Restrições de Integridade
  • Podemos caracterizar um relacionamento em termos
    de
  • 1. Cardinalidade quantidade de instâncias que
    podem participar do relacionamento
  • 2. Totalidade obrigatoriedade da ocorrência do
    relacionamento entre as entidades envolvidas.

23
Restrições de Integridade
  • Tipos de Cardinalidade
  • Um_para_Um (11) uma instância de uma entidade A
    está associada a no máximo a uma instância de uma
    entidade B, e vice-versa.
  • Um_para_Muitos (1N) uma instância de uma
    entidade A está associada a qualquer número de
    instâncias da entidade B. Porém, uma instância da
    entidade B pode estar associada, no máximo, a uma
    instância da entidade A.

24
Restrições de Integridade
  • Tipos de Cardinalidade
  • Muitos_para_Um (N1) uma instância da entidade A
    está associada a uma instância de B. Porém, uma
    instância de B pode estar associada a qualquer
    número de instâncias de A.
  • Muitos_para_Muitos(MN) uma instância da
    entidade A está associada a qualquer número de
    instâncias da entidade B, e vice-versa.
  • OBS. o uso de zero (01) ou (0N) indica a
    totalidade do relaciomento.

25
Restrições de Integridade
A
B
B
A
a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
b1 b2 b3 b4 b5
a1 a2 a3
11
1N
A
A
B
B
a1 a2 a3 a4 a5
b1 b2 b3
a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
N1
NM
26
Representação clássica Chen
1
N
A
B
A
B
1
1
N
A
B
1
A
B
M
N
27
Representação UML
0..1
A
B
0..1
0..1
A
B
1..N
0..N
A
B
0..1
0..N
A
B
0..M
28
Observação
  • Obs. Diagramas ER dizem quantas instâncias fazem
    parte de um relacionamento, mas não dizem quais
    instâncias.
  • Exercício Faça um modelo ER para modelar Notas
    Fiscais de uma empresa.

29
Entidades Fracas
  • São entidades que são dependentes de existência
    ou de identificação de um outra entidade. É outra
    classe de restrição. Se a existência de uma
    instância x depende da existência de uma outra
    instância y, então x (instância subordinada) é
    dependente de existência de y (instância
    dominante), e, portanto, a entidade que contém x
    é fraca com relação à entidade que contém y.
    Então, se y for removido, x também o será.

30
Entidades Fracas
  • Ex. Relacionamento entre Empregados e
    Dependentes

1
Empregado
Dependente
tem
0..N
31
Chaves
  • Como distinguir as instâncias de uma entidade?
    Num Banco de Dados, isto é feito através dos
    atributos das entidades que formam as chamadas
    chaves de identificação.
  • Toda instância de uma entidade deve ter uma chave
    de identificação, que deve ter algum valor não
    nulo.

32
Chaves
  • Superchave
  • é o conjunto de atributos que identificam uma
    instância. Se K é uma superchave então todo
    superconjunto de K também será uma superchave.
  • Ex. Seja o esquema Empregado(matricula, nome,
    endereco, funcao, salario) Então matricula é
    uma superchave (matricula, nome) é um
    superchave (matricula, nome, funcao) é uma
    superchave.

33
Chaves
  • As superchaves mínimas (que não têm nenhum
    subconjuunto) são chamadas de chaves candidatas.
  • Ex. Empregado matricula, (nome, endereco), cpf,
    identidade
  • A chave candidata escolhida pelo projetista para
    identificar as instâncias é chamada de chave
    primária.
  • Ex. Empregado matricula

34
Chaves
  • Chave de identificação composta é uma chave
    formada por mais de um atributo.
  • Ex. Cenário sistema de controle de multas de
    trânsito.
  • Premissas 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.

35
Chaves
36
Chaves
  • Chaves de identificação definidas pelo usuário
    concorrem entre si como chaves candidatas e são
    sujeitas à mudanças. Ex. Entidade
    Departamento
  • Chaves candidatas 1. Sigla do Departamento
    2. Código do Centro de Custo 3. Código da
    Diretoria Código da Superintendência Código
    do Departamento

37
Chaves
  • O que fazer quando
  • um departamento mudar de nome?
  • for modificada a estrutura de codificação de
    Centros de Custos?
  • um departamento mudar de diretoria?
  • Solução chave de identificação própria
    surrogate ou object identification (object id)

38
Chaves
  • Surrogates
  • criados para cada entidade (chave primária)
  • identifica univocamente cada instância da
    entidade
  • não precisa ser percebido pelos usuários
  • não é controlado pelos usuários (gerado
    automaticamente pelo SGBD)

39
Chaves
  • Surrogates
  • Entidade Identidade Propriedades
  • Identidade chave de identificação própria
  • Propriedades
  • chaves de identificação definidas pelo usuário
  • outras propriedades

40
Chaves
  • Integridade de Entidade
  • Toda instância de uma entidade possui um valor
    para chave de identificação própria da entidade
  • O valor da chave de identificação própria para
    uma instância é único e não nulo dentro da
    entidade
  • O valor da chave de identificação própria de uma
    instância não pode ser modificado
  • Obs. Surrogates não devem ser reutilizados!!!

41
MER Estendido
  • Superclasses e Subclasses
  • Vimos que uma entidade é usada para representar
    um conjunto de instâncias do mesmo tipo (Ex.
    Empregado). Porém, muitas vezes uma entidade tem
    subentidades que necessitam ser representadas
    explicitamente.
  • Ex. Empregado pode ser agrupado em Secretária,
    Engenheiro e Técnico

42
MER Estendido
  • Superclasses e Subclasses
  • Estas subentidades são subconjuntos da entidade
    Empregado, ou seja, cada instância de uma
    subentidade é também uma instância da entidade
    Empregado. Então dizemos que Secretária é_uma
    Empregada, Engenheiro é_um Empregado e Técnico
    é_um Empregado.
  • Este relacionamento é_um caracteriza a herança.
    Ou seja, a subentidade (subclasse) herda todos os
    atributos e relacionamentos da superentidade
    (superclasse).

43
MER Estendido
  • Superclasses e Subclasses
  • É importante notar, que nem toda instância da
    superentidade é membro de uma subentidade. Por
    exemplo, podemos ter empregados que não são nem
    secretária, nem engenheiro, nem técnico.

44
MER Estendido
45
Especialização
  • É o processo de definir um conjunto de subclasses
    de uma entidade (superentidade). Podem-se ter
    várias especializações de uma mesma entidade,
    baseado em características distintas. Por
    exemplo, a entidade Empregado pode também ser
    especializada nas subentidades Assalariado e
    Horista.

46
Especialização
  • Existem pelo menos duas razões para usar
    especialização num modelo de dados
  • Certos atributos podem ser aplicados somente a
    algumas instâncias de uma entidade (subclasse),
    mas não a todas. Ex. Secretária línguas,
    velocidadeDigitação Engenheito Especialidade,
    CREA Motorista número da carteira de
    habilitação, categoria
  • Alguns relacionamentos só se aplicam a algumas
    instâncias que pertencem a uma subclasse. Ex.
    Horistas pertencem_a Empreiteras

47
Generalização
  • É o processo inverso à Especialização, isto é, é
    um processo de síntese em que suprimimos as
    diferenças entre várias entidades (subclasses),
    identificamos suas características comuns e as
    generalizamos numa superclasse.

48
MER Estendido - Restrições
  • Cobertura Total cada instância da superentidade
    deve ser uma instância de alguma subentidade.
    Ex. Todo Empregado deve ser Engenheiro,
    Secretária ou Motorista
  • Cobertura Parcial uma instância de uma
    superentidade pode não ser membro de nenuma
    subclasse. Pode existir empregado que não seja
    Engenheiro, Secretária nem Motorista.

49
MER Estendido - Restrições
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com