Baixe o app para aproveitar ainda mais
Prévia do material em texto
APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 1 1. A NATUREZA DOS SISTEMAS .........................................................................................3 1.1. DEFINIÇÃO: ......................................................................................................................3 1.2. SISTEMAS NATURAIS .........................................................................................................3 Sistemas Físicos ......................................................................................................................3 Sistemas Vivos .........................................................................................................................3 1.3. SISTEMAS FEITOS PELO HOMEM .........................................................................................3 Sistemas Automatizados...........................................................................................................4 Sistemas On-Line.....................................................................................................................4 Sistemas de Tempo Real ..........................................................................................................5 Sistemas de Apoio à Decisão ...................................................................................................5 Sistemas de Planejamento Estratégico.....................................................................................6 Sistemas Baseados no Conhecimento.......................................................................................6 Data Warehouse ......................................................................................................................6 2. O QUE É ANÁLISE? ............................................................................................................7 3. METODOLOGIA: VISÃO GERAL.....................................................................................7 3.1. OBJETIVOS DA METODOLOGIA ..........................................................................................8 3.2. PROPOSTAS DA METODOLOGIA ..........................................................................................8 4. CICLO DE VIDA DE UM PROJETO .................................................................................8 4.1. ATIVIDADE 1: LEVANTAMENTO.........................................................................................9 4.2. ATIVIDADE 2: ANÁLISE DE SISTEMAS ................................................................................9 4.3. ATIVIDADE 3: PROJETO...................................................................................................10 4.4. ATIVIDADE 4 : IMPLEMENTAÇÃO.....................................................................................10 4.5. ATIVIDADE 5: GERAÇÃO DE TESTES.................................................................................10 4.6. ATIVIDADE 6: CONTROLE DE QUALIDADE .......................................................................10 4.7. ATIVIDADE 7: DESCRIÇÃO DOS PROCEDIMENTOS .............................................................11 4.8. ATIVIDADE 8: PREPARAÇÃO DA BASE DE DADOS INICIAL..................................................11 4.9. ATIVIDADE 9: INSTALAÇÃO.............................................................................................11 5. SISTEMAS DE BANCO DE DADOS.................................................................................12 5.1. INTRODUÇÃO ..................................................................................................................12 5.2. BANCO DE DADOS RELACIONAIS .....................................................................................12 5.3. CONCEITOS DE BANCO DE DADOS ...................................................................................13 5.4. PROPRIEDADES DE UM BANCO DE DADOS ........................................................................13 5.5. SISTEMA GERENCIADOR DE BANCO DE DADOS – SGBD ..................................................14 Definição de um B.D..............................................................................................................14 Construção de um B.D...........................................................................................................14 Manipulação de um B.D ........................................................................................................14 5.6. ABSTRAÇÃO DE DADOS...................................................................................................14 5.7. LINGUAGENS DOS SGBDS...............................................................................................15 Linguagens de Definição de Dados (DDL).............................................................................15 Linguagem de Manipulação de Dados (DML) .......................................................................15 5.8. NATUREZA DE ARMAZENAMENTO DE UM SISTEMA DE BANCO DE DADOS..........................16 5.9. SEPARAÇÃO ENTRE PROGRAMAS E DADOS.......................................................................16 5.10. USUÁRIOS DE BANCO DE DADOS .................................................................................17 Administrador de Banco de Dados (DBA)..............................................................................17 Projetista de Banco de Dados (DBD) ....................................................................................17 APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 2 Usuários Finais .....................................................................................................................17 5.11. VANTAGENS DA ABORDAGEM DE BANCO DE DADOS ....................................................17 5.12. QUANDO NÃO USAR BANCO DE DADOS ........................................................................18 5.13. INTERFACES DOS SGBDS ............................................................................................18 5.14. EXERCÍCIO 1 ...............................................................................................................18 6. MODELAGEM DE DADOS...............................................................................................21 6.1. MODELO ENTIDADE RELACIONAMENTO (MER)...............................................................21 6.2. CONCEITOS.....................................................................................................................21 6.3. TIPOS DE ENTIDADES ......................................................................................................22 6.4. ENTIDADE FRACA ...........................................................................................................22 6.5. ATRIBUTOS:....................................................................................................................22 6.6. CHAVE PRIMÁRIA ...........................................................................................................23 6.7. CHAVE CANDIDATA ........................................................................................................23 6.8. CHAVE CONCATENADA ...................................................................................................23 6.9. CHAVE ESTRANGEIRA .....................................................................................................23 6.10. RELACIONAMENTOS ....................................................................................................24 6.11. CARDINALIDADE.........................................................................................................246.12. EXERCÍCIO 2 ...............................................................................................................26 6.13. MAPEAMENTO DO MER PARA O MODELO DE DADOS RELACIONAL ..............................27 Primeiro Passo - Mapear Conjuntos de Entidades Regulares ................................................28 Segundo Passo - Mapear Conjuntos de Entidades Fracas......................................................28 Terceiro Passo - Mapear Conjuntos de Relacionamentos Binários 1:1 ..................................29 Quarto Passo - Mapear Conjuntos de Relacionamento Binário Regular 1:N .....................30 Quinto Passo - Mapear Relacionamento Binário M:N ...........................................................31 Sexto Passo - Mapear Atributos Multi-valorados...................................................................32 6.14. EXERCÍCIO 3 ...............................................................................................................34 7. BIBLIOGRAFIA .................................................................................................................36 APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 3 1. A Natureza dos Sistemas 1.1. Definição: Não podemos falar da Análise de Sistemas, antes de ter uma clara idéia do que seja um sistema. De uma forma geral, podemos dizer que sistema é um grupo de itens que interagem entre si e que sejam interdependentes, formando um todo unificado. 1.2. Sistemas naturais A maioria dos sistemas não é feita por pessoas. Eles são encontrados na natureza, e de modo geral, servem a seus próprios propósitos. Podemos dividi-los em dois subsistemas: sistemas físicos e sistemas vivos. Sistemas Físicos Existem muitos exemplos de sistemas físicos, tais como: � Sistemas estelares: galáxias, sistemas solares, etc. � Sistemas geográficos: rios, cadeias de montanhas, etc. � Sistemas moleculares: DNA. Sistemas Vivos Os sistemas vivos abrangem as indeterminadas espécies de animais e plantas em nossa volta inclusive a espécie humana. Essa categoria também inclui hierarquias de organismos vivos individuais, como ervas, rebanhos, tribos e nações. Muitos sistemas feitos pelo homem interagem com os sistemas vivos - por exemplo, os marca-passos computadorizados que interagem com o coração humano. 1.3. Sistemas feitos pelo homem Alguns sistemas são construídos, organizados e mantidos por seres humanos. � Sistemas sociais: organizações de leis, doutrinas, costumes, etc. � Sistemas de comunicações: telefones, telex, sinais do fumaça, etc. � Sistemas de manufatura: fábricas, linhas de montagem, etc. � Sistemas financeiros: contabilidade, controle de estoque, entre outros. A maioria desses sistemas usa computadores; na verdade muitos deles não poderiam sobreviver sem os computadores. E importante ressaltar que esses sistemas já existiam antes que surgissem os computadores: alguns deles, na realidade, não estão ainda totalmente computadorizados e podem permanecer assim por muitas décadas mais. A questão de, se um sistema feito pelo homem deve ou não ser computadorizado, tem que ser avaliada. Mas, por que alguns sistemas de informação não devem ser automatizados? Existem muitas razões, as mais comuns são: � Custo: Nem sempre é verdade que os computadores sejam mais rápidos ou mais baratos do que o modo “antigo”. APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 4 � Conforto: Um sistema automatizado pode ocupar espaço em demasia, fazer excessivo ruído ou consumir muita energia. � Segurança: O usuário pode achar que o sistema automatizado não seja suficientemente seguro, podendo preferir que suas importantes e sigilosas informações sejam fisicamente protegidas debaixo de chaves. � Manutenção: o usuário pode argumentar que não há ninguém na organização que possa manter o hardware e/ou software do computador, de forma que ninguém estaria capacitado a efetuar modificações. � Política: a comunidade de usuários pode achar que os computadores são uma ameaça aos seus empregos, ou que tornam seu trabalho tedioso e “mecânico”, ou podem ter uma dúzia de outras razões que o analista pode considerar como irracionais. Mas, como o sistema pertence aos usuários, a opinião deles está acima de tudo. Se eles não desejarem um sistema automatizado, farão o que for possível para que o sistema fracasse caso ele Ihes seja imposto. Se a solução automatizada realmente for a melhor solução, deve ser feito um trabalho de conscientização para que os usuários vejam as vantagens da automatização. A principal tarefa do pessoal ligado à análise, desenvolvimento e processamento de sistemas é analisar ou estudar o sistema para determinar-Ihe a essência: o resultado exigido independentemente da tecnologia utilizada em sua implantação. Sistemas Automatizados Sistemas automatizados são sistemas feitos pelo homem, que interagem com, ou são controlados por um ou mais computadores. A sociedade moderna apresenta muitos exemplos diferentes de sistemas automatizados, mas todos possuem componentes comuns. Componentes de um Sistema Automatizado � Hardware: unidades físicas de um sistema (equipamento, terminal, impressora, vídeo, teclado, disco, etc.) � Software: programas, como sistemas operacionais (DOS, SyBase, Oracle), programas aplicativos (Word, Excel, banco de dados, Xbase, Access, Lótus 1,2,3, etc) � Pessoas (peopleware): aquelas que usam ou operam o sistema. Fornecem dados de entrada ou utilizam informações de saída, as que desempenham atividades de processamento manual em um sistema. � Dados: informações que o sistema conserva por um período de tempo. � Procedimentos: determinações ou instruções formais para a operação do sistema. As técnicas para analisar, modelar, projetar e implementar sistemas automatizados são geralmente as mesmas, qualquer que seja a aplicação, ou seja, podem ser usadas em sistemas comerciais, militares, industriais, etc Tipos de Sistemas Automatizados � Sistemas On-Line � Sistemas de Tempo-Real � Sistemas de Apoio à Decisão � Sistemas de Planejamento Estratégico � Sistemas Baseados no Conhecimento � Data Warehouse Sistemas On-Line São sistemas onde as informações disponíveis estão sempre atualizadas, ou seja, no APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 5 momento que há uma alteração de dados, elas ficam imediatamente disponíveis para serem utilizadas. Normalmente os usuários se conectam ao sistema por meio de terminais que podem estar próximos ou a centenas e até milhares de quilômetros de distância do computador que processa e armazena os dados. Características de Sistemas On-Line: Os dados são introduzidos no sistema de processamento e dele recebidos remotamente. Isto é, os usuários interagem com o computador através de terminais que podem estar localizadas a centenas de quilômetros de outros terminais e do próprio computador; O armazenamento dos dados (arquivos ou banco de dados) é organizado de tal forma que uma recuperação ou modificação de uma informação ocorra rapidamente e sem necessidade de acessar outros dados do sistema. Isto está em flagrante contraste com os sistemas batch (lotes) comuns nas décadas de 60 e 70, onde as informações eram normalmente recuperadas ma modalidade seqüencial. O sistema lia todos os registros do banco de dados, processando-os e atualizando-os, conforme houvesse alguma atividade. Num sistema on-line o usuário interage diretamente com o computador,portanto exige que o analista planeje cuidadosamente a interface homem-máquina. A comunicação de um sistema on-line com as pessoas ou seja, o modo de conexão entre eles, pode ser feita através de linhas telefônicas, satélites, rádios (microondas), etc. Exemplos de Sistemas On-Line: � Caixa automática de um banco; � Reserva de passagens aéreas; � Homebanks. Sistemas de Tempo Real São sistemas que tem como compromisso receber, processar ou enviar informações em um limite de tempo predeterminado. Características de Sistemas de Tempo Real: Muitos consideram sistemas de tempo real uma variação de sistemas on-line, usando esses termos indiferentemente. Evidente que, de alguns sistemas on-line (sistemas bancários, reserva de passagens, controle de estoque) se espera uma resposta às mensagens digitadas no terminal em um ou dois segundos. Porém, a expressão “tempo pré-determinado” na definição de sistema de tempo real, normalmente quer dizer em milissegundos e às vezes em microssegundos. Sistemas de tempo real podem interagir tanto com pessoas quanto com o ambiente. A preocupação de um analista de sistema de tempo real é que, se o computador não responder com suficiente rapidez, os dados que chegarem poderão se perder irremediavelmente, ou um míssil poderá se desviar tanto de sua trajetória, que não se conseguirá recuperá-la, ou um processo industrial irá pelos ares. Em contraste com isso, um sistema on-line que não reaja com suficiente rapidez nada mais fará do que tornar seus usuários impacientes e irritados. Exemplos de Sistemas de Tempo Real: • Orientação de mísseis • Monitoração de pacientes em hospitais • Controle de misturas, temperatura e pressão em indústrias químicas. Sistemas de Apoio à Decisão APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 6 A maioria dos sistemas automatizados de informação construídos nos últimos 30 anos era de sistemas operativos, conhecidos como do processamento de ações o que incluem os sistemas do pagamento, de entrada de pedidos, de contabilidade e sistemas industriais. Como foram construídos há muito tempo, já estão desatualizados e por isso, novos sistemas alternativos têm sido desenvolvidos nas maiores empresas, Para todo o mundo. À medida que os atuais sistemas operativos prosseguem em seu rumo cambaleando, muitas empresas estão encontrando a atuação em um novo tipo de sistema: o de apoio à decisão. Características de Sistemas de Apoio à Decisão: Esses sistemas de processamento, como a próprio termo sugere, auxiliam gerentes e outros profissionais (“funcionários do conhecimento” de uma organização) a tomarem decisões inteligentes e bem informadas sobre vários aspectos da operação. Eles não só recuperam e apresentam dados, mas também executam diversas análises matemáticas e estatísticas sobre os dados; Têm também a aptidão de apresentar as informações sob várias formas gráficas (tabelas, diagramas, etc.) bem como relatórios convencionais. Exemplos de sistemas de Apoio à Decisão: Programas de planilhas eletrônicas (ex.: Lotus 1,2,3, Excel); Sistemas de análise estatística; Programas de previsões mercadológicas e outros. Sistemas de Planejamento Estratégico Esses sistemas não são programas de computador, mas uma complexa combinação de atividades e procedimentos, executadas por pessoas utilizando informações de fontes externas (pesquisa do mercado e outras) e de dados internos dos sistemas operativos e de apoio à decisão de uma empresa. Os sistemas do planejamento estratégico são usados pelos diretores para avaliar e analisar a missão da empresa. Planejamento estratégico é um conceito que se tornou popular durante a segunda guerra mundial, embora obviamente muitas empresas já fizessem isso, há muito tempo. Sistemas Baseados no Conhecimento Uma expressão relativamente nova na indústria do processamento é “sistema especialista” ou “sistema baseado no conhecimento”. Esses sistemas utilizam técnicas desenvolvidas dentro do campo da inteligência artificial, e têm como meta imitar o desempenho humano em uma ampla variedade de tarefas “inteligentes”. Os sistemas baseados no conhecimento, como é óbvio, contêm grande quantidade de conhecimentos variados para utilização em determinada tarefa. Os sistemas especialistas são sistemas baseados numa determinada Área (medicina, engenharia, administração, etc.), num determinado conhecimento, embora os dois nomes sejam muitas vezes empregados indistintamente. O sistema especialista é um programa que utiliza uma base de dados de conhecimentos em áreas específicas e através do relacionamento desses dados e outras técnicas, propõe soluções que possam auxiliar o profissional numa determinada área. Data Warehouse O aprimoramento dos sistemas de apoio à decisão, do planejamento estratégico e baseados no conhecimento, deu origem ao chamado DATA WAREHOUSE. O velho banco de dados submeteu-se a uma plástica, vestiu roupa nova, ganhou as ruas e APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 7 faz a cabeça dos “funcionários do conhecimento” no mundo inteiro: é o Data Warehouse, a mais recente ferramenta de apoio à decisão, que, integrada ao hardware e software específicas, permite armazenamento/tratamento de informações históricas, e tem importância estratégica no apoio a decisões em ocasiões específicas. Em se tratando de aplicações, a coleção de exemplos não tem fim: 1. Uma loja de departamentos, sabendo que boa parte das fraldas descartáveis é vendida a pais no caminho entre o escritório e a casa, em especial às sextas-feiras, aproveitou essa informação Para desembaraçar-se do estoque remanescente de cervejas importadas, exibindo-as em gôndolas ao lado de artigos para bebês. 2. Uma indústria de móveis para crianças, a partir de informações recolhidas das notas fiscais emitidas pelos revendedores, mantém cadastrados no Data Warehouse todos os consumidores que compram berços e outras peças para mobiliar quartos de bebês (nome, endereço, telefone, preferências de estilo, cores, etc.). Com isso, cinco anos depois, dispara malas diretas, oferecendo à família, móveis desenhados para crianças maiores. As correspondências, impressas em rosa ou azul, de acordo com o sexo do bebê, cumprimentos pelo aniversário da criança (dados coletados por vendedores treinados). Não há pais, avós e padrinhos que resistam a esse apelo de marketing. No Brasil as pioneiras do Data Warehouse são as instituições financeiras (Citibank e Tecban) visando melhorar o desempenho das Areas de marketing, crédito, finanças em geral e treinamento de recursos humanos. Atrás dessas empresas, a passos mais lentos e começando pela Area de marketing, vêm vindo indústrias como Ferrero Rocher, Gillete e Chapecó. A falta de cultura, somada aos custos da implantação, desestimula maiores iniciativas no país. Mas as estatísticas indicam que essa realidade tende a mudar rapidamente. A medida que aqui as empresas começam a descobrir essa tecnologia relacional como ferramenta capaz de realizar o trinômio Competitividade/Produtividade/Lucratividade. 2. O que é Análise? É o estudo de um problema, que antecede à tomada de uma ação. No mundo dos sistemas computacionais, análise refere-se ao estudo de alguma área de trabalho ou de uma aplicação, gerando, quase sempre, a especificação de um novo sistema. A essência da análise consiste em identificar o problema certo e escolher uma alternativa de solução que seja viável. A preocupação dominante da análise não é obter sucesso, mas evitar fracasso. Objetivos de uma boa análise: � Solução certa para o problema certo � Seleção de um objetivo ótimo � Documentaçãodo objetivo para posterior avaliação � Previsão de custos e benefícios � Obtenção de acordo entre as partes envolvidas 3. Metodologia: Visão Geral Os projetos de desenvolvimento de sistemas são iniciados como resultado de um entendimento verbal entre usuários e o pessoal de projeto (que pode ser o analista de sistemas, programador, operador de computador) e o trabalho se estende desde a análise de sistemas até o projeto e implementação, ocorrendo através de diversas fases. A metodologia determina quando e de que maneira as coisas devem acontecer e quais as regras que serão seguidas. Deve ser feita de um modo simples para qualquer pessoa entrosar-se com a atividade de desenvolvimento de um sistema. Metodologia é um conjunto organizado de técnicas que orienta uma atividade. APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 8 Cada atividade exige técnicas apropriadas. Dependendo do volume e complexidade das atividades, cada técnica necessita de ferramentas específicas, em geral, softwares de apoio. Algumas organizações adotam metodologias próprias, outras, metodologias de pacotes, desenvolvidas por firmas de consultoria. Cada metodologia especifica a seqüência das atividades a serem seguidas no desenvolvimento do sistema, os produtos a serem desenvolvidos em cada estágio, e os controles administrativos a serem aplicados. Os analistas devem contribuir para aprimorar a metodologia, mas não devem criar uma metodologia isolada dos demais porque isto dificulta a comunicação. 3.1. Objetivos da Metodologia Eficácia: Desenvolver sistemas de acordo com as necessidades reais do usuário. Eficiência: Minimizar custos de desenvolvimento, implementação, documentação e de manutenção. Ser eficaz é produzir um efeito que dê bom resultado. Eficiente é o agente efetivo da ação, a reação. Metodologia de desenvolvimento de sistemas estruturados é um método geral que visa a construção de um sistema de processamento de dados, baseado no projeto e na análise estruturada. 3.2. Propostas da metodologia � Participação do usuário: Quem conhece o problema é o usuário. É muito importante que ele esteja envolvido em todas as atividades do projeto, mesmo que seja só como ouvinte ou assistente. � Partir do problema geral para o particular: Abordar o sistema de forma a não se perder em detalhes. Primeiro os aspectos essenciais, depois os particulares. Essa maneira de enfocar um problema ou um sistema tem o nome de abordagem TOP-DOWN (de cima para baixo). � Refinamentos sucessivos: Um bom sistema é fruto de sucessivas correções e aprimoramentos de uma solução quase correta. É melhor estar aproximadamente certo do que precisamente errado. � Flexibilidade: Os projetos devem ser construídos de maneira a suportar mudanças que se fizerem necessárias. As situações mudam e as estimativas também podem ser alteradas. � Ênfase nos dados: Os dados são propriedade da empresa e não das aplicações. Os arquivos não devem ser exclusivos dos sistemas para evitar redundâncias e inconsistências. É viável a utilização de arquivos e dados já definidos, para não tê-los duas vezes em lugares diferentes. � Uso de ferramenta de alto nível: A tendência é de disponibilidade de ferramentas cada vez mais potentes e mais baratas para aumentar a produtividade de analistas e projetistas. Com isso os custos de hardware/software decrescem. 4. Ciclo de Vida de um Projeto Cada vez mais as organizações estão adotando um único ciclo de vida de projeto uniforme, também conhecido como plano de projeto ou metodologia de desenvolvimento de sistemas, que contém nove atividades: levantamento das informações, análise de sistemas, projeto, implementação, geração de testes, controle de qualidade, descrição de procedimentos, APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 9 conversão de banco de dados e instalação. Qual o propósito de ter-se um ciclo de vida de projeto? 1. Definir as atividades a serem executadas (descrição correta de todas as etapas); 2. Introduzir consistência entre muitos projetos de desenvolvimento de sistemas da mesma organização; 3. Introduzir pontos de verificação para o controle de decisões. O ciclo de vida do projeto pode organizar as atividades do gerente (do projeto) tornando mais provável que os problemas sejam atacados no momento apropriado. 4.1. Atividade 1: Levantamento É o estudo de viabilidade ou estudo inicial das atividades. Tipicamente, começa quando um usuário solicita que uma ou mais partes de sua atividade sejam automatizadas. Principais Objetivos: � Identificar usuários: � Identificar os usuários responsáveis pela requisição do novo sistema e a partir dessa relação desenvolver um escopo inicial do sistema. Escopo é a abrangência, intenção, propósito do sistema. � Identificar as atuais deficiências no ambiente do usuário. � Estabelecer metas e objetivos: � Definir datas limite, custos e o propósito do novo sistema. � Determinar se é possível automatizar: � Determinar a viabilidade de automação do sistema, sugerindo alguns esquemas, dentro do seu orçamento e planos. � Preparar uma previsão do projeto: � Estabelecer o tempo que será gasto na condução do restante das tarefas, estimando vantagens e desvantagens para cada solução. � Obter o parecer e o comprometimento do usuário e da administração: � Documentar os requisitos do usuário e as restrições dentro das quais o sistema deverá se construído. Submeter essa documentação ao conhecimento e aprovação do pessoal envolvido. 4.2. Atividade 2: Análise de sistemas O principal propósito da atividade de análise de sistema é transformar a combinação entre as informações obtidas do usuário e os objetivos do novo sistema em uma especificação estruturada. O desenvolvimento da descrição formal do que o novo sistema deve fazer, independe da natureza dos equipamentos, das linguagens ou softwares que serão usados para satisfazer as necessidades. Principais Objetivos � Buscar Informações: � Agrupar de forma coerente as informações obtidas na atividade Levantamento. � Entrevistar o usuário � Tomar conhecimento das atividades atuais do usuário, o que ele deseja do novo sistema e que restrições o sistema deve ter. Resultados da análise: APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 10 1. Relatório custo x benefício por atividade 2. Requisitos de base de dados (informações) 3. Necessidades físicas (hardware, software, peopleware) 4. Necessidades para conversão do sistema 5. Especificação funcional do sistema. 4.3. Atividade 3: Projeto Em cada tarefa especificada, a atividade Projeto ocupa-se com o desenvolvimento de uma seqüência apropriada de módulos de programas e interfaces entre esses módulos, para implementar a especificação criada na atividade Análise. Nesta atividade aparecem um dos principais problemas, pelos quais o usuário está interessado: a especificação das tarefas manuais que terão que ser realizadas por ele (a chamada fronteira homem-máquina) e como será a comunicação entre ele e a máquina, de que maneira e em que seqüência ele fornecerá os dados ao computador e como receberá os resultados do processamento (a chamada interface homem-máquina). A fronteira homem-máquina separa as partes do modelo que devem ser executadas por uma pessoa (como uma atividade manual) das partes que devem ser implementadas em um ou mais computadores. Estabelece as tarefas do usuário que serão necessárias para alimentar o sistema, os dados que ele deverá fornecerpara que o sistema comece a funcionar (os chamados dados de entrada ou simplesmente, entradas) A interface homem-máquina é uma descrição de como e em que seqüência as entradas serão fornecidas pelos usuários ao computador, bem como o formato e a seqüência das saídas fornecidas pelo computador ao usuário. É basicamente a definição da maneira que homem e máquina conversarão ou se relacionarão. 4.4. Atividade 4 : Implementação O sistema, depois de visto como um todo, é modulado, ou seja, dividido em partes mais simples. A atividade de implementação inclui a codificação (programação estruturada) e a integração das partes do sistema, gerando o resumo completo do sistema final. Nessa atividade o analista de sistemas não está envolvido, embora existam alguns projetos (e algumas organizações) onde a análise de sistemas, o projeto e a implementação são feitos pela mesma pessoa. 4.5. Atividade 5: Geração de testes A especificação estruturada deve conter todas as informações necessárias para definir um sistema aceitável do ponto de vista do usuário. Uma vez gerada a especificação, deve-se gerar um grupo de testes de aceitação. A preparação dos testes pode ocorrer em paralelo com as atividades de projeto e implementação. 4.6. Atividade 6: Controle de Qualidade Controle de qualidade é conhecido também como teste final de aceitação, e exige como entrada, os dados do teste de aceitação da atividade de geração de testes e o sistema integrado produzido pela atividade implementação. Algumas pessoas se referem a essa atividade como controle de qualidade em vez de garantia da qualidade. Independentemente da terminologia, é importante esta atividade para garantir que o sistema apresentará o nível apropriado de qualidade. Ë importante fazer o controle de qualidade em todas as atividades do projeto para assegurar que elas estão sendo realizadas APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 11 dentro do padrão de qualidade e organização. A atividade de controle é o teste final da qualidade do sistema 4.7. Atividade 7: descrição dos Procedimentos Outra atividade importante a ser realizada é a geração da documentação do sistema que é composta basicamente por: Manual do usuário, manual técnico do sistema e manual de operação. O manual do usuário descreve como o usuário deve proceder para se relacionar com o sistema. No manual do usuário estão definidos quais são os documentos de entrada, como e em que prazo deverão ser preenchidos estes documentos. O manual de operação contém instruções aos operadores de sistema sobre a maneira de tratamento das informações: localização de arquivos, programas, periodicidade de execução de determinadas rotinas, distribuição de relatórios, etc. O manual técnico, como o próprio nome diz, contém todas as informações técnicas do sistema: a descrição de todos os programas (inclusive a listagem deles), de todos os arquivos e de todos os procedimentos relativos ao sistema. Ele é uma referência para programadores e analistas tanto na elaboração de sistemas novos quanto na atualização dos que já existem. É necessário conservar a documentação correta e atualizada por tanto tempo quanto o sistema durar. A correção da documentação deve ser feita antes que o sistema seja posto em operação. O analista deve certificar-se de que, quando um sistema entrar em operação, todos os documentos relativos a ele estejam completos, consistentes, corretos e atualizados. Além dessa certeza, precisa estar seguro de que existe facilidade para executar modificações continuadas nesses documentos. Não se pode conservar atualizado um sistema e a documentação a ele associada se essa documentação não estiver correta. “Não convêm que a especificação estruturada tenha sido inscrita para sempre com uma pena de aço inoxidável em placas de pedra como uma permanente recordação para futuras gerações.” 4.8. Atividade 8: Preparação da base de dados Inicial Essa atividade prepara os dados que iniciarão o sistema e exige como entrada, o banco de dados atual do usuário bem como as definições produzidas pela atividade projeto (atividade 3). Caso o novo sistema seja resultado de atualizações de um sistema automatizado já existente, a base de dados anterior deve ser aproveitada para ser utilizada no novo sistema. Os dados existentes devem ser convertidos de acordo com as especificações do novo sistema. Não havendo base de dados automatizada, é necessário então, para dar a carga inicial ao sistema, digitar as informações iniciais. Conversão é a tarefa de passar os atuais arquivos, formulários e dados do usuário para o formato requerido pelo novo sistema. Um plano de conversão deve ser elaborado, de preferência, assim que o modelo de implementação do usuário esteja pronto. Pode haver a necessidade de, além da conversão dos arquivos, conversão de programas e procedimentos. 4.9. Atividade 9: Instalação Após os testes e a preparação dos dados é necessário o treinamento. Treinamento é a tarefa final da equipe de desenvolvimento de sistemas. Um plano de treinamento deve ser desenvolvido no início do projeto e precisa estar pronto ao mesmo tempo (ou antes) que o sistema esteja apto para entrar em operação. A atividade de treinamento tem como base as documentações produzidas pela atividade Descrição dos Procedimentos, o banco de dados convertido, produzido pela atividade Preparação da Base de Dados, e a aprovação da qualidade do Sistema, produzida pela atividade de controle APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 12 de qualidade. Instalação do novo sistema pode ser uma atividade rápida, desde que a localização do usuário, principalmente no caso de sistemas on-line, esteja bem definida. No caso de um sistema distribuído, de grande porte, pode haver uma única e centralizada localização do computador e dezenas ou mesmo centenas de terminais distribuídos. Desse modo, pode ser necessário instalar o sistema (e os dados) por estágios, de acordo com uma escala previamente preparada. Em alguns casos, a instalação poderá ser simplesmente uma “passagem” noturna para o novo sistema, sem nenhuma comemoração ou fanfarra; em outros casos, a instalação poderá ser gradual, com grupos alternados de usuários, recebendo manuais e simulando o uso do novo sistema até estarem seguros e começarem realmente a utilizá-lo. Não existe a obrigatoriedade de que toda a atividade deva terminar antes do início da atividade seguinte. Ao contrário, algumas atividades podem ser interligadas e executadas ao mesmo tempo. É por este aspecto não seqüencial que usa-se a palavra atividade no ciclo de vida do projeto estruturado, em lugar da palavra mais convencional fase. O termo fase refere-se tradicionalmente a um período de tempo de um projeto em que uma e somente uma atividade é executada. O ciclo de vida do projeto envolve, além das atividades, indivíduos que, embora exercendo funções diferentes, possuem características comuns. São os usuários, diretores ou gerentes e o pessoal da operação. Todos fornecem entradas à equipe do projeto e são os últimos receptores do sistema. O primeiro e mais importante integrante do projeto de desenvolvimento de um sistema é o usuário, que deve ser tão bem analisado e entendido, quanto as próprias requisições e objetivos a serem alcançados. A ele está reservado um tópico à parte. Diretores ou gerentes (dirigentes) são os que definem os recursos que serão destinados ao projeto, algumas restrições dentro das quais o sistema deverá ser construído, exigindo permanente garantia de que o projeto se manterá dentro destas restrições. Este conjunto de indivíduos engloba gerentes, diretorese supervisores. Pessoal da operação é composto por programadores (que transformam as definições do analista ou projetista em um conjunto de instruções executáveis) e operadores (responsáveis pelo centro de processamento, pela rede de comunicações, pela segurança do hardware e dos dados do computador, bem como pela execução dos programas e manipulação da saída das impressoras e monitores de vídeo). 5. Sistemas de Banco de Dados 5.1. Introdução Em uma grande organização, um sistema de Banco de Dados é apenas uma parte de um grande sistema de informação que é utilizado para gerenciar os recursos de informação da organização. Um sistema de informação inclui todos os recursos da organização que estão envolvidos na coleta, gerenciamento, uso e disseminação da informação. Estes recursos incluem os dados por si só, o sistema gerenciador de Banco de Dados, o hardware, o meio de armazenagem, as pessoas na organização que usam e gerenciam os dados, as aplicações que acessam e atualizam os dados, etc. Assim, os sistemas de Banco de Dados formam uma pequena parte de um grande sistema organizacional. 5.2. Banco de Dados Relacionais A idéia de banco de dados Relacionais foi apresentada em 1970, por Coad Yourdon, o qual partiu de uma visão intuitiva onde era possível associar um conjunto de atributos de uma APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 13 entidade do mundo real, como sendo uma relação. Além disso, Coad, propôs a álgebra relacional, que seria um conjunto de operações que iriam atuar sobre estas relações, cujo resultado seria sempre outra relação. O modelo relacional mostrou-se muito útil para lidar com aplicações comerciais, tornando- se a tecnologia mais difundida na área, nas décadas de 80 e 90. Este modelo representa os dados armazenados em um Banco de Dados através de relações, as quais contém informações sobre as entidades representadas e seus respectivos relacionamentos. Utiliza o conceito de matrizes, onde as linhas seriam os registros e as colunas seriam os campos. Tal modelo consiste em uma coleção de tabelas, onde cada tabela possui seu respectivo nome. 5.3. Conceitos de Banco de Dados Banco de Dados é uma coleção de dados interrelacionados. Dados são fatos que podem ser registrados e que têm um significado. Registro ou Tupla é uma coleção de dados. É dividido em campos que é utilizado para identificar os valores contidos no registro. Veja a figura a seguir: A figura abaixo representa um registro de um cliente em SGBD Relacional – conceitos relações de campos e tuplas. Veja a figura abaixo: Figura 1 – Representação do SGBD Relacional 5.4. Propriedades de um Banco de Dados � Um banco de dados é uma coleção lógica e coerente de dados com algum significado em comum. � Um Banco de Dados é projetado, construído e “preenchido” com dados para um Dorotéia Rua Castilho, 45 15990-000 10/05/80 384.150.122-9 Entendendo o que é dado Exemplo: - Telefone (011) 289-3587 com Valdir; Ou Telefone: - DDD: (011) - Fone: 289-3587 Importante: Dado é a menor unidade que em si possui significância ao negócio Nome dos Campos Valores 1.1. Nome Endereço Cep Tupla APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 14 propósito específico. Existe sempre um grupo de usuários e um conjunto de aplicações pré estabelecidas que vão trabalhar em torno de um Banco de Dados. � Um Banco de Dados representa algum aspecto do mundo real, também chamado de “Mini-Mundo”. Toda a mudança no mini-mundo deve ser refletida no Banco de Dados. � Um Banco de Dados pode variar em tamanho e Complexidade. � Exemplos: Banco de Dados da Receita Federal Banco de Dados de uma micro empresa � Esta grande quantidade de informações deve ser bem organizada e bem gerenciada, de modo que permita ao usuário manipular estes dados através de consultas e atualizações. � Um Banco de dados deve ser criado e mantido ou por um pacote de ferramentas específicas ou por um sistema gerenciador de Banco de Dados. 5.5. Sistema Gerenciador de Banco de Dados – SGBD Um SGBD é um pacote de ferramentas com um propósito geral que facilita os processos de definição, construção e manipulação de Banco de Dados para qualquer aplicação. Definição de um B.D É a especificação dos tipos de dados que serão armazenadas no B.D com uma descrição detalhada de cada tipo de dado. Construção de um B.D É o processo de armazenagem dos dados em algum meio de armazenamento. Manipulação de um B.D Aplicação de algumas funções como a consulta para a recuperação de alguns dados específicos, atualização para refletir mudanças no mini-mundo e a geração de documentos. 5.6. Abstração de Dados Quando um usuário utiliza um Banco de Dados, ele não faz idéia da quantidade de informações que ele está manipulando. Isto porque, o SGBD oculta certos detalhes de como os dados são armazenados ou mantidos, proporcionando ao usuário uma visão abstrata dos dados. Os Bancos de Dados são freqüentemente utilizados por pessoas sem conhecimentos na área de Banco de Dados. É missão do SGBD manipular a grande quantidade de dados complexos, sem que o usuário precise se preocupar. Para isto, temos três níveis de abstração. Nível Físico – Nível mais baixo de abstração. Descreve como os dados são armazenados. Descreve com detalhes as estruturas complexas de baixo nível. Nível Conceitual – Descreve quais dados são realmente armazenados no Banco de Dados. Assim como, o relacionamento entre esses dados. Nível Visão – Nível mais alto da abstração no qual se expõem apenas parte do BD. Podem existir diferentes visões para um mesmo banco de dados. ABSTRAÇÃO É o ato de separar mentalmente elementos de uma totalidade complexa APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 15 5.7. Linguagens dos SGBDs Linguagens de Definição de Dados (DDL) Conjunto de definições que especificam um esquema de Banco de Dados. O resultado da compilação de instrução DDL é um conjunto formado por tabelas que são armazenadas no catálogo. A estrutura de armazenamento e os métodos de acesso utilizados para SGBD são especificados por um conjunto de definições de uma DDL especial, chamado Linguagem de Definição de Dados e memória. O resultado da compilação dessas definições é um conjunto de instruções que especificam os detalhes de implementação dos esquemas de BD. Exemplo: Aluno alfanumérico 50 RG numérico 10 Mensalidade moeda - A Linguagem de Definição de Dados (DDL) compõe o Esquema do Banco de Dados ! Linguagem de Manipulação de Dados (DML) A manipulação de Dados consiste em : - Consultas; - Atualizações Inserção de informações Remoção de informações Uma linguagem de manipulação de dados (DML) permite aos usuários acessar e manipular dados organizados por um modelo de dados apropriado. - Procedimental - Não Procedimental A definição do tipo de dados, tamanho e formatos de cada campo, consiste na Linguagem de Definição de Dados ! APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 16 A parte da DML que trata de consultas é chamada de linguagem de consultas. Quando os comandos de uma DMLestão incorporados em uma linguagem de propósito geral, isto é chamada de linguagem host e a DML é chamada de sub-linguagem de dados. Cadastro de CClliieenntteess Nome: José da Silva Endereço: Rua 9 de Julho, 500 Telefone: (16)282-8282 A Linguagem de Manipulação de Dados (DML) compõe a Instância do Banco de Dados ! Abordagem BD versus Processamento Tradicional de Arquivos Na abordagem tradicional, o usuário define e implementa os arquivos necessários para uma determinada aplicação. Exemplo: O departamento de contabilidade pode Ter arquivos diferentes dos arquivos da secretaria sobre o mesmo grupo de alunos. A redundância dos dados ocasiona em perda de espaço de armazenamento e em um esforço considerável para manter os arquivos atualizados. 5.8. Natureza de armazenamento de um Sistema de Banco de Dados Um Banco de Dados contém não apenas os dados, mas também a descrição completa do banco de dados. Esta definição contém informações como a estrutura de cada arquivo. A estrutura e o formato de cada item de dado e várias restrições de acesso. Estas informações são chamadas de “Meta de Dados” e são armazenados com um arquivo chamado catálogo ou “meta de banco de dados”. No processamento tradicional, a definição dos dados é inerente ao programa. Deste modo, o programa se restringe a manipular somente dados definidos no próprio programa. 5.9. Separação entre Programas e Dados Como no processamento tradicional a definição da estrutura de dados está embutida no programa qualquer mudança necessária na estrutura de dados implica em mudanças no Programas de Aplicação Ferramentas do SGBD Meta Dados Banco de Dados Instância APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 17 programa em um BD. A mudança só será necessária no meta BD, pois os programas de acesso aos dados são escritos independentemente de qualquer arquivo. Esta independência é chamada “Independência-Dados-Programa”. 5.10. Usuários de Banco de Dados Administrador de Banco de Dados (DBA) Um grande BD precisa de uma grande equipe trabalhando para que ele se mantenha íntegro e coeso. Para isto, há a necessidade de uma pessoa para manter o controle central dos dados e dos programas que acessam os dados. Esta pessoa é o Administrados de BD. O DBA é responsável pela concessão de autorização para acesso aos dados. Projetista de Banco de Dados (DBD) O DBD tem como função principal identificar os dados a serem armazenados e definir a estrutura apropriada para representar e armazenar estes dados para a obtenção destes dados, o DBD deve interagir com os usuários para descobrir suas necessidades e encontrar a solução ideal para as mesmas. O projeto final do BD deve ser capaz de atender as necessidades de todos os grupos de usuários do mesmo. Usuários Finais � Usuários Ocasionais- são usuários habituados ao uso do SGBD e que não utilizam programas, elaborando suas consultas diretamente em linguagens de consultas. � Usuários simples – são usuários que precisam dos programas de aplicações para interagir com o sistema. � Usuários especializados – são usuários que elaboram sistemas altamente especializados, que não se encaixam no processamento de dados normal. 5.11. Vantagens da abordagem de Banco de Dados Controle de Redundância No processamento de Dados Tradicional, cada grupo de usuários mantêm seus próprios arquivos. Isto leva ao armazenamento múltiplo dos mesmos dados, causando problemas de espaços e inconsistência dos dados. Compartilhamento de Dados Um SGBD multi-usuário deve permitir que vários usuários possam acessar os dados ao mesmo tempo. O SGBD deve incluir um software de controle de concorrência para evitar o acesso desordenado ao BD, fazendo com que os resultados das atualizações sejam sempre corretos. Um SGBD multi-usuário facilita o controle de visões, pois as mesmas podem ser especificadas para grupos de usuários. Restrições de acesso não autorizado Um SGBD deve manter um programa de segurança e autorização, o qual é utilizado para APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 18 manter o controle das pessoas que poderão acessar quais dados e de que forma. Restrições de Integridade As aplicações de BD possuem restrições de integridade que devem ser mantidas. As restrições devem ser especificadas para DBD durante o projeto de Banco de Dados. Manutenção de Backup e Recuperação Um SGBD deve prover sistema de recuperação de falha de hardware ou software. O sub- sistema de recuperação deve assegurar que o programa seja reinicializado do ponto do qual foi interrompido. Padronização A abordagem BD permite ao DBD (Projetista de Banco de Dados) manter uma padronização entre os usuários de BD. Os padrões podem ser definidos a nível de elementos de dados, telas, estruturas de documentos, etc. Torna-se muito mais fácil manter padronização em um sistema BD centralizado do que em um ambiente onde cada grupo de usuário mantém controle sobre seus arquivos e softwares. Flexibilidade Alguns SGBDs permitem que as estruturas sejam alteradas sem que haja grandes alterações nos programas de aplicações. Disponibilidades de informações atualizadas Um SGBD mantém um banco de dados disponível para todos os usuários. Deste modo, quando um usuário atualiza um BD, todos os usuários irão perceber esta atualização de imediato. Esta disponibilidade de dados é muito importante para diversos sistemas, como controle de reservas, sistemas bancários, etc, e é mantida pelo sistema de concorrência do SGBD. 5.12. Quando não usar Banco de Dados - Alto investimento inicial - Necessidade de hardware adicional - BD e aplicações simples e bem definidas - Uso somente de acesso centralizado. 5.13. Interfaces dos SGBDs - Baseada em Menus - Gráfica - Baseada em Formulários - Linguagem Natural - Interfaces para o DBA 5.14. Exercício 1 1) Um catálogo telefônico pode ser considerado um exemplo de: a) Banco de dados b) Registro c) Tupla APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 19 d) DBA Justifique sua resposta: 2) Em uma clínica veterinária são usados 2 cartões de controle de vacinação para cada animal vacinado, ficando um com o veterinário que aplica as vacinas e o outro com o atendente que controla o pagamento. Certo dia, o atendente foi ao banco enquanto o veterinário vacinou um animal. No mês seguinte, devido às divergências entre as duas fichas (a do atendente e a do veterinário) a clínica ficou em dúvida a respeito da vacinação do animal em questão. O fato acima exemplifica um problema de: a) Redundância de dados b) Inconsistência de Dados c) Definição de Banco de dados d) Meta de dados Neste caso, o que poderia ser feito para resolver este problema? 3) Em um canhoto de talão de cheques, são anotados para todo cheque emitido, data de emissão, valor e destino do cheque. Cada um desses itens constitui: a) Dado b) Meta de dados c) Banco de dados d) Sistema gerenciador de banco de dados 4) A direção de um hospital determinou que fosse feito um cadastro de todos os doentes e de seus acompanhantes. Neste cadastro deveria constar: nome, idade endereço e RG de cada pessoa. Quando o modelo do cadastro ficou pronto, a secretária mostrou-o ao diretor para saber se estava OK. O que a secretária mostrou ao diretor foi: a) O esquema do banco de dados b) A instância do banco de dados c) Uma tupla d) Um registro5) A seguir, o modelo foi preenchido com os dados dos pacientes e acompanhantes, gerando aproximadamente 100 registros. Neste caso, o que temos é: a) O esquema do banco de dados b) A instância do banco de dados c) Uma tupla d) Um registro 6) Em seguida, a secretária verificou que alguns dados do paciente numero 54 do banco de dados estavam errados e corrigiu-os. O que ela modificou foi: a) Uma tupla b) O SGBD c) DML d) A abstração e) A linguagem 7) Das sentenças abaixo, é correto afirmar que: “Dado” a) Tem um significado b) Só faz parte de uma grandes organizações c) Pode ser registrado d) Vem sempre acompanhado de um SGBD e) Só é encontrado em meios eletrônicos APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 20 8) A loja x desenvolveu uma lista para controlar seu clientes inadimplentes, logicamente, os dados constantes nesta lista eram os nomes e registros dos maus pagadores . A lista foi distribuída aos vendedores da loja, para que estes estivessem cientes dos nomes constantes nela, sendo orientados que a cada “inadimplente” que acertasse sua situação junto à loja, tivesse seu nome marcado . Posteriormente, a idéia da lista foi copiada por uma grande loja, mas com o mesmo propósito e foram utilizadas ferramentas informatizadas para poder excluir os nomes da lista, assim com incluir novos nomes e consultar a lista para ver quem ainda estava nela. Estas características descrevem: a) Um banco de dados b) Processamento tradicional de arquivos c) Abstração de dados d) Administrador de banco de dados e) Compartilhamento de dados 9) Um certo sistema foi desenvolvido em uma locadora para controlar as entradas e as saídas de seus filmes. O analista contratado definiu que cada registro do programa teria os seguintes campos: Nome do filme string 50 Data de entrega numérico 08 Data de devolução numérico 08 Após montagem do esquema, o analista definiu que os dados seriam armazenados na unidade c: (winchester) durante o expediente e toda noite seria feito o backup em fitas Dat. Desenvolveu também aplicações para incluir novos filmes (quando fossem comprados), excluir filmes danificados e consultar quais os filmes atuais e emitir relatórios. O exemplo acima reflete: a) Um SGBD b) Um DBA c) Um DBD d) Um mini-mundo e) Um registro 10) Denise trabalha em uma grande empresa de implementos agrícolas. Ela controla os navios que vão para o exterior, bem como os estoques da filiais fora do Brasil. Os dados envolvidos nestas operações são muitos e bastante complexos. Como Denise não entende muito de informática, toda modificação de estrutura , permissão de acesso e problemas eventuais do seu banco de dados são resolvidos pelos DBA e DBD da empresa. O fato de Denise não enxergar o Banco em profundidade pode ser chamado de: a) Separação entre dados e programas b) Abstração de dados c) Manipulação de dados d) Meta de dados 11) Um grupo de analistas se juntou para elaborar um sistema de Folha de pagamento. Resolveram então se dividir em subgrupos para dividir as tarefas. O primeiro grupo definiu a estrutura dos dados, o segundo grupo definiu quais dados seriam armazenados no banco. Do trabalho dos dois grupos surgiu a seguinte tabela: APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 21 Nome do empregado Character 50 Salário Numérico 10 INSS Numérico 08 O terceiro grupo preencheu os campos do banco e manipulou estes dados com consultas, inclusões, alterações e exclusões . Os níveis acima referidos são respectivamente: a) Conceitual, físico e visão b) Físico, visão e Conceitual c) Físico, Conceitual e visão d) Visão, físico e conceitual 12) Sérgio comanda uma grande equipe em uma grande organização. É ele quem controla o acesso dos funcionários aos dados da empresa. Ele também mantém o controle central e responde por todo problema que possa haver com o banco de dados. Marcelo, por sua vez, subordinado a Sérgio, define quais dados devem constar no banco e suas estruturas, também define como estes dados serão armazenados. Marcelo e Sérgio são respectivamente: a) DBA e DBD b) DBD e DBA 6. Modelagem de Dados 6.1. Modelo Entidade Relacionamento (MER) � Coleta e Análise de requisitos � Criação de um esquema conceitual � Implementação do BD usando SGBD � Projeto de BD Físico 6.2. Conceitos Entidade: é a representação de um objeto no mundo real com existência interdependente. Pode ser um objeto com existência física ou conceitual. Podemos comparar uma Entidade a um Arquivo de Dados. A representação de uma Entidade no modelo Entidade-Relacionamento é feita por um retângulo, com o nome desta entidade em seu interior, como mostra a figura abaixo: A Reserva do Avião Existência Física Existência Conceitual PESSOA CARRO AVIÃO RESERVA DO AVIÃO APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 22 6.3. Tipos de Entidades Um BD geralmente contém grupos de entidades que são similares. Estas entidades possuem os mesmos atributos, embora cada entidade possua os próprios valores. Entidades similares definem um “tipo entidade”, o qual é um conjunto de entidades que possuem o mesmo atributo. A descrição de um tipo entidade é chamada “Esquema do tipo entidade“, e especifica uma estrutura comum partilhada por entidades individuais daquele tipo. O esquema especifica o nome do tipo entidade, o nome e o significado de cada atributo e as restrições entre as entidades. 6.4. Entidade Fraca Alguns tipos de entidade podem não Ter algum atributo chave por si só. Isto implica que não poderemos distinguir certas entidades, porque a combinação dos valores de seus atributos podem ser idênticas. Estes são os tipos de Entidade Fraca. Entidades pertencentes a um tipo de Entidade Fraca são identificadas inicialmente por relacionarem-se com entidades específicas de outro tipo de entidade, em combinação com alguns de seus valores dos atributos. A outra entidade é chamada Proprietária Identificadora e o tipo relacionamento que liga uma entidade fraca a sua proprietária é chamado Relacionamento Identificador do tipo entidade fraca. Um tipo entidade fraca sempre tem participação total (dependência de existência) em seu relacionamento identificador. A participação total não implica que a entidade seja fraca; pois pode não ser possível identificar uma entidade fraca sem sua entidade proprietária. Um tipo entidade fraca tem uma chave parcial, a qual é um conjunto de atributos que identificam unicamente entidades fracas relacionadas à mesma entidade proprietária. Um tipo entidade fraca pode ser substituído por atributos compostos multivalorados. Critérios para escolha: Se o tipo entidade possui muitos atributos ou se participa em outro relacionamento além do tipo relacionamento identificador, geralmente escolhe-se o tipo entidade fraca à atributos. 6.5. Atributos: São propriedades particulares que descrevem uma determinada entidade. Uma entidade, em particular, irá Ter valores próprios em seus atributos. Atributo Composto: É um atributo formado por vários atributos que não pode ser dividido, é chamado de atômico ou simples. Atributo Simplesmente Valorado: É um atributo que assume um único valor para uma determinada entidade. Atributo Multi-Valorado: É um atributo que pode assumir diversos valores para uma determinada entidade. Atributo Derivado: um atributo pode ser chamado de derivado quando seu valor é determinadoa partir de um ou mais atributos. Estes atributos mantêm uma “relação”. CódigoDoEmpregado NomeDoEmpregado FunçãoDoEmpregado SalárioDoEmpregado Empregado CódigoDoDependente CódigoDoEmpregado NomeDoDependente ParentescoDoDependente Dependente Possui APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 23 6.6. Chave Primária Uma chave primária é um atributo que possui um valor único para cada entidade individual. Esta é uma restrição que proíbe que duas entidades possuam o mesmo valor para um determinado atributo ao mesmo tempo. Alguns tipos de entidades podem Ter mais que um atributo formando uma chave ou mais que um atributo chave. 6.7. Chave Candidata Uma tabela pode possuir alternativas de identificador único, ou seja, várias colunas ou concatenações diferentes de colunas podem ter esta propriedade. Estes identificadores são candidatos à chave primária, como um e somente um será escolhido como chave primária, o restante passa a ser considerado como chave alternativa, por isso candidata. 6.8. Chave Concatenada Se diz que uma chave é concatenada (ou composta) quando apresentar vários atributos individuais agrupados na formação da chave primária. Por exemplo: A chave primária da entidade [Dependente] é composta pelos atributos [Código do Empregado] e [Código do Dependente], sendo, portanto, uma chave concatenada. 6.9. Chave Estrangeira Quando uma entidade apresenta um atributo importado de outra entidade, esse atributo é denominado de chave estrangeira. Chaves estrangeiras são o resultado de associações entre entidades através de relacionamentos 1:1 – 1:N (um para vários). No exemplo a seguir, o atributo [NúmeroDoDepartamento] é chave estrangeira na entidade Funcionário importada da entidade Departamento. Representações Gráficas NumeroDoDepartamento NomeDoDepartamento LocalizacaoDoDepto Departamento Matrícula DoFuncionário NomeDoFuncionário EndereçoDoFuncionário NúmeroDoDepartamento Funcionário trabalha Chave Estrangeira Tipo Entidade Tipo Entidad e Fraca Tipo Relaciona mento Tipo Relacionamento Identificador APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 24 6.10. Relacionamentos No mundo real uma entidade raramente apresenta-se isolada, tendo existência completamente independente de quaisquer outras. Geralmente ocorre o contrário: é detectada a existência de uma associação entre as ocorrências de duas entidades distintas. A essa conexão lógica entre duas ou mais entidades damos o nome de relacionamento. Um bom exemplo de relacionamento seria aquele existente entre Funcionário e Departamento: uma ocorrência da entidade Funcionário deverá sempre estar associada a uma ocorrência da entidade Departamento. Poderíamos inclusive nomear de “Pertence” a associação entre essas duas entidades, visto que um funcionário sempre pertence a um departamento. Um relacionamento possui sempre algumas características básicas, uma das quais é a Cardinalidade. 6.11. Cardinalidade Cardinalidade de um relacionamento consiste na especificação do sentido da associação existente entre as entidades envolvidas. Por exemplo, um funcionário pertence sempre a no mínimo um e no máximo um departamento, ou seja, é obrigatório que exista, uma ocorrência específica da entidade Funcionário, tão somente uma ocorrência da entidade Departamento associativa. Por outro lado, para um determinado departamento é possível que existam vários funcionários relacionados: mais de uma ocorrência da entidade Funcionários refere-se à mesma ocorrência da entidade Departamento. Dizemos nesse caso que a cardinalidade do relacionamento “Pertence” é de 1:N (“um para ene” ou um para muitos” ). No modelo entidade Relacionamento (Modelo E-R ou MER) de Peter Chen as entidades são representadas por um retângulo com seu nome no interior e os relacionamentos são representados por losangos e com um verbo, o que explicita o relacionamento como um objeto de associação. O que é importante é entendermos o que são entidades inicialmente e num segundo instante as formas possíveis destas entidades se relacionarem. A cardinalidade dos relacionamentos será explicitada diretamente através da inserção dos símbolos 1 e N para representar uma ou mais ocorrências respectivamente. Modelo E-R Peter Chen Atributo simplesmente valorado Atributo Chave Atributo Multi- Valorado Atributo Composto Relacionamento N 1 Explicitado Departame nto Funcionári o Perten Atributo Derivado APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 25 Figura 1 – Entidades e Relacionamentos no MER – cardinalidade 1: N Os relacionamentos de cardinalidade 1:N são clássicos, pois representam a maioria das situação encontradas no desenvolvimento de sistemas comerciais. Contudo, existem também relacionamentos que representam outras cardinalidades. Relacionamento 1:N Funcionário Pertence Departamento João R1 Recursos Humanos Pedro R2 Financeiro Paulo R3 Compras Maria R4 Carmem R5 O primeiro deles é o relacionamento 1:1 (“um para um”). Um exemplo seria aquele que existe entre Gerente e Departamento, onde um gerente pode responder por apenas um departamento e um departamento só pode ser gerenciado por um único gerente. Figura 2- Relacionamento 1:1 Apesar de existirem no mundo rela situações que surgem cardinalidades 1:1, devemos sempre desconfiar de tais relacionamentos questionando-nos se na realidade as duas entidades envolvidas não são uma só. Uma forma de analisar essa possibilidade consiste em verificar se o principal identificador da primeira entidade é diferente do principal identificador da Segunda entidade. Caso não o sejam, muito provavelmente estamos interpretando dois aspectos de uma mesma entidade como sendo entidades distintas. Relacionamento 1:1 Gerente Gerencia Departamento Joaquim R1 Recursos Humanos Manoel R2 Financeiro Eduardo R3 Compras Existem também os relacionamentos N:M ou N:N (“muitos para muitos”). São aqueles em que uma ocorrência da entidade “A” pode ter ligação com mais de uma ocorrência da entidade “B” e vice versa. Um exemplo de relacionamento N:M ocorre entre as entidades Ator e Filme, onde um ator pode atuar em mais de um filme e um filme pode Ter mais de um ator. 1 1 Gerente Departame nto gerenci APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 26 Relacionamento N:M Figura 3 – Relacionamento N:M AtorAtua Filme Tarcísio Meira R1 O Impaciente Inglês Regina Duarte R2 Velocidade Mínima Francisco Cuoco R3 E a Chuva Lavou 6.12. Exercício 2 Monte o Modelo Entidade Relacionamento (MER), a partir do enunciado abaixo: 1) Uma biblioteca deseja informatizar os Cadastros de seus livros. Para isso nos passou as seguintes informações: Os livros são definidos pelo número do ISBN, Título, Número de Páginas e Preço. Um livro pode ser escrito por vários autores, sendo os autores definidos pelo Número do autor, Nome e Sobrenome. As Editoras são definidas pelo Código da editora, Nome, Endereço, telefone e E-Mail. Um livro pode conter vários assuntos, sendo que vários livros podem falar sobre o mesmo assunto. Os dados que devemos registrar para o assunto são: Código do assunto e a descrição. Alguns livros podem Ter várias Cópias cadastradas na biblioteca, sendo estas cópias definidas pelo número da Cópia e Data de Aquisição desta cópia. É claro, que só podemos Ter a cópia de algum livro na biblioteca se existir o livro , caso contrário, não é permitido. 2) Uma empresa deseja manter controle dos projetos desenvolvidos por seus departamentos. Temos as seguintes informações: Cada departamento é responsável por um único projeto em desenvolvimento, sendo que em cada projeto pode ter mais de um departamento responsável pelo seu desenvolvimento. Estes projetos desenvolvem peças para motores hidráulicos. Um projeto envolve várias peças e estas peças estão envolvidas em vários projetos. Para cada departamento há um gerente responsável, sendo que cada departamento possui um único gerente. Para os funcionários que trabalham nos departamentos da empresa deseja-se manter um cadastro de seus responsáveis. Departamentos: Número do departamento, Nome e Local. Projetos: Código do Projeto, Descrição e Duração Peças: Número da Peça e Descrição Gerente e Funcionários: Matrícula, Nome e Cargo Responsáveis: Nome e Parentesco 3) Deseja-se criar um banco de dados para uma agência de turismo, contendo as informações sobre os recursos oferecidos por algumas cidades: N M Ator Filme atua APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 27 Cada cidade possui hotéis, restaurantes e casas de show. Deseja-se armazenar os dados dos shows típicos de cada casa de show e os cardápios principais de cada restaurante da cidade. Para cada hotel existe uma pessoa responsável com quem a agência de turismo deve manter contato (para cada hotel existe uma única pessoa que cuida da hospedagem desta agência de turismo e cada pessoa é responsável por um único hotel). Os cardápios somente devem ser cadastrados se forem realmente utilizados pelos restaurantes. Cidade: Cep, nome, estado Hotel: Cnpj, nome, categoria, endereço(rua,nr,bairro), quantidade de apartamentos, telefone Casa de Show: Cnpj, dias de funcionamento, horário, nome, endereço, telefone Restaurante: Cnpj, nome, categoria, telefone, endereço Cardápio: Código, nome, descrição(café da manhã, almoço e jantar) Responsável pela agencia de turismo: Cpf., nome, telefone(celular e comercial) 4) Uma imobiliária deseja manter controle condomínios pelo quais são responsáveis. Temos as seguintes informações: Um condomínio é formado por diversos apartamentos. Cada apartamento possui uma única garagem. Existem os síndicos dois responsáveis por cada condomínio. Deseja-se manter os dados dos proprietários de cada apartamento (um apartamento pode ser de propriedade de mais de uma pessoa). Pode haver casos de um proprietário possuir mais de um apartamento. A imobiliária deve também manter o cadastro dos herdeiros de cada proprietário. Condomínio: Código, Nome e Endereço. Apartamento: Número, Tipo Proprietário: RG, Nome, Telefone, E-Mail Herdeiro: RG, Nome, Telefone Garagem: Número, Tipo Síndico: Matrícula, Nome, Endereço, Telefone 6.13. Mapeamento do MER para o Modelo de Dados Relacional É comum, em projetos de banco de dados, realizar a modelagem dos dados através de um modelo de dados de alto-nível. O produto gerado por esse processo são os esquemas de visões que são posteriormente integradas para formar um único esquema. O modelo de dados de alto- nível normalmente é adotado é o Modelo Entidade Relacionamento (MER) e o esquema das visões e de toda a base de dados são especificadas em diagrama entidade-relacionamento (DER). O passo seguinte á modelagem dos dados é o mapeamento do diagrama da base de dados global, obtido na fase anterior, para um modelo de dados de implementação. Existem três tipos de modelos de dados de implementação: hierárquico, rede e relacional. Para cada um desses modelos, pode-se definir estratégias de tradução a partir de um DER específico. A estratégia de tradução, ou de mapeamento, tratado nesta apostila é para o modelo de dados relacional. Uma vez que consegue-se representar a semântica de uma aplicação através de modelos de dados, em especial pelo Modelo Entidade Relacionamento, é importante garantir que as informações contidas neste modelo sejam representadas corretamente no Modelo Relacional. Para garantir uma representação fiel das informações no Modelo Relacional é preciso seguir algumas diretrizes, com objetivo de restringir as opções dos desenvolvedores em um conjunto efetivo de regras. Este documento propõe a modelagem de uma Empresa, e descreve os passos propostos por [Elmasri & Navathe 1994] para o mapeamento do esquema Entidade Relacionamento para o Modelo Relacional. Vamos estudar os seis passos do mapeamento: APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 28 Primeiro Passo - Mapear Conjuntos de Entidades Regulares Identificar todas as entidades regulares (não fracas) e seus atributos Primeiro Passo: Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, PNome} OBSERVAÇÕES: 1) O atributo "Localização" não foi representado na relação "Departamento" pois é um atributo multi-valorado e será tratado no passo 6. 2) O conjunto de entidade "Dependente", é um conjunto de entidade fraco e será tratado no seguinte, o passo 2. Segundo Passo - Mapear Conjuntos de Entidades Fracas Relacionar todos os atributos da entidade fraca, acrescentando também o atributo chave da entidade da qual ela depende. Veja que o atributo da entidade Funcionário (FNumero), vai para a entidade Dependentes como um atributo chave ! É importante notar que um conjunto de entidade fraca só pode ser mapeado quando os demais conjuntos de entidades envolvidos no conjunto de relacionamento total, que torna esse conjunto de entidade fraca, já estiverem mapeados. APS I – Análise e Projeto de Sistemas Técnico em Informática ETE Monte Alto Informática – 1º Módulo Pág.: 29 Primeiro Passo: Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, Pnome} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco} Terceiro Passo - Mapear Conjuntos de Relacionamentos Binários 1:1 No 3º passo, escolha uma entidade para receber o atributo chave da outra entidade relacionada. Note que o atributo chave de uma entidade vai para a outra como um atributo simples ! No exemplo, Fnumero (número do funcionário) foi para a entidade departamento
Compartilhar