apostila modelo er (entidade relacionamento)

42
Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER Ricardo Terra rterrabh [at] gmail.com Modelo ER 1

Upload: ricardo-terra

Post on 15-Jul-2015

528 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009

Modelo ER

Ricardo Terra rterrabh [at] gmail.com

Modelo ER 1

Page 2: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009

CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh Lattes: lattes.cnpq.br/ 0162081093970868

Ph.D. (UFMG/UWaterloo), Post-Ph.D. (INRIA/Université Lille 1)

Background Acadêmico: UFLA (desde 2014), UFSJ (1 ano), FUMEC (3 anos), UNIPAC (1 ano), FAMINAS (3 anos)

Profissional: DBA Eng. (1 ano), Synos (2 anos), Stefanini (1 ano)

Modelo ER 2

Page 3: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 3

Modelo ER

n  Vamos estudar o modelo ER, descrito no trabalho original de Chen e estendido por outros. A forma simples do modelo ER é utilizada como base para a comunicação eficaz com o usuário final sobre o banco de dados conceitual.

n  Nesta apresentação, veremos os conceitos básicos e, mais no final, os conceitos mais avançados, embora sejam menos aceitos, eles são úteis para descrever determinadas semânticas que não podem ser construídas com o modelo simples.

n  Existem notações para o uso do modelo ER. Aprenderemos a notação de Chen com algumas customizações, porém existem notações populares como a notação “pé de galinha” e a notação IDEFIX.

Page 4: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 4

Construtores fundamentais do ER

n  O modelo ER básico consiste nas seguintes três classes de objetos: q  Entidades q  Relacionamentos q  Atributos

Page 5: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 5

Entidades

n  Entidades são os principais objetos de dados sobre os quais informações devem ser coletadas; elas normalmente representam uma pessoa, lugar, coisa ou evento de interesse informativo.

n  Um ocorrência específica de uma entidade é chamada de instância da entidade ou ocorrência da entidade.

n  Os nomes de entidade sempre devem ser colocados em letras maiúsculas. q  Caso seja uma palavra composta, a separação deverá ocorrer com um hífen (-)

entre as palavras. n  Ex.: PLANO-CARGO, ESTADO-CIVIL, etc.

Page 6: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 6

Entidades

n  As entidades são representadas por um retângulo cujo nome da entidade é escrito no SINGULAR em seu interior.

n  Abaixo, funcionário, departamento, setor, projeto, habilidade e local são exemplos de entidades.

Page 7: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 7

Relacionamentos

n  As entidades são somente interligadas por relacionamentos.

n  Os relacionamentos representam associações do mundo real entre uma ou mais entidades.

n  Os relacionamentos são representados por um losango cujo ação de ligação é escrita em seu interior. q  Caso seja um ação contendo mais de uma palavra, a separação deverá ocorrer

com um hífen (-) entre as palavras.

Page 8: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 8

Relacionamentos

n  Cardinalidade (conectividade) de um relacionamento q  Deve ser expresso o número de instâncias da entidade que podem participar do

relacionamento.

q  As seguintes cardinalidades são utilizadas: n  1:1 n  1:N n  N:N

q  Veremos em detalhes cada uma destas.

q  Existe o conceito de grau de um relacionamento que indica o número de entidades associadas ao relacionamento. n  Relacionamentos binários e ternários são casos especiais em que os graus são 2 e 3,

respectivamente. A fórmula geral é dizer relacionamento n-ário.

Page 9: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 9

Relacionamentos

n  Antes é importante definir os seguintes conceitos: q  Chave primária

n  Atributo especial que é capaz de identificar uma instância da dada entidade de maneira única. q  Ex.: Atributo matricula para a entidade ALUNO.

q  Chave candidata n  Atributo especial que, como a chave primária, também é único e é capaz de identificar

uma instância da dada entidade de maneira única, porém não foi “eleito” como chave primária. q  Ex.: Atributo rg ou cpf para a entidade ALUNO.

q  Chave estrangeira n  Atributo que corresponde a chave primária de uma outra entidade.

q  Ex.: Atributo cod-curso na entidade ALUNO. §  Corresponde a chave primária da entidade CURSO.

Page 10: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 10

Relacionamentos

n  Relacionamento 1:1 q  Determinada instância da entidade A é associada com uma, e somente uma,

instância da entidade B.

q  Um estado é governado por um governador. q  um governador governa um estado.

Page 11: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 11

Relacionamentos

n  Resolução de um relacionamento 1:1 q  A ligação é feita repetindo-se a chave primária de qualquer uma das entidades na

outra.

GOVERNADOR = cod-governador + nome-governador + cod-estado ESTADO = cod-estado + nome-estado

ou

GOVERNADOR = cod-governador + nome-governador ESTADO = cod-estado + nome-estado + cod-governador

Page 12: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 12

Relacionamentos

n  Relacionamento 1:N q  Determinada instância da entidade A é associada com uma ou mais instâncias da

entidade B. Cada instância da entidade B é associada a uma única instância da entidade A.

q  Um departamento lota diversos funcionários. q  Um funcionário está lotado em um único departamento.

Page 13: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 13

Relacionamentos

n  Resolução de um relacionamento 1:N q  A ligação é feita repetindo-se a chave primária da entidade com grau 1 para a

entidade de grau N.

DEPARTAMENTO = cod-depto + nome-departamento FUNCIONÁRIO = ctps + nome + cod-depto

Page 14: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 14

Relacionamentos

n  Relacionamento N:N q  Determinada instância da entidade A é associada com uma ou mais instâncias da

entidade B e vice-versa.

q  Um fornecedor fornece várias peças. q  Uma peça é fornecida por vários fornecedores.

Page 15: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 15

Relacionamentos

n  Resolução de um relacionamento N:N q  A ligação é feita criando uma entidade própria, conhecida como entidade-

relacionamento. q  Esta entidade-relacionamento possuirá a chave primária de ambas as

entidades como sendo a sua chave primária composta. Veremos que ela poderá, ainda, ter atributos descritivos.

PEÇA = cod-peça, descricao FORNECEDOR = cod-fornecedor + cnpj + razao-social PEÇA-FORNECEDOR = cod-peça + cod-fornecedor + preço

Page 16: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 16

Relacionamentos

n  Semântica do relacionamento:

Page 17: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 17

Atributos

n  Atributos são características de entidades que oferecem detalhes descritivos sobre elas. q  Em síntese, são as informações que se deseja armazenar sobre uma entidade.

n  Um ocorrência específica de um atributo dentro de uma entidade é chamada de valor de atributo.

n  Entende-se por domínio de um atributo como o conjunto formado pelos valores válidos que um atributo pode assumir. q  Ex.:

n  sexo pode ser ‘M’ ou ‘F’ n  matrícula pode ser de 1 a 9999

Page 18: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 18

Atributos

n  Os nomes de atributos sempre devem ser colocados em letras minúsculas. q  Assim como no nome de entidades e de relacionamentos, caso seja uma palavra

composta, a separação deverá ocorrer com um hífen (-) entre as palavras. n  Ex.: nome-completo, descrição-curta, titulo-eleitor, etc.

n  Os atributos são representados por uma elipse cujo nome do atributo é escrito em seu interior e conectado à entidade que ele caracteriza.

Page 19: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 19

Atributos

n  Existem dois tipos de atributos: identificadores e descritores. q  Um identificador (ou atributo-chave) é usado para determinar exclusivamente

uma instância de uma entidade. n  Uma entidade pode ter mais de um atributo-chave. Isto ocorre quando é chave é

composta. n  Um atributo-chave é sublinhado no modelo e, geralmente, destacado em negrito.

q  Um descritor (ou atributo não-chave) é usado para especificar uma característica não-exclusiva de determinada instância da entidade.

Page 20: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 20

Atributos

n  Existem ainda tipos de atributos que podem ser utilizados: q  Atributo derivado: É um atributo que deriva de outros atributos. É representada

pelo tracejado na elipse do atributo. n  Ex.: Idade seria um atributo derivado se existir um atributo data-nascimento.

q  Atributo multivalorado: É um atributo que pode ter mais de um valor para cada instância de entidade. Isto não deve ser utilizado, pois este caso se resolve com a criação de uma nova entidade. É representada por uma linha dupla na elipse do atributo. n  Ex.: Telefones, enderecos, habilidades poderiam ser exemplos de atributos

multivalorados.

q  Atributos composto: É um atributo composto de outros. Isto também não deve ser utilizado, pois é recomendável que todos os atributos sejam atômicos.

Page 21: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 21

Atributos

n  Um exemplo com todos os atributos seria assim:

Page 22: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 22

Um pouco mais

n  Visto já a base do modelo ER, vamos aprofundar um pouco vendo alguns conceitos importantes: q  Mais de um relacionamento entre duas entidades q  Participação de uma entidade em um relacionamento q  Relacionamento entre mais de duas entidade

n  Relacionamento ternário q  Auto-relacionamento q  Entidade Relacionamento q  Entidade Fraca q  Generalização e Especialização

Page 23: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 23

Mais de um relacionamento entre duas entidades

n  Um entidade pode se relacionar em mais de uma maneira com uma outra entidade.

q  Um funcionário está lotado em um departamento. q  Um departamento tem lotado vários funcionários. q  Um funcionário chefia um departamento. q  Um departamento é chefiado por um funcionário.

Page 24: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 24

Participação de uma entidade em um relacionamento

n  A relação de participação especifica se a existência de uma dada entidade depende de seu relacionamento com uma outra entidade ou não.

n  A participação de uma ocorrência de entidade em um relacionamento pode ser definida como obrigatória ou opcional. q  Se a linha de conexão entre a entidade e o relacionamento for simples, este

relacionamento é opcional. q  Se for dupla, a existência da entidade está associada a existência deste

relacionamento.

Page 25: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 25

Participação de uma entidade em um relacionamento

q  Um funcionário deve estar lotado em um departamento. q  Um departamento tem lotado vários funcionários.

q  Um aluno deve estudar em pelo menos um curso. q  Um curso deve possuir pelo menos um aluno.

Page 26: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 26

Relacionamento entre mais de duas entidade

n  Como visto, o relacionamento binário é o mais comum, porém um relacionamento pode ocorrer entre mais de uma entidade. Na maioria dos casos que o relacionamento não é binário, este é terciário.

q  Um técnico usa exatamente um notebook para cada projeto. q  Cada notebook pertence a um técnico para cada projeto. q  Um técnico ainda pode trabalhar em muitos projetos e manter diferentes

notebooks para diferentes projetos.

Page 27: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 27

Relacionamento entre mais de duas entidade

q  Cada funcionário atribuído a um projeto trabalha em apenas um local para esse projeto, mas pode estar em diferentes locais para diferente projetos.

q  Em determinado local, um funcionário trabalha em apenas um projeto. q  Em um local específico, pode haver muitos funcionários atribuídos a determinado

projeto.

Page 28: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 28

Auto-relacionamento

n  Não há nada que impede uma entidade se relacionar com ela mesmo. Este relacionamento é igual aos outros, porém, na maioria dos casos, faz-se necessária a atribuição de um papel para cada extremidade do relacionamento.

q  Um gerente gerencia vários subordinados. q  Um subordinado é gerenciado por um único gerente.

Page 29: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 29

Entidade Relacionamento

n  Em relacionamentos N:N e em alguns relacionamentos ternários, ocorrem situações em que existe a necessidade de um atributo ser associado ao relacionamento entre elas.

n  Neste caso, o relacionamento se tornará uma Entidade Relacionamento, que é simbolizada por uma entidade com um retângulo interno.

Page 30: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 30

Entidade Relacionamento

n  Um exemplo pode ser observado abaixo. O atributo preço não pertence ao fornecedor, nem tampouco, à peça, mas sim, ao fornecedor para uma determinada peça.

n  Portanto, o atributo preço pertence ao relacionamento e não às entidades envolvidas.

q  Um fornecedor fornece várias peças. q  Uma peça é fornecida por vários fornecedores. q  Uma peça vinculada a um fornecedor possui um preço.

Page 31: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 31

Entidade Fraca

n  Uma entidade é fraca quando a sua existência está condicionada a existência de uma outra entidade (conhecida como entidade “pai”).

n  Ela não possui um identificador que determine exclusivamente uma instância de sua entidade. Elas derivam sua identidade do identificador da entidade “pai”. q  Em outras palavras, sua chave primária é composta pela chave primária da

entidade “pai” e por pelo menos um atributo da entidade fraca.

n  Um entidade fraca é representada como uma entidade, porém com borda dupla, o que indica que todas as ocorrências desta entidade dependem da associação com pelo menos uma ocorrência da entidade “pai”.

Page 32: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 32

Entidade Fraca

n  Um exemplo pode ser observado abaixo. Um titular de uma locadora possui vários dependentes, mas o dependente só existe pela existência de um titular (o que é uma participação obrigatória).

n  Porém, o detalhe está em que o dependente é identificado pela matrícula do titular juntamente com seu número de cpf.

Solução: TITULAR = matricula + nome + ... DEPENDENTE = matricula-titular + cpf + nome

Page 33: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 33

Generalização e Especialização

n  O modelo ER extendido engloba todos os conceitos do modelo ER mais os conceitos de generalização, especialização, subtipo, supertipo e o conceito de herança de atributos.

n  Em muitos casos, uma entidade possui diversos subgrupos adicionais de entidades que são significativas e precisam ser representadas explicitamente devido ao seu significado à aplicação de banco de dados.

n  Para isto o modelo ER foi extendido e criada uma representação para generalização e especialização.

n  Vamos entender melhor isto a partir de um exemplo.

Page 34: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 34

Generalização e Especialização

n  A especialização define-se como a ação de especializar entidades q  EMPREGADO pode ser especializado como ENGENHEIRO ou

SECRETÁRIA.

n  A generalização define-se como a ação de generalizar entidades. q  Uma entidade ENGENHEIRO ou SECRETÁRIA serem generalizados como

a uma entidade EMPREGADO.

n  Os subtipos de uma entidade “pai” são as suas especializações. q  ENGENHEIRO e SECRETÁRIA são subtipos de EMPREGADO.

n  O supertipo de um subtipo é a entidade “pai”, que seria a genérica. q  EMPREGADO é supertipo de ENGENHEIRO e SECRETÁRIA.

n  A herança de atributos é a ação dos subtipos herdarem todos os atributos do supertipo.

Page 35: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 35

Generalização e Especialização

n  Para começar, o que poderia ser melhorado neste modelo ER:

Page 36: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 36

Generalização e Especialização

Supertipo tipo genérico

Subtipos tipos especializados

Page 37: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 37

Generalização e Especialização

n  Observe algumas situações: q  um empregado pode ser um empregado simples, um engenheiro ou uma

secretária. q  o projeto se relaciona com um engenheiro, e não, com um empregado. q  um empregado, independente de qual, deve ser liderado por um engenheiro.

Page 38: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 38

Generalização e Especialização

n  E se eu desejasse modelar uma situação em que um empregado deva ser engenheiro ou secretária, isto é, ele deve ser um dos subtipos. q  Basta utilizar a linha dupla para obrigar o relacionamento com o subtipo.

observe

Page 39: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 39

Generalização e Especialização

n  Em todos os exemplos anteriores utilizamos o símbolo abaixo para indicar a herança.

n  Isto indica uma disjunção em que uma entidade deve ser um dos subtipos, porém existe a sobreposição em que uma entidade pode ser mais de um dos subtipos ao mesmo tempo e é simbolizada como abaixo:

n  Vamos ver alguns exemplos de sobreposição nos próximos slide.

Page 40: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 40

Generalização e Especialização

n  Uma peça deve ser uma peça manufaturada ou uma peça torneada ou tanto uma quanto outra.

Page 41: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 41

Generalização e Especialização

n  Exemplo de mais de uma especialização (herança múltipla) para uma mesma entidade e de mais de um nível de herança.

Page 42: Apostila Modelo ER (Entidade Relacionamento)

Ricardo Terra (rterrabh [at] gmail.com) Março, 2009 Modelo ER 42

Referência Bibliográfica

n  ELMASRI, R. E; NAVATHE, S. Sistemas de banco de dados. São Paulo: Addison Wesley, 2005.

n  TEOREY, T; LIGHTSTONE, S; NADEAU, T. Projeto e Modelagem de banco de dados. Rio de Janeiro: Elsevier, 2007.