Académique Documents
Professionnel Documents
Culture Documents
T
T T T T
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
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
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
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
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
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
PU PV PW QH
QH
QH
QH QH QH
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
QW
QW QW RH RH RH RH RI RI
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
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
sntroduo
istes so sripts exeutdos no ldo lienteD ou sejD no rowserF isse tipo de sript no tem ontto
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
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 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
`Gformb
olor vrios formulrios em um mesmo doumento htmlF eixo esto lgums opes d tg
form F
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
`inputb D
QFP e tg `inputb
e miori dos elementos dos formulrios so de(nidos pel tg
`inputb F
prmetros prpriosD ms todos possuem pelo menos dois prmetros em omumX de elementoD e
type D
nme D
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
QFS hekox
`input typea4hekox4 nmea44 vluea44 hekedb
tilizdo pr mpos de mltipl esolhD onde o usurio pode mrr mis de um opoF
vlue
heked
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
rteresY
rows
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
`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
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
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
{eho}
{print} F
r utilizEls deveEse
IP
ipos
r suport os seguintes tipoX
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
5 5 5 5
y tmnho de um inteiro depende d pltformF r um pltform de QP its o mximo vlor inteiro de P ilhesF
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
IR
yperdores
is operdores devem ser usdos om operndos numriosF e forem de outro tipoD sero onvertidos
el PX yperdores eritmtios
el QX yperdor de string
el RX yperdores de triuio
exemploX
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
~
el TX yperdores lgios ixistem dois operdores pr e e pr ou porque eles tem diferentes posies n ordem de preeE dniF
el UX yperdores lgios
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
el VX yperdores lgios
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
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
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
if
UFP sf
y mis simples e de grnde importni pr muits lingugens o
ifD
ondio e exeut o omndo indido se o resultdo for verddeiro @diferente de zeroAF ile possui dus sintxesX
IV
if
else
if
if
usdo om
else X
elseif
um omino de
ile estende um
IW
UFQ hile
y loop
while
loop while X
while
while
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
while
doFFwhile
doFFwhile F
ue seguinteX
PH
UFS for
y
for
for
soX
for @iniilizoY ondioY inrementoA omndoY for @iniilizoY ondioY inrementoAX omndoIY omndoPY F F F omndoQY endforY
yndeX
iniilizo X
vriveisF
ondio X
exeutdosF
expresso vlid d iteroD que de(ne se os omndos que esto dentro inqunto expresso for verddeir os omndos sero
inremento X
s vriveisF
UFT rek
y omndo um
rek
doD for
eo enontrr
rek
rek
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
UFU ontinue
y
ontinue
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
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
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
swith
test
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
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
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
defult
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 { 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
PT
riveis e gonstntes
gomo veri(o de tipos em r dinmiD s vriveis no preism ser delrdsF m
stti
stti
stti F
PU
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
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
no lfEnumrios @om exeo de A pelo rter 7 seguido do digo egss em hexdeimlF
`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
phpinfo@A F
isset
e funo
e funo
o seguinte prottipoX
PV
true
flse
empty
phpinfo@A F
define
mis ser lterdoF m onstnte pode pens onter um vlor eslrD no podendo gurdr rrys ou ojetosF e ssintur d funo
define
seguinteX
true
PW
IH
tilizndo ookies
gookies so vriveis grvds no liente @rowserA por um determindo siteF omente o site que
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
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
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
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
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
ostgrev F
QP
IP
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
IQ
tored roedures
m stored proedure D em sumD um progrm om omndos vD que rmzendo em um no
de ddos lgioF
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
\ \ \ \ \ \
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
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
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
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
no de ddos orrenteF
pitlizo so opionisD exeto dentro de sps simplesD onde o texto onsiderdo literlmenteF r oluns numrisD no neessrio o uso de sps simplesF
D onde o
steriso foi sustiudo pens pelo mpo requeridoF e mis de um for neessrioD deveEse usr vrguls pr seprr os mesmosF
isse omndo delet o registro d tel noti que ontenh em seu id o nmero QPY
todos os registros
pr
9GsineGindexFhtml9 F
olor lusul riiD tulizr todos os registros qundo se queri tulizr pens prte delesF
e quiserD podeEse usr ps o yhi f ondioD o rgumento hig que inverte ordem de oE mo foi dispost sdF
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
hy efvi notii
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
ytes D
seril
um tipo espeil do
ostgres
giei iixgi telolunseqY giei efvi tel @olun integer hipev nextvl@9telolunseq9AAY giei xsi sxhi telolunkey on tel@olunAY
y tipo
seril
e su
hy iixgi telolunseqY
QW
rter
tmm
text F
xome do ipo ermzenmento
@RCnA ytes @RCnA ytes @RCnA ytes
gomptiilidde
v v wis )exvel
timestmp X
sntervlos de tempo
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
snio
pim
esoluo
dtetime
timespn D
que so euivlentes
timestmp
intervl D
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
time
ou
time F
time
IUFQFR intervl
y tipo
intervl
syntx F
ixemplo
IGVGPHHI VGIGPHHI
hesrio
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
hi
erevio
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
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
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
time
dte
intervl
week
ou
entury
ixemplo
hesrio
syEVTHI syEVTHI syEVTHI syEVTHI
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
ispei(o de estilo
9sy9 9v9 9ostgres9 9qermn9
hesrio
ixemplo
RP
ostgres
true
oolen F
y tipo
oolen
vlidosX
@verddeiroA ou
flse
@flsoAF
pevi
RQ
IV
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
9ve9s9 F
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
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
xvv D
xvv
xvv
so diferentesF
RR
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
b ab ` `a
ostgrev F
RS
gomprdor
menor que menor ou igul igul mior ou igul mior que diferente
yperdor
` `a a ba b `b ou 3a
vsui
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
query
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
uso do nome ompletmente espei(doD j que no existem dvids sore origem ds olunsD pois s existe um tel sendo onsultdF
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
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
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
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
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
sim
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
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
hve primri
e respostFidenquete hmd de
hve estrngeir
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
sxi D
omo em
sxi F
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
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
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
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
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
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
giei iixgi F
puno
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
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
nextvl@A
sxi D
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
omndos mostrm omo deve ser relizd insero de dois modos diferentes msD orretosF
e um vlor
nextvl@9nomedtelnomedomposseq9A
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
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
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
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
devem rir ndies em oluns muito utilizds em lusuls riiF r rir um ndieD usEse o omndo
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
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
SW
xsi logo ps plvr gieiF s vezesD ndies nios so ridos pens pr evitr vlores duplidosD no por questes de performneF
TH
PP
gontrolndo esultdos
undo um query
ivig
exeutdoD e o resultdo envido de volt o psql pr ser mostrdoF um ontrole sore quis linhs so retorndsF
ostgrev
PPFI vimites
es lusuls retorndsF
vsws
yppi
do omndo
ivig
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
vsws
TI
PQ
edministro de els
iss seo mostr omo rir tels temporris e omo relizr ltero de tels ou de olunsF
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
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
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
TP
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
xy xvv
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
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
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
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
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
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
ys rgumentos devem ser pssdos usndoEse sps duplsF e um segund hmd feit pelo
pgonnet
ser ertD ms em vez dissoD ser retorndo pens o ndie d onexo j ert nteriormenteF
TU
pgexe F
onexoD vrivel que gurd o ndie d onexo e um stringD que no so query ser exeutdF int pgexe @int onnetionD string queryA
pgexe
onnetion query
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
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
ostgrev F
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
pgresult
TV
pgresult@A
pgexe@A F
y nmero d linh e o
fieldnme
xmeros de linh
omem do zeroF eo invs de usr o nome do mpoD podeEse usr um nmero omo ndieD omendo do zeroF
eho
ou
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
ostgrev
pglose F
vrivel oolenF etorn flso so o ndie no sej vlido ou verddeiro so onexo sej fehdF
ool
pglose
S
so utoE
xotX
pglose
mtimente fehds no trmino d exeuo do sriptF no feh onexes persistentes gerds pel funo
pgponnet F
efernis
I frretoD wurio ivs de ouzD P gin o(il do rD
eplies e om r D
wwwFphpFnetD PHHIF
PHHHF
r wnulD
rofessionl r roE
grmming D
PHHIF
R womjin frueD
PHHHF
UH