Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROJETO DE BANCO DE DADOSPROJETO DE BANCO DE DADOS UNIDADE 2: UNIDADE 2: PROJETO CONCEITUAL P f M l X i Rib i1 Profa. Marcela Xavier Ribeiro1 UNIDADE 2 – PROJETO CONCEITUAL - OBJETIVOS Apresentar conceitos avançados do Projeto Conceitual, envolvendo: P j t d Vi ã Projeto de Visão; Integração de Visões; Transformações de um Esquema para Melhorar a Transformações de um Esquema para Melhorar a Qualidade do Mesmo; 22 PROJETO CONCEITUAL – QUAL É A META?Q (1/2) Desenvolver um esquema conceitual: Completo: atende todos os requisitos do usuário; C t d d l Correto: sem erros de modelagem; Fácil de Entender: os dados e seus relacionamentos devem ser claros e expressivos;eve se c a os e e p ess vos; Livre de Redundâncias e Replicações (de dados e conceitos); Simples: o esquema deve ser o mais simples possível mas que atenda todos os requisitos do usuário; 33 PROJETO CONCEITUAL – QUAL É A META?Q (2/2) Desenvolver um esquema conceitual: Leva em consideração o tempo. Exemplo: O que fazer com dados antigos (registros com Exemplo: O que fazer com dados antigos (registros com mais de 5 anos?) Incorpora as necessidades previsíveis: o esquema deve incorporar necessidades futuras previsíveis do cliente. Exemplo: o usuário pode não necessitar cadastrar o celular Exemplo: o usuário pode não necessitar cadastrar o celular de clientes. No entanto, é possível que no futuro ele necessite dessa informação, portanto, a informação deve ser adicionada no esquema.q 44 COMO ATINGIR A META? Usar vários níveis de abstrações para captar o máximo de semântica possível: ti d d b t õ d í i i lt partindo das abstrações de níveis mais altos para aquelas de níveis mais baixo; Usar a estratégia: Usar a estratégia: Dividir para conquistar Usar todos os recursos de semânticos e de Usa o os os ec sos e se â cos e e abstração e restrições presentes no modelo Entidade-Relacionamento Estendido; 55 DIVIDIR PARA CONQUISTAR Uso de Visões. O que é uma visão? É o que um determinado indivíduo enxerga de uma determinada realidadedeterminada realidade. Aqui conceitos da abordagem Top-Down se Aqui conceitos da abordagem Top-Down se misturam com a abordagem Bottom-Up (Engenharia Reversa) para podermos modelar as ( g ) p p visões de um usuário: Engenharia Reversa: parte de dados ou produto t i já i t t 6anterior já existente. 6 VISÕES Obj ti d li õ l Objetivo: decompor aplicações complexas em problemas menores; Visão em Projeto de Banco de Dados: Parte de um banco de dados ou dos requisitos de q dados de uma aplicação que é vista por um usuário ou grupo de usuários; Projeto de Visão: Desenvolvimento de um esquema de banco de dados Desenvolvimento de um esquema de banco de dados de uma parte do banco de dados que é de interesse de um usuário ou de um grupo de usuários, com base nos requisitos do mesmo. 7nos requisitos do mesmo. 7 PROJETO DE VISÃO Requisitos Descrições em Linguagem Natural; F lá i Formulários; Declarações de Registros; 88 PROJETO DE VISÃO - REQUISITOS EM LINGUAGEM NATURAL (ESTRATÉGIA TOP-LINGUAGEM NATURAL (ESTRATÉGIA TOP DOWN) - ETAPAS Análise de requisitos; Desenvolvimento de esquema global; Refinamento do esquema; Etapas da análise de requisitos: Identificar as entidades envolvidas; 9 Identificar ambigüidades; Eliminar ambigüidades; Determinar relacionamento entre as entidades 9 Determinar relacionamento entre as entidades. PROJETO DE VISÃO - REQUISITOS EM LINGUAGEM NATURAL (ESTRATÉGIA TOP-DOWN) LINGUAGEM NATURAL (ESTRATÉGIA TOP DOWN) - ETAPAS Eliminar termos ambíguos ou genéricos, re- escrevendo os requisitos Si ô i Sinônimos Palavras diferentes com o mesmo significado (referenciam o mesmo elemento); H ô i Homônimos Palavras iguais com significados diferentes (referenciam elementos diferentes. Exemplo: Identifique as ambigüidades na especificação abaixo: 10 p q g p ç Um comprador ao efetuar a compra de um produto, deve fornecer seu número de cliente. O cliente deve conseguir visualizar os itens 10que possui desconto. PROJETO DE VISÃO – REQUISITOS EMQ LINGUAGEM NATURAL Exemplo: Identifique as ambigüidades na especificação abaixo: Um comprador ao efetuar a compra de um produto, deve fornecer p p p , seu número de cliente. O cliente deve conseguir visualizar os itens que possui desconto. Exemplo: Elaborar o esquema conceitual da especificação d ó i lid i d i t t do próximo slide, seguindo as seguintes etapas: • Identificar as entidades evidentes; • Identificar ambigüidades; 11 g ; • Eliminar ambigüidades; • Determinar demais entidades e relacionamento entre as entidades; 11entidades; PROJETO DE VISÃO EM LINGUAGEM NATURALPROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO Especificação. Em um banco de dados de uma companhia de cartão de créditosEspecificação. Em um banco de dados de uma companhia de cartão de créditos é necessário guardar informações sobre clientes e funcionários. Para clientes são armazenados nome, idade, sexo, rua, nro, cidade e estado de residência, telefone, local e estado de origem, com o período de residência e renda atual. É necessário para cada usuário do cartão de crédito determinar o valor de li it d tã l di í l dí id O i t d d d dseu limite de cartão, valor disponível e dívida. O sistema deve guardar dados da fatura feita com o cartão, como o nome da loja onde os clientes compraram, valor compra, data da compra e vencimento da fatura. De cadaco p a a , va o co p a, data da co p a e ve c e to da atu a. e cada estabelecimento comercial, onde o cliente realiza transação com o cartão deve-se armazenar o nome, cnpj, endereço e telefone. Sobre os funcionários 12 se armazenam, nome, data nascimento, local, estado, data de contratação e a renda que recebem da companhia. Os funcionários são encarregados de vender cartões e cancelar os mesmos além de registrar reclamações dos12vender cartões e cancelar os mesmos, além de registrar reclamações dos usuários. PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – IDENTIFICAR AS ENTIDADESEXEMPLO IDENTIFICAR AS ENTIDADES EVIDENTES Item. Requisitos. 1. [Em um banco de dados de uma companhia de cartão de créditos é necessário guardar informações sobre clientes e funcionários.] 2. [Para clientes são armazenados nome, idade, sexo, rua, nro, [ , , , , , cidade e estado de residência, telefone, local e estado de origem, com o período de residência e renda atual. 3. É necessário para cada usuário do cartão de crédito determinar o l d li i d ã l di í l dí id ]valor de seu limite de cartão, valor disponível e dívida.] 4. [O sistema deve guardar dados da fatura feita com o cartão, como o nome da loja onde os clientes compraram, valor compra, data d i t d f t ]da compra e vencimento da fatura.] 5. [De cada estabelecimento comercial, onde o cliente realiza transação com o cartão deve-se armazenar o nome, cnpj, endereço e telefone] 13 e telefone]. 6. [Sobre os funcionários se armazenam, nome, data nascimento, local, estado, data de contratação e a renda que recebem da companhia. 13companhia. 7. Os funcionários são encarregados de vender cartões e cancelar os mesmos, além de registrar reclamações dos usuários]. PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – IDENTIFICAR ENTIDADESEXEMPLO IDENTIFICAR ENTIDADES EVIDENTES Cliente Compra Estabelecimento Comercial 14Funcionários 14Funcionários PROJETO DE VISÃO EM LINGUAGEM NATURALPROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – IDENTIFICAR AMBIGÜIDADES Item. Requisitos. 1. [Em um banco de dados de uma companhia de cartão de créditos é necessário guardarguardar informaçõessobre clientes e funcionários.] 2. [Para clientes são armazenados armazenados nome, idade, sexo, rua, nro, [ , , , , , cidade e estado de residência, telefone, local e estado de origem, com o período de residência e renda atual. 3. É necessário para cada usuário do cartão de crédito determinar o l d li i d ã l di í l dí id ]valor de seu limite de cartão, valor disponível e dívida.] 4. [O sistema deve guardar guardar dados da fatura feita com o cartão, como o nome da loja onde os clientes compraram, valor compra, data d i t d fat ra ]da compra e vencimento da fatura.] 5. [De cada estabelecimento comercial, onde o cliente realiza transação com o cartão deve-se armazenararmazenar o nome, cnpj, endereço e telefone] 15 endereço e telefone]. 6. [Sobre os funcionários se armazenam, nome, data nascimento, local, estado, data de contratação e a renda que recebem da companhia. 15companhia. 7. Os funcionários são encarregados de vender cartões e cancelar os mesmos, além de registrar reclamações dos usuários]. PROJETO DE VISÃO EM LINGUAGEM NATURALPROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – TRATAR AMBIGÜIDADES Substituir o termo genérico por um mais específico para evitar interpretações duvidosas; E l L l é é i b tit i Cid d Exemplo: Local é genérico, substituir por Cidade; Substituir termos ambíguos: Usuário é ambíguo É o usuário do sistema Usuário é ambíguo. É o usuário do sistema (funcionário) ou usuário do cartão (cliente)? Substituir no item 3 para cliente. Eliminar termos distorcidos: Renda no item 6 significa salário que o funcionário b d hi ã d l ( d recebe da companhia e não a renda mensal (que pode envolver outras remunerações de fora da companhia, como outro emprego). Substituir por salário. 16p g ) p 16 PROJETO DE VISÃO EM LINGUAGEM NATURALPROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – TRATAR AMBIGÜIDADES T t ífi é i i Trocar termo específico para genérico mais adequado: Loja no item 6, significa estabelecimento comercial, Loja no item 6, significa estabelecimento comercial, sendo mais genérico, englobando além de lojas, sorveterias, açougues. Nesse caso, o termo mais genérico estabelecimento comercial é mais adequadogenérico, estabelecimento comercial é mais adequado. Em alguns casos deve-se escolher um entre dois sinônimos, o mais adequado pelo contexto específico: Trocar guardar por armazenar (item 1) Trocar Realiza transação por Compra (item 5) Trocar Realiza transação por Compra (item 5) Cuidado: Compra e fatura não são sinônimos: manter 17p distinção! 17 PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – RESCRITA TRATANDOEXEMPLO RESCRITA TRATANDO AMBIGÜIDADES Item. Requisitos. 1. Em um banco de dados de uma companhia de cartão de créditos é necessário armazenararmazenar informações sobre clientes e funcionários.] 2. [Para clientes são armazenadosarmazenados nome, idade, sexo, endereço (rua, id d d ) d idê i l f id d d d nro, cidade e estado) de residência, telefone, cidade e estado de origem, com o número anos de residência e renda atual. 3. É necessário para cada cliente do cartão de crédito determinar o valor de seu limite de cartão valor disponível e dívida ]valor de seu limite de cartão, valor disponível e dívida.] 4. [O sistema deve armazenararmazenar dados da fatura feita com o cartão, como o nome do estabelecimento comercial onde o cliente comprou, valor da compra, data da compra e vencimento da fatura.]p , p ] 5. [De cada estabelecimento comercial, onde o cliente compra com o cartão deve-se armazenararmazenar o nome, cnpj, endereço e telefone]. 6. [Sobre os funcionários se armazenam, nome, data nascimento, 18 [ , , , cidade, estado, data de contratação e seu salário. 7. Os funcionários são encarregados de vender cartões e cancelar os mesmos, além de registrar reclamações dos clientes]. 18 PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – IDENTIFICAR TODAS ASEXEMPLO IDENTIFICAR TODAS AS ENTIDADES ENVOLVIDAS C tã P FaturaCartão CompraPessoa Funcionário Estabelecimento Comercial 19Cli t Reclamações 19Cliente ç PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – IDENTIFICAR OSEXEMPLO IDENTIFICAR OS RELACIONAMENTOS Faça o MER C tã P Fatura Faça o MER Estendido da especificação anterior. Cartão CompraPessoa anterior. Funcionário Estabelecimento Comercial 20Cli t Reclamações 20Cliente ç PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – RELACIONAMENTO ENTREEXEMPLO RELACIONAMENTO ENTRE ENTIDADES FaturapossuiCartãoVende CompraPessoa faz Cancela pPessoa É efetuada em tem ClienteFuncionário Estabelecimento É efetuada em Estabelecimento Comercial 21Faz ReclamaçãoRegistra 21çg PROJETO DE VISÃO EM LINGUAGEM NATURAL EXEMPLO – RELACIONAMENTO ENTREEXEMPLO RELACIONAMENTO ENTRE ENTIDADES FaturapossuiVende Nvalor N Cartão CompraPessoa faz Cancela NroN N1 N N pPessoa efetua tem valor 1 N 11 (T,S) ClienteFuncionário Estabelecimento efetua 1 1 Estabelecimento Comercial 1 22Faz ReclamaçãoRegistra N 11 Complete o modelo do sistema, adicione di lid d 22çg N cardinalidades mínima e máxima e atributos! PROJETO DE VISÃO – REQUISITOS COM BASE EM FORMULÁRIOSEM FORMULÁRIOS ESTRATÉGIA BOTTOM-UP Geralmente os formulários possuem: Informações que não precisam ser armazenadas: Cabeçalho Campos Instruções de preenchimento Informações que devem ser armazenadas: Dados preenchidos nos campos 2323 PROJETO DE VISÃO – REQUISITOS COMQ BASE EM FORMULÁRIOS - EXEMPLO A t Sã C l d Pi h l PEDIDO DE COMPRA Autopeças São Carlos do Pinhal Rua Santa Ana, 134, São Carlos – SP, fone:3356-7777 Cli t 024 Número: 0028345 Data:03/10/2009 Entrega:04/10/2009 Cliente: 024 Nome: Joaquim dos Santos Endereço: rua Frei Gusmão, 530, São Carlos – SP Telefone: (16) 3373 3098 Cod Produto Descrição quantid ade Preço unitário Valor Telefone: (16) 3373-3098 24 0012 amortecedor 2 R$190,00 R$380,00 ... 24... ... Total PROJETO DE VISÃO – REQUISITOS COMQ BASE EM FORMULÁRIOS - EXEMPLO A t Sã C l d Pi h l CNPJ 1112 37456 75654 PEDIDO DE COMPRA Autopeças São Carlos do Pinhal, CNPJ 1112.37456.75654 Rua Santa Ana, 134, São Carlos – SP, fone:3356-7777Informações da Empresa Cli t 024 Número: 0028345 Data:03/10/2009 Entrega:04/10/2009 Pedido Cliente: 024 Nome: Joaquim dos Santos Endereço: rua Frei Gusmão, 530, São Carlos – SP Telefone: (16) 3373 3098 Cliente Cod Produto Descrição quantid ade Preço unitário Valor Telefone: (16) 3373-3098 Fazer o Esquema 25 0012 amortecedor 2 R$190,00 R$380,00 ...Itens do Pedido Conceitual 25... ... Total PROJETO DE VISÃO – REQUISITOS COMQ BASE EM FORMULÁRIOS - EXEMPLO l f t t l Cliente Pedido de Produtof possui telefone nome descquant total N1 NMCliente de Compra Produtofaz possui end Nro Nrod t codprecodata p 2626 PROJETO DE VISÃO – REQUISITOS COM Faça o esquema conceitual correspondente. Q BASE EM FORMULÁRIOS – EXERCÍCIO ç q p Informação de Docentes de Ensino à Distância Nome: ________ Instituição: _____ Departamento:______ Titulação: ________ Áreas de Concentração: _____ ________ ________ Disciplina Ministrada Carga-Horária Semestre /Ano Ministrado Tutores Ministrado 27 ... 27 PROJETO DE VISÃO – REQUISITOS COMQ BASE EM FORMULÁRIOS – EXERCÍCIO Altere o formulário anterior adicionando as seguintes informações sobre tutores: Formação Bolsista Disciplinas de Interesse Para professores acrescente campos para i l 28 assinalar as opções: Ministra aula de pós-graduação;P f t t d 28 Professor contratado; PROJETO DE VISÃO – REQUISITOS COM BASEPROJETO DE VISÃO REQUISITOS COM BASE EM DECLARAÇÕES DE REGISTROS– EXERCÍCIO Algumas aplicações comerciais usam arquivos de registros; C id i t d l ã C b l Considere a seguinte declaração em Cobol Campo simples01 COMPRA 02 COD PIC X(12) 02 DATA 03 DIA PIC 9(2) Campo simples Campo composto Fazer o Esquema 03 DIA PIC 9(2) 03 MES PIC 9(2) 03 ANO PIC 9(2) 02 VALOR-TOTAL Esquema Conceitual 29 02 VALOR TOTAL 02 PRODUTOS-COMPRA OCCURS 10 TIMES 03 COD_PRODUTO PIC9(10) 03 QUANTIDADE PIC9(4) Campo Multivalorado 29 PROJETO DE VISÃO – REQUISITOS COM BASEPROJETO DE VISÃO REQUISITOS COM BASE EM DECLARAÇÕES DE REGISTROS– EXERCÍCIO t t l Compra Produtopossui descquant total NM Compra Produtopossui codd t cod data dia mes ano 3030 PROJETO DE VISÃO – REQUISITOS COM BASEPROJETO DE VISÃO REQUISITOS COM BASE EM DOCUMENTOS EM XML – EXERCÍCIO <?xml version=“1.0”?> <problemas reportados><hospital> <paciente> <rg>12345</rg> <problemas_reportados> <problema> dor nas costas </problema> <nome> Maria Boo</nome> <idade>25</idade> </paciente> <problema> falta de ar </problema> </problemas reportados><medico> <crm> 99999 </crm> <nome> Antonio Maria </ > </problemas_reportados> <diagnostico> estresse</diagnostico> </nome> </medico> <consulta> <data>12/12/2012</data> </consulta> </hospital> 31 <data>12/12/2012</data> <rg>12345</rg> <crm>99999</crm> Fazer o 31Esquema Conceitual PROJETO DE VISÃO – REQUISITOS COM BASEPROJETO DE VISÃO REQUISITOS COM BASE EM DOCUMENTOS EM XML – EXERCÍCIO data Medico Paciente nome N 1 idade ConsultaRealiza Faz N1 N crmnome rg Consulta Problemasnome Problemas reportadosdiagnóstico 3232 INTEGRAÇÃO DE VISÕES A integração de visões se dá aos pares: As duas visões com maior quantidade de conceitos em comum são integradas;em comum são integradas; A visão resultante será integrada com a próxima que possui a maior quantidade de conceitos em comum e assim por diante... Esquema BEsquema A Esquema BEsquema A Esquema Integração 33 Esquema Intermediário Esquema C Integração 33 Esquema Final INTEGRAÇÃO DE VISÕES O processo de Integração de Visões também é conhecido como processo de Integração de Esquemas;Esquemas; A integração de visões também é utilizada na abordagem Bottom-Up (Engenharia Reversa);abordagem Bottom Up (Engenharia Reversa); Obj tiObjetivos: Os atributos de uma mesma entidade ou relacionamento após a i teg ação ão e ido e a ú ica tabela 34 integração são reunidos em uma única tabela. Redundâncias de dados devem ser eliminadas. 34 INTEGRAÇÃO DE VISÕES RESOLUÇÃO DE CONFLITOS CONFLITOS DE NOME Sinônimos: nomes diferentes para a Homônimos: nomes iguais para informações mesma informação em diferentes esquemas: S l ã E lh diferentes em diferentes esquemas: S l ã R• Solução: Escolher um nome e renomear os demais com esse nome; • Solução: Renomear para diferenciar as informações 3535 INTEGRAÇÃO DE VISÕES RESOLUÇÃO DE CONFLITOSRESOLUÇÃO DE CONFLITOS CONFLITOS ESTRUTURAIS Os conceitos homônimos de diferentes esquemas são: Idênticos: • Mesmos atributos; • Mesmos relacionamentos; • Se resumem no mesmo. Compatíveis: • Estruturalmente diferentes, mas representam i lhconceitos semelhantes; • Fazer uma representação comum que satisfaça ambas as restrições; Incompatíveis: • Apresenta restrições diferentes (chaves, cardinalidade, etc...): F t ã ti f t i ã 36• Fazer uma representação comum que satisfaça a restrição mais genérica; 36 INTEGRAÇÃO DE VISÕES RESOLUÇÃO DE CONFLITOSRESOLUÇÃO DE CONFLITOS CONFLITOS ESTRUTURAIS Compatíveis P f P f Á d Professor Professor Áreas de Pesquisa tem Área de Pesquisa 3737 INTEGRAÇÃO DE VISÕES RESOLUÇÃO DE CONFLITOSRESOLUÇÃO DE CONFLITOS CONFLITOS ESTRUTURAIS Incompatíveis Cli t Cli tCliente Cliente (0,1) (0,N) tem tem (1,1) (1,1) Dívida Dívida 3838 REFINAMENTO DO ESQUEMA CONCEITUAL O esquema deve ser refinado para ter as qualidades desejáveis de um esquema conceitual conceitual:conceitual: Completo; Apropriado;Apropriado; Válido; Mínimo; Significativo; Normalizado. Legível; 3939 REFINAMENTO DO ESQUEMA CONCEITUALQ • Todas as informações dos requisitos estão representadas no ? Completo esquema? Apropriado • Todas as informações do esquema estão nos requisitos de dados? Válido • Está livre de erros semânticos? • Toda a entidade possui identificador? • Todas as restrições de cardinalidade estão representadas?Todas as restrições de cardinalidade estão representadas?... Normalizado 40• Satisfaz as formas normais? 40 REFINAMENTO DO ESQUEMA CONCEITUALQ •O esquema está de tal modo que se um conceito for eliminado haverá perda de informação? Mínimo haverá perda de informação? • Ex: Uso de atributos derivados...no entanto, se necessário eles devem ser mantidos • O esquema deve ser entendido utilizando os elementos do modelo ER sem a necessidade de explicação adicional Significativo ER sem a necessidade de explicação adicional Legível • Esteticamente organizado: • Evitar curvas; • Cruzamentos; • Usar posições intuitivas (entidade genérica acima da entidade 41• Usar posições intuitivas (entidade genérica acima da entidade especializada); 41 REFINAMENTO DO ESQUEMA CONCEITUALQ Quais qualidades desejáveis de um esquema conceitual que o diagrama a seguir não atende? Por q g g quê? Especificação. U l t i t d U f d i t l Um aluno tem um orientador. Um professor pode orientar alunos no mestrado e no doutorado. A orientação dos alunos pode levar a produção bibliográfica de livros ou artigos. Professor PublicaçãoProduz tem i É um É um 42 Nível tem moni tora Periódico Artigo 42Aluno DisciplinaProfessor REFINAMENTO DO ESQUEMA CONCEITUALQ Especificação Um aluno tem um orientador. Um professor pode orientar alunos no mestrado e no doutorado. A orientação dos alunos pode levar a produção bibliográfica de livros ou artigos. Nenhuma das - Completo; - Significativo; qualidades são atendidas. O esquema não está: p ; - Apropriado; - Válido; - Mínimo; g ; - Normalizado. - Legível. Professor PublicaçãoProduz tem i É um É um 43 Nível tem moni tora Periódico ArtigoCorrija o esquema de maneira que o 43Aluno DisciplinaProfessor mesmo passe a satisfazer todas as qualidades. TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Eliminar redundâncias: Ciclos de relacionamento: Paciente faz exame (1,1)(0,N) atende tem (1,1) (1,1) 44 atende diagnósticoacessa (0,N) (1,1) (0 N) (1 1) 44Médico g(0,N) (1,1) TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Eliminar redundâncias: Ciclos de relacionamento: Paciente faz Tem como saber exame (1,1)(0,N) atende quais diagnósticos que o médico acessa sem o l i tem (1,1) (1,1) 45 atende diagnósticoacessa relacionamento acessa?(0,N) (1,1) (0 N) (1 1) 45Médico g(0,N) (1,1) TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Eliminar redundâncias: Heranças implícitas Para ser gerente a PESSOA pessoa precisa ser primeiro um funcionário!o 46CLIENTE FUNCIONÁRIO G t 46CLIENTE FUNCIONÁRIO Gerente TRANSFORMAÇÕES DO ESQUEMAÇ Q CONCEITUAL Eliminar redundâncias: Heranças implícitas PESSOA Para ser gerente a o pessoa precisa ser primeiro um funcionário!CLIENTE FUNCIONÁRIO4747 GERENTE TRANSFORMAÇÕES DE ESQUEMAÇ Q OBTENDO O ESQUEMA MÍNIMO Eliminar especializações com poucos atributos ou que não participem de relacionamentos; CASA CASA Tipo d p 48 ALVENAR MADEIRA 48IA MADEIRA TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Eliminar entidades desnecessárias idade idade Paciente nome Paciente rg nome tem rg (1,1) g Tipo sanguíneo Rh sanguíneo 49Tipo tem tipo (0,N) 49Tipo sanguíneo p rh TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Criar generalizações quando necessário; tem Professor Publicação geren P j ttem cia 50 Pesquisador Projetostem d 50coord ena TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Criar generalizações quando necessário; tem Publicação P j t ç geren Funcionário Projetoscia o 51 Professor Pesquisador 51 TRANSFORMAÇÕES DO ESQUEMA CONCEITUALTRANSFORMAÇÕES DO ESQUEMA CONCEITUAL Criar subconjuntos para melhorar a semântica; Departamento geren ciaFuncionário (0,1) (1,1) Funcionário 52(1,1) (1 1) 52 DepartamentogerenciaGerente ( , ) (1,1) TRANSFORMAÇÕES DO ESQUEMA CONCEITUAL NORMALIZAÇÃONORMALIZAÇÃO A li ã bé é i diá i A normalização também é um passo intermediário da abordagem Bottom-up (Engenharia Reversa) do Projeto Conceitual;Projeto Conceitual; A verificação da normalização deve ser feita no passo final da abordagem Top-Down (Abordagem passo final da abordagem Top Down (Abordagem Tradicional) 5353 TRANSFORMAÇÕES DO ESQUEMA CONCEITUAL NORMALIZAÇÃONORMALIZAÇÃO Top- Down 1. coleta de requisitos de diferentes visões Completo; 1. coleta de fontes de dados 2. Desenvolvimento de um esquema conceitual para cada visão Apropriado; 2. representação em tabelas não- normalizada 3. Integração de visões Válido; normalizada 3. normalização 4. Transformação do esquema conceitual visando atender as qualidades: Mínimo; ç 4. integração de Significativo; 54 esquemas relacionais 5 engenharia Normalizado. 545. engenharia reversa do esquema relacional Bottom-Up Legível; NORMALIZAÇÃOÇ DEPENDÊNCIAS FUNCIONAIS Se o valor de um conjunto de atributos A permite descobrir o valor de um outro conjunto B, dizemos que A determina funcionalmente B ou que B que A determina funcionalmente B, ou que B depende de A, e denotamos: A B Exemplo: RG nome Sabendo o valor do RG é possível identificar o nome de uma pessoanome de uma pessoa. 5555 NORMALIZAÇÃOÇ DEPENDÊNCIA FUNCIONAL PARCIAL f Se A for chave da relação e o valor de um subconjunto de atributos de A permite descobrir o valor de um outro conjunto B, dizemos que B possui dependência outro conjunto B, dizemos que B possui dependência funcional parcial em relação a A. Exemplo: Matricula(RA, SiglaDisc, nome_aluno, ementa,média) RA, SiglaDiscmédia RA nome_aluno, Dependência Funcional Parcial SiglaDiscementa, Dependência Funcional Parcial 5656 NORMALIZAÇÃOÇ DEPENDÊNCIA FUNCIONAL TOTAL Uma dependência funcional XY é totalmente dependente funcional se ao remover qualquer atributo A de X a dependência funcional não se atributo A de X, a dependência funcional não se aplica mais. 5757 NORMALIZAÇÃOÇ DEPENDÊNCIA FUNCIONAL TRIVIAL Se X contém Y então se diz que X → Y é uma "dependência funcional trivial" 5858 NORMALIZAÇÃOÇ ATRIBUTO PRIMO Um atributo primo é todo atributo que pertence a uma chave candidata; U h did t é h í i Uma chave candidata é uma superchave mínima; Uma superchave é um conjunto de atributos que identifica uma entidadeidentifica uma entidade. 5959 NORMALIZAÇÃOÇ PRIMEIRA FORMA NORMAL Uma tabela está na 1FN quando não contém tabelas aninhadas, ou seja: d ã i t ib t lti l d quando não possui atributos multivalorados; quando não possui atributos compostos; Vamos colocar Exemplo de relação que não está na 1FN. depto(nrodepto,nomedepto,codgerente,cidades) Vamos colocar na 1FN? 1234 Transporte 12688 Dourado, Brotas, Trabiju 60 j 2323 Agrícola 1369 Ribeirão Preto, São Carlos 60 NORMALIZAÇÃOÇ PRIMEIRA FORMA NORMAL Exemplo de relação na 1FN com redundância de informações: depto(nrodepto,nomedepto,codgerente,cidade) 1234 T t 12688 D d1234 Transporte 12688 Dourado 1234 Transporte 12688 Brotas, 1234 Transporte 12688 Trabiju 6161 NORMALIZAÇÃOÇ SEGUNDA FORMA NORMAL Uma relação está na 2FN quando: Uma relação R está na segunda forma normal se todo atributo não primo A em R for totalmente dependente de uma chave candidatadependente de uma chave candidata. imovel(idImovel,id_condominio,lote, preco,taxa_condominio) 62 Chave-candidata Dependência funcionalNã tá d f l 62funcionalNão está na segunda forma normal NORMALIZAÇÃOÇ SEGUNDA FORMA NORMAL idImovel preço Imóvel idImovel lote I ó l id_condo minio tem idImovelImóvel lote C d í i id precoTaxa_condominio 6363 Condomínio taxa 6363 NORMALIZAÇÃOÇ TERCEIRA FORMA NORMAL Uma relação está na 3FN quando: Está na 2FN e, P t d d dê i f i l XA R X f Para toda dependência funcional XA em R, X for superchave ou A for atributo primo; idDisc Supondo que cada disciplina pertence a um Disciplina idDepto disciplina pertence a um único departamento e que cada departamento tem um único chefe. Não está na 64 Disciplina nomeDepto único chefe. Não está na 3FN! 64 chefeDepto NORMALIZAÇÃOÇ TERCEIRA FORMA NORMAL di i li (idDi idD t D t h f D t )disciplina(idDisc, idDepto, nomeDepto, chefeDepto) D dê i Dependências funcionais nome disciplina idDisc Pertence a 65 Depto nomeDepto idDepto 65 6565 chefeDepto NORMALIZAÇÃOÇ TERCEIRA FORMA NORMAL E tá t i f empregado nome Está na terceira forma normal? Se não estiver altere o empregado nroemp verbaproj nroproj Se não estiver, altere o diagrama para que ele fique na 3FN(1,N) trabalha funcao verbaproj (1,1) 66 Depto nroDepto nomeDepto 66 NORMALIZAÇÃOÇ TERCEIRA FORMA NORMAL Diagrama na 3FN empregado nome empregado nroemp verbaproj(1,N) (1 N) trabalha funcao nroprojProjeto (1,1) (1,N) 67 Depto nroDepto nomeDepto 67 NORMALIZAÇÃOÇ FORMA NORMAL DE BOYCE CODE Uma relação R está na FNBC, se: Está na 3FN e P t d d dê i f i l XA d R X f Para toda dependência funcional XA de R, X for superchave; Ou seja não deve haver atributos de nenhum Ou seja, não deve haver atributos de nenhum tipo (primo ou não primo) transitivamente dependente da chave. superchave idpropr idcond lote area P 5 V l L616 1500 idpropr, idcond lote, area superchave 68 Prop5 Vale L616 1500 Prop4 Uga L231 1000 prop3 Uga L140 1000 Prop2 Central L30 500 idcond,idloteidprop, area p Não é superchave 68Prop2 Central L30 500 prop1 Central L231 500 area idcond p Está na 3FN, mas não está na FNBC! NORMALIZAÇÃOÇ FORMA NORMAL DE BOYCE CODE Para resolver, dividir as tabelas: idpropr idcond lote Prop5 Vale L616 Prop4 Uga L231 prop3 Uga L140 P 2 C l L30Prop2 Central L30 prop1 Central L231 Idcond area Vale 1500 Uga 1000 69 Uga 1000 Uga 1000 Central 500 Central 500 69Ce t a 500 NORMALIZAÇÃOÇ DEPENDÊNCIAS MULTIVALORADAS Se um conjunto de atributos A restringe os valores possíveis para os atributos de um outro conjunto B diz se que A multidetermina B ou conjunto B, diz-se que A multideterminaB, ou que B é multidependente de A, e denota-se: ABAB 7070 NORMALIZAÇÃOÇ QUARTA FORMA NORMAL Uma relação está na 4FN quando: dado um conjunto completo de dependências multivaloradas não triviais para essa relação:multivaloradas não triviais para essa relação: Para todas as A B, A é uma superchave da relação. 7171 NORMALIZAÇÃOÇ QUARTA FORMA NORMAL Mais claramente, não deve haver dependências multivaloradas entre os atributos, inclusive elementos da própria chave elementos da própria chave. Exemplo: pessoa_proj(pessoa, projeto, dependente) Nesse caso tem-se: pessoaprojeto, Nesse caso tem se: pessoaprojeto, pessoadependente 7272 NORMALIZAÇÃONORMALIZAÇÃO NO REFINAMENTO DO PROJETO CONCEITUAL No refinamento do projeto conceitual, a normalização até a 3FN deve ser avaliada, as próximas formas normais devem ser as próximas formas normais devem ser consideradas após o mapeamento do esquema conceitual para o relacional;p ; Normalizar evita introduzir inconsistências Normalizar evita introduzir inconsistências quando se alteram relações porém obriga a execução de custosas operações de junção durante a consulta de informações. 7373
Compartilhar