Você está na página 1de 43

Manuais e recursos para desenvolvimento web www.criarweb.

com

Manual de iniciao programao

Autores do manual Este manual foi criado pelos seguintes colaboradores de Criarweb.com: Sara Alvarez Langa
(20 captulos)

Emmanuel Garca De Caro


http://www.blasten.com (1 captulo)

Sara Alvarez Langa Traduo de Celeste Veiga


(3 captulos)

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Conceitos bsicos e definies sobre programao


Comearemos com umas definies um pouco tcnicas, mas que porm so imprescindveis para a aprendizagem. Tecnologia Dentro do campo que nos interessa, a tecnologia tem o objetivo de eliminar as tarefas repetitivas, facilitando o trabalho e fazendo-o mais eficiente assim como aumentando a produtividade e os benefcios da empresa. Programao A programao uma das etapas mais importantes do ciclo de vida de um projeto (explicaremos mais adiante o que este termo), e requer um mtodo de trabalho. A programao o resultado de tal trabalho. A programao o instrumento que permite a execuo das tarefas automatizadas de um sistema informtico. As ferramentas que utilizaremos para programar so as linguagens de programao, atravs das quais codificaremos os programas. Programa Conjunto de instrues entendveis pelo computador que permitem realizar um trabalho ou resolver um problema. Um programa deve ser finito, ou seja, tem que ter um incio e um fim. Tem que estar bem confeccionado para que, ao introduzir um dado, saia uma soluo e se, se voltasse a introduzir o mesmo dado, sasse de novo a mesma soluo. Metodologia da programao Entende-se como metodologia da programao ao conjunto de normas, mtodos e anotaes que nos indicam a forma de programar. Cada linguagem de programao segue uma metodologia diferente. Linguagem de programao um conjunto de regras semnticas assim como sintticas que os programadores usam para a codificao de instrues de um programa ou algoritmo de programao. Existem vrias linguagens de programao. Ambiente de programao ou ambiente de desenvolvimento o conjunto de ferramentas utilizadas para a elaborao de um programa. Recursos Conjunto de componentes hardware que utilizaremos para a elaborao de um programa (cpu, disco rgido..). Uma vez conhecidos os conceitos bsicos necessrios para a aprendizagem da programao podemos comear a ver os diferentes tipos de linguagens de programao.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Artigo por Sara Alvarez Langa

Tipos de linguagens de programao


O computador s entende uma linguagem conhecida como cdigo binrio ou cdigo mquina, consistente em zeros e uns. Ou seja, s utiliza 0 e 1 para codificar qualquer ao. As linguagens mais prximas arquitetura hardware se denominam linguagens de baixo nvel e as que se encontram mais prximas aos programadores e usurios se denominam linguagens de alto nvel. Linguagens de baixo nvel So linguagens totalmente dependentes da mquina, ou seja, que o programa que se realiza com este tipo de linguagem no pode ser migrado ou utilizado em outras mquinas. Ao estar praticamente desenhado a medida do hardware, aproveitam ao mximo as caractersticas do mesmo. Dentro deste grupo se encontram: A linguagem mquina: esta linguagem ordena mquina as operaes fundamentais para seu funcionamento. Consiste na combinao de 0's e 1's para formar as ordens entendveis pelo hardware da mquina. Esta linguagem muito mais rpida que as linguagens de alto nvel. A desvantagem que so bastante difceis de manejar e usar, alm de ter cdigos fonte enormes onde encontrar uma falha quase impossvel. A linguagem Assembler um derivado da linguagem mquina e est formada por abreviaturas de letras e nmeros chamados mnemotcnicos. Com o aparecimento desta linguagem se criaram os programas tradutores para poder passar os programas escritos em linguagem assembler a linguagem mquina. Como vantagem com respeito ao cdigo mquina que os cdigos fontes eram mais curtos e os programas criados ocupavam menos memria. As desvantagens desta linguagem continuam sendo praticamente as mesmas que as da linguagem assembler, acrescentando a dificuldade de ter que aprender uma nova linguagem difcil de provar e manter.

Linguagens de alto nvel So aquelas que se encontram mais prximas linguagem natural que linguagem mquina. Esto dirigidas a solucionar problemas mediante o uso de EDD's.
Nota: EDD's so as abreviaturas de Estruturas Dinmicas de Dados, algo muito utilizado em todas as linguagens de programao. So estruturas que podem mudar de tamanho durante a execuo do programa. Permitem-nos criar estruturas de dados que se adaptem s necessidades reais de um programa.

Trata-se de linguagens independentes da arquitetura do computador. Sendo assim, princpio, um programa escrito em uma linguagem de alto nvel, pode ser migrado de uma mquina a outra sem nenhum tipo de problema.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Estas linguagens permitem ao programador se esquecer completamente do funcionamento interno da mquina/s para a que est desenhando o programa. Somente necessita de um tradutor que entenda o cdigo fonte como as caractersticas da mquina. Costumam usar tipos de dados para a programao e existem linguagens de propsito geral (qualquer tipo de aplicao) e de propsito especfico (como FORTRAN para trabalhos cientficos). Linguagens de Mdio nvel Trata-se de um termo no aceito por todos, porm certamente vocs j devem ter escutado. Estas linguagens se encontram em um ponto mdio entre as duas anteriores. Dentro destas linguagens poderia se situar C j que pode acessar aos registros do sistema, trabalhar com endereos de memria, todas elas caractersticas de linguagens de baixo nvel e ao mesmo tempo realizar operaes de alto nvel. Geraes A evoluo das linguagens de programao pode ser dividida em 5 etapas ou geraes. Primeira gerao: Linguagem mquina. Segunda gerao: Criaram-se as primeiras linguagens assembler. Terceira gerao: Criam-se as primeiras linguagens de alto nvel. Ex: C, Pascal, Cobol Quarta gerao: So linguagens capazes de gerar cdigo por si s, so os chamados RAD, com o qual pode-se realizar aplicaes sem ser um expert na linguagem. Aqui tambm se encontram as linguagens orientadas a objetos, tornando possvel a reutilizao de partes do cdigo para outros programas. Ex: Visual, Natural Adabes Quinta gerao: Aqui se encontram as linguagens orientadas inteligncia artificial. Estas linguagens ainda esto pouco desenvolvidas. Ex: LISP

Artigo por Sara Alvarez Langa

Processo de traduo das linguagens de programao


Quando programamos em linguagens de alto nvel, o que estamos fazendo na verdade o cdigo fonte desse programa. Este cdigo fonte deve ser traduzido binrio para que as instrues que contm possam ser entendidas e executadas pela mquina. Para isto existe um programa encarregado de realizar a traduo, chamado tradutor da linguagem.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Estes tradutores podem ser de dois tipos: Assembler

So os encarregados de traduzir os programas escritos na linguagem assembler linguagem mquina. Compiladores So programas que lem o cdigo fonte e o traduzem ou convertem a outra linguagem. Estes programas lhe mostram os erros existentes no cdigo fonte.

Etapas do processo de compilao: 1. Edio. Esta fase consiste em escrever o programa empregando alguma linguagem e um editor. Como resultado nos dar o cdigo fonte de nosso programa. 2. Compilao. Nesta fase se traduz o cdigo fonte obtido na fase anterior a cdigo mquina. Se no se produz nenhum erro se obtm o cdigo objeto. No caso de erros o compilador os mostraria para nos ajudar a corrigi-los e se procederia a sua compilao de novo, uma vez corrigidos. 3. Linkado. Esta fase consiste em unir o arquivo gerado na fase dois com determinadas rotinas internas da linguagem, obtendo o programa executvel. Existem dois tipos de linkados: Linkado esttico: Os binrios das bibliotecas se acrescentam aos nossos binrios compilados gerando o arquivo executvel. Linkado dinmico: no se acrescentam as bibliotecas ao nosso binrio e sim que far que se carreguem na memria as bibliotecas que nesse momento se necessitem.

Uma vez traduzido, compilado e linkado o arquivo est pronto para sua execuo onde tambm podero surgir problemas e falhas, para os quais teramos que voltar a realizar todo o processo anteriormente citado, de modo que possam ser corrigidos.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Por este motivo importante realizar numerosas provas em tempo de execuo antes de apresentar o programa ao cliente. Outro sistema para a execuo de nosso cdigo fonte mediante o uso de intrpretes (estes no se encontrariam dentro dos tradutores). Intrpretes Os intrpretes realizam a traduo e execuo de forma simultnea, ou seja, um intrprete l o cdigo fonte e vai executando-o ao mesmo tempo. As diferenas entre um compilador e um intrprete basicamente so: Um programa compilado pode funcionar por si s enquanto que um cdigo traduzido por um intrprete no pode funcionar sem este. Um programa traduzido por um intrprete pode ser executado em qualquer mquina j que, cada vez que se executa o intrprete, tem que compila-lo. Um arquivo compilado muito mais rpido que um interpretado.

Artigo por Sara Alvarez Langa

Manejando bits
Como bem conhecido um Byte um agrupamento de 8 bits respectivamente, cada bit faz parte do sistema de numerao Binrio a quem deve seu nome, ou seja, de base 2 em outras palavras pode armazenar valores compreendidos entre 0 y 1. Se lembramos que um sistema de numerao se conforma de um conjunto de regras e princpios que permite expressar ou definir um nmero vlido dentro do mesmo, podemos afirmar que a maioria deles (Sistemas: binrios, octanos, decimais, hexadecimais, etc..) se pueden representar mediante un polinomio sencillo que nos permitir entender su lgica: Nmero = N*basen + N*basen-1+ N*basen-2 at que a base fique elevada 0 sempre e quando no contiver decimais o "Nmero" Onde Nmero o valor expressado dentro do sistema, base como seu nome o indica a base do sistema (se binrio : 2 , octano: 8, decimal: 10, hexadecimal : 16, etc) e n a posio que ocupa o digito "N" dentro do Nmero. Exemplos em sistema decimal (base:10): 18598 1*10
4

+ 8*10

+ 5*10 2 + 9*10 1 + 8*10

Descompomos o valor expressado "18598" multiplicando-o pela base do sistema (10) elevada posio do dgito na expresso. O nmero 1 encontra-se iniciando a expresso e salva em seu interior 10 000 (Para comprovalo: se eliminarmos o 1 o resultado ser (18598-10 000)) portanto 10 000 igual a 10 4 (1*104)=10 000 + (8*103)= 8 000 No sistema de numerao binrio a mesma frmula aplicvel:
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 6

Manuais e recursos para desenvolvimento web www.criarweb.com

10 (nmero binario) = 1*2

+ 0*2 0

O que indica que 10, no sistema decimal igual 2, na verdade, no sistema de numerao binrio pode-se definir qualquer nmero inteiro maior ou igual a 0, entretanto a estrutura de armazenamento Byte s foi desenhada desde sua origem para armazenar at 256 porque inclui como mximo 8 bits (28 = 256) (lembremos que leva-se em conta o 0 pelo qual 255 equivaler a 256) e foi escolhido este valor como mximo porque a totalidade de caracteres disponvel na tabla ASCII, que inclui todos os caracteres vlidos dentro de um computador, para comprovar isto podemos salvar um caractere em um arquivo sem formato e como resultado teremos que sempre ocupar 1 byte, se colocamos 2 caracteres o tamanho do arquivo ser igual a 2 bytes. O que justifica que 1 byte = 8 bits = pode armazenar at 256. e 1 bit a mnima unidade na que se pode armazenar informao. Exemplo: o tipo booleano (bool) ocupa na memria 1 bit, portanto TRUE = 1 FALSE=0. Por esta razo a maioria dos hardwares com capacidade de armazenamento tais como Discos rgidos, memrias, e outros dispositivos; sua capacidade sempre ser divisvel entre 2 , assim como as demais estruturas de armazenamento ( Kb, Mb, Gb, Tb, etc) Como referia anteriormente, a tabela ASCII inclui todos os caracteres vlidos dentro do computador, desde todas as letras em minsculas e maisculas, nmeros e outros especiais, estes ltimos utilizados em sua maioria como delimitadores ou separadores guia dentro de um formato de arquivo de contedo binrio (PDF, DOC, EXE, DLL, OCX, ENTRE OUTROS) Exemplo de delimitadores: O endereo IP inclui 4 pares de cujo valor mximo 255 para poder representa-lo em decimal se faz mais que necessrio, obrigatrio o uso de delimitadores pelo qual se emprega um ". (Ponto)" de modo tal que 255.255.255.255, para reduzir esta informao a 4 bytes poderemos acudir tabela ASCII. Por exemplo o caractere "A" dentro da tabela ASCII no sistema decimal ocupa 64, podemos executar uma funo amplamente reconhecida por linguagens de programao entre eles (Delphi, C++, VB, Php, etc) chamada ORD que produzir como resultado de ord(64) "A" se pelo contrrio executarmos chr('A') o resultado ser 64 em decimal, o qual representado em binrio equivaleria a "1000000", embora 64 no ocupe fisicamente os 255 (1 byte completo) seu tamanho em disco sempre ser 1 byte, porque a maioria de sistemas operacionais e hardware desde sua ensambladura est orientados para reservar um mnimo de espao em memria e em disco levando em conta que esse valor pode ser modificado a 255 (mximo) ou 0 (mnimo) em qualquer momento. Portanto podemos dizer que um bit tem um valor de acordo com sua posio ou localizao e para encontrar esse valor s temos que descompor 255. 12 62 32 16 8 4 2 1 8 1 2 3 4 5 6 7 8(bits)

Como comentvamos anteriormente o bit se conforma de 0 e 1 respectivamente portanto afirmaremos a partir de agora que 0 IGUAL A FALSO (false) E 1 IGUAL A VERDADEIRO (true) se tivermos um conjunto de 8 bits o somaremos segundo sua posio, sempre e quando o bit for VERDADEIRO, ou seja, seu contedo for igual a 1, exemplo: dado os bits "10111011"
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 7

Manuais e recursos para desenvolvimento web www.criarweb.com

para converte-lo a decimal aplicamos a tabela: 12 62 32 16 8 4 2 1 8 1 0 1 1 1 0 1 1

E posteriormente, somamos somente os valores que so "VERDADEIROS" ento: 128+32+16+8+2+1=187 Parabns! 10111011=187!, ento, podemos dizer que para armazenar 256 necessitaremos que os 8 bits sejam verdadeiros, ou seja, 8 bits e j teremos nosso byte. Para fazer o processo contrrio, ou seja, de decimais a binrio, s temos que descompor o decimal dividindo-o sempre entre 2 at que o valor seja igual a 1, o agrupamento dos resduos obtidos ser nosso valor binrio; obviamente os resduos sempre sero (0 ou 1). Os bits so amplamente utilizados para codificar dados, comprimir informao, etc. Por exemplo, o formato de imagens desenhado por Microsoft (.BMP) calcula a rea da imagem, ou seja, base por altura ou o que igual largura pela altura, o qual assume como a quantidade de pontos disponveis, estes pontos por sua vez armazenam uma cor hexadecimal de 3 pares conhecida como RGB que armazena as cores VERMELHO, VERDE E AZUL, pelo qual para o armazenamento da cor emprega 3 bytes (255,255,255) e os recebe com ASCII, por cada ponto , o que indica se uma imagem de 10 px x 10 px empregar 300 bytes para armazenar os pontos e outros adicionais que salvam informao de propriedades e caractersticas de essencial importncia. Utilizando bytes delimitadores ou separadores no caso de no conhecer o final do valor, ou seja, se a quantidade de bytes a empregar pelo cabealho do formato (que contm informao) se desconhece ou pode variar dependendo de fatores, se faz indispensvel o uso de delimitadores (ASCII DEFINIDOS COMO DELIMITADORES), se pelo contrrio sempre se situar entre os bytes 10 e 20, por exemplo (no ser necessrio). Por tal motivo quando lemos um arquivo (com um programa desenvolvido por ns) devemos especificar quantos bytes leremos por cada seqncia, no caso das cores dos formato (BMP) bastar ler de 3 em 3, cabe destacar que um arquivo pode ser lido at 1024 ou seja 1 KB de seqncia que equivale a uma linha de informao, a partir dessa base foram desenhados mecanismos de compreenso que agrupa os bits repetido em matrizes ou arrays. Para tornar possvel este manejo existem alguns operadores similares aos de lgica ( OR, AND, NOT, XOR, ETC) melhor conhecidos como operadores bit a bit. Deslocando bits: Podemos defini-lo como a ao de transportar bytes de um extremo da expresso a outro, como a expresso est conformada por 2 s se pode fazer em dois sentidos, esquerda e direita. a. Deslocando bits esquerda (<<) Consiste em mover a quantidade de bit indicada na expresso, da esquerda direita, esta operao equivale a multiplicar por 2. Por exemplo: 16 <<2 deslocaremos 2 bits da esquerda direita 16 em binrio equivale a 00010000 pelo qual moveremos os dois primeiros bits parte
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 8

Manuais e recursos para desenvolvimento web www.criarweb.com

de atrs do nmero (direita) de tal modo que ficar 01000000 o qual equivale a 64. Portanto se multiplicamos (16*2)=32 (32*2)=64 1 bit 2 bits

b. Deslocando bits direita (>>) Consiste em mover a quantidade de bit indicada na expresso, da direita esquerda, esta operao equivale a dividir por 2. Por exemplo: 128 >>4 deslocaremos 4 bits da direita esquerda. 128 em binrio igual a: 10000000, moveremos os ltimos 4 bits parte inicial ( da direita a esquerda), o resultado ser 00001000 cujo valor igual a 8 portanto se dividimos (128 / 2)=64 (64/2)=32 (32/2)=16 (16/2)=8 1 bit 2 bits 3 bits 4 bits

Emprega-se 2 por ser a base do sistema de numerao binrio. Operador de lgica OR | Lembraremos que chamaremos 0 em binrio False e 1 True, ento o operador OR Avaliar as expresses e produzir TRUE ou seja, 1 s se um dos 2 bits a comparar for igual a 1. Exemplo: Expresso: 5 | 12 5 em binrio igual a 00000101 12 em binrio = 00001100 Resultado : 00001101 = 13 S se um par dos bits a comparar for 1 o resultado ser 1, se comporta exatamente igual a uma condio: (true || false) igual a true; (false || false) igual a false, sua razo se deve a que a condio de dois ou mais argumentos se transforma sempre em binrios para realizar a comparao utilizando o processador e a memria de computador. Operador de lgica AND & S se o par de bits a comparar for igual a 1 o resultado ser 1. Expresso: 5 & 12 5 em binrio igual a 00000101 12 em binrio = 00001100
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 9

Manuais e recursos para desenvolvimento web www.criarweb.com

Resultado : 00000100 = 4 parecido a (TRUE && TRUE) igual a true, (False && True) igual a false. Operador XOR ^ S se o par de bits a comparar for diferente ser igual a 1. Expresin: 5 ^ 12 5 em binrio igual a 00000101 12 em binrio = 00001100 Resultado : 00001001 = 9 Similar a (TRUE XOR FALSE) es igual a true, ( TRUE XOR TRUE) es igual a false. Operador Not ~ S se o bit a comparar for igual a 0 (False) ser igual a 1. Expresso: ~5 5 em binrio igual a 00000101 Resultado : 00000010 = 2 Similar a (!FALSE) igual a true Importncia do manejo dos bits Como programador darrei uma opinio muito pessoal, torna-se indispensvel na construo de aplicaes em grande escala o desenvolvimento de formatos pessoais baseados em esquemas que armazenam a informao empregada de modo comprimido para a utilizao de um ou outros recursos de nossa aplicao, permitindo ao usurio final maior comodidade y segurana durante o transporte da informao e oferecendo-lhe a capacidade de torna-las compatveis com outras aplicaes, e deixar a um lado (dependendo do objetivo) o tpico uso de banco de dados que requerem recursos adicionais do computador ademais de interpretadores, etc. Considero que a informao redigida contribui consideravelmente a encaminhar seus esforos nessa direo. Concluso: Podemos dizer que o computador sem software s tem capacidades para fazer operaes aritmticas simples (somas, subtraes, multiplicao, etc) E o software que valendo essas simples operaes com processos como os explicados anteriormente, pode criar a interface como da que hoje desfrutamos em matria de Sistemas Operacionais, todas as linguagens desde as mais altas como Php at as mais baixas como Assembler passam por binrio, cada vez que movemos o Mouse isso est produzindo um processamento de dados binrios, enfim, oriente seus esforos como programador a reduzir ao mximo o consumo de recursos, certamente voc conseguir uma soma consumindo menor quantidade de recursos que o habitual. Artigo por Emmanuel Garca De Caro

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

10

Manuais e recursos para desenvolvimento web www.criarweb.com

Tipos de programao
Os tipos ou tcnicas de programao so bastante variados, embora pode ser que haja muitos leitores que s conheam uma metodologia para realizar programas. Na maioria dos casos, as tcnicas centram-se em programao modular e programao estruturada, porm existem outros tipos de programao. Explicaremos isso melhor ao longo do artigo. Programao estruturada (PE) A programao estruturada composta por um conjunto de tcnicas que foram se evoluindo aumentando consideravelmente a produtividade do programa reduzindo o tempo de depurao e de manuteno do mesmo. Esta programao estruturada utiliza um nmero limitado de estruturas de controle, reduzindo assim consideravelmente os erros. Esta tcnica incorpora: Design descendente (top-dow): o problema se descompe em etapas ou estruturas hierrquicas. Recursos abstratos (simplicidade): consiste em descompor as aes complexas em outras mais simples capazes de ser resolvidas com maior facilidade. Estruturas bsicas: existem trs tipos de estruturas bsicas: Estruturas seqenciais: cada ao segue a outra ao seqencialmente. A sada de uma ao a entrada de outra. Estruturas seletivas: nestas estruturas avaliam-se as condies e em funo do resultado das mesmas realizam-se umas aes ou outras. Utilizam-se expresses lgicas. Estruturas repetitivas: so seqncias de instrues que se repetem um nmero determinado de vezes.

As principais vantagens da programao estruturada so: Os programas so mais fceis de entender Reduz a complexidade das provas Aumenta a produtividade do programador Os programas ficam melhor documentado internamente.

Um programa est estruturado se possui um nico ponto de entrada e s um de sada, existem de "1 a n" caminhos desde o princpio at o fim do programa e por ltimo, que todas as instrues so executveis sem que apaream loops infinitos. Programao modular Na programao modular consta de vrias sees dividas de forma que interagem atravs de chamadas a procedimentos, que integram o programa em sua totalidade. Na programao modular, o programa principal coordena as chamadas aos mdulos secundrios e passa os dados necessrios em forma de parmetros. Por sua vez cada mdulo pode conter seus prprios dados e chamar a outros mdulos ou funes.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

11

Manuais e recursos para desenvolvimento web www.criarweb.com

Programao orientada a objetos (POO) Trata-se de uma tcnica que aumenta consideravelmente a velocidade de desenvolvimento dos programas graas reutilizao dos objetos. O elemento principal da programao orientada a objetos o objeto. O objeto um conjunto complexo de dados e programas que possuem estrutura e fazem parte de uma organizao. Um objeto contm vrios dados bem estruturados e podem ser visveis ou no dependendo do programador e as aes do programa nesse momento. O polimorfismo e a herana so umas das suas principais caractersticas e por isso dedicaremos mais adiante um artigo exclusivamente para tratar destes dois termos. Publicamos em CriarWeb.com anteriormente uma explicao do que a programao orientada a objetos. Programao concorrente Este tipo de programao se utiliza quando temos que realizar vrias aes de s uma vez. Costuma-se utilizar para controlar os acessos de usurios e programas a um recurso de forma simultnea. Trata-se de uma programao mais lenta e trabalhosa, obtendo uns resultados lentos nas aes. Programao funcional Caracteriza-se principalmente por permitir declarar e chamar a funes dentro de outras funes. Programao lgica Costuma-se utilizar na inteligncia artificial e em pequenos programas infantis. Trata-se de uma programao baseada no clculo de predicados (uma teoria matemtica que permite conseguir que um computador baseando-se em fatos e regras lgicas, que pode dar solues inteligentes). Artigo por Sara Alvarez Langa

Importncia da documentao
A documentao dos programas um aspecto sumamente importante, tanto no desenvolvimento da aplicao como na manuteno da mesma. Muita gente no faz esta parte do desenvolvimento e no se d conta de que perde a possibilidade da reutilizao de parte do programa em outras aplicaes, sem necessidade de conhecer o cdigo no dedo. A documentao de um programa comea com a construo do mesmo e finaliza justo antes
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 12

Manuais e recursos para desenvolvimento web www.criarweb.com

da entrega do programa ou aplicao ao cliente. Mesmo assim, a documentao que se entrega ao cliente ter que coincidir com a verso final dos programas que compem a aplicao. Uma vez concludo o programa, os documentos que se devem entregar so um guia tcnico, um guia de uso e de instalao. Tipos de documentao A documentao que se entrega ao cliente se divide claramente em duas categorias, interna e externa: Interna: aquela que se cria no mesmo cdigo, j pode ser em forma de comentrios ou de arquivos de informao dentro da aplicao. Externa: aquela que se escreve em cadernos ou livros, totalmente alheia aplicao em si. Dentro se esta categoria tambm se encontra a ajuda eletrnica.

A guia tcnica No guia tcnico ou manual tcnico se refletem o design do projeto, a codificao da aplicao e as provas realizadas para seu correto funcionamento. Geralmente este documento est desenhado para pessoas com conhecimentos de informtica, geralmente programadores. O principal objetivo o de facilitar o desenvolvimento, a correo e a futura manuteno da aplicao de uma forma rpida e fcil. Este guia est composto por trs sees claramente diferenciadas: Caderno de carga: onde fica refletido a soluo ou design da aplicao. Esta parte do guia unicamente destinada aos programadores. Deve estar realizado de tal forma que permita a diviso do trabalho. Programa fonte: onde se inclui a codificao realizada pelos programadores. Este documento pode ter, por sua vez, outra documentao para sua melhor compreenso e pode ser de grande ajuda para a manuteno ou o desenvolvimento melhorado da aplicao. Este documento deve ter uma grande clareza em sua escritura para sua fcil compreenso. Provas: o documento onde se especificam o tipo de provas realizadas ao longo de todo o projeto e os resultados obtidos.

O guia de uso o que comumente chamamos o manual do usurio. Contem a informao necessria para que os usurios utilizem corretamente a aplicao. Este documento feito atravs do guia tcnico, porm se suprimem os tecnicismos e se apresenta de forma que seja entendvel para o usurio que no seja experiente em informtica. Um ponto a ter em conta em sua criao que no deve fazer referncia a nenhuma seo do guia tcnico e no caso de que faa uso de algum tecnicismo deve ir acompanhado de um glossrio ao final da mesma para sua fcil compreenso.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

13

Manuais e recursos para desenvolvimento web www.criarweb.com

O guia de instalao o guia que contm a informao necessria para implementar tal aplicao. Dentro deste documento encontram-se as instrues para o andamento do sistema e as normas de utilizao do mesmo. Dentro das normas de utilizao incluem-se tambm as normas de segurana, tanto as fsicas como as referentes ao acesso informao. Artigo por Sara Alvarez Langa

Metodologia da programao
Estruturas de um programa Um programa vai se dividir em 3 partes claramente diferenciadas: processos de entrada processo de dados processos de sada

Todo programa est constitudo por um conjunto de instrues capazes de administrar um conjunto de dados. Algoritmos Um algoritmo a descrio abstrata de todas as aes que deve realizar um computador, que nos conduz soluo do problema. Deve ser conciso e detalhado, assim como finito, porm, sobretudo tem que ser claro e o mais simples possvel. Ferramentas e tcnicas para o desenho de algoritmos Para o desenho de algoritmos o que mais se utiliza so os diagramas de fluxos. Diagramas de fluxo Os diagramas de fluxo so representaes grficas que mediante o uso de smbolos unidos mediante linhas de fluxo, mostram a seqncia lgica que se deve suceder para a soluo do problema. Os diagramas de fluxo devem ser independentes da linguagem de programao empregada, devem ser flexveis e simples. Por outro lado tm que estar normalizados com algum padro como pode ser o ISO (a nvel mundial), ANSI (a nvel americano) ou o IEEE ( a nvel europeu) Existem 3 tipos principais de diagramas de fluxos: Fluxograma de bloco: Representao grfica simples com os elementos que representam a entrada e sada de dados do programa

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

14

Manuais e recursos para desenvolvimento web www.criarweb.com

Fluxograma padro: Representao grfica com seqncias lgicas e detalhadas de todos os passos a seguir para a resoluo do algoritmo. Pseudocdigo: Linguagem intermediria entre o natural e o de programao que representa mediante a palavra, a soluo do algoritmo.

Dentro destes trs os mais utilizados so os ordinogramas ou pseudocdigos, j que so os que mais ajudam aos programadores na hora de passar esses algoritmos s diferentes linguagens de programao. Nos seguintes artigos aprofundaremos mais em cada um deles e aprenderemos a constru-los e l-los para seu posterior passo linguagem de programao que se requer. Artigo por Sara Alvarez Langa

Fluxogramas
Um fluxograma uma representao grfica que apresenta as entradas e sadas de dados ao programa. Os fluxogramas dividem-se em trs partes claramente diferenciadas: Entrada: que deve aparecer na parte superior da representao grfica Processo: que deve aparecer na parte central da representao grfica Sada: que deve aparecer na parte inferior

Smbolos para os dispositivos de entrada/sada Desenho Dispositivo Tipo

teclado

entrada

monitor

sada

disquete

Entrada/Sada

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

15

Manuais e recursos para desenvolvimento web www.criarweb.com

Impressora

Sada

Discos magnticos entrada/sada

Smbolos para os dispositivos de processos Smbolo Processo

Qualquer processo ou operao que realizarmos, salvo as que operarmos com arquivos.

Classificao de dados em um arquivo

Extrao de dados de um arquivo

Unio de vrios arquivos em um s

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

16

Manuais e recursos para desenvolvimento web www.criarweb.com

Datas utilizadas nos fluxos de dados Setas Funo Linhas de tele-processo

Direo do fluxo de dados

Para entender melhor os fluxogramas temos estes trs exemplos: Fluxograma que reflete a soma de 3 nmeros lidos pelo ecr, o resultado aparece na tela

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

17

Manuais e recursos para desenvolvimento web www.criarweb.com

Fluxograma que reflete a atualizao de um arquivo de dados (quadro de funcionrios, por exemplo)

Fluxograma que reflete a unio de vrios arquivos em um s.

Artigo por Sara Alvarez Langa

Fluxogramas II
Tratamos de outro diagrama de fluxos que mostra a seqncia lgica e detalhada das operaes que necessitamos para a realizao de um programa. Assim como o o fluxograma visto no captulo anterior, este tambm deve ser independente da linguagem de programao que utilizemos.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

18

Manuais e recursos para desenvolvimento web www.criarweb.com

Estrutura do fluxograma Este fluxograma deve estar composto de: Um smbolo de incio de execuo do programa A seqncia de operaes necessrias para o correto funcionamento do programa. As operaes seguiro uma ordem (de acima abaixo e da esquerda direita). Um smbolo que indique o final do programa.

Smbolos utilizados Simbolo Descrio Para incio/fim ou para uma parada indeterminada

Smbolo de entrada/sada genrico

Representa uma operao ou processo geral com dados de memria.

Smbolo de sub-programa ou sub-rotina. Utiliza-se para realizar uma chamada a um mdulo do programa.

Smbolo de deciso para realizar uma pergunta com duas possveis respostas. o que chamamos de smbolo de seleo simples.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

19

Manuais e recursos para desenvolvimento web www.criarweb.com

Smbolo de mltipla seleo

Smbolo de loop definido.

Conector. Utiliza-se para agrupar vrias linhas de fluxo que saem da mesma origem.

Smbolo para colocar comentrios

Regras na hora de fazer fluxogramas Todos os smbolos utilizados devem estar unidos por linhas de fluxo. No se pode cruzar as linhas de fluxo A um smbolo de processo podem chegar vrias linhas de fluxo, porm s pode sair uma dele. Ao smbolo de incio no pode chegar nenhuma linha de fluxo De um smbolo de fim no pode sair nenhuma linha de fluxo, mas sim podem chegar vrias a ele.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

20

Manuais e recursos para desenvolvimento web www.criarweb.com

Exemplos

Este primeiro exemplo lhe diz o maior de dois nmeros.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

21

Manuais e recursos para desenvolvimento web www.criarweb.com

Este segundo lhe devolve os graus introduzidos em Kelvin e Fahrenheit. Artigo por Sara Alvarez Langa

Pseudocdigo
O principal objetivo do pseudocdigo o de representar a soluo a um algoritmo da forma mais detalhada possvel, e por sua vez o mais parecido possvel linguagem que posteriormente se utilizar para a codificao do mesmo. As principais caractersticas desta linguagem so: Pode-se executar em um computador. uma forma de representao simples de utilizar e de manipular. Facilita o passo do programa linguagem de programao. independente da linguagem de programao que for utilizar. um mtodo que facilita a programao e soluo ao algoritmo do programa.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

22

Manuais e recursos para desenvolvimento web www.criarweb.com

Todo documento em pseudocdigo deve permitir a descrio de: Instrues Instrues Instrues Instrues Instrues primitivas de processo de controle compostas de descrio

Estrutura a seguir em sua realizao: Cabealho: Corpo: Incio Instrues Fim Programa: Mdulo: Tipos de dados: Constantes: Variveis:

Para comentar em pseudocdigo, se antepe ao comentrio dois asteriscos (*) Exemplos * Programa que calcula a rea de um quadrado a partir de um lado dado por teclado.
Programa: area_quadrado Modulo: main **( tambem se pode chamar principal) Variaveis: lado: natural area: natural Inicio Visualizar "Introduza o lado do quadrado" Ler lado Area<- lado * lado Visualizar "A rea do quadrado ", area Fim

* Programa que visualize a tabela de multiplicar do nmero introduzido por teclado


Programa: Tabela multiplicar Modulo: main Variaveis: t: inteiro num : inteiro Inicio Visualizar "Introduza um numero" Ler num Desde t=1 ate t=10 repetir Visualizar num, " X", t, "=", num*t Fim desde Fim

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

23

Manuais e recursos para desenvolvimento web www.criarweb.com

Uma vez que tivermos preparado um diagrama de fluxos (fluxograma) e um pseudocdigo, j podemos comear com a codificao do programa em nosso computador. A partir de aqui tudo varia dependendo da linguagem de programao que utilizarmos, porm em todos os programas teremos que definir os tipos de dados que utilizaremos. Tudo isso e mais, ser falado no seguinte artigo. Artigo por Sara Alvarez Langa

Tipos de dados
Antes de mergulharmos nos diferentes tipos de dados, passarei a descrio de dado para que tudo fique claro desde o princpio. Dado Elemento que no manejamos ou armazenamos em um sistema informtico. Os dados manejados em um algoritmo devem levar associado um identificador, um tipo de dado e seu valor. Dados bsicos Dentro dos dados bsicos podemos encontrar os dados estticos, derivados e estruturados. Os dados estticos so os seguintes: inteiro, real e natural para os nmeros caracteres cadeia lgico enumerado

Como dado derivado encontramos os ponteiros que hoje em dia quase no se utilizam, a no ser que se programe em C. Os mais complexos so os estruturados e os principais so: array Estruturas Listas, pilhas, filas e rvores ( muito utilizados em C) Classes e objetos Arquivos Banco de dados

Os quatros primeiros so os internos enquanto que os dois ltimos correspondem a tipos de dados externos. Constantes e variveis Define-se como varivel a uma posio de memria referenciada por um identificador onde se pode armazenar um valor determinado (Tipo de dado).
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 24

Manuais e recursos para desenvolvimento web www.criarweb.com

Define-se como constante a um valor que no se modifica ao longo de toda a execuo do programa. Artigo por Sara Alvarez Langa

Operadores
Os operadores se classificam em aritmticos, alfanumricos, relacionais, lgicos e por ltimo um pequeno grupo de operadores especiais que depender das diferentes linguagens utilizadas. Operadores aritmticos: Para a soma e a subtrao se utilizam respectivamente os smbolos; "+" "-" Para a diviso e encontrar o resto da mesma se utilizam respectivamente os smbolos; "/" "%" Para multiplicar e elevar potencias se utilizam respectivamente os seguintes smbolos; "*" "**"

Operadores alfanumricos: So os utilizados para trabalhar com cadeias. Principalmente utilizamos o smbolo "+" para concatenar cadeias. Logo dependendo da linguagem pode funcionar ou no o smbolo "-" para concatenar cadeias eliminando os espaos em branco. Operadores relacionais: O smbolo "==" nos compara dois valores O smbolo "!=" significa diferente e nos devolve verdadeiro se os valores comparados so diferentes. Logo temos os demais signos como so; "<", ">", "<>", "<=", ">="

Operadores lgicos: Como operadores lgicos nos encontramos com o smbolo "!" ou "not" para a negao e o smbolo "&&" ou "and" para a conjuno. Exemplos Aritmticos. A=3 B=2 X=a**2 onde x valeria 9 X=a/2 onde x valeria 1.5 X= a*2 onde x valeria 6 X= a%b onde x valeria 1 Alfanumricos: A="Oi" B=" Tudo bem"
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 25

Manuais e recursos para desenvolvimento web www.criarweb.com

X=a+b onde x valeria "Oi Tudo bem" Relacionais: Si x==a ento Instrues Sino Instrues Fim se Lgicas Se !a ento A varivel est vazia Fim se Se a==3 and b==3 ento A e b so iguais Fim se Artigo por Sara Alvarez Langa

Expresses e instrues
Expresses Como definio de expresses entendemos que um conjunto de operandos e operadores, que depois de serem avaliados devolvem um determinado resultado. Em funo do resultado obtido podemos classifica-las em: Expresses numricas Expresses alfanumricas Expresses lgicas booleanas

Instrues Como definio de instrues entendemos que um fato ou acontecimento de durao limitada que gera umas mudanas na execuo do programa. Existem vrios tipos de instrues: Instrues de definio de dados X: inteiro Instrues primitivas de entrada (ler x) de atribuio (x<-3) de sada (visualizar x) Instrues compostas: So aquelas instrues que so executadas diretamente pelo processador e esto constitudas por um conjunto de aes agrupadas em mdulos. Instrues de controle: So utilizadas para controlar a seqncia de execuo do programa. Dentro deste tipo de instrues se encontram as instrues de salto que so aquelas que alteram ou

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

26

Manuais e recursos para desenvolvimento web www.criarweb.com

rompem a seqncia de execuo de um programa. Este tipo de instruo no se utiliza na programao estruturada. Por sua vez, temos as instrues alternativas que controlam a execuo ou no de uma ou mais instrues em funo da condio. Esto as instrues de alternativa simples, dupla e mltipla. Por ltimo, dentro deste grupo de instrues de controle esto as instrues repetitivas que so aquelas que nos permitem alterar a seqncia normal da execuo de um programa tornando possvel que um grupo de instrues possam se repetir mais de uma vez. Todo loop est composto de trs partes claramente diferenciadas: A: Parte da condio, pode ser qualquer expresso. B: Corpo do loop. So o conjunto de instrues que se repetiro. C Parte final do loop. o ltimo em se executar quando no se cumpre a condio.

Os elementos que intervem na expresso que conforma a condio devem estar sempre refletidos no corpo do loop de tal forma que sempre exista a possibilidade de sair do mesmo. Existem dois tipos principais de loops: Loop do-while: Repetem-se as instrues at que no se cumpra a condio While <<condicao>> fazer Instrucoes Fin while Loop para (for) repetem-se as instrues um nmero determinado de vezes. Para v<-0 ate vf[com i de incremento] fazer Instrucoes Fim para

Com isto j temos visto os conceitos bsicos para poder comear a programar em qualquer linguagem de programao e sabendo disso, tambm sua sintaxe e as possveis mudanas com respeito a outras linguagens de programao. Agora hora de aprender alguma linguagem em concreto e comear a praticar tudo o que foi aprendido neste manual.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

27

Manuais e recursos para desenvolvimento web www.criarweb.com

Artigo por Sara Alvarez Langa

Introduo ao banco de dados


Os bancos de dados se engenharam graas necessidade das grandes empresas de armazenar grandiosas quantidades de informao de uma forma rpida, simples e confivel, e que por sua vez pudessem acessa-la em qualquer momento sem a necessidade de se deslocar s salas dedicadas a arquivar documentao, como at h pouco tempo se fazia. Quando comeou a decolagem dos programas informticos, comeou-se a armazenar dados nos arquivos dos programas, o qual era mais cmodo, porm, ainda assim tinham grandes dificuldades na hora de querer modificar registros, estruturas ou simplesmente buscar informao. Nos finais dos anos sessenta, nascem os bancos de dados. Nestes bancos de dados se salvavam os dados utilizados pelos usurios, empresas, etc. E com os programas que os utilizam no foi preciso se preocupar de sua manuteno, nem armazenagem porque uma mudana no banco de dados, princpio, no tem porque afetar aos programas que o utilizam. Como definio do banco de dados, entendemos que se trata de um conjunto de dados interrelacionados e armazenados sem redundncias desnecessrias, os quais servem s aplicaes sem estar relacionados de uma maneira direta entre eles. Um banco de dados pode ser utilizado por vrias aplicaes e usurios. Todo banco de dados deve permitir inserir, modificar e excluir dados, portanto nos bancos de dados se salvam informaes de dois tipos: Os dados de usurios (dados usados pelas aplicaes) Os dados de sistema (dados que o banco de dados utiliza para sua administrao. Ex: Dados dos usurios que tm acesso ao banco de dados)

Organizao de um banco de dados Para considerar a um banco de dados organizado, deve-se cumprir os seguintes objetivos: Tem que ser verstil: isto quer dizer que, dependendo dos usurios ou das aplicaes, possam fazer diferentes coisas ou tratem aos dados de formas diferentes. Tem que atender com a rapidez adequada a cada aplicao ou empresa, atendendo a quem requeri-la. Tem que ter um ndice de redundncia o mais baixo possvel. Ter uma alta capacidade de acesso para ganhar o maior tempo possvel na realizao de consultas. Ter um alto ndice de integridade, isto significa que ao ter muitos usurios atacando a um mesmo banco de dados no pode ter falhas na insero de dados, erros por redundncia ou lenta atualizao. Obviamente, tem que ter um nvel altssimo de segurana e privacidade j que os dados que se armazenam em um banco de dados podem ser altamente confidenciais ou importantes. Neste ponto, tambm entram os meios fsicos de proteo contra fogo, roubo, etc.
28

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Por ltimo, tem que ser possvel sua constante atualizao para no deixar o banco de dados antigo e inservvel. Quando fazemos uma mudana na organizao fsica dos dados no deve afetar aos programas, portanto tambm tem que ter uma independncia fsica dos dados. Assim como tem que ter total independncia lgica com os dados, isto quer dizer que se fazemos mudanas na estrutura lgica dos dados (agregar novos campos a uma tabela) no devem afetar s aplicaes que utilizem esses dados.

Artigo por Sara Alvarez Langa

Arquitetura dos bancos de dados


Os usurios no costumam saber como esto organizados e armazenados os dados. Por este motivo um banco de dados deve apresentar os dados de forma que o usurio possa interpreta-los e modifica-los. Evidentemente, isto no pode ser aplicado a um informtico que necessite saber onde se encontram fisicamente os dados para poder trata-los. Podemos destacar trs nveis principais segundo a viso e a funo que realize o usurio sobre o banco de dados: Nvel Interno: o nvel mais perto do armazenamento fsico dos dados. Permite escreve-los tal e como esto armazenados no computador. Neste nvel se desenham os arquivos que contm a informao, a localizao dos mesmos e sua organizao, ou seja, criam-se os arquivos de configurao. Nvel conceitual: Neste nvel se representam os dados que vo ser utilizados sem em conta aspectos como o que representamos no nvel interno. Nvel externo: o mais prximo ao usurio. Neste nvel se descrevem os dados ou parte dos dados que mais interessam aos usurios.

Estes trs nveis de viso de usurios so proporcionados pelos sistemas gestores de banco de dados (j veremos mais adiante o que significa isto). Um banco de dados especfico tem um nico nvel interno e um nico nvel conceitual, mas pode ter vrios nveis externos.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

29

Manuais e recursos para desenvolvimento web www.criarweb.com

Artigo por Sara Alvarez Langa

Sistemas de informao gerencial de banco de dados


Um sistema de informao gerencial de banco de dados se define como o conjunto de programas que administram e gerenciam a informao contida em um banco de dados. Ajuda a realizar as seguintes aes: Definio dos dados Manuteno da integridade dos dados dentro do banco de dados Controle da segurana e privacidade dos dados Manipulao dos dados

Um sistema de informao gerencial de dados est composto de: O gerenciamento do banco de dados Trata-se de um conjunto de programas no visveis ao usurio final que se encarregam da privacidade, da integridade, da segurana dos dados e a interao com o sistema operacional. Proporciona uma interface entre os dados, os programas que os manejam e os usurios finais.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

30

Manuais e recursos para desenvolvimento web www.criarweb.com

Qualquer operao que o usurio faz contra o banco de dados est controlada pelo administrador. O administrador armazena uma descrio de dados no qual chamamos dicionrio de dados, assim como os usurios permitidos e as permisses. Tem que haver um usurio administrador encarregado de centralizar todas estas tarefas. Dicionrio de dados um banco de dados onde se salvam todas as propriedades do banco de dados, descrio da estrutura, relaes entre os dados, etc. O dicionrio deve conter: A descrio externa, conceitual e interna do banco de dados As restries sobre os dados O acesso aos dados As descries das contas de usurio As permisses dos usurios Os esquemas externos de cada programa

O administrador do banco de dados uma pessoa ou grupo de pessoas responsveis do controle do sistema de gerenciamento do banco de dados. As principais tarefas de um administrador so: A definio do esquema lgico e fsico do banco de dados A definio das vistas de usurio A atribuio e edio de permisses para os usurios Manuteno e seguimento da segurana no banco de dados Manuteno geral do sistema de gerenciamento do banco de dados

As linguagens Um sistema de gerenciamento de banco de dados deve proporcionar uma srie de linguagens para a definio e manipulao do banco de dados. Estas linguagens so as seguintes: Linguagem de definio de dados (DDL). Para definir os esquemas do banco de dados Linguagens de manipulao de dados (DML). Para manipular os dados do banco de dados Linguagem de controle de dados(DCL). Para a administrao de usurios e segurana no banco de dados.

Artigo por Sara Alvarez Langa

Modelos de bancos de dados


Os modelos mais conhecidos e utilizados so:

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

31

Manuais e recursos para desenvolvimento web www.criarweb.com

Modelo de dados hierrquico Este modelo utiliza rvores para a representao lgica dos dados. Esta rvore esta composta de uns elementos chamados ns. O nvel mais alto da rvore denomina-se raiz. Cada n representa um registro com seus correspondentes campos. A representao grfica deste modelo se realiza mediante a criao de uma rvore invertida, os diferentes nveis ficam unidos mediante relaes.

Neste modelo s se podem representar relaes 1:M, por isso apresenta vrios inconvenientes: No se admitem relaes N:M Um segmento filho no pode ter mais de um pai. No se permitem mais de uma relao entre dois segmentos. Para acessar a qualquer segmento necessrio comear pelo segmento raiz A rvore se deve percorrer na ordem designada.

Modelo de dados em rede Neste modelo as entidades se representam como ns e suas relaes so as linhas que os unem. Nesta estrutura qualquer componente pode se relacionar com qualquer outro. Diferentemente do modelo hierrquico, neste modelo, um filho pode ter vrios pais. Os conceitos bsicos no modelo em rede so: O tipo de registro, que representa um n. Elemento, que um campo de dados. Agregado de dados, que define um conjunto de dados com nome.

Este modelo de dados permite representar relaes N:M Modelo de dados relacional Este modelo o mais utilizado atualmente j que utiliza tabelas bidimensionais para a representao lgica dos dados e suas relaes.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

32

Manuais e recursos para desenvolvimento web www.criarweb.com

Algumas de suas principais caractersticas so: Pode ser entendido e usado por qualquer usurio. Permite ampliar o esquema conceitual sem modificar as aplicaes de gerenciamento. Os usurios no necessitam saber onde se encontram os dados fisicamente.

O elemento principal deste modelo a relao que se representa mediante uma tabela. Artigo por Sara Alvarez Langa

Arquitetura cliente-servidor
Esta arquitetura se divide em duas partes claramente diferenciadas, a primeira a parte do servidor e a segunda a de um conjunto de clientes. Normalmente o servidor uma mquina bastante potente que atua como depsito de dados e funciona como um sistema gerenciador de banco de dados (SGBD). Por outro lado, os clientes costumam ser estaes de trabalho que solicitam vrios servios ao servidor. Ambas partes devem estar conectadas entre si mediante uma rede. Uma representao grfica deste tipo de arquitetura seria a seguinte.

Este tipo de arquitetura a mais utilizada atualmente, devido ao fato de ser a mais avanada e a que melhor evoluiu nestes ltimos anos. Podemos dizer que esta arquitetura necessita trs tipos de software para seu correto funcionamento: Software de gerenciamento de dados: Este software se encarrega da manipulao e gerenciamento de dados armazenados e requeridos pelas diferentes aplicaes. Normalmente este software se hospeda no servidor. Software de desenvolvimento: este tipo de software se hospeda nos clientes e s naqueles que se dediquem ao desenvolvimento de aplicaes.
33

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

Software de interao com os usurios: Tambm reside nos clientes e a aplicao grfica de usurio para a manipulao de dados, sempre claro, a nvel de usurio (consultas principalmente).

A parte destes existem mais aplicaes software para o correto funcionamento desta arquitetura, mas j esto condicionados pelo tipo de sistema operacional instalado, o tipo de rede na qual se encontra, etc. Artigo por Sara Alvarez Langa

Modelo entidade-relao
Este modelo se obtn em tempo de design do banco de dados. Foi proposto por Peter Chen em 1976 e desde ento vem se utilizando de uma forma muito global. Caracteriza-se por utilizar uma srie de smbolos e regras para representar os dados e suas relaes. Com este modelo conseguimos representar de maneira grfica a estrutura lgica de um banco de dados. Os principias elementos do modelo entidade-relao so as entidades com seus atributos e as relaes entre entidades. Elementos do modelo entidade-relao Entidad Trata-se de um objeto do qual se recolhe informao de interesse para o banco de dados. Grficamente, representam-se mediante um retngulo. Um exemplo seria a entidade banco, onde se recolheriam os dados relativos a esse banco, como pode ser o nome, o nmero de filial, o endereo, etc. Dentro das entidades podem ser fortes ou dbeis. As fortes so as que no dependem de outras entidades para existir, enquanto que as entidades dbeis sempre dependem de outra entidade, seno no tem sentido por elas mesmas. Relao Podemos definir a relao como uma associao de duas ou mais entidades. A cada relao se atribui um nome para poder distingui-la das demais e saber sua funo dentro do modelo entidade-relao. Outra caracterstica o grau de relao, sendo as de grau 1 relaes que s relacionam uma entidade consigo mesma. As de grau 2 so relaes que associam duas entidades diferentes, e as de grau n que se tratan de relaes que unem mais de duas entidades. As relaes se representam graficamente com rombos, dentro delas se coloca o nome da relao. Outra caracterstica o de correspondncia entre duas relaes; 1:1. Um a um, a cada ocorrncia de uma entidade lhe corresponde como mximo uma ocorrncia da outra entidade relacionada.
34

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

Manuais e recursos para desenvolvimento web www.criarweb.com

1:N. Um a Muito, a cada ocorrncia da entidade A lhe podem corresponder vrias da entidade B. N:M. Muitos a muitos, cada ocorrncia de uma entidade pode conter vrias da outra entidade relacionada e vice-versa.

Para finalizar as caractersticas da relao temos a cardinalidade que define o nmero mximo e mnimo de ocorrncias de cada tipo de entidade. Representa-se com os valores mximo Representa-se com os valores mximo com o mnimo fechados entre parnteses encima da relao. (mximo, mnimo) Atributo Define-se como cada uma das propriedades de uma entidade ou relao. Cada atributo tem um nome e todos os possveis valores que pode ter. Dentro de uma entidade tem que haver um atributo principal que identifica entidade e seu valor tem que ser nico. Um exemplo de atributo principal seria o dni dentro da entidade pessoa. Colocamos um exemplo do que seria um esquema do modelo entidade-relao.

Artigo por Sara Alvarez Langa

Estrutura do modelo relacional


Trata-se de um modelo bastante potente e ao mesmo tempo bastante simples, que no representa problemas. O elemento principal deste modelo a relao. Por tanto, podemos dizer que um banco de dados relacional est composto por um conjunto de relaes. Relao A relao se representa mediante uma tabela, esta tabela representa ao que no modelo entidade-relao chamvamos entidade. Esta tabela contm os atributos (colunas) e as tuplas (filas). Atributo: trata-se de cada uma das colunas da tabela. Vem definidas por um nome e podem conter um conjunto de valores. Tupla: trata-se de cada uma das filas da tabela. importante assinalar que no se podem ter tuplas duplicadas em uma tabela.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

35

Manuais e recursos para desenvolvimento web www.criarweb.com

Domnios O domnio dentro da estrutura do modelo relacional o conjunto de valores que pode tomar um atributo. Existem dois tipos de domnios: domnios generais: so aqueles que esto compreendidos entre um mximo e um mnimo. domnios restringidos: so os que pertencem a um conjunto de valores especficos.

Chaves Cada tupla de uma tabela tem que estar associada a uma chave nica que permita identificala. Uma chave pode estar composta por um ou mais atributos. Uma chave tem que ser nica dentro de sua tabela e no se pode descartar nenhum atributo da mesma para identificar uma fila. Existem dois tipos de chaves: Chave primria (Primary Key): o valor ou conjunto de valores que identificam uma fila dentro de uma tabela. Nunca pode ser NULL. Um exemplo claro de chave primria seria o RG, que nico para cada pessoa e no pode ser NULL. Chave alheia (Foreign Key): o valor ou valores de uma tabela que corresponde com o valor de uma chave primria em outra tabela. Esta chave a que representa as relaes entre as tabelas.

Vistas Trata-se de uma tabela fictcia, a qual mostra atributos de outras tabelas relacionadas. Desta forma obtemos os dados que nos interessam de uma ou vrias tabelas. importante assinalar que no se podem realizar operaes sobre vistas. Artigo por Sara Alvarez Langa

Tipos de instrues SQL e seus componentes sintticos


Em SQL temos bastantes instrues que se podem utilizar para realizar diversas tarefas. Dependendo das tarefas, estas sentenas se podem classificar em trs grupos principais (DML, DDL,DCL), embora nos restaria outro grupo que ao meu entender no est dentro da linguagem SQL, e sim da PLSQL.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

36

Manuais e recursos para desenvolvimento web www.criarweb.com

DML INSTRUO

DESCRIO Manipulao de dados SELECT INSERT DELETE UPDATE

Recupera dados do banco de dados. Adiciona novas filas de dados ao banco de dados. Suprime filas de dados do banco de dados. Modifica dados existentes no banco de dados. DDL Definio de dados CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM

Adiciona uma nova tabela ao banco de dados. Suprime uma tabela do banco de dados. Modifica a estrutura de uma tabela existente. Adiciona uma nova vista ao banco de dados. Suprime uma vista do banco de dados. Constri um ndice para uma coluna. Suprime o ndice para uma coluna. Define um alias para um nome de tabela. Suprime um alias para um nome de tabela. DCL Controle de acesso GRANT REVOKE Controle de transaes COMMIT ROLLBACK

Concede privilgios de acesso a usurios. Suprime privilgios de acesso a usurios Finaliza a transao atual. Aborta a transao atual. PLSQL SQL Programtico DECLARE OPEN FETCH CLOSE

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

37

Manuais e recursos para desenvolvimento web www.criarweb.com

Define um cursor para uma consulta. Abre um cursor para recuperar resultados de consulta. Recupera uma fila de resultados de consulta. Fecha um cursor.

Componentes sintticos A maioria de sentenas SQL tem a mesma estrutura. Todas comeam por um verbo (select, insert, update, create), a seguir continua com uma ou mais clusulas que nos dizem dados com os que vamos operar (from, where), algumas destas so opcionais e outras obrigatrias como o caso do from.

Artigo por Sara Alvarez Langa

Tipos de dados em SQL


Em SQL temos vrios tipos de dados. Quando criamos uma tabela com a instruo create table, temos que especificar o tipo de dado de cada coluna. Na tabela a seguir mostramos os diferentes tipos de dados e suas principais caractersticas: Tipo de de dado Caractersticas

VARCHAR2(t Armazena cadeias de caracteres de uma longitude varivel. A longitude amanho) mxima so 4000 caracteres. CHAR(taman Armazena caracteres com uma longitude fixa, sendo 2000 caracteres o ho) mximo. NUMBER(pre Armazena dados numricos, tanto inteiros como decimais, com ou sem signo. ciso,escala) Preciso, indica o nmero mximo de dgitos que vai ter o dado. Escala, indica o nmero de dgitos que pode haver direita do ponto decimal.

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

38

Manuais e recursos para desenvolvimento web www.criarweb.com

LONG

Armazena cadeias de caracteres de longitude varivel. Pode armazenar at 2 gigas de informao. Armazena dados binrios. empregado para o armazenamento de grficos, sons, etc. Seu tamanho mximo de 2 gigas. Armazena informao de datas e horas. De forma pr-determinada armazena um dado com o seguinte formato: sculo/ano/mes/dia/hora/minutos/segundos. Este formato pode ser trocado com outros parmetros.

LONG RAW

DATE

RAW(tamanh Armazena dados binrios. Pode armazenar como muito 2000 bytes. o) Trata-se de um campo que representa uma cadeia hexadecimal que indica a direo de uma fila em sua tabela.

ROWID

NVARCHAR2( similar ao varchar2 mas o tamanho de um caracter depende da escolha do tamanho) jogo de caracteres. O tamanho mximo 2000 bytes. NCHAR(tama Similar ao char e com as mesmas caractersticas que o nvarchar2. nho) CLOB Similar ao LONG e se usa para objetos caracter. Similar ao CLOB s que o tamanho do caracter depende do jogo de caracteres utilizado. Similar ao LONG RAW. Este usado para objetos binrios.

NCLOB

BLOB

Como um SGBD processa uma sentena O sistema gestos de banco de dados (SGBD) realiza uma srie de passos para executar uma sentena: 1. O primeiro que faz analisar a sentena e comprovar que est bem escrita. 2. Valida a sentena. Comprova a sentena semanticamente. Comprovando que tabelas, colunas e dados existem. 3. Depois otimiza a sentena, buscando a forma mais rpida de executar tal sentena. 4. Gera um plano de aplicao da sentena. Gera o cdigo necessrio para executar tal sentena. 5. E por ltimo executa o plano de aplicao. A anlise da sentena no requer que se acesse o banco de dados, razo pela qual realizada
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 39

Manuais e recursos para desenvolvimento web www.criarweb.com

rapidamente; o mesmo no acontece com a otimizao que sim o requer, o que demanda mais tempo e mais trabalho por parte da CPU. Artigo por Sara Alvarez Langa - Traduo de Celeste Veiga

Consulta de dados
Para recuperar informao do banco de dados, utilizamos a sentena select, que tem a seguinte sintaxe:
select [ALL|DISTINCT] [expre_column1, expre_colum2, ..., expre_column | *] FROM [nome_tabela1, nome_tabela2, ..., nome_tabelan] [WHERE condicao] [ORDER BY expre_colum [DESC|ASC] [,expre_colum [DESC|ASC]]...];

Onde expre_colum pode ser uma coluna de uma tabela, uma constante, uma ou vrias funes, inclusive expresses aritmticas. A nica clusula obrigatria a clusula FROM, as demais so todas opcionais. FROM Indica a tabela ou lista de tabelas das quais vamos recuperar a informao. Se um usurio da banco de dados no o proprietrio da tabela, ter que especificar o nome de usurio diante da tabela, como se pode ver no seguinte exemplo.
select * from professor.alunos;

Onde professor seria o nome de usurio e alunos o nome da tabela. Tambm podemos dar nomes diferentes ou mais curtos s tabelas mediante o que se denomina alias.
select a.nome, a.idade from alunos a;

A tabela alunos toma o alias a. WHERE Devolve as filas que cumprem a condio expressa. O formato da condio o seguinte: expresso operador expresso. Podemos construir condies mltiplas usando os operadores lgicos AND OR e NOT, tambm podemos utilizar os parnteses para forar a ordem de execuo das expresses. Um exemplo de utilizao do where muito simples o seguinte:
select nome from aluno where nota>7 and idade<7;

Esta sentena s nos mostra o nome dos alunos que cumpriram as duas condies expressas. ALL Com esta clusula recuperamos todas as filas mesmo que estejam repetidas, a clusula por padro.
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 40

Manuais e recursos para desenvolvimento web www.criarweb.com

DISTINCT contrria anterior, s recupera as filas que no estejam repetidas. ORDER BY Esta clusula especifica o critrio de ordenamento do resultado obtido na consulta. ASC nos especifica um ordenamento ascendente e DES descendente. Podemos aninhar critrios sendo o situado mais esquerda, o principal. Colocamos um exemplo para v-lo mais claro:
select * from alunos oder by nome, curso desc;

Esta sentena nos mostra todos os dados dos alunos ordenados primeiro por nome ascendente e por curso descendente. Artigo por Sara Alvarez Langa - Traduo de Celeste Veiga

Operadores na consulta select


Operadores aritmticos Os operadores aritmticos servem para formar expresses com constantes, funes de valores de colunas. Operador aritmtico + * / Operao

soma subtrao multiplicao diviso

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

41

Manuais e recursos para desenvolvimento web www.criarweb.com

Operadores de comparao e lgicos Operadores lgicos Operador and Funo Retorna o valor TRUE quando as duas condies so verdadeiras Retorna o valor TRUE quando uma das duas condies verdadeira Retorna o valor TRUE se a condio falsa.

or

not

Operadores de comparao Operador = > >= < <= = <> Funo Igual a Maior que Maior ou igual a Menor que Menor ou igual a Distinto de

Operadores de comparao de cadeias de caracteres Para comparar cadeias de caracteres utilizamos o smbolo =. Colocamos um exemplo. Select * from emple where oficio='analista' Este operador no nos serve se quisermos fazer uma consulta do tipo de: "obter os dados do empregado cujo oficio comece por P" Para especificar este tipo de consultas, em SQL usamos o operador LIKE que permite utilizar os seguintes caracteres especiais nas cadeias de comparao: % Curinga: Representa qualquer cadeia de 0 ou mais caracteres '_' Marcador de posio: representa um caractere qualquer. Colocamos um exemplo para que fique um pouco mais claro:
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao. 42

Manuais e recursos para desenvolvimento web www.criarweb.com

Select * from emple where nome LIKE 'P%' Esta consulta nos mostraria todos os dados dos empregados cujos nomes comeassem por P Artigo por Sara Alvarez Langa - Traduo de Celeste Veiga

Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.

43