Você está na página 1de 11

Roteiro

Modelagem de Dados: Usando o Modelo Posicionamento


Entidade-Relacionamento
Modelagem de Dados: Usando o Modelo
Entidade-Relacionamento
Luiz Henrique de Campos Merschmann
Departamento de Computao Uma Aplicao Exemplo de Banco de Dados
Universidade Federal de Ouro Preto

luizhenrique@iceb.ufop.br Tipos de Entidade, Conjuntos de Entidade e Atributos-Chave


www.decom.ufop.br/luiz
Tipos de Relacionamento, Funes e Restries Estruturais

Tipo de Entidade Fraca

BCC321 - Banco de Dados I Processo de Projeto de Banco de Dados


Ementa
1. Conceitos bsicos em sistemas de banco de dados.
2. Conceitos e arquitetura de sistemas de banco de
dados.
3. Modelagem conceitual de dados.
4. Modelo Relacional: conceitos bsicos e restries de
integridade.
5. Linguagens: lgebra e clculo relacional.
6. A linguagem SQL e o uso de APIs.
7. Projeto de banco de dados.
8. Normalizao de banco de dados.
9. Noes de processamento de transaes, concorrncia e
recuperao de falhas.
10. Aspectos de implementao de banco de dados.
EMPRESA: Exemplo de uma Aplicao de Banco EMPRESA: Exemplo de uma Aplicao de Banco
de Dados de Dados

Descrio do minimundo
Descrio do minimundo I Armazenamos o nome de cada funcionrio, o nmero do
I A empresa est organizada em departamentos. cpf, endereo, salrio, sexo e data de nascimento.
I Cada depto tem um nome exclusivo, um nmero exclusivo e I Um funcionrio est alocado a um depto, mas pode
um funcionrio que o gerencia. trabalhar em diversos projetos que no so controlados,
I Temos a data que cada funcionrio comeou a gerenciar o necessariamente, pelo mesmo depto.
depto. I Controlamos o nmero de horas semanais que o funcionrio
I O depto pode ter diversas localizaes. trabalha em cada projeto.
I Um depto controla um nmero qualquer de projetos. I Controlamos o supervisor direto de cada funcionrio.
I Cada projeto tem um nome exclusivo, um nmero exclusivo I Queremos ter o controle dos dependentes de cada
e uma nica localizao. funcionrio.
I Guardamos o primeiro nome, sexo, data de nascimento e o
seu parentesco com o funcionrio.

Diagrama do Esquema ER para o Banco de Dados EMPRESA Entidades e Atributos

Entidades e Atributos
I Entidade: objeto bsico que o modelo ER representa
(algo do mundo real).
I Atributos: propriedades particulares que descrevem a
entidade.
Tipos de Atributos Atributos Simples (Atmicos) versus Compostos

I Simples (atmicos): no so divisveis.


I Compostos: podem ser divididos em subpartes menores.
I Exemplos:
I atributo Endereo pode ser subdividido em EndereoRua,
I Simples versus Composto. Cidade, Estado e CEP.
I atributo Nome pode ser subdividido em PrimeiroNome e
Sobrenome.
I Univalorado versus Multivalorado.

I Armazenado versus Derivado.

Atributos Monovalorados versus Multivalorados Atributos Armazenados versus Derivados

I Monovalorados: tm um valor nico para uma dada I Dois ou mais valores de atributos esto relacionados.
entidade. I Ex.: os atributos Idade e DataNascimento de uma
I Ex.: Idade um atributo monovalorado de uma pessoa. pessoa. O valor de Idade (atributo derivado) pode ser
I Multivalorados: podem ter um conjunto de valores para a determinado a partir do valor de DataNascimento
mesma entidade. (atributo armazenado).
I Ex.: Titulao pessoas podem ter mais de um ttulo
I Valores de atributos derivados de entidades relacionadas.
acadmico.
I Um atributo multivalorado pode ter limites inferior e Ex.: atributo NumerodeFuncionrios, de uma entidade
superior para restringir o nmero de valores permitidos para departamento, derivado da contagem do nmero de
cada entidade. funcionrios que trabalham nesse departamento.
Atributos Tipos de Entidade e Conjuntos de Entidade
I Tipo de entidade: define um conjunto de entidades que
possuem os mesmos atributos.
I Cada tipo de entidade descrito por seu nome e atributos.
I Conjunto de entidades: a coleo de todas as entidades de
I Atributos Complexos = atributos compostos e um tipo de entidade em particular.
multivalorados.
{EndereoFone( {Fone(CodigoArea,NumeroFone)} ,
Endereo(EndereoRua(Numero,Rua,Apartamento),Cidade,Estado,CEP))}

I Valores Nulls (Nulos):


I Entidade no tem um valor aplicvel a um atributo. Ex.:
atributo Apartamento.
I No se conhece o valor de um atributo para uma entidade.

Tipos de Entidade e Conjuntos de Entidade Atributo-chave de um Tipo de Entidade


I Nos diagramas ER: I Uma restrio das entidades a chave (restrio de
I Um tipo de entidade representado como uma caixa exclusividade).
retangular (incluindo seu nome). I Atributo cujos valores so distintos para cada uma das
I Os nomes dos atributos so colocados em elipses e entidades.
conectados ao seu tipo de entidade por linhas retas. I Ex.: atributo Nome para o tipo de entidade EMPRESA.
I Os atributos multivalorados so identificados por elipses I Ex.: atributo CPF para o tipo de entidade
duplas.
FUNCIONARIO.
Numero
I Diversos atributos formando uma chave (chave composta):
Nome
Localizacoes a combinao dos valores dos atributos deve ser distinta
para cada entidade.
I Ex.: atributo Registro(NumeroRegistro,Estado) uma
DEPARTAMENTO chave composta para o tipo de entidade CARRO. Nenhum
dos dois atributos componentes simples
(NumeroRegistro,Estado), sozinho, uma chave.
Numero_funcionarios I Na notao diagramtica ER, cada atributo-chave tem seu
nome sublinhado dentro da elipse.
Domnio de um Atributo Projeto Conceitual Inicial do Banco de Dados
EMPRESA

I Conjunto de valores vlidos que podem ser atribudos a um DEPARTAMENTO


atributo para cada entidade. Nome, Numero, {Localizacoes}, Gerente, DataInicioGerencia
I Exemplo: PROJETO
I Tipo de entidade FUNCIONARIO atributo Idade: Nome, Numero, Localizacao, DepartamentoControle
conjunto de nmeros inteiros entre 16 e 70.
I Tipo de entidade FUNCIONARIO atributo Nome: FUNCIONARIO
conjunto de strings de caracteres alfabticos, separados por Nome(Pnome,Minicial,Unome), Cpf, Sexo, Endereco, Salario,
caracteres de espao. Datanasc, Departamento, Supervisor,
I Os domnios dos atributos no so mostrados nos {Trabalha_Para(Projeto,Horas)}
diagramas ER.
DEPENDENTE
Funcionrio, NomeDependente, Sexo, Data_nascimento,
Parentesco

Refinando o Projeto Conceitual Inicial Relacionamentos

I O projeto conceitual apresentado at aqui ainda no est


finalizado. I Associaes entre duas ou mais entidades distintas com um
I O modelo ER possui trs conceitos: significado.
I Entidades. I Exemplos:
I Atributos. I FUNCIONARIO Jos Trabalha_em PROJETO Beta.
I Relacionamentos.
I FUNCIONARIO Manoel Gerencia DEPARTAMENTO
I Ele ser refinado aps a apresentao do conceito de Finanas.
relacionamento.
I DEPARTAMENTO Pessoal Controla PROJETO Crescer.
I Alguns aspectos dos requisitos sero representados como
relacionamentos.
Tipo de Relacionamento Tipo de relacionamento TRABALHA_PARA

I Define um conjunto de associaes (relacionamentos) entre


n tipos de entidade E1 , E2 , . . . , En .

I Matematicamente, um tipo de relacionamento R um


conjunto de (instncias de) relacionamentos ri , em que cada
ri associa-se a n entidades individuais (e1 , e2 , . . . , en ) e cada
entidade ej pertence a um tipo de entidade Ej .
I ri = (e1 , e2 , . . . , en )
I R E1 E2 . . . En
I Diagrama ER:

FUNCIONARIO TRABALHA DEPARTAMENTO


PARA

Grau de um Tipo de Relacionamento Nomes de Funo e Relacionamentos Recursivos


I o nmero de tipos de entidade que participam do
relacionamento.
I Exemplos:
I Relacionamento TRABALHA_PARA de grau dois I Cada tipo de entidade que participa de um tipo de
(binrio). relacionamento executa uma funo.
I A seguir, um exemplo de relacionamento de grau trs
(ternrio). I Significado da funo dado por um nome, atribudo a
cada tipo de entidade.
I Exemplo:
I No tipo de relacionamento TRABALHA_PARA,
FUNCIONARIO executa a funo de trabalhador, e
DEPARTAMENTO desempenha a funo de empregador.
Nomes de Funo e Relacionamentos Recursivos Restries em Tipos de Relacionamento
I O mesmo tipo de entidade pode participar mais de uma
vez em um tipo de relacionamento em funes diferentes
relacionamento recursivo. I Limitam a possibilidade de combinaes de entidades que
I Exemplo: podem participar no conjunto de relacionamentos.
I Exemplo: Cada funcionrio tem que trabalhar para
exatamente um departamento.
I Tipos de restries:
I Razo de Cardinalidade: especifica o nmero mximo de
instncias de relacionamento em que uma entidade pode
participar1 .
I Ex.: relacionamento binrio TRABALHA_PARA,
DEPARTAMENTO:FUNCIONARIO tem razo de
cardinalidade 1:N.
I Razes de cardinalidade possveis: 1:1, 1:N, N:1, M:N.

1
vlido para um relacionamento binrio

Relacionamento GERENCIA, 1:1 Relacionamento TRABALHA_EM, M:N


Restries em Tipos de Relacionamento Atributos de Tipos de Relacionamento
I Tipos de restries:
I Participao: determina o nmero mnimo de instncias
de relacionamento em que cada entidade pode participar I Um tipo de relacionamento tambm pode ter atributos.
(restrio de cardinalidade mnima). I Exemplo: atributo Horas para o tipo de relacionamento
I Tipos de restries de participao: TRABALHA_EM.
I Total (dependncia de existncia). Ex.: Todo funcionrio I Nmero de horas que um FUNCIONARIO trabalhou em
deve TRABALHAR_PARA um departamento.
um PROJETO.
Uma entidade funcionrio pode existir apenas se participar
de, pelo menos, uma instncia de relacionamento
I O valor do atributo Horas depende de uma combinao
TRABALHA_PARA. particular (funcionrio,projeto).
I Parcial. Ex.: Nem todo funcionrio GERENCIA um I Para tipos de relacionamento M:N, atributos determinados
departamento.
pela combinao de entidades participantes de uma
I Razo de Cardinalidade + Restrio de Participao instncia de relacionamento devem ser especificados como
Restries Estruturais. atributos de relacionamento.
I Nos diagramas ER: participao total (linha dupla) e
participao parcial (linha simples).
I Para um tipo de relacionamento 1:N, um atributo do
relacionamento pode ser migrado para o tipo de entidade
do lado N do relacionamento.
FUNCIONARIO GERENCIA DEPARTAMENTO

Atributos de Tipos de Relacionamento Tipo de Entidade Fraca

I Tipos de entidade que no tem seus prprios


I Atributo de um tipo de relacionamento no diagrama ER: atributos-chave.
I As entidades so identificadas por meio do relacionamento
DataInicio com entidades de outro tipo de entidade (chamado de tipo
de entidade identificador), juntamente com os valores de
DEPARTAMENTO
alguns atributos (chave parcial).
FUNCIONARIO GERENCIA
I Chave parcial: um conjunto de atributos que identifica, de
modo exclusivo, as entidades fracas que esto relacionadas
a uma mesma entidade proprietria.
I Exemplo: Tipo de entidade DEPENDENTE.
Diagrama do Esquema ER para o Banco de Dados EMPRESA Tipos de Relacionamento com Grau > 2

Tipos de Relacionamento com Grau > 2 Notao para Diagramas ER


Notao para Diagramas ER Diagramas ER e Convenes de Nomenclatura

I Escolher nomes que carreguem, o tanto quanto possvel, os


significados dos diferentes construtores do esquema.
I Usar nomes no singular para os tipos de entidade.
I Usar letras maisculas para os tipos de entidade e tipos
de relacionamento.
I Usar a primeira letra maiscula para os nomes dos
atributos.
I Usar letras minsculas para os nomes dos papis.

Como Prtica Geral... Diagramas ER com Restries Estruturais (min,max)

I Dada uma descrio narrativa dos requisitos:


I Os substantivos do texto tendem a originar nomes de tipos
de entidade.
I Os verbos tendem a indicar nomes de tipos de
relacionamento.
I Nomes de atributos surgem de substantivos adicionais
que descrevem os substantivos correspondentes aos tipos de
entidade.
Diagrama de classe UML Atividade

I Ler Apndice A [Navathe, 2005]: Notaes Diagramticas


Opcionais para Modelos ER.

Perguntas?

FIM