Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento...

11
Modelagem de Dados: Usando o Modelo Entidade-Relacionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto [email protected] www.decom.ufop.br/luiz Roteiro Posicionamento Modelagem de Dados: Usando o Modelo Entidade-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

Transcript of Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento...

Page 1: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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

Page 2: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 3: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 4: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 5: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 6: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 7: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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

Page 8: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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.

Page 9: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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

Page 10: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

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)

Page 11: Roteiro - DECOM-UFOP · Modelagem de Dados: Usando o Modelo Entidade-Relacionamento LuizHenriquedeCamposMerschmann DepartamentodeComputação UniversidadeFederaldeOuroPreto

Diagrama de classe UML Atividade

I Ler Apêndice A [Navathe, 2005]: “Notações DiagramáticasOpcionais para Modelos ER”.

Perguntas?

FIM