Documente Academic
Documente Profesional
Documente Cultură
com
Autores do manual Este manual foi criado pelos seguintes colaboradores de Criarweb.com: Sara Alvarez Langa
(20 captulos)
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
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.
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
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
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.
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.
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
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
+ 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
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
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
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
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
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
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
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
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
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
Impressora
Sada
Qualquer processo ou operao que realizarmos, salvo as que operarmos com arquivos.
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
16
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
Fluxograma que reflete a atualizao de um arquivo de dados (quadro de funcionrios, por exemplo)
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
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 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
Conector. Utiliza-se para agrupar vrias linhas de fluxo que saem da mesma origem.
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
Exemplos
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
21
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
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
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
23
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
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
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
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
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.
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.
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
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
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.
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
31
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
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.
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.
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.
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
35
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
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
36
DML INSTRUO
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
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.
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
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
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
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
Manual de iniciao programao: http://www.criarweb.com/iniciacao_programacao/ Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
41
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
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