ABORDAGEM
ENTIDADE-RELACIONAMENTO
M. Sc. Edgar Gurgel
2
Agenda
Introduo Entidade Relacionamento Atributo Generalizao / Especializao Entidade Associativa Esquemas Grficos e Textuais de modelos ER
3
Introduo
w A primeira etapa do projeto de um banco de dados a construo de um modelo conceitual, a chamada modelagem conceitual. w O objetivo da modelagem conceitual obter uma descrio abstrata, independente de implementao em computador, dos dados que sero armazenados no BD. w A tcnica de modelagem de dados mais difundida e utilizada a abordagem entidade-relacionamento (ER). w Nesta tcnica, o modelo de dados representado atravs de um modelo entidade-relacionamento (modelo ER).
4
Introduo
w Usualmente, um modelo ER representado graficamente, atravs de um diagrama entidade-relacionamento (DER). w A abordagem ER foi criada em 1976 por Peter Chen e hoje, pode ser considerada como um padro de fato para modelagem conceitual. w Mesmo as tcnicas de modelagem OO, que tm surgido recentemente, baseiam-se nos conceitos da abordagem ER.
5
Entidade
w Uma entidade representa um conjunto de objetos da realidade modelada. w Como o objetivo de um modelo ER modelar de forma abstrata um BD, interessam-nos somente os objetos sobre os quais deseja-se manter informaes. w Uma entidade pode representar tanto objetos concretos da realidade (pessoa, automvel, ...), quanto objetos abstratos (departamento, compra, ...).
6
Entidade
w Caso seja necessrio referir um objeto particular, fala-se em ocorrncia ou instncia de entidade. w Em um DER, uma entidade representada atravs de um retngulo que contm o nome da entidade.
ENTIDADE =
Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informaes no banco de dados.
PESSOA DEPARTAMENTO
7
Relacionamento
w Alm de especificar os objetos sobre os quais deseja-se manter informaes, o modelo ER deve permitir a especificao das propriedades dos objetos que sero armazenados no BD. w Uma das propriedades sobre as quais pode ser desejvel manter informaes a associao entre objetos.
RELACIONAMENTO =
Conjunto de associaes entre entidades.
8
Relacionamento
w Em um DER, um relacionamento representado atravs de um losango, ligado por linhas s entidades que participam do relacionamento.
w Este modelo expressa que o BD contm: n Conjunto de objetos classificados como pessoas; n Conjunto de objetos classificados como departamentos; e n Conjunto de associaes, cada uma ligando um departamento
a uma pessoa.
PESSOA DEPARTAMENTO LOTAO
9
Relacionamento
w Caso seja necessrio referir uma associao particular dentro de um conjunto, fala-se em ocorrncia ou instncia de relacionamento, formado por um par especfico de ocorrncias de entidades. w Isto pode ser facilmente visualizado atravs de um Diagrama de Ocorrncias.
Entidade PESSOA
Relacionamento LOTAO
Entidade DEPARTAMENTO
p1 p2
p3 p4
p5
p6 p7
d1
d2
d3
p1, d1
p3, d1
p6, d2
p5, d3
10
Relacionamento
w O modelo apresentado permite que: n Uma ocorrncia de entidade no esteja associada a nenhuma
ocorrncia de entidade atravs do relacionamento. Exemplo: a pessoa p2.
n Uma ocorrncia de entidade esteja associada a exatamente uma ocorrncia de entidade atravs do relacionamento. Exemplo: a pessoa p1.
n Uma ocorrncia de entidade esteja associada a mais de uma ocorrncia de entidade atravs do relacionamento. Exemplo: o departamento d1.
11
Auto-Relacionamento
w No necessariamente um relacionamento associa entidades diferentes. w Um DER pode conter um auto-relacionamento, isto , um relacionamento entre ocorrncias de uma mesma entidade. w Neste caso, necessrio um conceito adicional, o de papel da entidade no relacionamento. w O papel de uma entidade em um relacionamento define que funo uma instncia da entidade cumpre dentro de uma instncia do relacionamento.
12
Auto-Relacionamento
PESSOA CASAMENTO Marido Esposa
Relacionamento CASAMENTO
p1, p3
p6, p8
Entidade PESSOA
p1
p2 p3 p4
p8
p6 p7
p5 marido
esposa
marido
esposa
Diagrama de Ocorrncias
13
Cardinalidade
w Para fins de projeto de banco de dados, uma propriedade importante de um relacionamento a de quantas ocorrncias de uma entidade podem estar associadas a uma determinada ocorrncia atravs do relacionamento. w Esta propriedade chamada de cardinalidade de uma entidade em um relacionamento.
14
Cardinalidade
CARDINALIDADE (MNIMA, MXIMA) DE ENTIDADE DE RELACIONAMENTO
= Nmero (mnimo, mximo) de ocorrncias de entidade associadas a uma ocorrncia da entidade em questo atravs do relacionamento
w H duas cardinalidades a considerar: n cardinalidade mxima; n cardinalidade mnima.
15
Cardinalidade Mxima
PESSOA DEPARTAMENTO LOTAO 1 n
Expressa que a uma ocorrncia de PESSOA pode estar associada
ao mximo uma (1) ocorrncia de DEPARTAMENTO.
Expressa que a uma ocorrncia de DEPARTAMENTO podem estar associadas
muitas (n) ocorrncias de PESSOA.
w Apenas duas cardinalidades mximas so relevantes: n A cardinalidade mxima 1; n A cardinalidade mxima muitos, referida pela letra n.
16
Relacionamentos Binrios
w A cardinalidade mxima pode ser utilizada para classificar relacionamentos binrios. w Um relacionamento binrio aquele cujas ocorrncias contm duas ocorrncias de entidade. w Classificao dos relacionamento binrios:
n n:n (muitos-para-muitos); n 1:n (um-para-muitos); n 1:1 (um-para-um);
17
Relacionamentos Binrios
MESA EMPREGADO ALOCAO 1 1
CURSO ALUNO INSCRIO n 1
PESSOA
CASAMENTO
1 1
Esposa Marido
EMPREGADO
SUPERVISO
n 1 Supervisionado Supervisor
18
Relacionamentos Binrios
PROJETO ENGENHEIRO ALOCAO n n
PRODUTO
COMPOSIO
n n Componente Composto
PACIENTE MDICO CONSULTA n n
FORNECEDOR PEA PRODUO n n
19
Relacionamentos Ternrios
w A abordagem ER permite que sejam definidos relacionamentos de grau maior do que dois (ternrios, quaternrios, ...).
DISTRIBUIDOR
PRODUTO
DISTRIBUIO
n 1
CIDADE
n
20
Relacionamentos Ternrios
w O 1 na linha que liga DISTRIBUIDOR ao relacionamento expressa que cada par de ocorrncias (cidade, produto) est associado no mximo a um distribuidor. w A um par (cidade, distribuidor) podem estar associados muitos produtos, isto , um distribuidor pode distribuir em uma cidade muitos produtos. w A um par (produto, distribuidor) podem estar associadas muitas cidades, isto , um distribuidor pode distribuir um produto em muitas cidades.
21
Cardinalidade Mnima
w Alm da cardinalidade mxima, uma outra informao que pode ser representada por um modelo ER o nmero mnimo de ocorrncias de entidade que so associadas a uma ocorrncia de uma entidade atravs de um relacionamento (cardinalidade mnima). w Para fins de projeto de BD, consideram-se apenas duas cardinalidades mnimas:
n A cardinalidade mnima 0; e n A cardinalidade mnima 1.
22
Cardinalidade Mnima
w A cardinalidade mnima 1 tambm recebe a denominao de associao obrigatria, j que ela indica que o relacionamento deve obrigatoriamente associar uma ocorrncia de entidade a cada ocorrncia de entidade em questo. w Com base na mesma linha de raciocnio, a cardinalidade mnima 0 recebe a denominao de associao opcional.
MESA EMPREGADO ALOCAO (0,1) (1,1)
23
Cardinalidade Mnima
w A cardinalidade mnima usada para especificar que cada empregado deve ter a ele alocada obrigatoriamente uma mesa (cardinalidade mnima 1); w E que a mesa pode existir sem que a ela esteja alocado um empregado (cardinalidade mnima 0).
Entidade EMPREGADO
Relacionamento ALOCAO
Entidade MESA
e1
e3
e4
e2
m1
m2
m5
e1, m1
e3, m6
e2, m2
e4, m5 m6
m3
m4
m7
24
Exemplo de um DER
w Um diagrama ER apresentado na forma de um grafo. w A distribuio dos smbolos de DER no papel totalmente arbitrria e no tem maior significado do ponto de vista formal. w Entretanto, para tornar o diagrama mais legvel usual evitar-se cruzamentos de linhas. Para isso, a recomendao geral a de posicionar as entidades que participam de muitos relacionamentos no centro do diagrama.
25
Exemplo de um DER
w Exerccio: deseja-se desenvolver uma parte do modelo de dados de um sistema de controle acadmico de uma universidade fictcia. O modelo descreve o seguinte:
n Deseja-se manter informaes sobre alunos, cursos, disciplinas e departamentos;
n Deseja-se manter informaes sobre a associao de alunos a cursos, de disciplinas a cursos, de disciplinas a departamentos, bem como de disciplinas a suas disciplinas pr-requisitos.
26
Exemplo de um DER
(1,1) CURSO ALUNO INSCRIO
DISC-CURSO DISCIPLINA
RESPONSVEL
DEPARTAMENTO
PR-REQUIS
(1,1)
(0,n)
(0,n)
(0,n) (0,n)
(0,n) (0,n)
liberada liberadora
27
Exemplo de um DER
w Cada disciplina possui exatamente um departamento responsvel e um departamento responsvel por muitas disciplinas, inclusive por nenhuma. w Uma disciplina pode possuir diversos pr-requisitos, inclusive nenhum. Uma disciplina pode ser pr-requisito de muitas outras disciplinas, inclusive de nenhuma. w Uma disciplina pode aparecer no currculo de muitos cursos, inclusive de nenhum e um curso pode possuir muitas disciplinas em seu currculo, inclusive nenhuma. w Um aluno est inscrito em exatamente um curso e um curso pode ter nele inscritos muitos alunos, inclusive nenhum.
28
Atributo
w O modelo ER permite a especificao de propriedades de entidades. w Uma propriedade ter um atributo. w O conceito de atributo serve para associar informaes a ocorrncias de entidades ou de relacionamentos.
ATRIBUTO =
Dado que associado a cada ocorrncia de uma entidade ou de um relacionamento.
29
Atributo
w A figura expressa que cada ocorrncia de PROJETO tem associado exatamente um nome, um cdigo e um tipo. w Dificilmente os atributos so representados graficamente, preferindo a representao textual. w Softwares comerciais encarregam-se do armazenamento da lista de atributos de cada entidade em um Dicionrio de Dados.
PROJETO
Nome Tipo
Cdigo
30
Atributo w Um atributo pode possuir uma cardinalidade, de maneira anloga a uma entidade em um relacionamento. w A cardinalidade de um atributo define quantos valores deste atributo podem estar associados a uma ocorrncia da entidade/relacionamento a qual ele pertence.
n Nome e Cdigo so atributos obrigatrios e monovalorados (1,1).
n Telefone um atributo opcional e multivalorado (0,n).
CLIENTE
Nome Telefone (0,n)
Cdigo
31
Atributo
w Assim como as entidades, tambm relacionamentos podem possuir atributos.
n A funo no pode ser considerada atributo de ENGENHEIRO, j que um engenheiro pode atuar em diversos projetos, exercendo diferentes funes.
n Tambm no atributo de PROJETO, j que, em um projeto, podem atuar diversos engenheiros com funes diferentes.
ENGENHEIRO
Nome
Cdigo
PROJETO
Ttulo
Cdigo
ATUAO
Funo
(0,n) (0,n)
32
Atributo
w Algumas vendas so vista, outras prazo. w Vendas prazo so relacionadas a uma financeira, atravs do relacionamento FINANCIAMENTO. w Os atributos n de parcelas e taxa de juros so atributos do relacionamento.
w Se estes atributos tivessem sido colocados na entidade VENDA, eles deveriam ser opcionais.
FINANCEIRA VENDA FINANCIAMENTO
n de parcelas
(0,1) (0,n)
taxa de juros
33
Identificando Entidades
w Cada entidade deve possuir um identificador. w Um identificador um conjunto de um ou mais atributos (e possivelmente relacionamentos) cujos valores servem para distinguir uma ocorrncia de entidade das demais ocorrncias da mesma entidade.
w O caso mais simples o da entidade que possui um nico atributo como identificador.
PESSOA
Nome
Endereo Cdigo
34
Identificando Entidades
w O exemplo anterior significa que cada pessoa possui um cdigo diferente, mas o mesmo nome (ou o mesmo endereo) pode ser associado a pessoas diferentes
w Neste exemplo, o identificador da entidade composto por diversos atr ibutos. Os corredores so numerados sequencialmente a partir de um e as prateleiras so numeradas sequencialmente a partir de um, dentro de um corredor.
PRATELEIRA
Capacidade
Nmero da Prateleira Nmero do Corredor
35
Identificando Entidades
w Existem casos em que o identificador de uma entidade composto no somente por atributos da prpria entidade, mas tambm por relacionamentos dos quais a entidade participa (Relacionamento Identificador).
w Este modelo expressa que um dependente identificado pelo empregado ao qual ele est relacionado e pelo nmero de seqncia.
POSSUI (1,1) (0,n)
EMPREGADO
cdigo nome
DEPENDENTE
nmero seqncia
nome
36
Identificando Entidades
w Alguns autores dizem que a entidade DEPENDENTE uma entidade fraca. w O termo fraca deriva-se do fato de a entidade somente existir quando relacionada a outra entidade e de usar como parte de seu identificador, entidades relacionadas. w Autores de livros mais recentes preferem no utilizar o conceito, j que as entidades chamadas fracas por este critrio podem, dependendo da realidade modelada, ser centrais a um modelo.
37
Identificando Entidades
(1,1)
(0,n)
GRUPO cdigo
EMPRESA Nmero da Empresa
FILIAL Nmero da Filial
(1,1)
(0,n)
w Ao considerarmos que a maior p a r t e d a s e n t i d a d e s q u e eventualmente comporiam o restante do modelo estariam ligadas a EMPRESA ou FILIAL vemos que a palavra fraca no adequada para o conceito em questo.
38
Identificando Entidades
IDENTIFICADOR DE ENTIDADE =
Conjunto de atributos e relacionamentos cujos valores distinguem uma ocorrncia
da entidade das demais.
w O identificador de uma entidade, seja ele simples, composto por diversos atributos, ou compostos por identificadores externos, deve obedecer duas propriedades:
n O identificador deve ser mnimo; n Cada entidade deve possuir um nico identificador.
39
Identificando Entidades
w O identificador deve ser mnimo: n O identificador de uma entidade deve ser composto de tal
forma que, retirando um dos atributos ou relacionamentos que o compe, ele deixa de ser identificador.
w Cada entidade deve possuir um nico identificador: n Em alguns casos, diferentes conjuntos de atributos podem
servir para distinguir as ocorrncias da entidade e cabe ao modelador decidir qual dos atributos ser usado como identificador da entidade. EMPREGADO
nome endereo cdigo
cpf
40
Identificando Relacionamentos
w Em princpio, uma ocorrncia de relacionamento diferencia-se das demais ocorrncias do mesmo relacionamento pelas ocorrncias de entidades que dela participam.
wEm outras palavras, para cada par (engenheiro, projeto) h no mximo um relacionamento de alocao.
PROJETO ENGENHEIRO ALOCAO n n
41
Identificando Relacionamentos
w Existem casos nos quais entre as mesmas ocorrncias de entidade podem existir diversas ocorrncias de relacionamento. w A diferenciao d-se atravs de atributos identificadores de relacionamento.
PACIENTE MDICO CONSULTA n n
data/hora
42
Generalizao / Especializao
w Alm de relacionamentos e atributos, propriedades podem ser atribudas a entidades atravs do conceito de generalizao / especializao. w Atravs deste conceito possvel atribuir propriedades particulares a um subconjunto das ocorrncias (especializadas) de uma entidade genrica. w No DER, o smbolo para representar generalizao / especializao um tringulo issceles.
43
Generalizao / Especializao
PESSOA FSICA
sexo cpf
FILIAL (1,1) (0,n) CLIENTE nome cdigo
cgc
PESSOA JURDICA
tipo de organizao
44
Generalizao / Especializao
w Associada ao conceito de generalizao / especializao est a idia de herana de propriedades. w Herdar propriedades significa que cada ocorrncia da entidade especializada possui, alm de suas prprias propriedades(atributos, relacionamentos e generalizaes/especializaes), tambm as propriedades da ocorrncia da entidade genrica correspondente. w A generalizao / especializao pode ser classificada em dois tipos: total e parcial, de acordo com a obrigatoriedade ou no de a cada ocorrncia da entidade genrica corresponder uma ocorrncia da entidade especializada.
45
Generalizao / Especializao
w Em uma generalizao/especializao total, para cada ocorrncia da entidade genrica existe sempre uma ocorrncia em uma das entidades especializadas.
PESSOA FSICA
CLIENTE
PESSOA JURDICA
t
A toda ocorrncia d a e n t i d a d e C L I E N T E corresponde uma ocorrncia em uma das especializaes.
Indica que todo CLIENTE ou PESSOA FSICA o u P E S S O A JURDICA
46
Generalizao / Especializao
w Em uma generalizao/especializao parcial, nem toda ocorrncia de entidade genrica possui uma ocorrncia correspondente em uma entidade especializada.
MOTORISTA
FUNCIONRIO
SECRETRIA
p Tipo de
funcionrio
Indica que nem todo FUNCIONRIO MOTORISTA ou SECRETRIA
Usualmente, quando h especializao parcial, na entidade genrica, aparece um atributo que identifica o tipo de ocorrncia desta entidade.
47
Generalizao / Especializao w Uma entidade pode ser especializada em qualquer nmero de entidades, inclusive em uma nica.
n Exemplo: se na figura anterior, apenas os motoristas possussem propriedades particulares, haveria apenas uma entidade especializada, a de motoristas.
w No h limite no nmero de nveis hierrquicos da generalizao/especializao. w Uma entidade especializada pode, por sua vez, ser entidade genrica em outra generalizao/especializao. w admissvel a herana mltipla, isto , uma mesma entidade seja especializao de diversas entidades (VEICULO ANFIBIO)
48
Generalizao / Especializao
VECULO TERRESTRE
VECULO
VECULO AQUTICO
AUTOMVEL VECULO ANFBIO
BARCO
49
Generalizao / Especializao
w Cada entidade especializada herda o identificador de sua entidade genrica, portanto, no faz sentido definir identificador para entidades especializadas. w Somente pode haver uma entidade genrica em cada hierarquia de generalizao / especializao.
50
Entidade Associativa
w Um relacionamento uma associao entre entidades. w Na modelagem ER no foi prevista a possibilidade de associar uma entidade com um relacionamento ou ento de associar dois relacionamentos entre si. w Na prtica, quando est construindo-se ou modificando um modelo ER, surgem situaes em que desejvel permitir a associao de uma entidade a um relacionamento.
PACIENTE MDICO CONSULTA n n
51
Entidade Associativa
w O modelo anterior foi modificado para saber que medicamentos existem e que medicamentos foram prescr i tos para cada consulta.
PACIENTE MDICO CONSULTA n n
PRESCRIO
MEDICAMENTO
n
n
52
Entidade Associativa
w Uma entidade associativa nada mais que a redefinio de um relacionamento, que passa a ser tratado como se fosse tambm uma entidade. w Graficamente, basta adicionar um retngulo ao redor do prprio losango do relacionamento. w Caso no se deseje utilizar o conceito de entidade associativa, seria necessrio transformar o relacionamento CONSULTA em uma entidade, que ento poderia ser relacionada a MEDICAMENTO.
53
Entidade Associativa
(0,n) (0,n)
PACIENTE MDICO
PRESCRIO
MEDICAMENTO
(0,n)
(0,n)
CONSULTA
(1,1) (1,1)
54
Esquemas Grficos e Textuais
w A descrio de um modelo chamada de esquema de banco de dados. w Um esquema de BD pode ser tanto grfico, como mostrado at o momento, quanto textual, como abaixo.
Esquema: EMP_DEP Entidade: EMPREGADO
Atributos: CDIGO: inteiro Identificadores: CDIGO
Entidade: DEPENDENTE Atributos: NMERO-SEQUENCIA: inteiro NOME: texto(50) Identificadores: EMPREGADO via EMP_DEP NMERO-SEQUENCIA
Relacionamento: EMP_DEP Entidades: (1,1) EMPREGADO (0,n) DEPENDENTE
55
Esquemas Grficos e Textuais
w Na prtica, usual combinar as duas formas de representar esquemas ER: a diagramtica e a textual. w Normalmente so representadas de forma grfica:
n Entidades e Relacionamentos; n Generalizao / Especializao.
w Normalmente so representadas de forma textual, para no sobrecarregar o diagrama:
n Atributos das entidades e dos relacionamentos, juntamente com seu tipo e tamanho;
n Definio dos atributos identificadores.
Top Related