Upload
vuongtram
View
226
Download
0
Embed Size (px)
Citation preview
Modelagem de Dados: Usando o ModeloEntidade-Relacionamento
Luiz Henrique de Campos MerschmannDepartamento de Computação
Universidade Federal de Ouro Preto
[email protected]/luiz
Roteiro
Posicionamento
Modelagem de Dados: Usando o ModeloEntidade-Relacionamento
Uma Aplicação Exemplo de Banco de Dados
Tipos de Entidade, Conjuntos de Entidade e Atributos-Chave
Tipos de Relacionamento, Funções e Restrições Estruturais
Tipo de Entidade Fraca
BCC321 - Banco de Dados I
Ementa
1. Conceitos básicos 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 básicos e restrições de
integridade.5. Linguagens: álgebra e cálculo relacional.6. A linguagem SQL e o uso de APIs.7. Projeto de banco de dados.8. Normalização de banco de dados.9. Noções de processamento de transações, concorrência e
recuperação de falhas.10. Aspectos de implementação de banco de dados.
Processo de Projeto de Banco de Dados
EMPRESA: Exemplo de uma Aplicação de Bancode Dados
Descrição do “minimundo”I A empresa está organizada em departamentos.
I Cada depto tem um nome exclusivo, um número exclusivo eum funcionário que o gerencia.
I Temos a data que cada funcionário começou a gerenciar odepto.
I O depto pode ter diversas localizações.I Um depto controla um número qualquer de projetos.
I Cada projeto tem um nome exclusivo, um número exclusivoe uma única localização.
EMPRESA: Exemplo de uma Aplicação de Bancode Dados
Descrição do “minimundo”I Armazenamos o nome de cada funcionário, o número do
cpf, endereço, salário, sexo e data de nascimento.I Um funcionário está alocado a um depto, mas pode
trabalhar em diversos projetos que não são controlados,necessariamente, pelo mesmo depto.
I Controlamos o número de horas semanais que o funcionáriotrabalha em cada projeto.
I Controlamos o supervisor direto de cada funcionário.I Queremos ter o controle dos dependentes de cada
funcionário.I Guardamos o primeiro nome, sexo, data de nascimento e o
seu parentesco com o funcionário.
Diagrama do Esquema ER para o Banco de Dados EMPRESA Entidades e Atributos
Entidades e AtributosI Entidade: objeto básico que o modelo ER representa
(“algo” do mundo real).I Atributos: propriedades particulares que descrevem a
entidade.
Tipos de Atributos
I Simples versus Composto.
I Univalorado versus Multivalorado.
I Armazenado versus Derivado.
Atributos Simples (Atômicos) versus Compostos
I Simples (atômicos): não são divisíveis.I Compostos: podem ser divididos em subpartes menores.
I Exemplos:I atributo Endereço pode ser subdividido em EndereçoRua,
Cidade, Estado e CEP.I atributo Nome pode ser subdividido em PrimeiroNome e
Sobrenome.
Atributos Monovalorados versus Multivalorados
I Monovalorados: têm um valor único para uma dadaentidade.
I Ex.: Idade é um atributo monovalorado de uma pessoa.I Multivalorados: podem ter um conjunto de valores para a
mesma entidade.I Ex.: Titulação – pessoas podem ter mais de um título
acadêmico.I Um atributo multivalorado pode ter limites inferior e
superior para restringir o número de valores permitidos paracada entidade.
Atributos Armazenados versus Derivados
I Dois ou mais valores de atributos estão relacionados.I Ex.: os atributos Idade e DataNascimento de uma
pessoa. O valor de Idade (atributo derivado) pode serdeterminado a partir do valor de DataNascimento(atributo armazenado).
I Valores de atributos derivados de entidades relacionadas.Ex.: atributo NumerodeFuncionários, de uma entidadedepartamento, derivado da contagem do número defuncionários que trabalham nesse departamento.
Atributos
I Atributos Complexos = atributos compostos emultivalorados.{EndereçoFone( {Fone(CodigoArea,NumeroFone)} ,Endereço(EndereçoRua(Numero,Rua,Apartamento),Cidade,Estado,CEP))}
I Valores Nulls (Nulos):I Entidade não tem um valor aplicável a um atributo. Ex.:
atributo Apartamento.I Não se conhece o valor de um atributo para uma entidade.
Tipos de Entidade e Conjuntos de EntidadeI 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 coleção de todas as entidades deum tipo de entidade em particular.
Tipos de Entidade e Conjuntos de Entidade
I Nos diagramas ER:I Um tipo de entidade é representado como uma caixa
retangular (incluindo seu nome).I Os nomes dos atributos são colocados em elipses e
conectados ao seu tipo de entidade por linhas retas.I Os atributos multivalorados são identificados por elipses
duplas.
DEPARTAMENTO
Nome
NumeroLocalizacoes
Numero_funcionarios
Atributo-chave de um Tipo de Entidade
I Uma restrição das entidades é a chave (restrição deexclusividade).
I Atributo cujos valores são distintos para cada uma dasentidades.
I Ex.: atributo Nome para o tipo de entidade EMPRESA.I Ex.: atributo CPF para o tipo de entidade
FUNCIONARIO.I Diversos atributos formando uma chave (chave composta):
a combinação dos valores dos atributos deve ser distintapara cada entidade.
I Ex.: atributo Registro(NumeroRegistro,Estado) é umachave composta para o tipo de entidade CARRO. Nenhumdos dois atributos componentes simples(NumeroRegistro,Estado), sozinho, é uma chave.
I Na notação diagramática ER, cada atributo-chave tem seunome sublinhado dentro da elipse.
Domínio de um Atributo
I Conjunto de valores válidos que podem ser atribuídos a umatributo para cada entidade.
I Exemplo:I Tipo de entidade FUNCIONARIO – atributo Idade:
conjunto de números inteiros entre 16 e 70.I Tipo de entidade FUNCIONARIO – atributo Nome:
conjunto de strings de caracteres alfabéticos, separados porcaracteres de espaço.
I Os domínios dos atributos não são mostrados nosdiagramas ER.
Projeto Conceitual Inicial do Banco de DadosEMPRESA
DEPARTAMENTONome, Numero, {Localizacoes}, Gerente, DataInicioGerencia
PROJETONome, Numero, Localizacao, DepartamentoControle
FUNCIONARIONome(Pnome,Minicial,Unome), Cpf, Sexo, Endereco, Salario,
Datanasc, Departamento, Supervisor,{Trabalha_Para(Projeto,Horas)}
DEPENDENTEFuncionário, NomeDependente, Sexo, Data_nascimento,
Parentesco
Refinando o Projeto Conceitual Inicial
I O projeto conceitual apresentado até aqui ainda não estáfinalizado.
I O modelo ER possui três conceitos:I Entidades.I Atributos.I Relacionamentos.
I Ele será refinado após a apresentação do conceito derelacionamento.
I Alguns aspectos dos requisitos serão representados comorelacionamentos.
Relacionamentos
I Associações entre duas ou mais entidades distintas com umsignificado.
I Exemplos:I FUNCIONARIO José Trabalha_em PROJETO Beta.
I FUNCIONARIO Manoel Gerencia DEPARTAMENTOFinanças.
I DEPARTAMENTO Pessoal Controla PROJETO Crescer.
Tipo de Relacionamento
I Define um conjunto de associações (relacionamentos) entren tipos de entidade E1, E2, . . . , En.
I Matematicamente, um tipo de relacionamento R é umconjunto de (instâncias de) relacionamentos ri, em que cadari associa-se a n entidades individuais (e1, e2, . . . , en) e cadaentidade ej pertence a um tipo de entidade Ej .
I ri = (e1, e2, . . . , en)I R ∈ E1 × E2 × . . .× En
I Diagrama ER:
FUNCIONARIO TRABALHA PARA
DEPARTAMENTO
Tipo de relacionamento TRABALHA_PARA
Grau de um Tipo de Relacionamento
I É o número de tipos de entidade que participam dorelacionamento.
I Exemplos:I Relacionamento TRABALHA_PARA é de grau dois
(binário).I A seguir, um exemplo de relacionamento de grau três
(ternário).
Nomes de Função e Relacionamentos Recursivos
I Cada tipo de entidade que participa de um tipo derelacionamento executa uma função.
I Significado da função é dado por um nome, atribuído acada tipo de entidade.
I Exemplo:I No tipo de relacionamento TRABALHA_PARA,
FUNCIONARIO executa a função de trabalhador, eDEPARTAMENTO desempenha a função de empregador.
Nomes de Função e Relacionamentos Recursivos
I O mesmo tipo de entidade pode participar mais de umavez em um tipo de relacionamento em funções diferentes→ relacionamento recursivo.
I Exemplo:
Restrições em Tipos de Relacionamento
I Limitam a possibilidade de combinações de entidades quepodem participar no conjunto de relacionamentos.
I Exemplo: Cada funcionário tem que trabalhar paraexatamente um departamento.
I Tipos de restrições:I Razão de Cardinalidade: especifica o número máximo de
instâncias de relacionamento em que uma entidade podeparticipar1.
I Ex.: relacionamento binário TRABALHA_PARA,DEPARTAMENTO:FUNCIONARIO tem razão decardinalidade 1:N.
I Razões de cardinalidade possíveis: 1:1, 1:N, N:1, M:N.
1válido para um relacionamento binário
Relacionamento GERENCIA, 1:1 Relacionamento TRABALHA_EM, M:N
Restrições em Tipos de RelacionamentoI Tipos de restrições:
I Participação: determina o número mínimo de instânciasde relacionamento em que cada entidade pode participar(restrição de cardinalidade mínima).
I Tipos de restrições de participação:I Total (dependência de existência). Ex.: Todo funcionário
deve TRABALHAR_PARA um departamento.Uma entidade funcionário pode existir apenas se participarde, pelo menos, uma instância de relacionamentoTRABALHA_PARA.
I Parcial. Ex.: Nem todo funcionário GERENCIA umdepartamento.
I Razão de Cardinalidade + Restrição de Participação ⇒Restrições Estruturais.
I Nos diagramas ER: participação total (linha dupla) eparticipação parcial (linha simples).
FUNCIONARIO DEPARTAMENTOGERENCIA
Atributos de Tipos de Relacionamento
I Um tipo de relacionamento também pode ter atributos.I Exemplo: atributo Horas para o tipo de relacionamento
TRABALHA_EM.I Número de horas que um FUNCIONARIO trabalhou em
um PROJETO.I O valor do atributo Horas depende de uma combinação
particular (funcionário,projeto).I Para tipos de relacionamento M:N, atributos determinados
pela combinação de entidades participantes de umainstância de relacionamento devem ser especificados comoatributos de relacionamento.
I Para um tipo de relacionamento 1:N, um atributo dorelacionamento pode ser migrado para o tipo de entidadedo lado N do relacionamento.
Atributos de Tipos de Relacionamento
I Atributo de um tipo de relacionamento no diagrama ER:
FUNCIONARIO DEPARTAMENTOGERENCIA
DataInicio
Tipo de Entidade Fraca
I Tipos de entidade que não tem seus própriosatributos-chave.
I As entidades são identificadas por meio do relacionamentocom entidades de outro tipo de entidade (chamado de tipode entidade identificador), juntamente com os valores dealguns atributos (chave parcial).
I Chave parcial: é um conjunto de atributos que identifica, demodo exclusivo, as entidades fracas que estão relacionadasa uma mesma entidade proprietária.
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 Notação para Diagramas ER
Notação para Diagramas ER Diagramas ER e Convenções de Nomenclatura
I Escolher nomes que carreguem, o tanto quanto possível, ossignificados dos diferentes construtores do esquema.
I Usar nomes no singular para os tipos de entidade.I Usar letras maiúsculas para os tipos de entidade e tipos
de relacionamento.I Usar a primeira letra maiúscula para os nomes dos
atributos.I Usar letras minúsculas para os nomes dos papéis.
Como Prática Geral...
I Dada uma descrição 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 deentidade.
Diagramas ER com Restrições Estruturais (min,max)
Diagrama de classe UML Atividade
I Ler Apêndice A [Navathe, 2005]: “Notações DiagramáticasOpcionais para Modelos ER”.
Perguntas?
FIM