CURSO TÉCNICO DE INFORMÁTICA Análise de Sistemas de Informação Diagrama Entidade - Associação Carla Ventura 2010 MONCHIQUE 1 Índice Conteúdo DIAGRAMA ENTIDADE – ASSOCIAÇÃO ......................................................................... 3 1. O QUE É? .................................................................................................................. 3 2. QUAIS OS SEUS COMPONENTES?................................................................. 3 a) ENTIDADES .............................................................................................................. 3 b) ATRIBUTOS .............................................................................................................. 4 c) CHAVES PRIMÁRIAS ............................................................................................. 5 d) CHAVES EXTERNAS OU ESTRANGEIRAS..................................................... 5 e) RELACIONAMENTOS (ASSOCIAÇÕES) .......................................................... 5 CARDINALIDADE ................................................................................................................ 6 ASSOCIAÇÃO 1.1........................................................................................................... 6 ASSOCIAÇÃO 1:N .......................................................................................................... 6 ASSOCIAÇÃO M:N ......................................................................................................... 7 OBRIGATORIEDADE .......................................................................................................... 7 3. NORMALIZAÇÃO ..................................................................................................... 7 Dependência Funcional .................................................................................................... 8 FORMA NÃO NORMALIZADA ..................................................................................... 9 a) PRIMEIRA FORMA NORMAL............................................................................. 10 b) SEGUNDA FORMA NORMAL ............................................................................. 11 c) TERCEIRA FORMA NORMAL ............................................................................. 12 Página 2 DIAGRAMA ENTIDADE – ASSOCIAÇÃO 1. O QUE É? É uma técnica de representação gráfica que auxilia vivamente a visualização das relações entre as entidades e por isso mesmo aproxima-se do modelo teórico relacional, mas também se converte facilmente no modelo de rede, sendo muito utilizado na análise e concepção de sistemas assente no modelo relacional com o desenvolvimento sobre Base de Dados. 2. QUAIS OS SEUS COMPONENTES? a) ENTIDADES A entidade pretende representar a realidade que pretende-mos modelar. A definição de uma entidade passa pela identificação dos elementos e de um conjunto de atributos comuns do mundo real que estamos a analisar. Uma entidade pode-se definir como um conjunto do mesmo tipo ou seja pessoas, lugares, objectos, acontecimentos ou conceitos, ao recolher e guardar informação acerca de uma qualquer entidade, podemos ter essa informação organizada por categorias ou itens a que se designa por atributos. _ Página 3 b) ATRIBUTOS Atributos representam os dados da entidade, como por exemplo: para representar a entidade de aluno, é necessário definir os atributos nome, apelido, morada, telefone, entre outros. Cada atributo se encontra definido num determinado domínio de valores. Sendo o atributo nome é definido por um conjunto de caracteres, telefone, é definido por um conjunto de nove números. Numa entidade não pode existir dois atributos com a mesma designação. Alguns exemplos de entidades e possíveis atributos: ENTIDADES ATRIBUTOS Livro de Código, Título; Autor: Preço; … Clientes Número; Nome; Marada; Telefone; … Alunos Número; Nome; Ano; Turma; … Curso Número; Nome; Disciplinas; Professores; … Página 4 c) CHAVES PRIMÁRIAS As chaves primárias são um conjunto de atributos que permite determinar unicamente uma instância numa entidade ou seja a chave primária é única. d) CHAVES EXTERNAS OU ESTRANGEIRAS As chaves Externas ou Estrangeiras são um campo que aponta para a chave primária de outra tabela, ou seja passa a existir uma relação entre duas tabelas. A finalidade da chave é garantir a integridade dos dados relacionais, pois apenas são permitidos valores que supostamente vão aparecer na base de dados. e) RELACIONAMENTOS (ASSOCIAÇÕES) As associações são utilizadas para relacionar entidades. As entidades interagem umas com as outras através de associações. Existem dois aspectos fundamentais nas associações: A cardinalidade e obrigatoriedade. Página 5 CARDINALIDADE Também se designa por tipo de associação, indica dada uma instância de uma entidade, o número de instâncias da outra entidade com que ela se relaciona. De forma geral existem três tipos de associações: 1:1 (um-para-um), 1:N (um-para-muitos), N:M (muitos-para-muitos). ASSOCIAÇÃO 1.1 É quando cada elemento da entidade A está relacionado no máximo com um elemento da entidade B. ASSOCIAÇÃO 1:N É definida se cada elemento da entidade A está relacionado com vários elementos da entidade B, mas cada elemento da entidade B apenas está relacionado com um elemento da entidade A. Página 6 ASSOCIAÇÃO M:N É definida se cada elemento da entidade está relacionado com vários elementos da entidade B e cada elemento da entidade B está relacionado com vários elementos da entidade A. OBRIGATORIEDADE A obrigatoriedade da associação prende-se com o facto de pretendemos especificar se é obrigatório ou não que todas as instâncias estejam relacionadas a pelo menos uma instância da outra entidade. 3. NORMALIZAÇÃO A normalização é um processo sistemático através do qual uma tabela relacional não normalizada é transformada em conjunto de tabelas normalizadas, que representem da melhor forma possível uma realidade a ser modelada. Um conceito básico usado para a normalização é o conceito de dependência funcional. Página 7 NORMALIZAÇÃO Dependência Funcional Dada uma relação, um atributo Y é dito funcionalmente dependente de um outro atributo X se e, somente se, cada ocorrência de X está associada sempre com a mesma ocorrência de Y. X -> Y Diz-se que: X determina Y X designa Y O processo de normalização passa pelas seguintes etapas: O documento ou arquivo a ser normalizado é representado na forma de uma tabela não normalizada; A tabela vai sendo decomposta em tabelas normalizadas ("bemprojectadas"). A normalização dá-se em três passos principais, passando por três formas normais; Uma forma normal é um conjunto de regras que uma tabela deve obedecer. Estas regras destinam-se a eliminar as redundâncias de dados. NORMALIZAÇÃO Exemplo de documento a normalizar: Relatório de Alocação a Projecto CÓDIGO DO PROJECTO:LSC001 TIPO: Novo Desenv. DESCRIÇÃO: Sist.Estoque. NOEMP NOME CATEG SALÀRIO INÍCIO TEMPO PROJECTO ALOCAÇÃO 2146 João A1 40 01/11/91 24 Página 8 3145 Sílvio A2 40 02/10/91 24 6126 José B1 90 03/10/92 18 1181 Carlos A2 40 01/11/92 12 CÓDIGO DO PROJECTO: PAG02 TIPO: Manutenção DESCRIÇÃO: Sistema de RH. NOEMP NOME CATEG SALÁRIO INÍCIO TEMPO PROJECTO ALOCAÇÃO 1181 Carlos A2 40 01/11/93 14 5672 Luís A1 40 12/10/91 24 6126 José B1 90 31/11/92 11 FORMA NÃO NORMALIZADA Uma tabela não normalizada (NN) contem valores de atributos não atómicos, ou seja contem tabelas embutidas (grupos repetidos, arrays). Representação não normalizada do documento exemplo: PROJ(CODPROJ, TIPOPROJ, DESCR, (NOEMP, NOME, CAT, SAL, DATAINICIO, TEMPOALOC)) Deve-se observar a representação do embutido de tabelas através de parênteses e a indicação das chaves primárias em cada nível de embutimento. Página 9 a) PRIMEIRA FORMA NORMAL Uma tabela na primeira forma normal (PFN) não contem tabelas embutidas. A passagem à primeira forma normal é feita nos seguintes passos: 1) Para cada tabela embutida (cada uma abre parênteses), inclusive a mais externa, é criada uma tabela na PFN que contem: As chaves primárias de cada tabela externa à tabela embutida; Os atributos da própria tabela embutida. 2) São definidas as chaves primárias das tabelas na PFN. NORMALIZAÇÃO Passagem à PFN – decomposição de tabelas Tabela 1: corresponde ao nível externo PROJ (CODPROJ, TIPOPROJ,DESCR) Tabela 2: corresponde á tabela embutida PROJEMP (CODPROJ; NOEMP; NOME; CAT; SAL; DATAINÍCIO, TEMPOALOC) NORMALIZAÇÃO Passagem à PFN – identificação de chaves Tabela 1:corresponde ao nível externo PROJ (CODPROJ, TIPOPROJ, DESCR) Página 10 Tabela 2: Corresponde à tabela embutida PROJEMP (CODPROJ, NOEMP, NOME, CAT, SAL, DATAINÍCIO, TEMPOALOC) b) SEGUNDA FORMA NORMAL Uma tabela está na segunda forma normal (SFN) quando, além de estar na PFN, cada atributo não chave primária depende funcionalmente de toda a chave primária e não de apenas parte dela. Ao passar uma tabela para a SFN é necessário considerar apenas tabelas que tenham: Pelo menos um atributo não chave. Chave primária composta; NORMALIZAÇÃO Para o caso do exemplo: PROJ (CODPROJ, TIPOPROJ, DESCR) PROJEMP (CODPROJ, NOEMP, DATAINÍCIO, TEMPOALOC) EMP (NOEMP, NOME, CAT, SAL) Página 11 c) TERCEIRA FORMA NORMAL Uma tabela está na terceira forma normal (TFN) quando, além de estar na SFN, cada atributo não chave primária depende directamente da chave primária, isto é, não há dependências entre atributos não chaves. NORMALIZAÇÃO Para o caso do exemplo: PROJ (CODPROJ, TIPOPROJ, DESCR) NORMALIZAÇÃO Para o caso do exemplo: PROJ (CODPROJ, TIPOPROJ, DESCR) PROJEMP (CODPRJ, NOEMP, DATAINÍCIO, TEMPOALOC) NORMALIZAÇÃO Para o caso do exemplo: PROJ (CODPROJ, TIPOPROJ, DESCR) PROJEMP (CODPROJ, NOEMP, DATAINÍCIO, TEMPOALOC) NORMALIZAÇÃO EMP é subdividida em duas: EMP (NOEMP, NOME, CAT) CATEGORIA (CAT, SAL) Página 12 NORMALIZAÇÂO Documento normalizado: PROJ (CODPROJ, TIPOPROJ, DESCR) PROLEMP (CODPROJ, NOEMP, DATAINÌCIO, TEMPOALOC) EMP (NOEMP, NOME, CAT) CATEGORIA (CAT; SAL) NORMALIZAÇÃO Na terceira forma normal: Atributos Calculados podem ser desconsiderados; Chaves candidatas não devem ser consideradas determinantes funcionais. Normalização Exemplo genérico de passagem à PFN Tabela NN: (A1, A2, A3, A4, A5 (B1,B2, B3, B4 (C1, C2, C3) (D1, D2)) (E1, E2, E3)) Página 13 NORMALIZAÇÃO PFN – Subdivisão de Tabelas 1. (A1, A2, A3, A4, A5) 2. (A1, A2,B1, B2, B3, B4) 3. (A1, A2, B1, C1, C2, C3) 4. (A1, A2, B1, D1, D2) 5. (A1, A2, E1, E2, E3) Página 14