Você está na página 1de 18

Mdulo 9

Banco de Dados

Lio 1
Introduo a Sistemas de Bancos de Dados

Verso 1.0 - Fev/2009

JEDITM

Autor Ma. Rowena C. Solamo Equipe Rommel Feria Rick Hillegas John Paul Petines

Necessidades para os Exerccios

Sistemas Operacionais Suportados NetBeans IDE 5.5 para os seguintes sistemas operacionais: Microsoft Windows XP Profissional SP2 ou superior Mac OS X 10.4.5 ou superior Red Hat Fedora Core 3 Solaris 10 Operating System (SPARC e x86/x64 Platform Edition) NetBeans Enterprise Pack, poder ser executado nas seguintes plataformas: Microsoft Windows 2000 Profissional SP4 Solaris 8 OS (SPARC e x86/x64 Platform Edition) e Solaris 9 OS (SPARC e x86/x64 Platform Edition) Vrias outras distribuies Linux Configurao Mnima de Hardware Nota: IDE NetBeans com resoluo de tela em 1024x768 pixel Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 500 MHz Intel Pentium III workstation ou equivalente 500 MHz Intel Pentium III workstation ou equivalente UltraSPARC II 450 MHz AMD Opteron 100 Srie 1.8 GHz PowerPC G4 Memria 512 MB 512 MB 512 MB 512 MB 512 MB HD Livre 850 MB 450 MB 450 MB 450 MB 450 MB

Configurao Recomendada de Hardware Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente UltraSPARC IIIi 1 GHz AMD Opteron 100 Series 1.8 GHz PowerPC G5 Memria 1 GB 1 GB 1 GB 1 GB 1 GB HD Livre 1 GB 850 MB 850 MB 850 MB 850 MB

Requerimentos de Software NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicaes escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereo: http://developer.apple.com/java ( necessrio registrar o download da JDK). Para mais informaes: http://www.netbeans.org/community/releases/60/relnotes.htm Java DB System Requirements Java DB is supported on the Solaris, Linux and Windows operating systems and Sun Java 1.4 or later.

Banco de Dados

JEDITM

Colaboradores que auxiliaram no processo de traduo e reviso


Acio Jnior Alberto Ivo da Costa Vieira Alexandre Mori Alexis da Rocha Silva Aline Sabbatini da Silva Alves Allan Wojcik da Silva Angelo de Oliveira Aurlio Soares Neto Bruno da Silva Bonfim Carlos Fernando Gonalves Carlos Hilner Ferreira Costa Daniel Noto Paiva Daniel Wildt Denis Mitsuo Nakasaki Fbio Antonio Ferreira Givailson de Souza Neves Jacqueline Susann Barbosa Jader de Carvalho Belarmino Joo Vianney Barrozo Costa Jos Francisco Baronio da Costa Kleberth Bezerra Galvo dos Santos Luiz Fernandes de Oliveira Junior Maria Carolina Ferreira da Silva Maricy Caregnato Mauricio da Silva Marinho Paulo Oliveira Sampaio Reis Ronie Dotzlaw Seire Pareja Sergio Terzella Thiago Magela Rodrigues Dias

Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Brasil Tiago Flach Guin Bissau Alfredo C, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro

Coordenao do DFJUG

Daniel deOliveira JUGLeader responsvel pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsvel pelo apoio social Fernando Anselmo - Coordenador responsvel pelo processo de traduo e reviso, disponibilizao dos materiais e insero de novos mdulos Rodrigo Nunes - Coordenador responsvel pela parte multimdia Srgio Gomes Veloso - Coordenador responsvel pelo ambiente JEDITM (Moodle)

Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM Rommel Feria Criador da Iniciativa JEDITM

Banco de Dados

JEDITM

1. Objetivos
Nesta lio veremos uma introduo a sistemas de bancos de dados. A primeira parte descreve o ambiente de banco de dados utilizando o conceito de Gerenciamento de Recursos de Informaes ou IRM (Information Resource Management) em que as empresas tem necessidade de gerenciar seus dados e informaes. A segunda seo discute o processo de desenvolvimento de bases de dados utilizando o framework a Arquitetura de Sistema de Informao ou ISA (Information System Architecture). Isto ajudar a entender o lugar do banco de dados no processo de desenvolvimento e manuteno de sistemas de informao em uma empresa. Ao final desta lio, o estudante ser capaz de:

Descrever o ambiente de banco de dados utilizando o conceito de Gerenciamento de Recursos de Informao Descrever a Arquitetura de Sistemas de Informao como um framework para construo de sistemas de informao Entender a importncia do banco de dados dentro do desenvolvimento geral de sistemas de informao Discutir os processos de anlise, design e implementao de um banco de dados

Banco de Dados

JEDITM

2. Ambiente de Bases de Dados


Com o passar dos anos, as empresas perceberam a importncia do dado e da informao em suas operaes dirias. IRM (Gerenciamento de Recursos de Informao) o conceito de que a informao um recurso corporativo muito importante e deve ser gerenciado utilizando alguns princpios bsicos que so utilizados para gerenciar outros ativos da companhia como pessoal, equipamento e recursos financeiros. A seguir vemos os princpios bsicos do qual IRM derivado: 1. Empresas utilizam recursos que fluem em seu ambiente 2. Meio ambiente. Prov recursos retornando ele para seu ambiente de origem 3. Existem dois tipos bsicos de recursos para serem gerenciados, especificamente:

Recursos Fsicos que so, por exemplo: pessoal, materiais, mquinas, entre outros Recursos Conceituais como dados e informaes

4. Com o crescimento das operaes organizacionais, torna-se difcil gerenciar os recursos fsicos utilizando observaes. Portanto, gerentes de negcios so forados a depender de recursos conceituais 5. Os mesmos princpios bsicos utilizados para o gerenciamento de recursos fsicos podem ser utilizados para gerenciar os recursos conceituais 6. O gerenciamento de dados e informaes, envolve:

Aquisio de dados e informaes antes que sejam necessrias Medidas de segurana para proteger recursos contra invaso, uso indevido e destruio Garantia de qualidade Procedimentos de liberao de recursos quando no so mais necessrios organizao

7. Compromisso organizacional necessrio para gerenciar os dados e informaes. Para implementar IRM, as seguintes funcionalidades so consideradas: 1. Gerenciamento de operaes, tais como: agendamento, planejamento de capacidade, segurana de operaes e desastres de recuperao de dados e informaes 2. Garantia de qualidade para garantir que necessrio informaes sejam fornecidas quando

3. Gerenciamento de comunicaes de LAN ou WAN 4. Gerenciamento de recursos de dados tais como anlise de dados, design de bancos de dados, administrao de dados e administrao do banco de dados 5. Gerenciamento de projeto 6. Planejamento de Sistemas de Informao corporativos 7. Desenvolvimento e manuteno de sistemas Dados so fatos acerca de pessoas, objetos e eventos. Informao, por outro lado, o dado que foi devidamente processado e apresentado num formulrio para a interpretao humana, freqentemente com o propsito de revelar tendncias e padres. Existem 5 tarefas envolvidas na converso de dados em informaes. So eles: 1. Aquisio 2. Armazenamento 3. Manipulao 4. Recuperao

Banco de Dados

JEDITM

5. Distribuio Para dar suporte aos 5 itens citados acima necessria a utilizao de uma base de dados. Um banco de dados uma coleo compartilhada de dados lgicos relacionados, de tal forma a prover informao para mltiplos usurios em uma organizao. Existem duas arquiteturas genricas de bancos de dados: bancos de dados centralizados e bancos de dados distribudos.

2.1. Banco de Dados Centralizado


Em um banco de dados centralizado, os dados esto armazenados em um nico local. Estes dados so acessados por meio de equipamentos de comunicao. Fornecem um mecanismo de controle de acesso e atualizao dos dados melhor do que os bancos de dados distribudos, porm so mais vulnerveis a falhas j que dependem da disponibilidade de recursos de um nico local. Trs exemplos de bancos de dados centralizados so discutidos logo abaixo: 1. Banco de Dados de Computadores Pessoais. Neste ambiente o banco utilizado por um nico usurio. Este usurio cria o banco de dados, atualiza e mantm os dados, produz os dados e gera relatrios ou informao com base nestes dados. Normalmente o banco de dados est alocado em um computador pessoal onde um ou um nmero limitado de aplicaes acessam este banco. Este tipo de banco de dados pode ser encontrado em pequenos negcios. Um exemplo de aplicao pode ser o gerenciamento de um estoque. 2. Bancos de Dados em Computadores Centrais. Neste ambiente o banco de dados normalmente localizado numa mquina central e chamado de host. Os dados so acessados por terminais e meios de comunicaes de dados. O computador normalmente um mainframe ou servidor encontrado em grandes negcios que necessitam de um intenso acesso aos dados por um grande nmero de usurios. Tpicas aplicaes podem ser: sistemas de reservas areas, instituies financeiras e companhias de entrega. 3. Bancos de Dados Cliente/Servidor. Neste ambiente a arquitetura cliente-servidor utilizada, onde muitos clientes podem compartilhar o servio de um nico servidor. O servidor um software de aplicao que prov servios (chamados de funes back-end, tais como impresses, gerenciamento de bancos de dados ou de arquivos, gerenciamento de comunicaes, entre outros) para os clientes que os requisitam. Um cliente (que fornece as funes de front-end) um software de aplicaes que requisita o servio de um ou mais servidores. O ponto forte de uma arquitetura cliente-servidor permitir que a aplicao do cliente acesse dados gerenciados pelo servidor.

2.2. Bancos de Dados Distribudo


Um banco de dados distribudo representado por um nico banco de dados lgico que separado fisicamente em vrios computadores que podem estar situados em vrios locais. Existem duas categorias genricas. 1. Bancos de dados homogneos. A tecnologia de bancos de dados utilizada a mesma ou pelo menos compatvel em todos os locais. Certas condies devem ser respeitadas antes de um banco de dados ser considerado homogneo:

O sistema operacional utilizado em cada uma das localidades deve ser o mesmo ou pelo menos um que seja altamente compatvel O modelo de dados utilizado em cada uma das localidades deve ser o mesmo O sistema gerenciador de banco de dados utilizado em cada uma das localidades deve ser o mesmo ou pelo menos que sejam altamente compatveis entre si Os dados em suas vrias localidades devem possuir definies e formatos comuns

2. Bancos de dados Heterogneos. A tecnologia utilizada varia e pode no ser a mesma em todas as localidades. Um banco de dados pode utilizar uma tecnologia de gerenciamento relacional enquanto que outro utilize arquivos convencionais ou antigos bancos de dados hierrquicos. Estes bancos de dados ficam conectados.
Banco de Dados 6

JEDITM

3. Arquitetura de Sistemas de Informao (ISA)


Para desenvolver sistemas de informao, um framework utilizado para fornecer uma base para o planejamento estratgico, desenvolvimento e utilizao de sistemas de informao que do suporte a viso geral dos objetivos da organizao. A arquitetura de sistemas de informao um exemplo de framework. Representa um modelo conceitual ou plano que ilustra a estrutura dos sistemas de informao que so necessrios para a organizao. Fornece a base para planejamentos estratgicos e comunicaes para a direo de toda a tecnologia da informao e o contexto principal para a tomada de deciso em uma rea. A tabela 1 descreve este framework. Dado 1 Escopo do negcio Processos Rede Lista de localidades em que o negcio opera

Lista as entidades Lista as funes que importantes de um negcio o negcio deve realizar adfadfds adfadfds adfadfds
adfadfds adfadf adfadf asdfasdf asdfasdf asdfadf asdfadf asdfa asdfa asdf asdf adfadf adfadf asdfasdf asdfasdf asdfadf asdfadf asdfa asdfa asdf asdf

2 Modelo do negcio

Entidade de negcio e seus Decomposio de inter-relacionamentos funes e processos

Links de comunicao entre as localidades do negcio

3 Modelo do sistema de informao

Modelo de negcios e seus inter-relacionamentos

Fluxos entre os processos

Distribuio em redes

4 Modelo de tecnologia

Design do banco de dados

Especificao dos processos

Design de configurao

Definio da estrutura e subestrutura do banco de Definio da dados code tecnologia


code

Cdigos do programa Definio de e blocos de cdigo configurao


code code code code

Sistema de informao

Dados e informaes

Aplicaes

Configurao do sistema

Tabela 1: Arquitetura de Sistemas de Informao

Os trs componentes principais neste framework so dados, processos e rede. Estes so as trs colunas da tabela. 1. Dados consistem de entidades de dados e o relacionamento entre si. Representam o o qu? em um sistema de informao. Este o componente com o qual bancos de dados so construdos. 2. Processos so seqncias de passos que convertem entradas em sadas (ou dados em informao). Representam o como em um sistema de informao.
Banco de Dados 7

JEDITM

3. Rede descreve a localizao onde os dados so armazenados, onde os processos so realizados bem como a conexo entre as localidades. Representam o onde em um sistema de informao. Cada linha representa uma camada arquitetural na construo de sistemas de informao de uma organizao. Fornecem as 6 regras e perspectivas de cada camada. 1. Escopo do Negcio prov uma viso geral da estratgia dos sistemas de informao de uma organizao. Define o escopo, misso e direo do negcio e quais sistemas de informao lhes d suporte. Uma lista de entidades importantes, funes necessrias para que o sistema possa realizar aquilo que deve ser feito e identificar onde o negcio da empresa realizado. Os proprietrios do negcio so responsveis por definir o escopo, misso e direo do negcio 2. Modelo de Negcio desenvolve os modelos que representam o escopo do negcio, misses e direes que o negcio ir tomar. Nesta camada, as entidades do negcio e seus inter-relacionamentos so definidos. A decomposio de funes e processos so identificadas. definida as ligaes entre as localidades de negcios. O arquiteto do sistema de informao a pessoa que desenvolve estes modelos 3. Modelo do Sistema de Informao desenvolve o modelo da informao que d suporte ao negcio da organizao. Nesta camada, os dados e seus relacionamentos so modelados em detalhes. Os fluxos entre as aplicaes tambm so processados e definidos. A distribuio pela rede tambm identificada. O designer responsvel pelo desenvolvimento do modelo da informao 4. Modelo de Tecnologia converte o modelo do sistema de informao em um design que possa se adaptar s caractersticas e especificaes da tecnologia. O projeto de um banco de dados, especificao de processos e configuraes de rede so criados. O construtor desenvolve o design do sistema de informao 5. Definio da Tecnologia converte os modelos de tecnologia em declaraes para gerar o sistema de informao. O projeto do banco de dados traduzido em esquema e subesquemas do banco de dados . As especificaes de processo so codificadas como cdigos de programa e blocos de controle. Os projetos de configurao da rede so traduzidos em definio de configurao. O contratante traduz modelos de tecnologia em cdigos 6. Sistema de Informao gerencia, utilize e opera o sistema de informao como um todo. Neste ponto, os usurios do sistema utilizam os dados e informaes atravs de aplicativos especificados na configurao de sistema Para melhor utilizar este framework, duas regras simples so empregadas: 1. Cada processo mapeado para o dado que o utiliza. Ambos, dados e processos, so mapeados para as localizaes na rede ou objetos onde sero distribudos. Isto ajuda na garantia de que os vrios componentes sero integrados aos demais 2. A transformao de dados, processos e rede ocorrem simultaneamente de uma linha para a prxima. Esta regra evita inconsistncia e retrabalho Este curso ir se concentrar no COMPONENTE DE DADOS do framework da Arquitetura do Sistema de Informao (ISA) na construo de um banco de dados.

4. Metodologia de Engenharia da Informao


O framework ISA fornece um contexto de desenvolvimento e integrao do sistema de informao. Sugere o tipo de processo no desenvolvimento de modelos em cada uma das camadas da arquitetura. Entretanto, no fornece uma forma para o desenvolvimento destes modelos. Portanto, uma organizao deve utilizar uma ou mais metodologias e um conjunto de ferramentas de modelagem para desenvolver a representao arquitetural requisitada em cada perspectiva. Uma metodologia define o como ou conjunto de passos para se realizar determinado objetivo,
Banco de Dados 8

JEDITM

juntamente com um conjunto de objetos de design que so manipulados para auxiliar o processo. Deve fornecer regras para ajudar a garantir que um conjunto consistente de padres e procedimentos sero utilizados durante todo o processo de desenvolvimento e o sistema resultante se adequar aos objetivos especificados. Uma variedade de ferramentas de modelagem, manuais ou automatizadas, so necessrias para auxiliar no desenvolvimento do sistema de informao. 1. Engenharia de Software Auxiliada por Computador (CASE) So produtos de software que fornecem suporte automatizado para algumas partes do processo de desenvolvimento do sistema. 2. CASE Integrado (I-CASE) Conjunto de ferramentas CASE que podem dar suporte a todas as fases do processo de desenvolvimento de um software. Engenharia da Informao uma metodologia formal que utilizada na criao e manuteno de sistemas de informao. um padro top-down que se inicia com os modelos de negcio. A partir destes modelos, os modelos de dados e modelos de processos so derivados e ento criado o modelo de negcio. Porque utilizar Engenharia da Informao? 1. Desenvolvido com uma viso baseado na empresa que permite que a organizao desenvolva um sistema de informao integrado 2. Baseado em dados ao invs de processos. Um modelo baseado em dados utiliza as seguintes etapas:

Identificao de entidades ou coisas que a organizao deve gerenciar Identificao de atributos, propriedades e caractersticas das entidades Identificao dos relacionamentos entre as entidades Identificao de regras de negcio que governam como as entidades so gerenciadas e utilizadas Desenvolver o aplicativo ou programa baseado em como os dados esto sendo gerenciados e utilizados

Um modelo baseado em processos utiliza as seguintes etapas:


Identificao e anlise dos processos organizacionais Modelagem dos fluxos de dados entre os processos Especificao das entradas e sadas de dados Especificao da lgica necessria para converter dados de entrada em dados de sada Design dos arquivos de dados Designers de Sistemas descobriram que um equilbrio entre modelo baseado em dados e modelo baseado em processos so normalmente o mais apropriado.

3. compatvel com o framework ISA A Metodologia da Engenharia de Informao dividida em fases que podem ser mapeadas para o framework ISA. So normalmente chamadas de: fase de planejamento, fase de anlise, fase de projeto e fase de implementao.

4.1. Fase de Planejamento


O objetivo desta fase alinhar a tecnologia da informao s estratgias do negcio de uma organizao. Para isto necessrio que haja uma cooperao entre os gerentes do negcio e os gerentes do sistema de informao. Existem trs grandes passos na fase de planejamento. So eles: 1. Identificao de fatores de planejamento de estratgia que incluam os objetivos do negcio, fatores crticos de sucesso e problemas das reas do negcio. 2. Identificao de objetos de planejamento corporativo. Estes objetos so:

Unidades

da

organizao

que

consistem

de

vrios

departamentos

ou
9

outros

Banco de Dados

JEDITM

componentes da organizao Localizaes que mostrem os componentes organizacionais em mais de um nico lugar Funes de negcio relacionados a grupos de processos de negcio que do suporte a alguns aspectos da misso da empresa e que no so os mesmos da unidade organizacional Tipos de entidades 3. Desenvolver os modelos da empresa utilizando as tcnicas e ferramentas de modelagem a seguir:

Tcnica de decomposio funcional que consiste na quebra das funes de uma organizao em busca de nveis de detalhes cada vez maiores, utilizando o Diagrama de Fluxo de Dados para modelar as funes ou processos Tcnica de anlise situacional que consiste no processo de anlise e identificao de entidades que representam os dados importantes para a organizao e o Diagrama de Entidade e Relacionamento utilizado para modelar a estrutura dos dados Matriz de planejamento para vincular as funes identificadas na decomposio funcional com s entidades com o propsito de identificar rfos. Por exemplo, identifica quais funes no fazem uso de nenhuma entidade ou entidades que no so utilizadas por nenhuma funo

Lagyan Cards Incorporated Business Goals:


1. 2. Increase distribution of cards by 50% for the next three years. Increase network of dealers nationwide by 10% for the next year.

Organizational Units:
1. 2. 3. 4. Sales Department Accounting Department Financial Department Business Centers

Business Functions:
1. 2. 3. Inventory of e-Prepaid Cards Accounting of all financial transaction Sales monitoring of e-Prepaid Cards

List of Entity Types


1. Customers, Direct Resellers, Dealers 2. e-Prepaid cards, phone cards and internet access cards 3. e-prepaid card transactions
Figura 1: Objetos de Planejamento Corporativo

A fase de planejamento gera vnculos com a camada de Escopo do Negcio do framework ISA.

4.2. Fase de Anlise


Esta fase tambm conhecida como a fase da Engenharia de Requisitos. O propsito desenvolver especificaes detalhadas para o sistema de informao requisitado pela organizao. Essas especificaes incluem suporte a decises e sistemas de informaes executivos bem como sistemas de processamentos transacionais. Cobre o estudo da atual situao do negcio bem como a determinao dos requisitos para o novo sistema. Lida com uma rea de negcios por vez que o agrupamento de funes e entidades coesas que do base para o desenvolvimento do sistema de informao. Critrios para a definio da rea de Negcios 1. rea de negcios deve ser claramente delimitada. 2. Pequena o bastante para ser bem entendida e facilmente gerencivel. 3. Grande o suficiente para necessitar de bancos de dados compartilhados.

Banco de Dados

10

JEDITM

4. No sobrepe outras reas do negcio. Dois modelos so desenvolvidos nesta fase. Particularmente, so o modelo conceitual e o modelo de processo. Passos para a Fase de Anlise: 1. Desenvolvimento do Modelo Conceitual O Modelo Conceitual um modelo detalhado que captura as estruturas de dados utilizadas pela organizao enquanto independentes de qualquer sistema gerenciador de banco de dados ou outra implementao. Inclui entidades relevantes, relacionamentos e atributos bem como regras de negcio e regras internas que definem como os dados so utilizados pela organizao. O modelo conceitual utiliza o Diagrama Entidade-Relacionamento (DER) ou diagramas orientados a objetos para modelar os dados. Um exemplo de modelo conceitual mostrado na seguinte figura:
ACCOUNT has PHONE CARD TRANSACTION

has

PHONE CARD

uses

PHONE CARD TYPE

provided by

INTERNET SERVICE PROVIDER

TELECOM SERVICE PROVIDER

SERVICE PROVIDER
Figura 2: Modelo conceitual de transao de carto telefnico

2. Desenvolvimento do Modelo de Processos O Modelo de Processos fornece uma descrio lgica dos processos executados pelas funes da organizao e os fluxos de dados entre os processos. Em um negcio, um processo definido por um conjunto lgico de tarefas realizadas repetidamente para auxiliar em um ou mais funes do negcio. Transforma dados de entrada em dados de sada e tem limites definidos. Dois tipos bsicos de processos existem em um negcio. Processos Fsicos que convertem dados de entrada em dados de sada, e Processos de Informao que convertem dados em informao. Para identificar um processo em um negcio, a Tcnica de Decomposio de Processos utilizada. Consiste na identificao de processos pela decomposio de funes do negcio identificadas durante a fase de planejamento em seus componentes ou funes auxiliares. A ferramenta de modelagem utilizada para representar processos o Diagrama de Fluxo de Dados (DFD). Este um modelo grfico para o fluxo de dados utilizados por um processo. Apresenta os agentes externos que fornecem ou recebem os dados, os processos que transformam os dados e o armazenamento de dados onde dados so coletados e mantidos. A fonte dos dados em um DFD corresponde aos nomes das entidades no DER. Um modelo de DFD mostrado na seguinte figura:

Banco de Dados

11

JEDITM

CUSTOMER

Service Request Message

1.0 Parse Service Request Message

2.0 First Phone Authenticate Number, Request Account Message PIN

Success or Fail

3.0 Identify Service Type

Account Info

Account Info

A!

Account List

Status= Barred 4.0 Change Account Status

Account Info, New PIN

New PIN

5.0 Change PIN

Account Balance

6.0 Get Balance

Account Info, Balance Request Account Info, ePrepaid Request

CUSTOMER

Phone Card PIN

7.0 Get e-Prepaid Card

Account Name, Password Figura 3: DFD Nvel 0 Servio de Requisio do Sistema de Mensagem

A fase de analise est relacionada com as camadas Modelo do Negcio e Modelo do Sistema de Informao do framework ISA.

4.3. Fase de Projeto


O objetivo da Fase de Projeto transformar o Modelo Conceitual e o Modelo de Processo desenvolvidos durante a Fase de Anlise em modelos que se adequar a tecnologia a ser utilizada na implantao do sistema de informao. Dois modelos de projeto so criados, Projeto de Banco de Dados e Projeto de Processo. Passos da Fase de Projeto 1. Desenvolvimento do Projeto do Banco de Dados O propsito desse passo mapear o Modelo Conceitual de Dados para o Modelo de Implementao que um Sistema Gerenciador de Banco de Dados (SGBD) pode processar com uma performance aceitvel para todos os usurios da organizao. Para construir o banco de dados dois projetos so criados.

Projeto Lgico do Banco de Dados que mapeia o Modelo Conceitual desenvolvido na anlise das estruturas especficas do SGBD. A figura 4 mostra um trecho de um projeto lgico de banco de dados. Projeto Fsico do Banco de Dados o mapeamento das estruturas do Projeto Lgico do Banco de Dados para estruturas de armazenamento fsico, tais como, arquivos e entidades. ndices tambm so especificados assim como mtodos de acesso e outros
12

Banco de Dados

JEDITM

fatores fsicos. O objetivo principal de se ter o design fsico do banco de dados fornecer performance adequada para usurios de aplicaes em termos de tempo de resposta, taxas de transferncia, entre outros. Cpias de segurana e sua restaurao so considerados no Projeto Fsico. ACCOUNT CellPhoneNo 09192345678 09174561234 09205467234 09165647342 STATUS CODE ACT BAR TER TYPE CODE 1 2 DESCRIPTION Dealer Account Direct Reseller DESCRIPTION Active Account Barred Account Terminated Account PIN 1234 2345 4523 7812 Balance $500,00 $100,00 $25.000,00 $30.000,00 Limit $2.500,00 $2.000,00 $300.000,00 $300.000,00 Status ACT ACT ACT ACT Type 2 2 1 1

PHONECARDTRANSACTION CELLPHONENO 09205467234 09205467234 CARDNO 2346253782 8736237634 LOADDATE DEC-24-2006 DEC-24-2006 RECIPIENT 9223456173 9178746345

Figura 4: Exemplo de Projeto Lgico do Banco de Dados

2. Desenvolvimento do Projeto de Processo. O propsito desse passo especificar a lgica de cada um dos processos e incluir todas as referncias para as entidades relevantes. Existem dois subpassos para o Projeto de Processo:

Especificar a lgica detalhada de cada processo Desenhar interfaces de usurios que podem ser: menus, formulrios e relatrios, entre outros

A figura 5 um exemplo da especificao de um Projeto de Processo. O trecho da especificao com fonte vermelha deve ser tratado como uma transao.

Banco de Dados

13

JEDITM

Project Name: e-Lagyan Distribution System Company: Lagyan Cards Incorporated Process Specifications: Phone Card Service Request INPUT: PAccountNo, PBalance, VFirstCellNo, VSecondCellNo, VService, VDenomination IF PBalance < VDenomination THEN MESSAGE "Insufficient Balance" Terminate Transaction ELSE SELECT InventoryCount INTO PCount FROM CellCardSupply WHERE Code IN (SELECT Code FROM CellCardType WHERE Denomination = VDenomination AND SPID = VService) IF (PCount < 0) THEN MESSAGE "No Card Available" TO VFirstCellNo ELSE SELECT FirstAvailableSerialNo, PIN, CardType INTO PSerialNo, PPIN, PCardType FROM CellCard WHERE CardType IN (SELECT Code FROM CellCardType WHERE SPID = VService AND Denomination = VDenomination) AND Status = "VALID" or "UNSOLD" IF VSecondCellNo <> NULL THEN INSERT INTO CellCardTrans VALUES (PAccountNo, PSerialNo, SYSDate, VSecondCellNo) ELSE INSERT INTO CellCardTrans VALUES (PAccountNo, PSerialNo, SYSDate, VFirstCellNo) ENDIF UPDATE Account SET Balance = Balance Denomination WHERE AccountNo = PAccountNo UPDATE CellCardSupply SET Count = Count 1 WHERE Code = PCardType UPDATE CellCard SET Status = 'Invalid' or 'Sold' WHERE SerialNo = PSerialNo IF VSecondCellNo <> NULL THEN SEND PPIN to VSecondCellNo ELSE SEND PPIN to VFirstCellNo ENDIF ENDIF ENDIF
Figura 5: Especificao do Projeto de Processo dos cartes telefnicos e-Prepaid

4.4. Fase de Implementao


O propsito da fase de implementao construir e instalar o sistema de informao de acordo com os planos e designs. Isto envolve uma srie de passos que acarretar a operacionalizao do sistema de informao que incluem criar definies de banco de dados, criar cdigos de programas, testar o sistema, desenvolver procedimentos operacionais e documentao.

Banco de Dados

14

JEDITM

5. Componentes para um SGBD


Sistema Gerenciador de Banco de Dados (SGBD) so softwares altamente sofisticados e complexos que tem por objetivo fornecer servios para gerenciar dados de uma organizao. Nessa seo, os tipos genricos de funes e servios sero discutidos e uma possvel arquitetura de um SGBD ser apresentada.

5.1. Servios e Funes de um SGBD


Codd1 defini oito servios que devem ser fornecidos por um SGBD de alta-escala. 1. Um SGBD deve fornecer aos usurios uma forma de armazenar, recuperar e atualizar dados no banco de dados. Essa a funo fundamental de um SGBD. 2. Um SGBD deve fornecer um catlogo com descrio de itens de dados armazenados e acessveis aos usurios. A chave para esse servio o catlogo de sistema ou dicionrio de dados, que um repositrio de informaes descrevendo os dados no banco de dados. referenciado como dados sobre dados ou meta-dados. 3. Um SGBD deve fornecer um mecanismo que assegure que todas as atualizaes correspondentes a uma dada transao sejam feitas ou que nenhuma delas seja feita. A chave para esse servio o conceito de transao. Uma transao uma srie de aes que acessam ou modificam o contedo do banco de dados. Quando executada, deve garantir que o banco de dados esteja sempre num estado estvel e consistente. 4. Um SGBD deve fornecer um mecanismo que assegure que o banco de dados seja atualizado corretamente quando mltiplos usurios atualizam o banco de dados concorrentemente. A chave para esse servio permitir que muitos usurios acessem o banco de dados simultaneamente. O acesso concorrente relativamente fcil quando os usurios esto apenas lendo os dados. Entretanto, quando os usurios esto acessando o banco de dados simultaneamente e pelo menos um deles est escrevendo dados, podem ocorrer interferncias que podem resultar em inconsistncias. O SGBD deve garantir que acessos concorrentes no deixaro o banco de dados num estado inconsistente. 5. Um SGBD deve fornecer um mecanismo para recuperao do banco de dados no caso de dados serem danificados de alguma maneira. Isso est relacionado com as transaes. Quando uma transao falhar, o SGBD deve retornar ao estado consistente que estava antes da transao ser executada. 6. Um SGBD deve fornecer um mecanismo para garantir que apenas usurios autorizados tenham acesso ao banco de dados. A chave para esse servio a segurana, que se refere proteo do banco de dados contra acessos no autorizados, intencionais ou no. 7. Um SGBD deve ser capaz se integrar com softwares de comunicao. 8. Um SGBD deve fornecer um meio de garantir que os dados e suas mudanas sigam certas regras. A integridade de dados se refere-se exatido e consistncia dos dados armazenados no banco de dados. usualmente expressa em termos de restries (constraints) que so regras de consistncia que o banco de dados no deve violar. Tambm conhecido como implementao de regras de negcio. Outros servios a serem considerados e fornecidos por um SGBD, so: 1. Um SGBD deve incluir facilidades dar suporte independncia dos programas da estrutura do banco de dados. A chave para isso o conceito de vises (views) e subesquemas. 2. Um SGBD fornece um conjunto de servios utilitrios:

facilidades de importao que carreguem o banco de dados utilizando arquivos, e facilidades de exportao que descarregam o banco para arquivos. facilidades de monitoramento da utilizao e operao do banco de dados

1 Codd E. F. The 1981 ACM Turing Award Lecture: Relational Database: A Practical Foundation for Productivity. Comm. ACM, 25(2), 109-117

Banco de Dados

15

JEDITM

anlises de performance e estatsticas de utilizao facilidades para reorganizao de ndices e suas sobrecargas garbage collection e realocao para remover fisicamente os registros eliminados para consolidar o espao liberado e realoc-lo quando houver necessidade

5.2. Arquitetura de Banco de Dados


No possvel generalizar a estrutura de componentes de um SGBD, pois isto vria de sistema para sistema. No entanto, til entender o sistema de banco de dados visualizando seus componentes e como eles se relacionam. Figura 61 uma arquitetura possvel de SGBD. Um SGBD modularizado em diversos componentes de softwares relacionados. Cada componente foi desenvolvido para executar operaes especficas. O diagrama mostra como cada componente interage com os outros. A seguir listamos os componentes.

Processador de Consultas. considerado um dos principais componentes do SGBD. Transforma consultas em uma srie de instrues de baixo-nvel que so direcionadas ao software gerenciador do banco de dados Gerenciador de Banco de Dados. Interage com aplicaes e consultas enviadas pelo usurio. Aceita consultas e examina esquemas externos e conceituais para determinar quais registros conceituais so requeridos para satisfazer uma consulta. Chama o gerenciador de arquivos para atender requisio. Possui os seguintes componentes:

Controle de Autorizao. Verifica se o usurio possui a autorizao necessria para executar a operao requerida Processador de Comandos. Responsvel por controlar a operao quando se sabe que o usurio possui a autorizao necessria Validador de Integridade. Verifica se a operao requisitada satisfaz as restries de integridade necessrias (como as restries de chaves) Otimizador de Consultas. Determina a estratgia para execuo otimizada de consultas Gerenciador de Transaes. Executa o processamento das operaes requeridas. Recebe as validaes de integridade das transaes Agendador. Garante que operaes concorrentes no banco de dados procedam sem conflitos entre si. Controla a ordem relativa em que as transaes so executadas Gerenciador de Recuperao. Garante que o banco de dados permanea num estado consistente quando uma falha ocorrer (como violao de restries). responsvel por confirmar ou abortar um transao Gerente de Buffer. responsvel por transferir dados entre a memria principal e o disco

Gerenciador de Arquivos. Manipula os arquivos internos de armazenamento e gerencia a alocao de espao em disco. No responsvel por gerenciar diretamente entradas e sadas de dados. Ao contrrio, passa a requisio para o mtodo de acesso apropriado Processador DML. Converte as instrues da Linguagem de Manipulao de Dados encontradas nas aplicaes em chamadas de funes do banco de dados. Interage com o processador de consultas para gerar o cdigo apropriado. Compilador DDL. Converte as instrues da Linguagem de Definio dos Dados em um conjunto de tabelas que contm os meta-dados. As tabelas so armazenadas no catlogo de sistema enquanto que informaes de controle so armazenadas no cabealho dos arquivos de dados Gerenciador de Catlogo. Gerencia acesso e mantm os catlogos de sistema

Codd E. F. (1982) The 1981 ACM Turing Award Lecture: Relational Database: A Practical Foundation for Productivity. Comm. ACM, 25(2), 109-117

Banco de Dados

16

JEDITM

Program Object Code

Query Processor

Catalog Manager

Authorization Control

Integrity Checker

Command Processor

Query Optimizer

Transaction Manager

Scheduler

Buffer Manager

Recovery Manager

Access Methods

File Manager

System Buffer

Database and System Catalog

Figura 6: Arquitetura de Banco de Dados

Banco de Dados

17

JEDITM

Parceiros que tornaram JEDITM possvel

Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDITM. DFJUG Detentor dos direitos do JEDITM nos pases de lngua portuguesa. Politec Suporte e apoio financeiro e logstico a todo o processo. Instituto Gaudium Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente.

Banco de Dados

18