8

Click here to load reader

Tema 6 modelo_dedados-dea-et

Embed Size (px)

Citation preview

Page 1: Tema 6 modelo_dedados-dea-et

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

Page 2: Tema 6 modelo_dedados-dea-et

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?

Page 3: Tema 6 modelo_dedados-dea-et

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

Page 4: Tema 6 modelo_dedados-dea-et

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

Page 5: Tema 6 modelo_dedados-dea-et

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.

Page 6: Tema 6 modelo_dedados-dea-et

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)

Page 7: Tema 6 modelo_dedados-dea-et

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

Page 8: Tema 6 modelo_dedados-dea-et

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