Click here to load reader
Upload
pedro-a-uamusse
View
81
Download
0
Embed Size (px)
Citation preview
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 ESTRUTURADA LISE ESTRUTURADA DE DE
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-
ImagemEspaço-Objecto
ENCOMENDA
DETALHE DE ENCOMENDA PRODUTO
constitu ída por
inclu ído em
doreferido
em
ModelaModelaçção Conceptual dos Dadosão Conceptual dos DadosR Traduz-se na representação, de uma forma gráfica convencional,
da realidade sobre a qual interessa conservar informação.
HOTEL
RESERVA DE HOTELCLIENTE
reserva quarto em
pede
HOTEL RESERVA CLIENTE
Processo de ModelaProcesso de Modelaçção dos Dadosão dos Dados
1) Identificar Entidades2) Desenhar o Modelo Conceptual (Diagrama Entidade-Associação)3) Identificar e assignar Atributos (Matriz Entidades-Atributos)4) Refinar Diagrama Entidade-Associação5) Validar e avaliar Diagrama Entidade-Associação6) Construir o Modelo Lógico (Esquema de Tabelas)7) Identificar e Associar novos Atributos às Tabelas8) Validar e avaliar Esquema de Tabelas9) Construir o Modelo Físico (escolhendo o SGBD adequado)
Diagrama Entidade AssociaDiagrama Entidade Associaçção (DEA)ão (DEA)
Componentes do ModeloComponentes do ModeloR 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
EntidadeEntidadeQualquer 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ísMorada: RuaTelefone:Crédito
Cliente: LeonorMorada: RuaTelefone:Crédito
Cliente: CatarinaMorada: RuaTelefone:Crédito
Cliente: CarlosMorada: RuaTelefone:Crédito
Cliente: AntónioMorada: RuaTelefone: 21 1234123Crédito: 700 MT
8 de Outubro de 2008
2
Ocorrência da EntidadeOcorrência da EntidadeR 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ísMorada: RuaTelefone:Crédito
Cliente: LeonorMorada: RuaTelefone:Crédito
Cliente: CatarinaMorada: RuaTelefone:Crédito
Cliente: CarlosMorada: RuaTelefone:Crédito
Cliente: AntónioMorada: RuaTelefone: 21 1234123Crédito: 700 MT
AtributoAtributoR 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 atributoR É 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ónioMorada: RuaTelefone: 21 1234123Crédito: 700 MT
Cliente: LuísMorada: RuaTelefone:Crédito
Cliente: LeonorMorada: RuaTelefone:Crédito
Cliente: CatarinaMorada: RuaTelefone:Crédito
Cliente: CarlosMorada: RuaTelefone:Crédito
Cliente: AntónioMorada: RuaTelefone: 21 1234123Cré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.
Descritoresa 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 TURMApertenceconté m
ALUNO DISCIPLINAfrequentaé frequentada
ALUNO DIPLOMAobté 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 emavalia
qualificações de
EMPREGADO
DEPARTAMENTO
paga
é pago por
EMPREGADO
DEPARTAMENTO
ASSOCIAÇÕES SÃO EXPRESSAS POR VERBOSR Observação:
Muitos verbos são ambíguos.“trabalha para”“é empregado de”
O que significa ser empregado? Quando começa? Quando termina?
8 de Outubro de 2008
3
Propriedades da AssociaPropriedades da Associaççãoão Propriedades da AssociaPropriedades da AssociaççãoãoRR 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 TURMApertenceconté 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ãoOBRIGATÓRIAR 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
8 de Outubro de 2008
4
Qualidade de ParticipaQualidade de Participaçção de uma ão de uma Entidade na AssociaEntidade na AssociaççãoãoOPCIONALR 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:11:MM:M
OBRIGATÓRIA
OPCIONAL
CARDINALIDADE GRAU + QUALIDADE DE PARTICIPAÇÃO
CardinalidadeCardinalidade da Associada Associaççãoão
ALUNO DIPLOMAobté mé obtido
ALUNO TURMApertenceconté 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 DEPARTAMENTOcontémfaz parte de
DISCIPLINA
ExemplosExemplosDEPARTAMENTO FUNCIONÁRIO
é chefiadochefia
DEPARTAMENTO FUNCIONÁRIOé chefiado
chefia
Aluno FUNCIONÁRIOcontrata
é contratadoDEPARTAMENTO
DEPARTAMENTO FUNCIONÁRIOcontrata
é contratado
FUNCIONÁRIO PROJECTOestá envolvido
envolve
FUNCIONÁRIO PRO JECTOestá 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
8 de Outubro de 2008
5
RefinamentoRefinamentodo Modelo de Dadosdo Modelo de Dados
e Derivae Derivaççãoãodo Esquema de Tabelasdo Esquema de Tabelas
Refinamento do ModeloRefinamento do ModeloR 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.
PRODUTOENCOMENDAcontém
est ácontido
Entidade Associativa
LINHA DE ENCOMENDA
ENCOMENDAtem
pertencePRODUTO
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
NormasNormasR 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 entidades tenham
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.
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 sejaa 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 A1 como 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 sejaa 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 em E2 tem de existir uma ocorrência em E1.
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 sejaa criar uma ocorrência em E1 não implica criar uma ocorrência em E2,
assim como criar uma ocorrência em E2 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)
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 1 Exemplo 1 -- EnunciadoEnunciado
BI:
Departamentos Responsáveis
DEPARTAMENTO
DEPENDENTE
FUNCIONÁRIOCARGO
Ex. 1 Ex. 1 –– ResoluResoluçção (DEA)ão (DEA)
DEPARTAMENTO
DEPENDENTE
FUNCIONÁRIOCARGOemprega
trabalha em
ocupa
é ocupado por
tempertence
Ex. 1 Ex. 1 –– ResoluResoluçção (Esquema de Tabelas)ão (Esquema de Tabelas)
Exemplo 2 Exemplo 2 -- EnunciadoEnunciado
BI:
Ex. 2 Ex. 2 –– ResoluResoluçção (DEA)ão (DEA)
MÉDICOCONVÉNIO
PACIENTE CONSULTAEXAMECONSULTA
MÉDICOCONVÉNIO
PACIENTE CONSULTAEXAMECONSULTAé solicitado
solicita
é agendada
agenda
é realizadarealizapertenceinclui
8 de Outubro de 2008
8
Ex. 2 Ex. 2 –– ResoluResoluçção (Esquema de Tabelas)ão (Esquema de Tabelas) Exemplo 3 Exemplo 3 -- EnunciadoEnunciadoExemplo 1 - EnunciadoUma determinada organização, empresa prestadora deserviços criada por cinco sócios, desenvolve projectos paraos seus clientes, de acordo com as encomendas de trabalhoque estes lhe fazem.
De acordo com o tipo e quantidade de trabalho necessáriosà satisfação das encomendas, a firma sub-contrata técnicosespecializados para poder dar uma resposta que satisfaçaos seus clientes.
O recurso ao outsourcing foi a fórmula encontrada parapoder colmatar a cada vez maior indisponibilidade dosquatro sócios para cumprirem as tarefas impostas pelocrescente volume de encomendas e facturação.
Assim, reunidos, os quatro sócios acordaram no seguinte:
♦ A empresa será organizada em células, cada qualvocacionada para uma determinada área deactividade (gestão de redes e comunicações,desenvolvimento e gestão de SI’s, manutenção desistemas lógicos e de hardware e informática pessoal).Uma quarta área (ocasional), a formação, será
assegurada pela célula directamente relacionada como tema do curso.
♦ Será constituída uma quinta célula - de administraçãoda empresa, que assegurará a sua organizaçãointerna.
♦ Cada sócio será responsável pela coordenação deuma das células.
♦ Os especialistas contratados serão sempre afectos auma das cinco células (de administração interna, oude uma área de especialização específica, de acordocom os projectos encomendados).
Obs.:um cliente pode encomendar mais do que um serviço,originando mais do que um projecto.
Pretende-se desenvolver o SI que, numa primeira fase,deverá possibilitar gerir a carteira de clientes da empresa eos recursos envolvidos em cada projecto (células eespecialistas)
Exemplo 3 Exemplo 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 3 Exemplo 3 -- construconstruçção do DEAão do DEA
encomendado porinclui
encomendaafecto 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