1. 8 de Outubro de 2008
1
TEMA 6TEMA 6
MODELO DE DADOS: DIAGRAMA DE
ENTIDADE E ASSOCIAÇÃO (DEA) E ESQUEMA
DE TABELAS (ET)
2008
ANANÁÁLISE ESTRUTURADALISE ESTRUTURADA
DEDE
SISTEMASSISTEMAS
DEADEA
O que se pretende com a modelaO que se pretende com a modelaççãoão
conceptual dos dados?conceptual dos dados?
R Criar um modelo onde estejam
representados os objectos que a
organização conhece e dos quais guarda
informação.
Modelo
Conceptual
Modelo
Lógico
Modelo
Físico Espaço-
Imagem
Espaço-
Objecto
ENCOMENDA
DETALHE DE
ENCOMENDA PRODUTO
constitu ída
por
incluído
em
do
referido
em
ModelaModelaçção Conceptual dos Dadosão Conceptual dos Dados
R Traduz-se na representação, de uma forma gráfica convencional,
da realidade sobre a qual interessa conservar informação.
HOTEL
RESERVA
DE HOTEL
CLIENTE
reserva
quarto em
pede
HOTEL RESERVA CLIENTE
Processo de ModelaProcesso de Modelaçção dos Dadosão dos Dados
1) Identificar Entidades
2) Desenhar o Modelo Conceptual (Diagrama Entidade-Associação)
3) Identificar e assignar Atributos (Matriz Entidades-Atributos)
4) Refinar Diagrama Entidade-Associação
5) Validar e avaliar Diagrama Entidade-Associação
6) Construir o Modelo Lógico (Esquema de Tabelas)
7) Identificar e Associar novos Atributos às Tabelas
8) Validar e avaliar Esquema de Tabelas
9) Construir o Modelo Físico (escolhendo o SGBD adequado)
Diagrama Entidade AssociaDiagrama Entidade Associaçção (DEA)ão (DEA)
Componentes do ModeloComponentes do Modelo
R A escrita (ou desenho) de um DEA traduz-se na
representação gráfica dos seus três componentes:
♦ entidades - objectos (em sentido lato) sobre os quais a
organização guarda informação
♦ atributos - as propriedades relevantes das entidades
♦ associações - os relacionamentos entre entidades
Técnica de modelação conceptual que se
baseia nos conceitos de entidade, atributo e
associação
EntidadeEntidade
Qualquer coisa (objecto ou conceito) com interesse para a
organização a respeito da qual é guardada informação e que
possa ser identificável de maneira inequívoca.
Representa uma classe, ou conjunto de objectos, e é
caracterizada por um nome (o nome da entidade) e pelo conjunto
das suas propriedades (os atributos da entidade).
CLIENTE
Arquivo manual Entidade
Cliente: Luís
Morada: Rua
Telefone:
Crédito
Cliente: Leonor
Morada: Rua
Telefone:
Crédito
Cliente: Catarina
Morada: Rua
Telefone:
Crédito
Cliente: Carlos
Morada: Rua
Telefone:
Crédito
Cliente: António
Morada: Rua
Telefone: 21 1234123
Crédito: 700 MT
2. 8 de Outubro de 2008
2
Ocorrência da EntidadeOcorrência da Entidade
R Uma concretização de qualquer entidade.
Uma determinada ocorrência de qualquer entidade só pode
assumir, de cada vez, um valor para cada atributo.
Por outras palavras, cada atributo associa a uma ocorrência um
valor num dado domínio.
Ocorrências da entidade cliente
…………
3300 MT93 1112223EstradaLuís
300 MT96 1212121PraçaLeonor
290 MT91 9991111AvenidaCatarina
170 MT21 5554444Q120Carlos
700 MT21 1234123RuaAntónio
CRÉDITOTELEFONEMORADANOME
Fichas do arquivo manual
Cliente: Luís
Morada: Rua
Telefone:
Crédito
Cliente: Leonor
Morada: Rua
Telefone:
Crédito
Cliente: Catarina
Morada: Rua
Telefone:
Crédito
Cliente: Carlos
Morada: Rua
Telefone:
Crédito
Cliente: António
Morada: Rua
Telefone: 21 1234123
Crédito: 700 MT
AtributoAtributo
R Qualquer propriedade relevante de uma entidade.
Mais precisamente, uma característica que qualifica, identifica,
classifica, quantifica, ou expressa o estado de uma entidade.
DomDomíínio de um atributonio de um atributo
R É o conjunto de valores que esse atributo pode assumir.
A selecção dos atributos relevantes para uma entidade é uma das
tarefas importantes na análise - a captação e tradução do mundo
real.
CRÉDITOMORADANOME TELEFONE
Entidades e AtributosEntidades e Atributos
…………
93 1112223EstradaLuís
96 1212121PraçaLeonor
91 9991111AvenidaCatarina
21 5554444Q120Carlos
21 1234123RuaAntónio
CRÉDITOTELEFONEMORADANOME
Cliente: António
Morada: Rua
Telefone: 21 1234123
Crédito: 700 MT
Cliente: Luís
Morada: Rua
Telefone:
Crédito
Cliente: Leonor
Morada: Rua
Telefone:
Crédito
Cliente: Catarina
Morada: Rua
Telefone:
Crédito
Cliente: Carlos
Morada: Rua
Telefone:
Crédito
Cliente: António
Morada: Rua
Telefone: 21 1234123
Crédito: 700 MT
- atributo-1
- atributo-2
- atributo-3
- atributo- n
ENTIDADE
ENTIDADE
- nome
- morada
- telefone
- crédito
CLIENTE
CLIENTE
3300 MT
300 MT
290 MT
170 MT
700 MT
Tipos de AtributosTipos de Atributos
R Uma entidade tem dois tipos de atributos:
Identificador (chave)
a Atributo (ou conjunto de atributos) que identifica uma
ocorrência específica dessa entidade distinguindo-a das
restantes ocorrências.
a Para que um atributo seja identificador de uma entidade é
preciso que não existam duas ocorrências distintas dessa
entidade em que esse atributo assuma o mesmo valor.
Descritores
a Atributos que descrevem (ou caracterizam) as ocorrências da
entidade.
AssociaAssociaççãoão
É caracterizada por um nome
(o nome da associação) e pelo
conjunto das suas
propriedades.
ALUNO TURMA
pertence
conté m
ALUNO DISCIPLINAfrequenta
é frequentada
ALUNO DIPLOMA
obté m
é obtido
CLIENTE RESERVAfaz
é feita por
NotaNotaçção:ão:
R Qualquer relacionamento (ligação) entre duas ou mais entidades
com interesse para a organização.
Nome da AssociaNome da Associaççãoão
contrata
é contratado
por
EMPREGADO
DEPARTAMENTO
é qualificado
para trabalhar
em
avalia
qualificações de
EMPREGADO
DEPARTAMENTO
paga
é pago por
EMPREGADO
DEPARTAMENTO
ASSOCIAÇÕES SÃO EXPRESSAS POR VERBOS
R Observação:
Muitos verbos são ambíguos.
“trabalha para”
“é empregado de”
O que significa ser empregado? Quando começa? Quando termina?
3. 8 de Outubro de 2008
3
Propriedades da AssociaPropriedades da Associaççãoão Propriedades da AssociaPropriedades da Associaççãoão
RR GrauGrau
Uma associação entre duas entidades pode caracterizar-se de três
formas distintas
UM para UM;
UM para MUITOS ;
MUITOS para MUITOS.
ALUNO DISCIPLINAfrequenta
é frequentada
ALUNO TURMA
pertence
conté m
ALUNO DIPLOMAobté m
é obtido
AssociaAssociaçção 1:1ão 1:1 –– Um para UmUm para Um
é atribuída tem
EMPREGADO
SECRETÁRIA
EMPREGADO SECRETÁRIA
Sec. 09
Sec. 03
Sec. 16
Sec. 23
Eva
Ivo
Ana
José
tem
tem
tem
tem
AssociaAssociaçção 1:Mão 1:M –– Um para MuitosUm para Muitos
faz parte de consiste em
ORGANIZAÇÃO
DEPARTAMENTO
Dep. 68
Dep. 55
Dep. 07
Dep. 56
Dep. 09
Dep. 03
Dep. 16
Dep. 23
Org. 4
Org. 3
Org. 2
Org. 1
ORGANIZAÇÃO DEPARTAMENTO
consiste em
AssociaAssociaçção M:Mão M:M –– Muitos para MuitosMuitos para Muitos
pertence possui
FUNCIONÁRIO
HABILITAÇÃO
FUNCIONÁRIO HABIL. PROFISSIONAL
Arquitecto
Programador
Analista
Ana
José
possui
Qualidade de ParticipaQualidade de Participaçção de umaão de uma
Entidade na AssociaEntidade na Associaççãoão
OBRIGATÓRIA
R Quando duas entidades estão associadas, por exemplo E1 e E2, diz-
se que E1 participa de forma obrigatória na associação se e só se a
qualquer ocorrência de E1 corresponder, pelo menos, uma
ocorrência de E2.
EMPREGADO
CATEGORIA
PROFISSIONAL
CATEGORIA PROFISSIONAL
PARTICIPA DE FORMA
OBRIGATÓRIA NA ASSOCIAÇÃO
4. 8 de Outubro de 2008
4
Qualidade de ParticipaQualidade de Participaçção de umaão de uma
Entidade na AssociaEntidade na Associaççãoão
OPCIONAL
R Quando duas entidades estão associadas, por exemplo E1 e E2, diz-
se que E1 participa de forma opcional na associação se puder
existir uma ocorrência de E1 à qual não corresponde qualquer
ocorrência de E2.
EMPREGADO PARTICIPA DE
FORMA OPCIONAL NA
ASSOCIAÇÃO
EMPREGADO
CATEGORIA
PROFISSIONAL
CardinalidadeCardinalidade da Associada Associaççãoão
E2E1
Máximo Máximo
Mínimo Mínimo
GRAU
QUALIDADE DE
PARTICIPAÇÃO
1:1
1:M
M:M
OBRIGATÓRIA
OPCIONAL
CARDINALIDADE GRAU + QUALIDADE DE PARTICIPAÇÃO
CardinalidadeCardinalidade da Associada Associaççãoão
ALUNO DIPLOMA
obté m
é obtido
ALUNO TURMA
pertence
conté m
ALUNO frequenta
é frequentada
INTERPRETAÇÃO SINTÁCTICA
Cada organização “cont ém” zero
ou mais departamentos;
Cada departamento “faz parte
de” uma e uma s ó organização.
INTERPRETAÇÃO SEMÂNTICA
Para existir um departamento,
ele tem que fazer parte de uma
organização;
Uma organização pode existir
sem conter qualquer
departamento.
ORGANIZAÇÃO DEPARTAMENTO
contém
faz parte de
DISCIPLINA
ExemplosExemplos
DEPARTAMENTO FUNCIONÁRIO
é chefiado
chefia
DEPARTAMENTO FUNCIONÁRIO
é chefiado
chefia
Aluno FUNCIONÁRIO
contrata
é contratado
DEPARTAMENTO
DEPARTAMENTO FUNCIONÁRIO
contrata
é contratado
FUNCIONÁRIO PROJECTO
está envolvido
envolve
FUNCIONÁRIO PRO JECTO
está envolvido
envolve
Componentes dos DEAComponentes dos DEA
COMPONENTE DESCRIÇÃO SÍMBOLO
ENTIDADES objecto distinto de todos os restantes, com
interesse para a organização, sobre o qual a
organização guarda informação garantindo
que este seja identificável de forma
inequívoca
ATRIBUTOS propriedades (características) das entidades
relevantes para o sistema; um atributo pode
assumir valores de um determinado domínio
de valores.
Existem dois tipos de atributos:
identificadores e descritores.
ASSOCIAÇÕES quaisquer relacionamentos (ligações) entre
duas ou mais entidades relevantes para o
sistema. São caracterizadas por nome e
propriedades.
ENTIDADE-1
ENTIDADE -1
atributo-1
atributo-2
(...)
atributo-n
OPCIONAL
OBRIGATÓRIA
OPCIONAL
OBRIGATÓRIA
OPCIONAL
OBRIGATÓRIA
5. 8 de Outubro de 2008
5
RefinamentoRefinamento
do Modelo de Dadosdo Modelo de Dados
e Derivae Derivaççãoão
do Esquema de Tabelasdo Esquema de Tabelas
Refinamento do ModeloRefinamento do Modelo
R Decomposição das associações complexas em associações
binárias;
R Decomposição das associações de grau M:M em pares de
associações 1:M
Objectivos:
R fazer ressaltar a existência de entidades não identificadas de
início (entidades associativas, atributivas, particularizações e
generalizações);
R facilitar a análise posterior da consistência do diagrama;
R dar ao modelo a forma adequada para passos subsequentes da
metodologia.
Decompor AssociaDecompor Associaçções Complexasões Complexas
R As associações complexas (que envolvam mais do que
uma entidade) devem ser decompostas em associações
binárias (apenas entre duas unidades).
MOVIMENTO
FORNECEDOR
CLIENTE
CLIENTEFORNECEDOR
PEÇA
PEÇA
Entidade Associativa -
entidade que guarda
informaç ão que descreve
duas ou mais entidades.
Decompor AssociaDecompor Associaçções M:Mões M:M
R As associações cujo grau seja M:M devem ser substituídas por um
par de associações do grau 1:M.
PRODUTOENCOMENDA
contém
está
contido
Entidade Associativa
LINHA DE
ENCOMENDA
ENCOMENDA
tem
pertence
PRODUTO
contém
está contido
DerivaDerivaçção do Esquema de Tabelasão do Esquema de Tabelas
R Basicamente, uma tabela representa uma entidade em que:
a cada coluna é um atributo;
a cada linha corresponde a uma ocorrência;
a não existem duas linhas com os mesmos valores em todos os
atributos.
Representação teórica Representação real
EMPREGADO (Número, Nome, …)
Nome da Tabela
Identificador
(chave primária)
restantes atributos
Número Nome Morada Telefone Serviço
NormasNormas
R Normalmente, cada entidade dá origem a uma tabela com:
a identificador da entidade;
a restantes atributos da entidade;
a identificadores de outras entidades que lhes estejam associadas (só em
alguns casos.
R Associações sem dados podem dar origem a uma tabela, ou não, dependendo:
a do grau da associação;
a da qualidade da participação das respectivas entidades.
R Deve-se:
a evitar ocorrências em que os identificadores de outras entidadestenham
valores nulos;
a não criar tabelas de modo que identificadores de outras entidades se
repitam;
a criar tabelas para as associações apenas quando tal seja necessário para não
violar as regras anteriores.
6. 8 de Outubro de 2008
6
Regras (I)Regras (I)
ASSOCIAÇÕES
1:1
Ambas as entidades tem participação
obrigatória na associação
E1(A1, …) E2(B1, …)
E2E1
R Sempre que uma entidade ocorre a outra entidade também tem que ocorrer, ou
seja
a a cada ocorrência de uma entidade corresponde uma ocorrência de outra
entidade e vice-versa.
R Logo,
a basta uma tabela para representar esta situação.
a A chave tanto pode ser A1como B1.
T(A1, …, B1, …) ou T(B1, …, A1, …)
R Quando E1 ocorre, E2 pode ou não ocorrer, mas quando E2 ocorre E1 tem que
ocorrer, ou seja
a quando se cria uma ocorrência em E1 pode acontecer não ter que criar uma
ocorrência em E2, mas quando se cria uma ocorrência emE2 tem de existir
uma ocorrência emE1.
R Logo,
a duas tabelas, uma para cada entidade, em que a tabela da entidade de
participação obrigatória tem que possuir o identificador da entidade de
participação não obrigatória.
Regras (II)Regras (II)
ASSOCIAÇÕES
1:1
Apenas uma entidade tem participação
obrigatória na associação
T1(A1, …) e T2(B1, …, A1)
E1(A1, …) E2(B1, …)
E2E1
Chave
estrangei
ra
Regras (III)Regras (III)
ASSOCIAÇÕES
1:1
Nenhuma entidade tem participação
obrigatória na associação
T(A1, …) e T2(B1, ...) e T3(A1, B1) ou T3(B1, A1)
R Quando E1 ocorre, E2 pode ou não ocorrer e quando E2 ocorre, E1 pode ou
não ocorrer, ou seja
a criar uma ocorrência emE1 não implica criar uma ocorrência em E2,
assim como criar uma ocorrência emE2 não implica criar uma
ocorrência em E1.
R Logo,
a três tabelas, uma para cada entidade e uma para a associação. A tabela
da associação possuirá os identificadores de E1 e E2, podendo qualquer
um deles ser a chave.
E1(A1, …) E2(B1, …)
E2E1
Regras (IV)Regras (IV)
ASSOCIAÇÕES
1:M
Participação obrigatória da entidade do
lado M na associação
R Origina duas tabelas, uma para cada entidade.
R A tabela da entidade E2 possuirá A1 como chave estrangeira, uma
vez que quando ocorre E2 tem que ocorrer E1.
T1(A1, …) ou T2(B1, …, A1)
E1(A1, …) E2(B1, …)
E2E1 ?
Chave
estrangei
ra
Regras (V)Regras (V)
ASSOCIAÇÕES
1:M
Participação não obrigatória da
entidade do lado M na associação
R Origina três tabelas - uma para cada entidade e outra para a
associação.
R A tabela da associação terá necessariamente como chave primária a
chave primária da entidade E2.
T1(A1, …) e T2(B1, …) e T(B1,A1)
E1(A1, …) E2(B1, …)
E2E1 ?
Regras (VI)Regras (VI)
ASSOCIAÇÕES
M:M
R Origina três tabelas - uma para cada entidade e outra para a
associação.
R A chave primária da tabela da associação será composta pela
concatenação das duas chaves primárias das entidades que
participam na associação.
R Nota: esta associação deve ser desfeita previamente, na fase de
refinamento do modelo de dados.
E1(A1, …) E2(B1, …)
E2E1 ??
T1(A1, …) e T2(B1, …) e T3(A1, B1)
7. 8 de Outubro de 2008
7
QuadroQuadro--ResumoResumo
E1 E2
E1 E2
E1 E2
E1 E2
E1 E2
E1 E2
E1 E2
E1 E2E1 E2
E1 E2
E1 E2
E1 E2
E1(A1, …) E2(B1, …)
? ?
T(A1, …, B1, …) ou T(B1, …, A1, …)
T1(A1, …) e T2(B1, …, A1)
T(A1, …), T2(B1, ...) e T3(A1, B1)
ou T3(B1, A1)
T1(A1, …) e T2(B1, …, A1)
T1(A1, …), T2(B1, …) e T(B1, A1)
T(A1, …), T2(B1, ...) e T3(A1, B1)(…)
Exemplo 1Exemplo 1 -- EnunciadoEnunciado
BI:
Departamentos Responsáveis
DEPARTAMENTO
DEPENDENTE
FUNCIONÁRIOCARGO
Ex. 1Ex. 1 –– ResoluResoluçção (DEA)ão (DEA)
DEPARTAMENTO
DEPENDENTE
FUNCIONÁRIOCARGO
emprega
trabalha em
ocupa
é ocupado por
tempertence
Ex. 1Ex. 1 –– ResoluResoluçção (Esquema de Tabelas)ão (Esquema de Tabelas)
Exemplo 2Exemplo 2 -- EnunciadoEnunciado
BI:
Ex. 2Ex. 2 –– ResoluResoluçção (DEA)ão (DEA)
MÉDICOCONVÉNIO
PACIENTE CONSULTAEXAMECONSULTA
MÉDICOCONVÉNIO
PACIENTE CONSULTAEXAMECONSULTA
é solicitado
solicita
é agendada
agenda
é realizadarealizapertenceinclui
8. 8 de Outubro de 2008
8
Ex. 2Ex. 2 –– ResoluResoluçção (Esquema de Tabelas)ão (Esquema de Tabelas) Exemplo 3Exemplo 3 -- EnunciadoEnunciado
Exemplo 1 - Enunciado
Umadeterminadaorganização,empresaprestadorade
serviços criada por cinco sócios, desenvolve projectos para
osseusclientes,deacordocomasencomendasdetrabalho
queesteslhefazem.
De acordo com o tipo e quantidade de trabalho necessários
à satisfação das encomendas, a firma sub-contrata técnicos
especializados para poder dar uma resposta que satisfaça
osseusclientes.
Orecursoaooutsourcingfoi a fórmula encontrada para
podercolmataracadavezmaiorindisponibilidadedos
quatro sócios para cumprirem as tarefas impostas pelo
crescentevolumedeencomendasefacturação.
Assim, reunidos, os quatro sócios acordaram no seguinte:
♦Aempresaseráorganizadaemcélulas,cadaqual
vocacionada para uma determinada área de
actividade(gestãoderedesecomunicações,
desenvolvimento e gestão de SI’s, manutenção de
sistemas lógicos e dehardwaree informática pessoal).
Uma quarta área (ocasional), a formação, será
assegurada pela célula directamente relacionada com
o tema do curso.
♦ Seráconstituídaumaquintacélula-deadministração
da empresa, que assegurará a sua organização
interna.
♦ Cada sócio será responsável pela coordenação de
umadascélulas.
♦ Os especialistas contratados serão sempre afectos a
umadascincocélulas(deadministraçãointerna,ou
de uma área de especialização específica, de acordo
comosprojectosencomendados).
Obs.:um cliente pode encomendar mais do que um serviço,
originandomaisdoqueumprojecto.
Pretende-se desenvolver o SI que, numa primeira fase,
deverá possibilitar gerir a carteira de clientes da empresa e
os recursos envolvidos em cada projecto (células e
especialistas)
Exemplo 3Exemplo 3 -- Lista de EventosLista de Eventos
A00
EXEMPLO
A02
AFECTAÇÃO
ESPECIALISTA A
CÉLULA
A01
CONTRATAÇ ÃO
ESPECIALISTA
A03
ABERTURA DA
FICHA DO
CLIENTE
A04
ENCOMENDA DE
PROJECTO POR
CLIENTE
Exemplo 3Exemplo 3 -- construconstruçção do DEAão do DEA
encomendado
porinclui
encomenda
afecto a
envolvido em
é efectuado por
A esclarecer:
•E se um especialista
pudesse estar afecto a
mais do que um projecto
(e sempre, pelo menos,
a um)?
•E se um projecto
pudesse ser
encomendado por mais
do que um cliente?PROJECTO
CLIENTE
ESPECIALISTA
CÉLULA