Anda di halaman 1dari 70

r e ostgrev

hiego odrigo grl ilv 8 qeorge ghristin h T de novemro de PHHI


umrio
I sntroduo
IFI IFP IFQ IFR glientEside sripts F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F erverEside sripts F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F y que rc F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F y que pode ser feito om r F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

T
T T T T

P invindo os ddos pr o servidor we Q pormulrios rwv


QFI QFP QFQ QFR QFS QFT QFU QFV QFW he(nindo um formulrio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F e tg `inputb F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

T U
U U U V V V V V V W W W

gmpo de texto F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F gmpo de texto om msr F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F hekox F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F rdio utton F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F sumit utton F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F reset utton F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F utton F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

QFIH textre

QFII selet F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F QFIP (le F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

R intxe si
RFI RFP RFQ RFR RFS helimitdor de digos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F eprdor de instrues F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

W
W IH IH IH II

riveis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F gomentrios F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F smprimindo digo rwv F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

S ipos
SFI SFP SFQ SFR snteiros F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F xmeros em ponto )utunte F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F trings F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F errys F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

II
II II IP IP

T yperdores
TFI TFP TFQ TFR TFS TFT TFU TFV yperdores ritmtios F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F yperdores de strings F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IQ
IQ IQ IQ IR IR IR IR IS

yperdores de triuio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F yperdores it it yperdores lgios F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

yperdores de ompro F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F yperdores de expresso ondiionl F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

yperdores de inremento e deremento

U istruturs de ontrole
UFI UFP UFQ UFR UFS UFT UFU floos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F hile F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IS
IS IU IV IV IW IW PH

doFFwhile F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F for F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

rek F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ontinue F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F swith F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

V punes
VFI VFP VFQ he(nindo funes F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F lor de retorno F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PI
PI PI PI

ergumentos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

W riveis e gonstntes
WFI WFP WFQ WFR WFS WFT WFU WFV WFW helro de um vrivel y modi(dor F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PQ
PQ PQ PR PR PS PS PS PS PT F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

stti

riveis vriveis

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

riveis envids pelo nvegdor F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F tilizndo rrys F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F rivveis de miente F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

eri(ndo se um vrivel possui um vlor

gonstntes prEde(nids F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F he(nindo onstntes F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IH tilizndo ookies
IHFI y que soc F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHFP qrvndo ookies F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IHFQ vendo ookies grvdos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PT
PT PT PU

II e ristri do ostgrev IP oftwre ypen oure IQ tored roedures IR rigger


IRFI eplies F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PU PV PW QH
QH

IS elguns omndos no no de ddos


ISFI gomendo um sesso de no de ddos F F F F F F F F F F F F F F F F F F F F F F F F F F F ISFP isolhendo qul interfe F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

QH
QH QH QH

ISFQ gomendo um sesso F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IT gomndos sios em v
ITFI grindo tels F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITFP ediionndo ddos om snsert F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITFQ isulizndo ddos om elet F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

QI
QI QI QP QP QP QQ QQ QQ

ITFR eleionndo linhs espe(s om lusul here F F F F F F F F F F F F F F F F F F F F F ITFS emovendo ddos om helete F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITFT wodi(ndo ddos om pdte F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITFU yrdenndo ddos om ort y F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F ITFV hestruindo tels F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IU ipos de hdos
IUFI ipos xumrios IUFIFI ipo F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

QR
QR QR QS QS QS QS QT QT QT QU QU QV

eril

IUFIFP ipo wonetrio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFP ipos rter F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFQ ipo dtGhor F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFQFI intrd de htGhor F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFQFP ror sem puso rorrio F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFQFQ ror om puso rorrio IUFQFR F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

intervl

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IUFQFS lores ispeiis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFQFT d de dtGhor F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IUFR ipo fooleno F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IV elguns omndos diionis em v


IVFI esps dentro de um texto F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVFP sndo vlores nulos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVFQ y uso de vlores hipev F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVFR gomentrios F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVFS so de y e exh IVFT elne de lores F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

QW
QW QW RH RH RH RH RI RI

IVFU gompro vike F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IVFV glusul gei F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IW nindo els
IWFI els e refernis oluns F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWFP els egrupds F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWFQ grindo tels grupds F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWFR elizndo grupmentos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

RP
RP RP RR RS RT RU RU

IWFS isolhendo um hve de grupmento F F F F F F F F F F F F F F F F F F F F F F F F F F F F F IWFT egrupmentos umEprEmuitos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

IWFU ghves primris e ghves estrngeirs F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PH xumerndo linhs
PHFI xmeros de sdenti(o de yjetos @yshsA F F F F F F F F F F F F F F F F F F F F F F F F F F PHFP vimites dos xmeros de sdenti(o de yjetos F F F F F F F F F F F F F F F F F F F F F

RW
RW SH SH SH SH SI SI SP SP

PHFPFI xumero no sequenil F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PHFPFP xo modi(vel F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PHFPFQ xo feito o k up por pdro F F F F F F F F F F F F F F F F F F F F F F F F F F F F PHFQ equnis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PHFR grindo equnis F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PHFS sndo equnis pr numerr linhs PHFT ipo eril F F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PI erformne
PIFI ndies F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PIFP sndes nios F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

SR
SR SR

PP gontrolndo esultdos
PPFI vimites F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

ST
ST

PQ edministro de els
PQFI els emporris F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PQFP elteres de els F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

SU
SU SU

PR ghves e onstntes
PRFI xot xull F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PRFP nique F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PRFQ ghve rimri F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PRFR ghve istrngeirD ipiixgi F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

SW
SW SW SW TH

PS hp e su intero om ostgrev
PSFI erir gonexo om o no de ddos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PSFP ixeutr um onsult F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PSFQ rtmento dos ddos envidos n onsult F F F F F F F F F F F F F F F F F F F F F F F F F F

TP
TP TQ TQ TR TR

PSFR ixiir os ddos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F PSFS pehr gonexo om o no de ddos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

sntroduo
istes so sripts exeutdos no ldo lienteD ou sejD no rowserF isse tipo de sript no tem ontto

IFI glientEside sripts


om o servidorF ervem pr vlidr formulrios e intergir om o usurio em lgums trefsF qerlE mente so implementdos em tvriptF or eles no terem ontto om o servidorD desentrlizm o proessmento e no provom trfego n redeF

IFP erverEside sripts


isses so os sripts responsveis pel rio de pgins em tempo relF gomo eles tem ontto om o servidorD eles utilizm ddos rmzendos neles pr formr pginF x verddeD o que existe um modelo d pgin que ser mesldo om os ddos no momento em que pgin requisitdF

IFQ y que rc
r um lingugem que permite rir sites if dinmiosD possiilitndo um intero om o usurio trvs de formulriosD prmetros d v e linksF e diferen de r om relo lingugens semelhntes tvript que o digo r exeutdo no servidorD sendo envido pr o liente pens rwv puroF hest mneir possvel intergir om nos de ddos e plies existentes no servidorD om vntgem de no expor o digo fonte pr o lienteF ssso pode ser til qundo o progrm est lidndo om senhs ou qulquer tipo de informo on(denilF y que difereni r de um sript gqs esrito em g ou erl que o digo r ( emutido no prprio rwvD enqunto no outro so neessrio que o sript gqs gere todo o digo rwvD ou lei de outro quivoF

IFR y que pode ser feito om r


fsimenteD qulquer ois que poss ser feit por lgum progrm gqs pode ser feit tmm om rD omo oletr ddos de um fomulrioD gerr pgins dinmimente ou envir e reeer

ookies F

r tmm tem omo um rtersti muito importnte o suporte um grnde nmero de no de ddosD omo dfseD snterseD mvD myvD yrleD yseD ostgrev e vrios outrosF gonstruir um pgin sed em um no de ddos tornEse um tref extremmente simples om rF elm dissoD r tem suporte outros servios trvs de protoolos omo sweD xwD xxD yQ eD logimenteD rF eind possvel rir

sokets

e intergir om outros protoolosF

invindo os ddos pr o servidor we


odeEse de(nir um progrm em trs prtes prinipisX entrd de ddosD proessmento dos mesmosD

e o retorno deles pr o usurioF x progrmo pr we no diferenteF r que o interpretdor r poss proessr os ddosD temos primeiro que pssElos pr o omputdor onde ele est instldoF hentre os mtodos implementdos pelo rD os dois mis usdos por progrmdores r pr o envio de ddos o servidor so os mtodos qi e yF y mtodo qi envi informes trvs d v @niform esoure votorAF ixistem pelo menos dus desvntgens em se utilizr esse mtodoF e primeir que quntidde de ddos limitd em IHPR rteresD o que pode no ser su(iente pr determinds pliesD segund que os ddos envidos preem no endereo do rquivo r e so visveis pr o usurioD o que no reomenddo pr plies que utilizm ddos sigilososD omo senhs por exemploF

pormulrios rwv
gomo todos os omponentes em um doumento htmlD um formulrio de(nido por tgsF e tg

QFI he(nindo um formulrio


`formb
indi o inio do formulrio e tg

`Gformb

indi o (nl do mesmoF hess mneir possvel

olor vrios formulrios em um mesmo doumento htmlF eixo esto lgums opes d tg

form F

`form nmea44 tiona44 methoda44 entypea44b


yndeX

nmeX o nome que identi( o formulrio no doumento rwvY tionX minho do sript que reeer os ddos do formulrioY methodX mtodo de envio dos ddos @get ou postAY entypeX formto em que os ddos sero envidosY
m exemplo tpio de de(nio de um formulrio X

`form nmea4sine4 tiona4sineIFphp4 methoda4post4b ilementos do formulrio `Gformb


ys elementos do formulrio so identi(dos pelo sript reeptor trvs de um nomeF isse nomeD ser pssdo vi tg do elementoF

`inputb D

que lm disso de(ne outrs rterstis importntes omo tipo e tmnho

QFP e tg `inputb
e miori dos elementos dos formulrios so de(nidos pel tg

`inputb F

gd tipo de elemento possui

prmetros prpriosD ms todos possuem pelo menos dois prmetros em omumX de elementoD e

type D

que de(ne o tipo

nme D

que de(ne o nome dquele elementoF

QFQ gmpo de texto


`input typea44 texta44 nmea44 vluea44 sizea44 mxlengtha44b
ixie n tel um mpo pr entrd de texto om pens um linhF

vlue E o vlor prEde(nido do elementoD que preer qundo pgin for rregdY size E o tmnho do elemento n telD em rteresY mxlength E o tmnho mximo
texto ontido no elementoD em rteresF

do

QFR gmpo de texto om msr


`input typea4pssword4 nmea44 vluea44 sizea44 mxlengtha44b
e ni diferen deste tipo pr o nterior que sero presentdos sterisos no lugr do textoF o omumente utilizdos pr senhsF

QFS hekox
`input typea4hekox4 nmea44 vluea44 hekedb
tilizdo pr mpos de mltipl esolhD onde o usurio pode mrr mis de um opoF

vlue

E o vlor que ser envido o servidor qundo o formulrio for sumetidoD no so do

mpo estr mrdoY j pree mrdoF

heked

E o estdo iniil do elementoF undo presenteD o elemento

QFT rdio utton


`input typea4rdio4 nmea44 vluea44 hekedb
reido om o tipo nteriorF e diferen que so utilizdos pr o usurio poder mrr pens um opo do grupoF r grupr vrios elementos deste tipoD st triuir o mesmo nome elesF

QFU sumit utton


`input typea4sumit4 nmea44 vluea44b
tilizdo pr envir os ddos do formulrio pr o sript desrito n seo tion d de(nio do formulrioF

vlue E o texto que preer no otoF

QFV reset utton


`input typea4reset4 nmea44 vluea44b
tilizdo pr fzer todos os mpos do formulrio voltrem o vlor originlD de qundo pgin foi rregdF

QFW utton
`input typea4utton4 nmea44 vluea44b
tilizdo pr tivr funes de sripts lientEside @tvriptD por exemploAF

QFIH textre
`textre olsa44 rowsa44 nmea44 wrpa44btexto`Gtextreb
ixie n tel um ix de textoD om o tmnho de(nido pelos prmetros ols e rowsF

ols

E nmero de oluns do mpoD em rteresY

rteresY

wrp E mneir omo so trtds s quers de linh utomtisF

rows

E nmero de linhs do mpoD em y vlor soft

fz om que o texto quere somente n telD sendo envido pr o servidor o texto d mneir omo foi digitdoY o vlor hrd envi o texto o servidor om tods s quers que preem n telY o vlor o'  fz om que o texto no quere n tel nem qundo envido o servidorF

QFII selet
`selet nmea44 sizea44 multipleb `option vluea44btext`Goptionb `Gseletb
e o vlor size tiver o vlor I e no houver o prmetro multipleD exie n tel um omo oxF gso ontrrioD exie um selet listF

multiple E se presenteD permite seleionr mis de um linhD trvs ds tels gontrol ou hiftY option E d item do tipo option resent um linh o seletY vlue E vlor ser envido o servidor se quele elemento for seleiondoF hefultX o texto do itemY text E vlor ser exiido pr quele itemF e
E nmero de linhs exiidsF hefultX IY posiion entre s tgs

size

`optionb

`Goptionb F

QFIP (le
`input typea4file4 nmea44 sizea44b
ixie n tel um mpo de texto e um otoD que o lido re um jnel pr lolizr um rquivo no disoF r utilizr este tipo de omponenteD o formulrio dever utilizr o mtodo y e ter o prmetro entype om o vlor  multiprtGformEdt F

IH

intxe si
y digo r inserido diretmente no doumento rwv e diferenido prtir de tgs espeiis

RFI helimitdor de digos


que indim o seu inio e (mF eixo esto s vris mneirs de se utilizr digos r em pgins rwvF

`cphp GGtg que indi o inio do sript orpo do sript cb GGtg que indi o fim do sript `sript lngugea99php99b GGtg que indi o inio do sript orpo do sript `Gsriptb GGtg que indi o fim do sript `c GGtg que indi o inio do sript orpo do sript cb GGtg que indi o fim do sript `7 GGtg que indi o inio do sript orpo do sript 7b GGtg que indi o fim do sript
intre esses qutroD os delimitdores de digo mis utilizdos entre progrmdores r o tereiro tipoD que um revio do primeiroF r utilizEloD neessrio hilitr opo

shortEtgs

on(guro do rD d mesm mneirD pr usr o qurto tipo temos que hilitElo no rquivo de on(guro

phpFini F

RFP eprdor de instrues


im rD d instruo deve r om um pontoEeEvrgulD d mesm form que s lingugens g e erlF x ltim instruo do loo de sript no neessrio o uso do pontoEeEvrgulD ms por questes esttis reomendEse o uso sempreF

RFQ riveis
es vriveis em r iniim om o rter 6 seguido de um string que identi( vrivelF iss string deve omer om um letr ou o rter  F y nome d vrivel so sensitivoD ou sejD vrivel 6vr diferente d vrivel 6rF

6vr a 4fo4Y 6r a 4toe4Y eho 46vrD 6r4Y

GG d 4foD toe4

II

RFR gomentrios
fsimente existem dois tipos de omentrios em rX

gomentrios de um linhX wr omo omentrio t o (nl d linh ou t o (nl do loo de instrues rF ode ser delimitdo pelo rter 5 ou por dus rrs GGF

gomentrios de mis de um linhX em omo delimitdores os rteres GB pr o inio do loo e BG pr o (nl do omentrioF

RFS smprimindo digo rwv


x miori dos sosD o ojetivo de um progrm r gerr um doumento rwvF r que isso sej possvel deveEse utilizr um ds funes de impressoX esolher um dos seguintes formtosX

{eho}

{print} F

r utilizEls deveEse

print@rgumentoAY eho @rgumentoID rgumentoPD FFFAY eho rgumentoY

IP

ipos
r suport os seguintes tipoX

erry onto )utunte snteiro yjeto tring

y tipo d vrivel usulmente no esolhid pelo progrmdorF ssso deidido em tempo de exeuo pelo r dependendo do ontexto no qul el usdF possvel forr um vrivel ser onvertid pr um erto tipo trvs do funo settype nelF

typesting D ou usndo

SFI snteiros
snteiros podem ser espei(dos usndo qulquer ums ds sintxes ixoX

6 6 6 6

a a a a

IPQRY EIPQY HIPQY HxIPY

5 5 5 5

nmero nmero nmero nmero

deiml deiml negtivo n se otl @equivlente o VQ deimlA n se hexdeiml @equivlente o IV deimlA

y tmnho de um inteiro depende d pltformF r um pltform de QP its o mximo vlor inteiro de P ilhesF

SFP xmeros em ponto )utunte


xmeros em ponto )utunte @doulesA podem ser espei(dos usndo qulquer ums ds sintxes ixoX

6 a IFPQRY 6 a IFPeQY GG equivlente IPHH

SFQ trings
trings podem ser espei(ds usndo um dos onjuntos de delimitdoresX A utilizndo sps simples @9A E dest mneirD o vlor d vrivel ser extmente o texto ontido entre s sps @om exeo de

e 9A

A utilizndo sps dupls @A E dest mneirD ququer vrivel ou rter de espe ser expndido ntes de ser triudoF

IQ

`c 6teste a 4sss ine4Y 6testeP a 9epostil do 6teste de r e ostgrevn9Y eho 46testeP4Y cb GG e sd desse sript serX epostil do 6teste de r e ostgrevn99F `c 6teste a 4sss ine4Y 6testeP a 4epostil do 6teste de r e ostgrevn4Y eho 46testeP4Y cb GG e sd desse sript serX epostil do sss ine de r e ostgrev99F
e tel ixo list os rteres de espeX

intxe igni(do
\n \r \t \\ \6 \9 \
xov linh etorno @semelhnte ulo horizontl e prpri rr @ \A y simolo 6 esps simples esps dupls el IX grteres de espe

\nA

SFR errys
im r existem rrys ssoitivos e eslresF emos funionm omo tels de dispersoD onde os ndies so s hves de esso os ddosF or exemploX

6H a 44Y 6I a 4def4Y 64sine4 a IQY


iquivlentemente podeEse esreverX

`c 6or a rry@I ab 4vermelho4D P ab 4verde4D Q ab 4zul4D 4teste4 ab IAY cb

IR

yperdores
is operdores devem ser usdos om operndos numriosF e forem de outro tipoD sero onvertidos

TFI yperdores ritmtios


ntes d operoF C E B G 7 dio sutro multiplio diviso mdulo @resto d divisoA

el PX yperdores eritmtios

TFP yperdores de strings


y nio operdor exlusivo pr strings vem seguirX F onteno

el QX yperdor de string

TFQ yperdores de triuio


ixiste um operdor sio de triuio e diversos derivdosF xo so dos operdores derivdos de triuioD opero feit entre os dois operndosD sendo triud o resultdo pr o primeiroF a Ca Ea Ba Ga 7a Fa triuio simples triuio om dio triuio om sutro triuio om multiplio triuio om diviso triuio om mdulo triuio om onteno

el RX yperdores de triuio

exemploX

`c 6 a UY 6 pss onter o vlor U 6 Ca PY GG 6 pss onter o vlor W cb

IS

TFR yperdores it it
gomprm dois nmeros it itF 8 | e lgio ou lgio ou exlusivo no @inversoA shift left shift right el SX yperdores it it

~


TFS yperdores lgios


tilizdos pr inteiros representndo vlores oolenosF nd or xor 3 88 || e lgio ou lgio ou exlusivo no @inversoA e lgio ou lgio

el TX yperdores lgios ixistem dois operdores pr e e pr ou porque eles tem diferentes posies n ordem de preeE dniF

TFT yperdores de ompro


es ompres so feits entre os vlores ontidos ns vriveisD e no s refernisF empre retornm um vlor oolenoF aa 3a ` b `a ba igul diferente de menor que mior que menor ou igul mior ou igul

el UX yperdores lgios

TFU yperdores de expresso ondiionl


ixiste um operdor de seleo ternrio que funion d seguinte formX

IT

@expressoIAc@expressoPAX@expressoQA
y interpretdor r he se primeir expresso verddeirF e forD expresso retorn o vlor d expressoPD senoD retorn o vlor d expressoQF

TFV yperdores de inremento e deremento


CC E E inremento deremento

el VX yperdores lgios

isses operdores podem ser usdos ntes ou depois d vrivelF

undo usdos ntesD retornm o

vlor d vrivel ntes de inrementEl ou derementElF undo utilizdos depoisD retornm o vlor d vrivel j inrementdo ou derementdoF

`c 6 a 6 a IHY GG ms reeem H vlor IHF 6 a 6CCY GG 6 reee IH e 6 pss ter II 6d a CC6Y GG 6d reee IID vlor de 6 j inrementdo cb

IU

istruturs de ontrole
es estruturs de ontrole que veremos seguir so omuns pr s lingugens de omputo impeE

rtivsD stndoD portntoD desrever sintxe de d um delsD resumindo o funionmentoF

UFI floos
m loo onsiste de vrios omndos grupdos om o ojetivo de relionElos om determind estrutur de ontrole ou funoF im estruturs de ontrole omo

ifD for D while D swith

e em delres

de funes loos podem ser utilizdos pr permitir que um omndo f prte do ontexto desejdoF floos em r so delimitdos pelos rteres  { e  }F or exemploX

`c if @6x aa 6yA omndoIY omndoPY cb


r que o omndoP estj reliondo o

if

preiso utilizr um looX

`c if @6x aa 6yA { omndoIY omndoPY } cb


es vris estruturs de ontrole sero explids seguirX

UFP sf
y mis simples e de grnde importni pr muits lingugens o

ifD

inlusive rF ile test

ondio e exeut o omndo indido se o resultdo for verddeiro @diferente de zeroAF ile possui dus sintxesX

if @expressoA omndoIY if @expressoAX omndoIY omndoPY F F F omndoQY endifY

IV

r inluir mis de um omndo no por hvesF y

if

d primeir sintxeD preiso utilizr um looD demrdo

else

omplemnt o if @se neessrioAF eus omndos so exeutdos so expresso vlid pelo

if

sej fls @zeroAF

if @6x aa 6yA omndoIY else omndoPY

if @expressoAX omndoIY omndoPY F F F omndoQY else omndoRY omndoSY F F F omndoTY endifY


ixemplo de

if

usdo om

else X

if @6x b 6yA 6mior a 6xY else 6mior a 6yY


y

elseif

um omino de

loo se expresso vlid pelo

if e else F if for flsF

ile estende um

if pr exeutr um diferente omndo ou

xesse soD ele vli outr expresso e exeut o omndo

ou loo indido se tl expresso for verddeirF or exemploX

if @6 b 6A print 4 } elseif @6 print 4 } else { print 4 }

{ mior que 4Y aa 6A { igul 4Y menor que 4Y

IW

UFQ hile
y loop

while

mneir mis fil de se fzer um loop em rF e mneir si de se fzer um

loop while X

while @expressoA omndoY


e expresso hed d vez que o omndo ou loo de instrues terminD lm do teste iniilF e o vlor d expresso pssr ser flso no meio do loo de instruesD exeuo segue t que o loo termineF e no teste iniil expresso for flsD o loo no ser exeutdoF m outr sintxe pr o uso do

while

while @expressoAX omndoIY F F F omndoPY endwhileY


m exemplo simples de um loop

while

om s dus sintxes pode serX

GB exemplo I BG 6i a IY while @6i `a IHA { print 6iCCY GB o vlor de 6i deve ser impresso ntes de ser inrementdo BG } GB exemplo P BG 6i a IY while @6i `a IHAX print 6iY 6iCCY endwhileY

UFR doFFwhile
y lo

doFFwhile

muito preido om o

while

exeto que expresso hed no (nl de d

exeuo do loo e no no omeoF e prinipl diferen de um loop um

while

que primeir itero de

doFFwhile

exeutd de qulquer mneirF

ixiste pens um sintxe pr o

doFFwhile F

ue seguinteX

PH

6i a HY do { print 6iY } while @6ibHAY


y loop im dever rodr pens um vezF undo expresso for vlidD ser entendid omo fls e exeuo do lo rF

UFS for
y

for

o lo mis omplexo em rF es sintxes pr o lo

for

soX

for @iniilizoY ondioY inrementoA omndoY for @iniilizoY ondioY inrementoAX omndoIY omndoPY F F F omndoQY endforY
yndeX

iniilizo X
vriveisF

omndo que ser exeutdo ntes do inio do loF sdo pr iniilizr s

ondio X
exeutdosF

expresso vlid d iteroD que de(ne se os omndos que esto dentro inqunto expresso for verddeir os omndos sero

do lo sero exeutdos ou noF

inremento X
s vriveisF

omndo exeutdo o (nl de d exeuo do loF sdo pr inrementr

UFT rek
y omndo um

rek

pode ser utilizdos em los

doD for

while D lm do uso no swith F

eo enontrr

rek

dentro de um desses losD o interpretdor r pr imeditmente exeuo do loD y

seguindo normlmente o )uxo do sriptF

rek

ind eit um rgumento numrio opionl que

indi o nvel de los que ele ir sirF or exemploX

6i a HY while @CC6iA { swith @6iA { se SX eho 4et S`rbn4Y rek IY GB ou pens rekD si pens do swithF BG
PI

se IHX eho 4et IH`rbn4Y rek PY GB si do swith e do whileF BG defultX rekY } }

UFU ontinue
y

ontinue

tmm usdo dentro de losF ile serve pr indir o interpretdor r pr ignorr

o restnte do loo orrente e omer no inio d prxim iteroF essim omo o

rek D

ontinue

tmm eit um rgumento numrio opionl que serve pr indir quntos nveis de enpsulmento ele deveri ignorrF or exemploX

while @list @6keyD 6vlueA a eh @6rrAA { if @3@6key 7 PAA { GG pulr vlores pres ontinueY } fzerlgoomovlormpr@6vlueAY } 6i a HY while @6iCC ` SA { eho 4por`rbn4Y while @IA { eho 4pronteir`rbn4Y while @IA { eho 4hentro`rbn4Y ontinue QY } eho 4ssso nun ser impressoF`rbn4Y } eho 4xem issoF`rbn4Y }

UFV swith
y omndo

swith

tu de mneir semelhnte um srie de omndos

if

n mesm expressoF

im muits osies o progrmdor pode querer omprr mesm vrivel @ou expressoA om muiE tos diferentes vloresD e exeutr um diferente pedo de digo dependendo de qul vlor vrivel orrespondeF

PP

ys seguintes exemplos mostrm dus mneirs de se esrever mesm oisF m usndo um srie de

if9s e

outr usndo o

swith F

if @6i aa print } if @6i aa print } if @6i aa print }

HA { 4i equls H4Y IA { 4i equls I4Y PA { 4i equls P4Y

swith @6iA { se HX print 4i equls H4Y rekY se IX print 4i equls I4Y rekY se PX print 4i equls P4Y rekY }
xesse so o linh linh os

rek ses

utilizdo qundo se exeutr pens um ds opesD visto que o

swith

test

enontrdosD e prtir do momento que enontr um vlor igul o d vrivel

testdD pss exeutr todos os omndos seguintesD mesmo os que fzem prte de outros testesF

PQ

punes
e sintxe si pr de(nir um funo X

VFI he(nindo funes


funtion nomedfuno@rgID rgPA { omnosY F F F return `vlor de retornobY }
gomo hegem de tipos em r dinmiD o tipo de retorno no deve ser delrdoF

VFP lor de retorno


y retorno de um funo em r opionlD ou sej funo pode tnto devolver um resultdo de um operoD omo simplesmente exeutr um pedo de digoF xo possvel que um funo retorne mis de um vlorD ms pode se fzer funo retornr um vlor ompostoD omo lists ou rrysF

VFQ ergumentos
ypionlmenteD podeEse pssr ddos de entrd pr s funesF is ddos so hmdos rgumenE tosF undo so usdosD so delrdos logo ps o nome d funoD e tronmEse vriveis pertenentes o esopo lol d funoF essim omo o tipo de retorno d funoD os tipos dos rgumentos no devem ser espei(dosF

funtion imprime@6textoA { eho 6texto99Y } imprime@sss ine99AY

ssgem de prmetros por referni


xormlmente pssgem de prmetros em r feit por vlorD ou sejD se o ontedo d vrivel for lterdoD ess ltero no fet vrivel originlF

funtion inrement@6numA { 6numCCY } 6 a SY inrement@6AY GG 6 ind vle S


xo so imD omo pssgem de prmetros por vlorD o vlor d vrivel 6 no lterdoF e pssgem fosse por referniD vrivel 6 teri ssumido o vlor TD depois d exeuo d funoF

PR

ixistem dus mneirs de se pssr vlores por referniX podeEse indir n delro d funoD ou n hmd d mesmF undo se indi pssgem por referni n delro d funoD tl

pssgem de rgumentos sempre ser por referniF im mos os sos se utiliz o rter 8 pr indir que pssgem ser por referniF

funtion inrement@86numID 6numPA { 6numICCY 6numPCCY } 6 a 6 a SY inrement@6D 6AY GB neste so 6 vle T e 6 ontinu vler S no trmino d exeuo d inrement@6D 86AY GB quiD s dus vriveis tero seus vlores lterdos BG

ergumentos om vlores prEde(nidos @defultA


im r possvel ter vlores

defult

pr rgumentos de funesD ou sejD vlores que sero ssumidos

em so de nd ser pssdo no lugr do rgumentoF undo um prmetro delrdo dest mneirD pssgem do mesmo n hmd d funo tornEse opionlF or exemploX

funtion imprime@6texto a sss ine99A { eho 6texto99Y } imprime@AY GG imprime sss ine99 imprime@IPQ testndo99AY GG imprime IPQ testndo99

gontexto
y ontexto o onjunto de vriveis e seus respetivos vlores num determindo ponto do progrmF x hmd de um funoD o iniir exeuo do loo que ontm implemento d mesm rido um novo ontextoD ontendo s vriveis delrds dentro do looD ou sejD tods s vriveis utilizds dentro dquele loo sero eliminds o trmino d exeuo d funoF

isopo
y esopo de um vrivel em r de(ne poro do progrm onde el pode ser utilizdF x

miori dos sos tods s vriveis tm esopo glolF intretntoD em funes de(nids pelo usurio um esopo lol ridoF m vrivel de esopo glol no pode ser utilizd no interior de um funo sem que hj um delroF or exemploX

6texto a sss ine99Y funtion imprime@A {


PS

eho 6texto99Y } imprime@AY


e hmd funo imprime@A no produzir nd n sdD pois vrivel 6texto de esopo glolD e no pode ser referid num esopo lolD mesmo que no hj outr om nome igul que ur su visiiliddeF r lnr o ojetivo do sript imD vrivel glol deve ser delrdF or exemploX

6texto a sss ine99Y funtion imprime@A { glol 6textoY eho 6texto99Y } imprime@AY
m outr mneir de essr vriveis de esopo glol dentro de um funo utilizndo um rry prEde(nido pelo r ujo nome 6qvyfevF y ndie pr vrivel referid o prprio nome d vrivelD sem o rter 6F y exemplo ixo produz um resultdo semelhnte o nteriorF

6texto a sss ine99Y funtion imprime@A { eho 6qvyfevtexto99Y } imprime@AY

PT

riveis e gonstntes
gomo veri(o de tipos em r dinmiD s vriveis no preism ser delrdsF m

WFI helro de um vrivel


vrivel iniid no momento em que feit primeir triuioF y tipo d vrivel ser de(nido de ordo om o vlor triudoF

WFP y modi(dor stti


m vrivel estti visvel num esopo lolD ms el iniilizd pens um vez e seu vlor no perdido qundo exeuo do sript deix esse esopoF or exemploX

funtion imprime@A { 6 a HY eho 6Y 6CCY }


gomo vrivel 6 ser destrud no (nl d exeuo d funoD intil tentr inrementElF gom o modi(dor

stti

vrivel 6 ter o seu vlor impresso e ser inrementdF ej o exemplo ixoX

funtion imprime@A { stti 6 a HY eho 6Y 6CCY }


y modi(dor

stti

muito utilizdo em funes reursivsD j que o vlor de lgums vriveis

preism ser mntidosF

isses vlores so reuperdos qundo enontrdo novmente delro

stti F

WFQ riveis vriveis


es vezes onveniente ter nomes de vriveis que so vriveisF ue um nome de um vrivel que pode ser muddo e usdo dinmimenteF y r permite ess rtersti e su utilizo feit trvs do duplo ifro 66F

6 a 4sss4Y 66 a 4ine4Y eho 46 6{6}4Y


e sd do sript im serX sss ineF

PU

WFR riveis envids pelo nvegdor


m ds mneirs do nvegdor envir ddos pr o interpretdor r trvs d vF or exemE

ploX se o sript est lolizdo em httpXGGlolhostGtesteFphp podeEse hmElo om url  httpXGGlolhostGtesteFph xeste so o r rir utomtimente um vrivel om o nome 6texto ontendo string sssineF iste formto onheido omo

urlenode F

ys formulrios rwv j envim informes utomtiE

mente nesse formtoD e o r trt esses ddos omo vriveis omunsD sem preisr de um trtmento espeil por prte do progrmdorF y formto

urlenode

otido sustituindo os espos pelo rter C e todos os outros rteres

no lfEnumrios @om exeo de  A pelo rter 7 seguido do digo egss em hexdeimlF

WFS tilizndo rrys


gd elemento de um formulrio rwv sumetido um sript ri no miente do mesmo um vrivel ujo nome o mesmo nome do elementoF or exemplo

`input typea99text99 nmea99emil99b


y digo im fr om que sej rid um vrivel om o nome 6emil no sript o qul esse digo foi sumetidoF m o tni de progrmo utilizr noto de rrys pr itens de um formulrio rwvF r um onjunto de hekoxesD por exemploD podeEse utilizr seguinte notoX

`input typea99hekox99 nmea99teste99 vluea99vlorI99bypo I `input typea99hekox99 nmea99teste99 vluea99vlorP99bypo P `input typea99hekox99 nmea99teste99 vluea99vlorQ99bypo Q
eo sumeter o formulrioD o sript que reee os vlores rir um vrivel hm 6teste ontendo os vlores num rryD om ndies prtir do zeroF

WFT rivveis de miente


y r possui diverss vriveis de mienteD omo 6rivpD por exemploD que ontm o nome e o pth do prprio rquivoF elgums outrs ontm informes sore o nvegdor do usurioD o servidor httpD verso do r e diverss outrs informesF r ver listgem omplet desss vriveis e seus respetivos ontedosD deveEse utilizr funo

phpinfo@A F

WFU eri(ndo se um vrivel possui um vlor


ixistem dus funes que podem ser usds pr ser se vrivel est setdF o els funo

isset

e funo

e funo

empty F isset possui

o seguinte prottipoX

int isset@mixed vrAY

PV

il retorn so ontrrioF e funo

true

se vrivel estiver setd @mesmo om um string vzi ou o vlor zeroAD e

flse

empty

possui o seguinte prottipoX

int empty@mixed vrAY


il retorn ontrrioD

true se retorn flse F

vrivel no ontiver um vlor ou possuir vlor zero ou um string vziF gso

WFV gonstntes prEde(nids


essim omo s vriveis de mienteD o r possui lgums onstntes prEde(nidsD ontendo verso do rD o sistem operionl do servidorD etF r um listgem omplet desss onstntes podeEse usr funo

phpinfo@A F

WFW he(nindo onstntes


e funo

define

usd pr de(nir o vlor de um onstnteD que um vez setdD no poder

mis ser lterdoF m onstnte pode pens onter um vlor eslrD no podendo gurdr rrys ou ojetosF e ssintur d funo

define

seguinteX

int define@string nomedonstnteD mixed vlorAY


e funo retorn

true

se for em suedidF or exemploX

define @pi99D QFIRISWPTSQTAY 6irunf a PBpiB6rioY

PW

IH

tilizndo ookies
gookies so vriveis grvds no liente @rowserA por um determindo siteF omente o site que

IHFI y que soc


grvou o ookie pode ler informo ontid neleF iste reurso muito til pr que determinds

informes sejm forneids pelo usurio pens um vezF ixemplos de utilizo de ookies so sites que informm quntiddes de vezes que vo j visitouD ou lgum informo forneid num visit nteriorF ixistem ookies persistentes e ookies de sessoF ys persistentes so queles grvdos em rquivoD e que permneem ps o rowser ser fehdoD e possuem dt e hor de expiroF ys ookies de sesso no so rmzendos em diso e permneem tivos pens enqunto sesso do rowser no for enerrdF or de(nio exostem lgums limites pr o uso de ookiesD listds seguirX

QHH ookies no totlY R kiloytes por ookieY PH ookies por servidor ou domnioF

IHFP qrvndo ookies


r grvr ookies no lienteD deve ser utilizd funo setookieD que possui seguinte ssinturX

int setookie@string nomeD string vlorD int expD string pthD string domnioD int seureAY
ynde o nome o nome d vrivelD o vlor o ontedo d vrivelD exp opionl e indi dt de expiro no formto nixF e no for de(nid o ookie ser de sessoY pth o pth do sript que grvou o ookieY o domnio o domnio responsvel pelo ookieY e seure se tiver vlor I indi que o ookie s pode ser trnsferido por um onexo segur @httpsAF m ookie no pode ser reuperdo n mesm pgin que grvouD menos que el sej rerregd pelo rowserF gookies s podem ser grvdos ntes do envio de qulquer informo pr o lienteF ortnto tods s hmds funo setookie devem ser feits ntes do envio de qulquer heder ou textoF

IHFQ vendo ookies grvdos


ys ookies lidos por um sript r (m rmzendos em dus vriveisF xo rry

6rgyyusie D

tendo omo ndie string do nome do ookieD e num vrivel ujo nome o mesmo do ookieD preedido pelo smolo 6F or exemploX

m ookie foi grvdo num pgin nterior pelo seguinte omndoX setookie@teste99D sss ine99AY ode ser lid ds seguintes formsX
QH

6rgyyusietesteY ou 6testeY

QI

II

e ristri do ostgrev
udo omeou om o desenvolvimento do sngresD nestrl do

ostgrev D

n niversidde d gliE

frni de ferkeleyD entre os nos de IWUU IWVSF eps issoD o digo do sngres foi umentdo pel

sngres

gorportion D

o qul produziu um dos prinipis servidores de no de ddos relionis que tiverm

suesso omerilmenteF mm em ferkeleyD wihel tonerker liderou um equipe que desenvolveu um servidor de no de ddos relionl hmdo snformix A herdou o digo

ostgres D entre os nos de IWVT IWWRF e sllustr@ ostgres e desenvolveuEo em um produto omerilF

omprd depois pel

hois estudntes de grduoD tolly ghen e endrew uD diionrm mis outrs rterstisD de form que interpretsse v no ostgresF y projeto resultnte foi hmdo de IWWR IWWSF eps sd dos desenvolvedores de ferkeleyD o projeto ontinuou om inluso de novos desenvolvedores t o lnmento de um nov versoD no (nl de IWWT om o nome de

ostgresWS D desenvolvido no perodo

ostgrev F

QP

IP

oftwre ypen oure


ostgrev um softwre open soureF
y termo softwre open soure gerlmente onfunde s pessosF

gom um softwre omerilD um ompnhi ontrt progrmdoresD desenvolve um produtoD e vende os usuriosF gom internetD entretntoD novs possiiliddes existemF oftwre open soure no tem ompnhiF im vezD progrmdores pzes om interesses e lgum tempo livre se unem vi internet e trom idisF elE gum esreve um progrm e olo o mesmo em um lugr que todos possm verF yutros progrmdores olhm e fzem s mudns neessris pr melhorr o softwreF undo o progrm se enontr em fse funionlD os desenvolvedores lnm o progrm outros usuE rios d internetF surios hm erros e rterstis que no existem e envim kground os desenvolvedoresD os quisD por su vezD fzem s mudns neessrisF r um ilo que pree no ser funionlD ele possui lgums vntgens sore o modo ntigo de desenE volvimentoF E m estrutur de empres no requeridD dess form no existe overhed @sorergA e no existem restries eonmisF E y desenvolvimento de progrms no ( limitdo os progrmdores d empresD usndo pE idde e experini de um lrgo nmero de progrmdoresF E y retorno do usurio filitdoD permitindo os testes de progrm por um nmero grnde de usurios em pouo tempoF E y enreimento do progrm pode ser distriudo rpidmente os usuriosF

QQ

IQ

tored roedures
m stored proedure D em sumD um progrm om omndos vD que rmzendo em um no

de ddos lgioF

ostgrev F e stored proedure ompost por omndos vD vriveis e omndos de )uxo

QR

IR

rigger
o loos de omndos em v que so utomtimente exeutdos qundo um omndo sxiD

hivii ou hei exeutdo em um telF e prinipl plio de um trigger rio de onsistnis e restries de esso o no de ddosD omo por exemploD rotins de segurnF im vez de deixr o ontrole d plio pr prpri telD por meio de triggers o no pss exeutr esses ontrolesD tornndo muito mis seguro o mnuseio do no de ddosF

IRFI eplies
E grir o ontedo de um olun derivd de outrs olunsY E grir menismos de vlido que envolvm pesquiss em mltipls telsY E grir logs pr registrr utilizo de um telY E etulizr outrs tels em funo d inluso ou ltero d tel tulY

IS

elguns omndos no no de ddos


ostgrev
us um modelo de lienteGservidor de omunioF m servidor

ISFI gomendo um sesso de no de ddos


ostgrev
sempre ( rodndoD esperndo onexesF y servidor proess requisio e retorn sd o lienteF

ISFP isolhendo qul interfe


ostgrev
possui vris interfes de omunio om o servidorF e que ser usd no urso ser o vD por ser mis utilizd e por ter mior doumentoF

ISFQ gomendo um sesso


r iniir um sesso vD devemos digitr v no prompt de omndoF eo iniir um menu em modo texto preerD indindo lguns omndos siosF E E E E E E

\ \ \ \ \ \

h !b help pr omndos vY q !b pr sirY g !b terminr um queryD equivlenteY c !b mostr todos os omndos do prompt vY p !b mostr o u'erY r !b reset o u'erY

QS

IT

gomndos sios em v
entes de rirmos plies exemplo no ursoD dremos lguns omndos sios que so os mis

utilizdos em rioD onsultD ltero e deleo em um no de ddos pdro vF

ys ddos em um no de ddos relionl so gurddos em estruturs hmds telsD que poE dem ser relionr entre siD surgindo em rzo disso o termo no de ddos relionlD derivdo de um lingugem mtemti sed em onjuntosF

ITFI grindo tels


y omndo pr rir um tel em v o omndo giei efviF u sintxe ser demonsE trd trvs do seguinte exemploF

phpab giei efvi notii @ php@b id php@b notii php@b dtins php@b hmd php@b foto php@b link php@b dtpu php@b AY

serilD vrhr@VHHA xy xvvD dteD vrhr@QHHA xy xvvD vrhr@QHHAD vrhr@QHHAD dte

gomo visto quiD e n miori dos omndos vD um pouo de onheimento d lngu ingles neessrio pr entender o que o omndo fzF y resto d requisio tem um formto espe(o que reonheido pelo servidor de no de ddosF ispmento e pitlizo so funionisF

y omndo giei efvi segue um formto espe(oX primeiroD s dus plvrs giei eE fviY depois o nome d telY ps isso um prntese de erturY um list de nomes de oluns e seus respetivos tiposY seguido por um prntese de fehmentoF

y omndo

\d

permite enxergr informo sore um tel ou sore tods s tels existentes no

no de ddos orrenteF

ITFP ediionndo ddos om snsert


r diionr registros em um telD neessrio usr o omndo sxiF essim omo o greteD o sxi possui um formto espe(oD ser desritoF

sxi sxy notii @notiiD dtinsDhmdDfotoDlinkDdtpuA vlues @ 9e ezerr morreu n r IHI9D


QT

dt@HTGIIGPHHIAD 9e morte d ezerr9D 99D 99D dt@HUGIIGPHHIAAY


r usr stringsD neessrio usr sps simplesF esps dupls no funionmF ispmento e

pitlizo so opionisD exeto dentro de sps simplesD onde o texto onsiderdo literlmenteF r oluns numrisD no neessrio o uso de sps simplesF

ITFQ isulizndo ddos om elet


r rever ddos no no de ddosD o omndo utilizdo o ivigF y omndo seguir mostr todos os mpos e todos os registro d tel notiiF

ivig B pyw notiiY


y omndo ivig seleion registro do no de ddosF n onsult pedido tods s oluns d telF onsultr tel notiiF y steriso usdo pr indir que

y pyw notiiD indi que tel que queremos

y ivig tem um grnde nmero de vriesF

or exemploD se quissemos pens o mpo hE

md d tel notiiD o omndo utilizdo seri o seguinte

ivig hmd pyw notiiY

D onde o

steriso foi sustiudo pens pelo mpo requeridoF e mis de um for neessrioD deveEse usr vrguls pr seprr os mesmosF

ITFR eleionndo linhs espe(s om lusul here


x seo ITFQ n pgin QPD o utilizrmos o omndo ivigD temos todos os registros omo respostF wsD de ftoD dependendo d situoD existem sos em que queremos pens um registro ou um onjunto de registros que sejm retorndos e no todos os registros d telF xesse soD devemos usr lusul riiF il deve vir logo ps o nome d telD e ps o rii deveEse olor um (ltro de pesquisF

ivig B pyw notii rii idbTSY


y omndo produz um sd onde todos os registros possuem um id mior que TSF

ITFS emovendo ddos om helete


hepois de prender omo inluir ddos no noD neessrio ser omo se delet informoF e remoo em simplesD omo todos os outros omndos j mostrdosF rpidmente pgr umD mis de um ou todos os registrosF y omndo hivii pode

le lemrr que o omndo hivii

usdo pr pgr registro e no telsF eixo teremos lguns exemplosF

hivii pyw notii rii idaQPY


QU

isse omndo delet o registro d tel noti que ontenh em seu id o nmero QPY

hivii pyw notiiY


isse omndo pg

todos os registros d tel notiiF

ITFT wodi(ndo ddos om pdte


r modi(r ddosD o omndo utilizdo heiF ile segue um formto semelhnte outros omndos utilizdos em vF gomo im dremos dois exemplos um pouo distintosF

hei notii set hmda9y dirio de pit9 rii idaPRY


isse omndo tuliz o mpo hmd pr 9y dirio de pit9 onde o id do registro for igul PRF e for neessrio tulizr mis de um mpoD eles devem ser seprdos por vrgulsF

hei notii set linka9GsineGindexFhtml9


t ess instruoD tuliz o link de

todos os registros

pr

9GsineGindexFhtml9 F

heveEse tomr uiddo om esse omndo prD por um desudo de esqueer de

olor lusul riiD tulizr todos os registros qundo se queri tulizr pens prte delesF

ITFU yrdenndo ddos om ort y


im um onsult vD registros so dipostos de um form indetermindF r grntir que os registros sero retorndos de um onsult ivig em um ordem espe(D neessrio que se use lusul yhi f no (nl do omndo ivigF

e quiserD podeEse usr ps o yhi f ondioD o rgumento hig que inverte ordem de oE mo foi dispost sdF

ivig idDnotiiDhmd pyw notii rii idbP yhi f notiiY


isse omndo seleion os mpos idD notii e hmdD pr os registros que tiverem o id mior que P ordernndo pelo mpo notiiF lftiF gomo o mpo notii stringD ordeno feit por ordem

ivig B pyw notii where foto like 9j79 yhi f hmd higY
isse omndo seleion todos os mpos d tel notiiD revendo pens os registros que tenhm foto omendo om jD ordenndo sd pelo mpo hmd por ordem lfti inversF

ITFV hestruindo tels


r ompletr est prte de noes de vD devemos mostrr omo pgr tels em siD no s os registros lolizdos nelF omndo ist tref relizd om o omndo hy efviF or exemplo o pgri tod tel notiiF gonvm dizer que tod estrutur e os

hy efvi notii

ddos existentes n tel sero pgdosF

QV

IU

ipos de hdos
ostgres
present imens vriedde de tipos de ddos disponveis pr o usurioD estes tipos esto

listdos n tel IUF y usurio pode livremente rir novos tipos om o omndo

giei i F

xome do tipo

igint it it vrying@ n A oolen hrter@ n A hrter vrying@ n A dte doule preision integer intervl money numeri@ pD s A smllint rel seril timesem fuso horrio time with time zone timestmpom fuso horrio

epelidos
intV vrit@ n A ool hr@ n A vrhr@ n A )otV intDintR deiml@ pD s A intP )otR

hesrio

inteiro de oito yts it string it string de tmnho vrivel ooleno lgio@trueGflseA string de rteres it string de tmnho vrivel dt@yerD monthD dyA nmero de ponto )utunteDpreiso mior inteiro de qutro ytes uso gerl de time stmp monetrio estilo merino nmero exto om preiso vrivel inteiro de dois ytes nmero de ponto )utunte inteiro de qutro ytes utoinrementl time of dy hor do diD sem fuso horrio dt e hor

el WX ipos de ddos

IUFI ipos xumrios


ys tipos numrios rngem os inteiros de doisD qutro e oito deimis de preiso (xF

ytes D

nmeros de ponto )utunte e

IUFIFI ipo eril


y tipo

seril

um tipo espeil do

ostgres

onstrudo trvs de outros omponentes existentesF

usdo pr rir inteiros nios em um determindo mpoF

giei efvi tel @olun isevAY


ssso equivlente X

giei iixgi telolunseqY giei efvi tel @olun integer hipev nextvl@9telolunseq9AAY giei xsi sxhi telolunkey on tel@olunAY
y tipo

seril

ri um sequni independente d telD isto D se tel for pgdF

e su

sequni no ser utomtimente removidF mneirX

r pgr sequni deveEse proeder d seguinte

hy iixgi telolunseqY

QW

IUFIFP ipo wonetrio

IUFP ipos rter


elm dos tipos pdres suportdos pelo vX reonhee o tipo

rter

rter vrying F ostgres


hesrio

tmm

text F
xome do ipo ermzenmento
@RCnA ytes @RCnA ytes @RCnA ytes

hrter@nADhr@nA hrter vrying@nADvrhr@nA text

gomptiilidde
v v wis )exvel

mnho (xo mnho vrivel om limite tmnho vrivel e ilimitdo

el IHX ipos grter

IUFQ ipo dtGhor


ostgres
suport todos os seguintes tipos de dts e hors do vF ht e hor ht e hor om fuso horrio

timestmp X

timestmp with timezone X intervl X dte X time X

sntervlos de tempo

epens dts epens hors epens hors

time with time zone X


ipo

timestmp timestmp om fuso horrio intervl dte time time with time zone

ermzenmento
V ytes V ytes IP ytes R ytes R ytes R ytes

RUIQ eg IWHQ hg EIUVHHHHHH nos RUIQ hg HHXHHXHHFHH HHXHHXHHFHHCIP

snio

IRTSHHI hg PHQU hg IUVHHHHHH nos QPUTU hg PQXSWXSWFWW PQXSWXSWFWWEIP

pim

I mirosegundoG IR dgitos I mirosegundoG IR dgitos I mirosegundo I di I mirosegundo I mirosegundo

esoluo

el IIX ipos de htGhor

im verses nteriores erm usds os tipos

dtetime

timespn D

que so euivlentes

timestmp

intervl D

respetivmenteF etulmentesses tipos no so mis usdosF

IUFQFI intrd de htGhor


es mioris ds entrds de dtGhor onheidos so eitos no

ostgres F

y omndo

i htetyle
e o omndo

to 99 ou i htetyle to 9xoniuropen9 espei( o estilo d dt omo ms di no i htetyle to 9iuropen9 espei( o estilo d dt pr di ms noF

xotXe entrd de dt eGou hor preis ser feit om ests entre sps simplesF
type 9vlue9

omo o seguinteX

RH

IUFQFP ror sem puso rorrio


isse tipo pode ser hmdo omo entrds vlids pr o

time

ou

time without timezone F

e tel IUFQFP mostr s

time F

IUFQFQ ror om puso rorrio


iste tipo foi de(nido pelo vWPD ms su de(nio ontem lgums de(inis que di(ult o uso deste tipo omo pdroF x tel IT mostrd tods s entrds vlidsF xote que este tipo eit todos s entrds do tipo

time

om o rsimo de um fuso horrio vlidoF

IUFQFR intervl
y tipo

intervl

pode ser espei(do usndo seguinte

syntx F

ixemplo
IGVGPHHI VGIGPHHI

istilo merinoY I de gosto istilo europeuY I de gosto

hesrio

el IPX intrd de dts

eril egosto hezemro pevereiro tneiro tulho tunho wro xovemro yuturo etemro

ws

erevio
epr eug he pe tn tul tun wr xov yt epD ept

el IQX erevio dos meses

homingo egund er urt uint ext do

hi

un won ueD ues edD eds huD hurD hurs pri t

erevio

el IRX erevio dos dis d semn

HRXHSXHTFUVW HRXHSXHT HRXHS HRHSHT HRXHS ew HRXHS w z zulu lllls

ixemplo

syEVTHI syEVTHI syEVTHI syEVTHI y mesmo que HRXHS y mesmo que ITXHSY entrd de hors devem ser menores que IP o mesmo que HHXHHXHH o mesmo que HHXHHXHH o mesmo que HHXHHXHH

hesrio

el ISX intrd de hors sem fuso horrio

RI

untity nit untity nitFFF hiretion d untity nit hiretion untity qulquer nmero inteiroe nit seondD minuteD hourD dyD weekD monthD yerD ddeD enturyD millenium ou sus revies ou o plurl desss uniddesF hiretion pode ser go ou vzioF
yndeX

IUFQFS lores ispeiis


es funes

gixhei D gixswi D gixswiew

podem ser usds omo entrd de

dtGhorD ssim omo onstntes espeiis listds n tel IVF

IUFQFT d de dtGhor
y sd pode ser formtd pr um dos qutro tipos itdos n tel

htetyle F

ccF

sndo o omndo

y vlor

defult

o formto syF

e estilo d sd dos tipos os estilos presentdosF y estilo d sd do tipo

time

dte

so s prtes de hor e dtD respetivmenteD de ordo om

intervl

ssemelhEse om entrdD exeto que uniddes omo

week

ou

entury

so onvertidos pr nos e disF xo modo sy sd se ssemelh X

untity nits FFF hys roursXwinutes go


HRXHSXHTFUVWEV HRXHSXHTEHVXHH HRXHSEHVXHH HRHSHTEHV

ixemplo

hesrio
syEVTHI syEVTHI syEVTHI syEVTHI

el ITX intrd de hors om fuso horrio

gonstnte
urrent epoh in(nity Ein(nity invlid now tody tomorrow yesterdy

ror orrente d trnso@osoletoA IWUHEHIEHI HHXHHXHHCHH @hor zero do sistem nixA wior que qulquer hor vlid wenor que qulquer hor vlid intrd ilegl ror orrente d trnso weiEnoite de hoje meiEnoite de mnh meiEnoite de ontem

hesrio

el IUX gonstntes espeis de dtGhor

ispei(o de estilo
9sy9 9v9 9ostgres9 9qermn9

syEVTHI stndrd @pdroA estilo trdiionl estilo originl estilo regionl

hesrio

IWWUEIPEIU HUXQUXITEHV IPGIUGIWWU HUXQUXIT IWWU ed he IU HUXQUXIT IWWU IUFIPFIWWU HUXQUXITFHH

ixemplo

el IVX istilos de sd de dtGhor

RP

IUFR ipo fooleno


y

ostgres
true

oferee suporte pr o tipo

oolen F

y tipo

oolen

pode ssumir um dos dois vlores

vlidosX

@verddeiroA ou

flse

@flsoAF

lores vlidos pr o estdo verddeiroX E

E 9t9 E 9y9 E 9yes9 E 9I9 i pr o estdo flsoX E

pevi

E 9f 9 E 9n9 E 9no9 E 9H9

RQ

IV

elguns omndos diionis em v


xest seoD mostrremos lguns reursos diionis existente n lingugem vD e lm dissoD lgums

rterstis existentes pens no ostgrevF

IVFI esps dentro de um texto


undo temos que utilizr sps dentro de um textoD omo por exemploD n insero de um mpo do tipo hrD onde o ddo

9ve9s9 D insero no funionriF

e presen de um sp simples dentro de

um string erd por sps simplesD gerri um prser errorF y mtodo orreto pr inluir esse tipo de ddo seri o uso de dus sps simples junts omo em d ontrrr pr inluir esse ddo

9ves99s9 F

yutro mtodo possvel seri o uso

9ve9s9 F

y uso d ontrrr ignor o sentido d sp simplesF

IVFP sndo vlores nulos


uponh que se queir inluir um noti ms que el no ontenh um linkF e pergunt que ( qul o vlor ssinldo o mpo link c e repost que o mpo link possui um vlor nuloF

xvv

um

vlor espeil que vlido em qulquer olunF sEse qundo um entrd vlid pr um mpo no onheid ou no plivelF

ys testes lores

s xvv

s xy xvv

form desenvolvidos espei(mente pr testr existni de vE

xvv F xvv F

eixoD oloremos um exemplo que ilustr em onfuso que pode existir om o uso de vlores

sxi sxy notii @notiiDdtinsDhmdDlinkDfotoDdtpuA vlues @ 9pelipe vijou pr o wrroos e ou omprndo um hromedrio9D 9HVGIIGPHHI9D 9y dromedrio de pelipe9D xvvD xvvD 9IHGIIGPHHI9 AY
xeste exemploD tnto o mpo fzendo um onsult do tipoX

vsxu

omo o mpo

pyy

possuem um vlor nuloF odiEse pensr que

ivig B pyw notii rii linkanotiiY


termos omo respost inluso feit no exemplo nteriorF y fto que o retorno de query igul zero registrosF y mpo que ontm se dois vlores

xvv D

signi( desonheidoD desse modo no temos omo ser

xvv

so iguisF ostgrev no divinh ou imprime o resultdoF gonvm dizer que  e

xvv

so diferentesF

RR

IVFQ y uso de vlores hipev


gomo mostrdo n seo IVFPD oluns no espei(ds no omndo sxi possuem vlor nuloF o pode mudr isso usndo plvr hve hipevF undo n rio de um telD plvr hipev e um vlor podem ser usdos logo ps o tipo d olunF iste vlor ser usdo tod vez que no for olodo nenhum ddo n olun om o vlor hipev n insero do registroF

giei efvi ultim @ id serilD notii vrhr@VHHA hipev 9eminrio de snformti e ingenhri de gomputo9D hor timeD hmd vrhr@QHHA hipev 9sxig9D link vrhr@QHHAD dt dte AY
undo for inludo um registro sem noti e sem hmdD o vlor defult im desrito ser olodo nos mpos notii e hmdF

IVFR gomentrios
ys omentrios podem ser usdos em qulquer lugr no prompt psqlF hois estilos de omentrio so possveisF e presen de dois tros @!A mr todo o texto d linh omo um omentrioF y estilo d progrmo gCC tmm eitoD onde o omentrio ome om GB e s termin om o BGF

IVFS so de y e exh
y uso de y e exh possiilit relizo de onsults mis poderossF uponhmos que queremos todos os registros d tel ultimD onde dt sej 9HVGIIGPHHI9 e hor sej 9ITXHH9F utilizdo ssim seriX y omndo

ivig B pyw ultim rii dta9HVGIIGPHHI9 exh hora9ITXHH9Y


he form semelhnte o y pode ser usdo em querysF

IVFT elne de lores


r rever registros que tenhm dts entre os dis 9HPGIIGPHHI9 e 9HUGIIGPHHI9F hevemos usr os operdores

b ab ` `a

pr determinr um lne de vloresF

ivig B pyw ultim rii dtab9HPGIIGPHHI9 exh dt`a9HUGIIGPHHI9Y


e tel IW n pgin RID mostr os operdores existentes no

ostgrev F

RS

gomprdor
menor que menor ou igul igul mior ou igul mior que diferente

yperdor
` `a a ba b `b ou 3a

el IWX yperdores de gompro

IVFU gompro vike


wior que e menor que so omines possveis usndoEse os operdores desritos n tel IWF wsD ompres mis omplexs podem ser feitsF or exemploD usurios gerlmente preism ompE rr strings pr ser se s mesms ominm om um erto modeloF elgums vezes neessrio rever pens strings que omeem om um ert letr ou um ert plE vrF e plvr hve omeem om eF

vsui

possiilit tis ompresFe onsult ixo retorn todos s notis que

ivig B pyw notii rii notii like 9e79Y


y smolo @7A signi( que qulquer quntidde de rteres pode seguir o eF

IVFV glusul gei


wuits lingugens de progrmo possuem omndos de deisoD espei(ndo se um ondio for verddeir f lgoD seno f outr oisF epesr de v no ser um lingugem de progrmo

proedurlD ele permite ontrole ondiionl sore ddos retorndos de um queryF e lusul rii us ompro pr ontrolr seleo de registrosF y omndo gei permite ompres n sd de um olunF equi foi rido um tel de dministrdores pr demonstrr um exemplo do omndo geiF

phpab giei efvi dministrdor @ php@b id serilD php@b nome vrhr@QHHAD php@b identidde vrhr@ISAD php@b idde integer php@b AY

RT

IW

nindo els
xest seoD mostrremos omo rmzenr ddos em mis de um telF essim omo o rmzenE

mentoD seleo de ddos em vris tels so fundmentis pr nos de ddos relionisF rimeiro exminremos tels e refernis olunsD que so importntes em onsults que usm mis de um telF hepoisD mostrremos quis so s vntgens de dividir os ddos em mltipls telsF

equiD fremos onstruo ds tels que sero responsveis pelo ontrole d enqueteF

IWFI els e refernis oluns


entes de lidr om grupmentosD neessrio menionr um importnte rterstiF et gorD todos os omndos s envolverm um telF undo um

query

envolve mis de um telD os nomes

de oluns podem ser tornr onfuss ou mesmo mgusD qundoD por exemplo existe mis de um tel usd n query om nomes de oluns iguisF r evitr ess onfusoD existe o que hmmos de nome ompletmente quli(do d olunD onde o nome d mesm nteido pelo nome d tel qul fz prte seguid por um pontoF or exemploD olun om

notii

d tel

notii

seri referenido

notiiFnotii F

yutro modo de referenir o nome d olun de um tel trvs d rio de um pelido pr telF ide exemploF

ivig notiiFnotiiDnotiiFhmd pyw notiiY


xesse soD reupermos tods s notiis e hmds d tel notiiF equiD no neessrio o

uso do nome ompletmente espei(doD j que no existem dvids sore origem ds olunsD pois s existe um tel sendo onsultdF

ivig nFnotiiDnFhmd pyw notii nY


equi houve o uso do pelido pr tel notiiD que pssou ser referenid omo nD pois ps seu nome n query letr que seguiu foi nD dizendo ssim o servidor que houve rio de um pelidoF

IWFP els egrupds


et os exemplos pssdosD n rio ds tels ultim e notiiD no houve neessidde de rir tels reliondsD pois tod informo neessri podi existir em um ni telF ws o fzer prte de enquete pr o portl situo mudF im um primeiro impulsoD podermos pensr que tod informo poderi (r rmzend em um tel s omo se segue n tel PH n pgin RQF gometemos erros o pensr ssimF y primeiro deles ssumir que teremos sempre trs respostsF

e tivermos menos respostsD tel (r suutilizdD oupndo espo desneessrioF e quisermos em lgum di umentr o nmero de respostsD ser invivelD j que todo o no de ddos foi rido pr reeer sempre trs respostsF ms de regrs de rio de um om no de ddosD que no existm mpos om o mesmo signi(do dentro de um telF xesse exemploD temos os mpos votoB e respostB que se repetem por trs vezes n telF gonsiderndo issoD tel enquete (ri omo n tel PI n pgin RQF

RU

el inquete

gmpos id enquete dt respostI votoI respostP votoP respostQ votoQ

ipos eril hr@QHHA dte hr@IHHA int hr@IHHA int hr@IHHA int

el PHX el errd de enquete el inquete gmpos id enquete dt el PIX el enquete ipos seril hr@QHHA dte

eps os mpos votoB e respostB terem sido retirdosD tel oedee s leis de rio de um om no de ddosF e pergunt que ( X ynde (ro s resposts dess pergunt c vogimenteD em um outr tel 3 iss tel ter o nome respost e ser rido de ordo om tel PP n pgin RQF el espost gmpos id respost ontdor idpergunt el PPX el respost ipos seril hr@QHHA integer integer

esumindoD s vntges do uso de mltipls tels inluem s seguintesX E e modi(o de ddos tornEse mis filY E ys ddos so rmzendos em um nio espoY E ionomi no rmzenmento de ddosY E rour de ddos mis fil e ni ondio pr que ddos duplidos no se movm pr outr tel oorre qundo s seguintes ondies esto presentesX E y tempo pr relizo do grupmento proiitivoY E e prour de ddos desneessriY

tods

RV

E e duplio de ddos exige pouo espo no rmzenmentoY E muito pouo provvel que os ddos mudemF

IWFQ grindo tels grupds


elizd rio ds tels enquete e respostD veremos omo podemos relizr o grupmento ds telsF x rio ds mesms tods s oluns esto om letrs minsulsD podendo ter sido feito om letrs misulsD ms o ostgrev ignor e onsider todos os nomes de olun em letr minsulF y nio modo de fzer om que o nome d tel ou o nome d olun sej onsiderd em ix lt n de(nio d telD usr sps dupls no nome do mpoD omo em 4xome do usurio4D inlusive sendo permitido usr esposF xo reomenddo ess prti pois d vez que deveEse referenir olunD devemos olor s sps duplsD di(ultndo leitur dos omndosF em o uso ds sps duplsD nomes de olun s podem ter letrsD nmeros e undersoreF ulquer outro rtere no permitidoF im

seguidD teremos os omndos de rio ds tels ntes desenhdsF

phpab giei efvi enquete @ php@b id serilD php@b enquete hr@QHHAD php@b dt dte php@b AY xysgiX giei efvi will rete impliit sequene 9enqueteidseq9 for isev olumn 9enqueteFid9 xysgiX giei efviGxsi will rete impliit index 9enqueteidkey9 for tle 9enquete9 giei phpab giei efvi respost @ php@b id serilD php@b respost hr@PHHAD php@b ontdor integerD php@b idrespost integer php@b AY xysgiX giei efvi will rete impliit sequene 9respostidseq9 for isev olumn 9respostFid9 xysgiX giei efviGxsi will rete impliit index 9respostidkey9 for tle 9respost9 giei
gomo j explndo nteriormenteD o tipo seril ser explido mis frenteF isss dus tels tem um relo de um pr nD pois um enquete pode ter vris resposts ms um respost de pens um enqueteF egorD diionremos um pergunt e oloremos dus respostsF

phpab sxi sxy enquete @enqueteDdtA evi


RW

phpEb @9undo ser que greve r9D9HUGIIGPHHI9AY sxi IWHIQ I phpab sxi sxy respost @respostDontdorDidenqueteA evi phpEb @9xo ntl9DHDIAY sxi IWHUQ I phpab sxi sxy respost @respostDontdorDidenqueteA evi phpEb @9undo ulo ento morrer9DHDIAY sxi IWHUR I phpab sxi sxy respost @respostDontdorDidenqueteA evi phpEb @9undo universidde r9DHDIAY sxi IWHUS I

xeste exemploD o idenquete n tel I pois primeir respost reee esse nmero om o uso do serilF

IWFR elizndo grupmentos


undo os ddos esto seprdos trvs de mltipls telsD reuperr os ddos nesss tels se torn um importnte questoF yutro exemplo mostr omo enontrr enquete pr dd respost n tel respostF

phpab ivig idDidenquete pyw respost rii resposta9xo ntl9Y id | idenquete EEEECEEEEEEEEEEEE I | I @I rowA phpab ivig enquete pyw enquete rii idaIY enquete EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE undo ser que greve r @I rowA
x primeir onsultD hmos qul o nmero d enquete qul pertene respost 9xo xtl9 @o mpo idenqueteAF y idenquete foi IF y mpo idenquete tem o mesmo ddo do mpo id n tel enqueteF ehdo esse vlorD onsultmos em um segund queryD qul er enquete que tinh o id igul IF xs hmmos esss onsults de grupmento mnulD devido o fto do usurio ter tomdo o resultdo d primeir query e ter olodo o resultdo n lusul rii n segund queryF t est query mostr quis so os elementos neessrios pr relizr o grupmento diretoF

SH

phpab ivig enquete pyw respostD enquete phpEb rii respostFidenqueteaenqueteFid exh resposta9xo ntl9Y enquete EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE undo ser que greve r @I rowA
E es dus tels envolvids no grupmento so espei(ds n lusul pywY E es dus oluns neessris pr relizr o grupmento esto espei(ds n lusul riiY E e respost testd n lusul riiY E e pergunt retornd pel query ivigF snternmenteD o no de ddos reliz s seguintes trefsX E resposta9xo ntl9X inontr o registro que ontm ess respostY E respostFidenqueteaenqueteFidX ho registro enontrdoD pegue o mpo idenqueteF inontre n tel enquete o registro que possu esse nmeroY E enqueteX etorn o nome d enquete prourdF yu sejD o no de ddos reliz s mesms operes ntes relizds por ns mnulmenteD s que em mis rpidoF gonstte que n miori dos mpos utilizdos n ltim onsultD o nome foi

ompletmente quli(do pr evitr miguiddes omo seri se tivssemos olodos s o mpo id sem espei(r telD j que ns dus telsD existe o mpo om o mesmo nome @idAF e ordem em que pree s tels ou s ondies de onsult no so relevntesF

IWFS isolhendo um hve de grupmento


m hve de grupmento o vlor usdo pr ligr registros entre telsF or exemploD I hve d enqueteD identi(ndo unimente o registroF elgums pessos questionm se um nmero de identi(o neessrioF e respost deveri ser usdo omo hve c sr strings omo hve no um o idi por vris rzesX E vetrs so mis feis de serem digitds inorretmenteY E hus resposts om o mesmo ontedo serim impossveis de distiguir um d outrY E e respost tiver que ser muddD tods s refernis quel respost devem ser muddsY E egrupmentos om nmeros so mis e(ientes do que grupmentos de rteresY E xmeros requerem menos espo de rmzenmento que stringsF ensndo em um tel que tivesse todos os estdos do rsil om s sus respetivs siglsF sigls poderim es

sim

ser usds omo hveD pelos seguintes ftoresX

SI

E y digo de dus letrs fil pr os usurios digitrem e de fil memorizoY E ys digos dos estdos so niosY E gdigos de estdos no mudmY E egrupmento usndo hve om P rteres no so muito mis lentos que grupmento numrioY E e diferen de rmzenmento no muito mior pr gurdr dois rteres em vez de nmerosF issenilmenteD dus esolhs pr hves de grupmento existemX nmeros de indenti(o ou pequenos digos numriosFxenhum regr universl dit qundo vo dever esolher digos lfnuE mrios ou nmeros de identi(oF ys estdos do frsil so lrmente um exemplo em que melhor o uso de digos de rteresD por que s PU existemF ys digos resultntes so pequenosD niosD e

em onheidos pel miori dos usuriosF qerlmente melhor usr digos nmeros de identi(o qundo o mpo exige pouos registrosF

IWFT egrupmentos umEprEmuitos


et gorD no grupmento de dus telsD um linh de um tel ominou extmente om um linh de outr telD relizndo o hmdo grupmento umEprEumF ws se unirmos gor tods s resposts que fzem prte de um ni enquete c wltipls resposts serim impresssF xo grupmento umEprEmuitosD um linh n tel enquete seri grupd mis de um linh n tel respostsF egor suponh que nenhum respost existe pr dd enqueteF wesmo que existe um enquete vlidD se no existir nenhum respost pr ess enqueteD nenhum linh ser retorndF xs podemos hmr esse so de grupmento de umEprEnenhumD o hmdo

outer join F

phpab ivig respost pyw enqueteDrespost rii enqueteFidaIY respost EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE xo ntl undo ulo ento morrer undo universidde r @Q rowsA
r enquete om o digo igul ID houve o retorno de Q linhsD indindo lrmente o grupmento um pr muitosF

IWFU ghves primris e ghves estrngeirs


m grupmento relizdo pel ompro de dus olunsD omo em enqueteFid e respostFidenqueteF e enqueteFid hmd de enqueteF

hve primri

porque el o identi(dor nio e primrio pr tel

e respostFidenquete hmd de

hve estrngeir

por que el rmzen ddos de um

hve primri de outr telF

SP

ist seo lidou om tni ! tni de rir um disposio orgnizd usndo mltipls teE lsF r dquirir est hilidde neessrio prtiF empre espere mudr o seu no de ddos vris vezes pr rio de um no de ddos orgnizdo e de(nitivoF m o disposio pode fzer seu trlho (r mis filF e m disposio pode tornr seu trlho em onsults um infernoF eo omer rir sus tels pr um neessidde relD vo ser pz de identi(r os nos de ddos em plnejdosF xo tenh pregui ou medo de reomer seu no de ddos do zeroD pois um duro

trlhoD ms qundo feito propridmenteD s onsults tornmEse mis feis de serem relizdsF

SQ

PH

xumerndo linhs
xmeros nios e digos pequenos lfnumrios permitem refernis linhs espe(s em um

telF ils form em disutids n seo IWFSF or exemploD tel enquete tinh um mpo hmdo id que identi(v unimente um registro n telF e tel respost tinh um mpo om o mesmo nome responsvel pel mesm funoF inqunto rteres de digos devem ser inseridos pelo usurioD numero de linhs de um tel pode ser gerds utomtimente usndoEse dois mtodosF ist seo desreve omo usr esses dois mtodosF

PHFI xmeros de sdenti(o de yjetos @yshsA


ostgrev triudo um nio nmero normlmente invisvel hmdo de nmero de identi(o de ojeto @yshA F undo o progrm iniilizdo om initd I D um ontdor
e tod e qulquer linh no rido e triudo ele um vlor prximo os dezessete milF y ontdor usdo pr desrever unimente tod linhF epesr de no de ddos serem ridos e destrudosD o ontdor ontinu inrementrF ile usdo por todos os nos de ddosD por ess rzo ele sempre nioF xenhum linh em qulquer tel em qulquer no de ddos tero o mesmo nmero de identi(o de ojetoF xess postil vo j viu lguns yshsF o queles nmeros que preem depois de d omndo o omndo que foi exeutdoD IWHUQ o ysh e um o

sxi D

omo em

sxi IWHUQ I F sxi

nmero de linhs inseridsF xormlmenteD os yshs s preem ps d omndo um omndo que no o

sxi F

intretntoD se o ysh espei(do por

sxi D ele ser mostrdoF epesr de nenhum olun ysh ter sido meniond no omndo giei efvi D tod tel ostgrev inlui um olun invisvel hmd yshF iss olun s mostrd so sej espei(mente essdF ulquer query do tipo ivig B pyw 4lgum tel4 no mostrr olun yshF intretntoD lgo omo ivig yshDB pyw 4lgum tel4 mostrr o
mpoF y ysh pode ser usdo omo hve primri ou hve estrngeir em grupmentos @

joins AF

I ri um no de ddos templteI usdo por todos os outros no de ddos


SR

phpab ivig yshDB pyw enqueteY oid | id | enquete | dt EEEEEEECEEEECEEEEEEEEECEEEEEEEEEEEE IWHIQ | I | undo ser que greve r | PHHIEHUEII @I rowA
gso queirmos usr um tel que ontenh hve estrngeir do tipo yshD temos que n su rioD em vez de usr o tipo integer ou mesmo hrD usr o tipo ysh omo no exemplo ixoF

phpab giei efvi teste php@b id php@b nome php@b hve php@b AY giei

@ integerD hr@IHHAD oid

m olun do tipo ysh semelhnte um olun do tipo integerD ms de(nindoE omo um tipo ysh doument que olun reeer vlores yshF xo onfund um olun om o tipo ysh om olun hmd yshF od linh tem um olun hmd yshD qul normlmente invisvelF m linh pode ter zeroD um ou mis oluns om o tipo yshF m olun do tipo ysh no utomtimente triud vlor espeil elF omente olun ysh triud um vlor espeilF

PHFP vimites dos xmeros de sdenti(o de yjetos


ist seo ore s trs limites dos yshsF

PHFPFI xumero no sequenil


e nturez glol de um ysh signi( que miori dos yshs de um tel no so sequeniisF or exemploD se for inserid um respost hoje e um outr s mnhD s dus resposts no tero nmeros sequeniisF he ftoD os seus yshs podem ser diferentes em milhres por que qulquer omndo

sxi

em outros no de ddos em outrs tels inrementrim o ontdor de ojetosF e o ysh no est visvel os usurios isso no um prolemF e numero no sequenil no interfere o proessmento de query9sF intretntoD se os usurios podem ver esses nmerosD pree estrnho os grndes uros entre esses nmerosF

PHFPFP xo modi(vel
m ysh triudo pr d linh no omndo gerdo pelo sistemF

sxi F hei

no pode modi(r esse mpo

PHFPFQ xo feito o k up por pdro


hurnte pi de segurn do no de ddosD o ysh normlmente no opidoF m )g deve ser usdo pr hilitr ess piF

SS

PHFQ equnis
ostgrev
omo um oferee outro mtodo de numero de linhs ! sequnisF equnis so ontdores nomedos ridos por usuriosF eps su rioD um sequni pode ser triud pr um tel

hipev

pr olunF sndo sequnisD nmeros nios podem ser utomtimente gerdos

durnte o omndo

sxi F

e vntgem ds sequnis que els evitm os uros omo no so dos yshs F equnis so ideis pr o uso de um nmero de identi(o visvel pelo usurioF e um respost rid hoje e outr

mnhD s dus linhs tero nmeros sequeniis porque nenhum outr tel reprte o ontdor F

PHFR grindo equnis


equnis no so rids utomtimenteD omo os yshsF eo invsD neessrio usr o omndo

giei iixgi F

rs funes ontrolm o ontdorD omo mostrdo n tel PQF

puno

nextvl@9nome9A urvl@9nome9A setvl@9nome9D9vlor9A

eo

etorn o prximo vlor d sequni e tuliz o ontdor etorn o vlor orrente d sequni wud o vlor do ontdor pr o espei(do no segundo rgumento

el PQX punes de eesso os ontdores

eixoD lguns exemplos n rio de sequnis e do uso ds funes im desritsF

phpab giei iixgi phtesteY giei phpab ivig nextvl@9phteste9AY nextvl EEEEEEEEE I @I rowA phpab ivig urrvl@9phteste9AY urrvl EEEEEEEEE I @I rowA phpab ivig setvl@9phteste9D9PH9AY setvl EEEEEEEE PH @I rowA
P ys uros podem oorrer qundo um trnso ortd Q els diferentes podem usr o mesmo ontdor
ST

PHFS sndo equnis pr numerr linhs


gon(gurr um sequni pr identi(r unimente s linhs envolvem vrios pssosX

IF grir sequniY PF grir telD de(nindo QF hurnte o omndo

nextvl@A

omo sendo o vlor pdro pr olunY

sxi D

no inluir um vlor n olun em questo ou usr o vlor

nextvl@A F

phpab giei iixgi lunoidY giei phpab giei efvi luno @ php@b id sxiqi php@b nome gre@QHHAD php@b tel gre@ISA php@b AY giei

hipev nextvl@9lunoid9AD

phpab sxi sxy luno evi @nextvl@9lunoid9AD9ysm9D9TTTTTT9AY sxi IWIVP I phpab sxi sxy luno @nomeDtelA evi @9ddm9D9TTT9AY sxi IWIVQ I
gomo podemos verD o primeiro omndo ri sequni hmd ri tel lunoD e de(ne

lunoidF

y segundo omndo

nextvl@9lunoid9A

omo sendo o vlor pdro pr ess olunF ys outros

omndos mostrm omo deve ser relizd insero de dois modos diferentes msD orretosF

PHFT ipo eril


yutro mtodo de se usr sequnis existeD sendo em mis fil o usoF e vo de(nir um olun do tiE po

isev D um sequni ser utomtimente rid om o nome de nomedtelnomedomposeq D

e um vlor

nextvl@9nomedtelnomedomposseq9A

ser de(nido omo pdroF

xo se preoupe om os visos que n rio d tel om o tipo seril iro oorrerF y primeiro indi que o no de ddos est rindo impliitmente sequni pr olun do tipo serilD e o segundo viso indindo que um ndie est sendo ridoD ssunto que ser ddo

iw evqw vqe xe pixi F

phpab giei efvi professor @ php@b id serilD php@b nome hr@QHHAD php@b tel hr@ISA php@b AY xysgiX giei efvi will rete impliit sequene 9professoridseq9 for isev olumn 9professorFid9
SU

xysgiX giei efviGxsi will rete impliit index 9professoridkey9 for tle 9professor9 giei
elgums pessos imginm porque yshs e sequnis so neessrisF or que um usurio do no de ddos no pode enontrr o mior nmero em usoD diionr umD e usr o resultdo pr numerr prxim linh ser diiond c elmenteD yshs e sequnis so preferids devidos vrios ftosX

E erformneY E gonorrniY E dronizoF

rimeirmenteD usulmente um proesso demordo prourr todos os nmeros que esto sendo usdos orrentemente pr enontrr o prximo nmero possvelF eferirEse um ontdor lolizdo

seprdmente mis rpidoF egundoD se um usurio hr o nmero mis ltoD e um outro usurio est prourndo pelo nmero mis lto o mesmo tempoD os dois usurios podem hr o mesmo nmeroF lroD neste exemploD o nmero deixri de ser nioF l prolem de onorrni no oorre om yshs e sequnisF ereiroD mis on(vel usr um nmero ddo pelo ndo de ddos do que um nmero sedo em um onsult mnulF

SV

PI

erformne
undo essndo um telD

PIFI ndies
ostgrev
normlmente l do omeo pr o (nl d telD prouE rndo por registros relevntesF gom um ndieD possvel hr rpidmente vlores espe(os no ndieD podendo ssim ir diretmente pr os registros prourdosF hesse modoD ndies permitem um prour rpid de linhs espe(s em um telF or exemploD onsidere query

ivig B pyw luno where idaIRSY

F em um ndieD

ostgrev deve

prourr em tod tel prourndo por linhs que tenhm IRS no mpo IRSF gom um ndie em idD o no de ddos pode ir direto pr s linhs onde o id IRSF r tels grndesD podeEse levr minutos pr her d linhF sndo um ndieD enontrr linh desejd lev pens segundosF

ostgrev

no ri ndies utomtimente F

im vez dissoD usurios

devem rir ndies em oluns muito utilizds em lusuls riiF r rir um ndieD usEse o omndo

giei sxhi nome D

omo mostrdo ixoF

phpab giei sxhi lunonomeidx yx luno @nomeAY giei


ynde nomeluno o nome do ndie ridoD luno tel qul o ndie vi se referenirD e nome o mpo ser indexdoF epesr de ser lierdo o uso de qulquer nome pr o ndieD um om uso de rio de nome de ndies omo foi mostrdoF y nome do ndie ontm informo d tel que ele se fz prte lunoD ontm o nome d olun indexdD nomeD e ps issoD o undersore idx pr indir que foi rido um ndieF

o pode rir quntos ndies desejrF

lroD pormD um ndie em um olun rrmente usd

desperdio de espo de disoF mmD performne n verdde pode diminuir so existm muitos ndiesD por que qulquer mudn de registros neessri um tulizo em d ndieF

mm possvel rio de um ndie que indexe mis de um olunF

e ni mudn do oE

mndo nterior n rio de um ndie simples inluso de mis um olun entre os prentsesF isse tipo de ndie indido qundo indexmos s linhs de um telD ms mesmo ssimD temos muits linhs om o mesmo vlor d primeir linh indexdF xesse soD ome ser feito indexo pel segund olun do ndieF

ndies podem ser teis tmm em grupmentosF qundo usdo lusuls yhi fF

iles podem umentr veloidde n pesquis

PIFP sndes nios


e ni diferen pr o ndie ordinrioD omo o prprio nome dizD eles previnem vlores duplidos de oorrerem n telD n olun indexdF y omndo semelhnteD pens om o rsimo d plvr

R exeo qundo se utiliz o mpo do tipo seril

SW

xsi logo ps plvr gieiF s vezesD ndies nios so ridos pens pr evitr vlores duplidosD no por questes de performneF

phpab giei xsi sxhi lunotelidxuni yx luno @telAY giei


ndies nios iwsiw mltiplos vlores xvvD entretntoF ndies nios ument veloidde e proiem duplit de vloresF

TH

PP

gontrolndo esultdos
undo um query

ivig

digitd no psqlD o omndo vi t o servidor de no de ddosD

exeutdoD e o resultdo envido de volt o psql pr ser mostrdoF um ontrole sore quis linhs so retorndsF

ostgrev

permite que sej feito

PPFI vimites
es lusuls retorndsF

vsws

yppi

do omndo

ivig

permitem o usurio esolhes quis linhs serem

phpab ivig gyx@idA pyw lunoY ount EEEEEEE P @I rowA


e funo ount ont todos os registros existentes n telF indindo que existem pens dois registros existem n telF gomo vistoD el retornou o vlor PD

phpab ivig B pyw luno yhi f id vsws PY id | nome | tel EEEECEEEEEECEEEEEEEEEEEEEEEEE I | ysm | TTTTTT P | ddm | TTT @P rowsA phpab ivig B pyw luno yhi f id vsws P yppi IY id | nome | tel EEEECEEEEEEEECEEEE P | ddm | TTT @I rowA
gonstte que n segund onsult pens um linh foi retorndF ssso oorreu devido existni de pens dois registrosF ortntoD qundo sd d onsult foi deslods usndo

yppi D

mesmo om o

vsws

indindo dus linhsD pens um linh surgiu omo respostF

eri(que que s dus query usm

yhi f F epesr dess lusul no ser neessriD vsws sem yhi f

retorn linhs rndmis d onsultD o que no muito tilF

vsws

ument performne reduzindo o nmero de linhs retornds o lienteF

TI

PQ

edministro de els
iss seo mostr omo rir tels temporris e omo relizr ltero de tels ou de olunsF

PQFI els emporris


els temporris so tels de urt duro de vid ! els s existem durnte sesso do no de ddosF undo sesso de no de ddos terminD sus tels temporris so utomtimente destrudsF y exemplo n tel PRilustr esse oneitoF xeleD

giei iwye efvi

ri um tE

el temporriF x sd do progrm psqlD tel temporri destrudF undo for reiniido o progrm psqlD veri(mos que no existe mis tl telF

es tels temporris so visveis pens pr sesso onde foi ridD els permneem invisveis pr os outros usuriosF he ftoD vrios usurios podem rir tels temporris om o mesmo nomeD e d usurio ver pens tel rid por eleF

giei iwye efvi temptest @ol sxiqiA sxi sxy temptest evi @IA ivig ol pyw temptest retorn I

surioI

giei iwye efvi temptest @ol sxiqiA sxi sxy temptest evi @PA ivig ol pyw temptest retorn P

surio P

el PRX hus sesses diferentes

eu uso idel pr rmzenr ddos intermedirios usdo pel sessoF or exemploD suponh que neessrio relizr vris onsults pr um query omplexF m estrtgi e(iente relizr

onsult um vezD e depois gurdr o vlor em um tel temporriF

ivig B sxy iwye telfonern pyw luno rii tel like 9VR79
isse omndo riou um tel temporri om ddos 9herddos9 d tel luno ontendo os registros que tenhm VR no omeo do nmero do telefoneF

PQFP elteres de els


evi efvi
permite s seguintes operesX E enomer telsY E enomer olunsY E ediionr olunsY E ediionr oluns om vlores pdroY E emover oluns om vlores pdroF

TP

eixo temos lguns exemplos do uso do omndo

evi efvi F

phpab giei efvi ltertest @ol sxiqiAY giei phpab evi efvi ltertest ixewi y lterdemoY evi phpab evi efvi lterdemo ixewi gyvwx ol to demooY evi phpab evi efvi lterdemo ehh gyvwx olP sxiqiY evi

TQ

PR

ghves e onstntes
iss seo orir ltim prte ser vist no ursoF efernis e hves so os tpios mis

importntes pr rio de um no de ddos relionlD evitndo ssim rio de um ndo de ddos sem utiliddeF

PRFI xot xull


e plvr

xy xvv

evit o preimento de vlores nulos de preer em um olunF iss lusul

deve ser olod ps o tipo d olunF eps issoD qulquer insero que tente olor um vlor nulo n olun desritD flhrD gerndo um erro de exeuoF m o sd pr evitr esse tipo de erro olor um vlor pdro pr olunD podendo ser ssim de(nioF

phpab giei efvi notenull @ php@b id sxiqi xy xvv hipev QPAY giei

PRFP nique
e lusul

xsi

evit existni de vlores duplidos de preerem n olunF implementdo

pel rio de um ndie nio n olunF y exemplo ixo ilustr o uso d lusulF

phpab giei efvi unio @numero sxiqi xsiAY xysgiX giei efviGxsi will rete impliit index 9unionumerokey9 for tle 9unio9 giei

PRFQ ghve rimri


swe ui D de(ne olun que identi(r unimente d linhD um omino do uso ds lusuls xy xvv e xsi F gom esses tipos de restriesD xsi evit duplio enqunto xy xvv evit inluso de vlores nulosF eixo temos rio de um hve primri F
e plvr

phpab giei efvi hveprimri @ol sxiqi swe uiAY xysgiX giei efviGswe ui will rete impliit index 9hveprimripkey9 for tle 9hveprimri9 giei phpab d hveprimri le 4hveprimri4 ettriute | ype | wodifier EEEEEEEEEEECEEEEEEEEECEEEEEEEEEE ol | integer | not null sndexX hveprimripkey

TR

xote que um ndie rido utomtimenteD e olun de(nid omo sendo no nulF e um hve primri tiver mis de um olunD lsul deve ser de(nid em um linh seprd pr formr hveF

phpab giei efvi hveprimri @ php@b hveI sxiqiD php@b hveP sxiqiD php@b swe ui@hveIDhvePA php@b AY xysgiX giei efviGswe ui will rete impliit index 9hveprimripkey9 for tle 9hveprimri9 giei
m tel no pode ter mis que um hve primriF qundo usmos reles @hves estrngeirsAF ghves primris tm um vlor espeil

PRFR ghve istrngeirD ipiixgi


ghves estrngeirs so mis omplexs que hves primrisF ghves primris fzem um olun ser no nul e niF ghves estrngeirsD por su vezD rmzenm ddos sedos em outrs telsF ils so ssim hmds por que seus ddos no s perteemD e sim outr telF r exempli(r iremos esrever s tels enquete e respost om sus hves e relesF

phpab giei efvi enquetef @ php@b id isev swe uiD php@b enquete gre@QHHAD php@b dt hei php@b AY xysgiX giei efvi will rete impliit sequene 9enquetefidseq9 for isev olumn 9enquetefFid9 xysgiX giei efviGswe ui will rete impliit index 9enquetefpkey9 for tle 9enquetef9 giei
y omndo im ri tel enquetefD sendo hve primri o mpo om o tipo serilF

phpab giei efvi respostf @ php@b id isev swe uiD php@b respost gre@PHHAD php@b ontdor sxiqiD php@b idenquete sxiqi ipiixgi enquetef php@b AY xysgiX giei efvi will rete impliit sequene 9respostfidseq9 for isev olumn 9respostfFid9
TS

xysgiX giei efviGswe ui will rete impliit index 9respostfpkey9 for tle 9respostf9 xysgiX giei efvi will rete impliit trigger@sA for pyisqx ui hek@sA giei
y omndo im ri tel respostfD rindo hve estrngeir referenindoEse tel enE quetefF yserve que sintxe de rio simples ms o oneito envolvido omplexoF ispermos om ess postil lrer lgums dvids sore o v em si e o prprio

ostgrev F

TT

PS

hp e su intero om ostgrev
xest seo veremos omo essr o no de ddos trvs do hp usndo funes de fil entenE odos os omndos ixo so ssumidos e testdos ns verses r R ou im

dimento e lrezF delF

PSFI erir gonexo om o no de ddos


e funo usd pr rir um onexo om o no de ddos

ostgrev

funo

pgonnet F

rios prmetros so neessrios e lguns so opionisF e seguir temos vris possiilidde do uso d funoF int int int int pgonnet pgonnet pgonnet pgonnet @string hostD string portD string dnmeA @string hostD string portD string optionsD string dnmeA @string hostD string portD string optionsD string ttyD string dnmeA @string onnstringA

el PSX elguns exemplos do elho d funo

e seguirD temos o signi(do de d um dos rgumentos listdos n el PSF

host port tty

sndi qul mquin desejEse onetrY sndi port utilizd n onexoY sndi o nome do no de ddos ser ert onexoY

dnme options

sndi qul terminl onexo deve ser relizdY he(ne vrios outros rgumentos tl omo usurio e senhF

`cphp 6open a pggonnet @4dnmeaphp4AY GGre onexo om o no de ddos hmdo 4php4 6openP a pggonnet @4hostarroinh portaSRTH dnmeaphp4AY GGre onexo om o no de ddos hmdo php n mquin rroinh pel port 4SRTH4 6openQ a pggonnet @4hostanewrroinh portaSRTH dnmeaphp userasine psswordageni64AY GGre onexo om o no de ddos hmdo phpD n mquin newrroinhD pel port 4SRTH4 D om usurio e senh determindos cb
e funo

pgonnet

retorn um ndie em so de suessoD ou flso se onexo no puder ser ertF

ys rgumentos devem ser pssdos usndoEse sps duplsF e um segund hmd feit pelo

pgonnet

om os mesmo rgumentosD nenhum nov onexo

ser ertD ms em vez dissoD ser retorndo pens o ndie d onexo j ert nteriormenteF

TU

PSFP ixeutr um onsult


e funo usd pr relizr um onsult funo

pgexe F

hois prmetros so neessrios pr

onexoD vrivel que gurd o ndie d onexo e um stringD que no so query ser exeutdF int pgexe @int onnetionD string queryA

el PTX gelho d funo

pgexe

e seguirD temos o signi(do de d um dos rgumentos listdos n el PTF

onnetion query

sndi qul ndie de onexo previmente erto desejEse onetrY

sndi port utilizd n onexoF

eixoD temos exemplos do uso d funo

pgexe F

`cphp 6openapgonnet@4userasineDdnmeaphpDhostalolhost4A or die@4smpossvel rir onexo4AY 6onsulta4selet hmdDnotii from notii4Y 6exeapgexe@6openD6onsultA or die@4smpossvel exeutr onsult4AY cb
smos primeirmente funo memos o seu ndie om vrivel

pgonnet pr open F eps issoD

rir um onexo om o no de ddosD e noE usmos um vrivel pr gurdr tod string

d onsultD prti indid pr filitr o entendimento no uso ds funesD no sendo preiso digitr todo o omndo v dentro d funo responsvel pel exeuo d queryD funo

pgexe D

que reee

pens dus vriveisD primeir sendo o identi(dor d ertur d onexo e segund sendo prpri query ser exeutdF etorn omo resultdo um ndie se query for exeutdD e flso se onexo flhr ou o ndie d onexo no for vlidoF hetlhes sore erros podem ser reuperdos usndo funo se onexo for vlidF y vlor de retorno d funo

pgirrorwessge@A

pgexe

um ndie que pode ser usdo pr

essr resultdos d query por outrs funes

ostgrev F

PSFQ rtmento dos ddos envidos n onsult


endo prendido omo rir e exeutr omndos v por um pgin rD temos que ser omo trtr esses ddos vindos do no de ddosD pr poder utilizElos de form e(ienteF ixistem vris funes que podem trtr os ddosD ms qui por questo de simpliidde veremos pens um funoD que su(iente pr dquirir os ddos de um form simples e lrF e funo

pgresult

tem omo

entrd exeuo de um queryD linh desejd e olunF eu elho de(nido n tel PUF mixed pgresult @int resultidD int rownumerD mixed (eldnmeA

el PUX gelho d funo

pgresult

TV

pgresult@A

retornr vlores de um identi(dor de ndie produzido pel funo

pgexe@A F

y nmero d linh e o

fieldnme

espei(m que lul d tel ser retorndF

xmeros de linh

omem do zeroF eo invs de usr o nome do mpoD podeEse usr um nmero omo ndieD omendo do zeroF

PSFR ixiir os ddos


e exiio dos ddos sd do progrm proprimente ditF qui que vmos gerr o doumento rwv om os resultdos do progrm rF r issoD fzEse uso ds funes

eho

ou

print

que tem

omo propsito imprimir ddos no doumento rwvF r melhor ompreensoD vej o exemplo ixoX

6oneo a pgonnet@4userasine dnmeaphp hostarroinh4AY 6v a 4ivig B pyw notii4Y 6resultdogerl a pgexe@6oneoD 6vAY 6idI a pgresult@6resultdogerlD HD 94id49AY GB vrivel 6idI reeer o id d noti d primeir linh d onsult BG eho 46idI4Y GB est linh de digo fz om que sej impresso no doumento rwv o ontedo d vrivel 6idI BG

PSFS pehr gonexo om o no de ddos


y ltimo psso neessrio n intero zd funo

ostgrev

r o fehmento d onexoF e funo utiliE

pglose F

il reee omo rgumento um ndie de um onexo vlid e retorn um

vrivel oolenF etorn flso so o ndie no sej vlido ou verddeiro so onexo sej fehdF

ool

pglose @int onnetionA

el PVX gelho d funo

pglose
S
so utoE

xotX
pglose

y uso dess funo usulmente no neessriD por que onexes no persistentes

mtimente fehds no trmino d exeuo do sriptF no feh onexes persistentes gerds pel funo

pgponnet F

S equels onexes gerds om o uso d funo pgonnet


TW

efernis
I frretoD wurio ivs de ouzD P gin o(il do rD

eplies e om r D
wwwFphpFnetD PHHIF

PHHHF

r wnulD

Q gstgnetto tesusD wt rrishD humnnD ollo ghrisD elith heepkD

rofessionl r roE

grmming D

PHHIF

R womjin frueD

ostgrevX sntrodution nd gonepts D

PHHHF

UH