Você está na página 1de 9

CriandoumaAplicaoOrientadapeloBanco

deDadoscomoPHP
Lio1:CriandoumBancodeDadosMySQL
Contedodotutorial:
0. CriandoumaAplicaoCRUDcomPHPPginaPrincipal
1. CriandooBancodeDados
a. =>CriandoumBancodeDadosMySQL
RegistrandoumServidorMySQL
CriandooUsuriodoBancodeDados
CriandoumBancodeDadosdaListadeDesejos
EstabelecendoumaConexocomoBancodeDadosdaListadeDesejos
CriandoaEstruturadoBancodeDadosdaListadeDesejos
CriandoasTabelas
InserindoosDadosdeTeste
b. CriandoTabelasdoBancodeDadosOracle
2. ProjetandoaAplicao.LendodoBancodeDados
3. CriandoumNovoUsuriodaAplicao
4. OtimizandooCdigo
5. AdicionandoSegurana.ImplementandooLogindeUsuriodaAplicao
6. AdicionandoumNovoDesejoaoBancodeDados
7. AtualizandoeDeletandoEntradasnoBancodeDados
8. MelhorandoaAparnciadaAplicaoUsandoaTecnologiaCSS
9. ImplantandoaAplicaoemumServidorWebRemoto

EstaliodescrevealtimaetapapreliminarnodesenvolvimentodaaplicaodaListadeDesejos:a
criaodeumbancodedadosdeamostracomdadosdeteste.Paraconcluirasetapasdestetutorial,
vocprecisardeumbancodedadosparaarmazenarosdadosdoswishers.ComoNetBeansIDE,
vocpoderealizartodasessasatividadesusandoainterfacedoIDE.
Antesdecomear,vejaosrequisitosdotutorialdescritosemCriandoumaAplicaoCRUDcom
PHPPginaPrincipal.
OdocumentoatualumapartedotutorialCriandoumaAplicaoCRUDnoNetBeansIDEpara
PHP.

RegistrandoumServidorMySQL
SevocnotiverumservidordebancodedadosMySQLregistradonoIDEouquiserinformaes
geraissobrecomousarMySQLcomoNetBeansIDE,consulteEstabelecendoConexocomum
BancodeDadosMySQL.

CriandooUsuriodoBancodeDados
Antesdecriarumbancodedados,vocprecisacriarousurioqueterodireitoderealizartodasas
operaesnobancodedados.ACriaodeumUsuriodeBancodeDadosenvolve:
ConectaraoservidorMySQLcomoousurioraiz.
ConectaraobancodedadosdosistemaMySQLcomoumusurioraiz.Estaetapanecessria
parapermitiraexecuodeumcomandoSQLparaacriaodeumusurioporqueno
possvelexecutarumcomandoSQLsemestarconectadoaumbancodedados.
ExecutandoumcomandoMySQLdecriaodeusurio.
1. InicieoIDE,alterneparaajanelaServios(Ctrl5)eexpandaondoBancodeDados.
2. ParaconectaraoservidordebancodedadosMySQL,navegueparaondoServidorMySQLe,
domenudecontexto,selecioneConectar.

3. ONetBeansIDEconectaseaoservidorMySQL,verificaquaisbancosdedadosesto
disponveispeloservidor,detectaobancodedadosdosistemamysql,eadicionaonovon
correspondentemysqlnarvoreBancosdeDados.

4. ParaexecutarumcomandoSQL,vocprecisaestarconectadoaumbancodedados.Como
somenteosistemaMySQLestdisponvel,vocprecisaseconectaraomesmo.Paraconectar
aobancodedadosdosistema,navegueatonmysqle,nomenudecontexto,selecione
Conectar.Seumaconexoaindanoexistir,acaixadedilogoNovaConexodeBancode
Dadosserexibida.OcampoNomedoUsurioestpreenchido,pordefault,comraiz.No
campoSenha,insiraasenhadousurioraiz.
Observao:sevocestabeleceuconexoaobancodedadosmysqlantes,estacaixadedilogo

noaparecer.Emvezdisso,onovondeconexosimplesmenteaparecenarvore.

AcaixadedilogoNovaConexodeBancodeDadosmostraamensagem"Conexo
estabelecida".CliqueemOK.Umnovonchamadojdbc:mysql://localhost:3306/mysql
adicionadonarvoredoBancosdeDados.
5. Navegueatonjdbc:mysql://localhost:3306/mysqlenomenudecontextoselecione
ExecutarComando.

UmajaneladeComandoSQLaberta.NajanelaComandoSQL,useumasintaxesimilar
seguinteinstruo:
CREATEUSER'phpuser'@'localhost'

IDENTIFIEDBY'phpuserpw'

Nomenudecontexto,selecioneExecutarInstruo.Seocomandoforexecutadocomxito,a
barradeStatusexibiramensagem:"Instruo(es)SQLexecutada(s)comxito".Seoutra
mensagemforexibida,verifiqueasintaxeesigaasdicasdamensagem.

CriandoumBancodeDadosdaListadeDesejos

Paracriarobancodedados:
1. NavegueparaonServidorMySQLemlocalhost:3306e,nomenudecontexto,selecioneCriar
BancodeDados.AcaixadedilogoCriarBancodeDadosMySQLexibida.Preenchaos
campos:
NocampoNomedoBancodeDados,insiraalistadedesejos.
AtiveacaixadeseleoConcederacessototalaousurioe,nalistadropdown,selecione
phpuser@localhost.CliqueemOK.

AfunoConcederacessototalaousurionemsemprefunciona.Casonofuncione,
conecteseaobancodedadoscomousurioraizeenvieaconsultaSQLGRANTALLON
wishlist.*TOphpuser@localhost.
Umaconexoaobancodedadosexibidanarvore.Noentanto,aconexoparaousurio
raiz.Vocprecisadeumaconexoparaousuriophpuser.

EstabelecendoumaConexocomoBancodeDadosdaListade
Desejos
Nofimdaseoanterior,voccriouobancodedadoswishlistcomumaconexoaousurioraiz.
Agoravoccriaumanovaconexoparaousuriophpuser.
1. NajanelaServios,cliquecomobotodireitodomousenonBancosdeDadoseselecione
NovaConexo.OAssistenteNovaConexoseraberto.

2. NopainelNovoDriverdeLocalizaodoAssistentedeConexo,selecioneoMySQL(Driver
Conector/J).CliqueemPrximo.OpainelPersonalizarConexoaberto.

3. NocampoBancodeDados,digitewishlist.
4. NascaixasdeedioNomedoUsurioeSenha,insiraonomeeasenhaespecificadosnaseo
CriandooProprietrio(Usurio)doBancodeDados(emnossoexemplophpusere!phpuser
respectivamente).MarqueLembrarSenha.CliqueemTestarConexoeseaconexoforbem
sucedida,cliqueemOK.

OncorrespondentenovaconexoexibidonarvoredoBancosdeDados.Agoravocpode
deletaraconexodousurioraizparaobancodedadoswishlist.Cliquenaconexo

jdbc:mysql://localhost:3306/wishlist[raiznoesquemaDefault]eescolhaDeletar.

CriandoaEstruturadoBancodeDadosdaListadeDesejos
Paraorganizarearmazenartodososdadosnecessrios,vocprecisadeduastabelas:
Umatabeladewishersparaarmazenarnomesesenhasdeusuriosregistrados
Umatabeladedesejosparaarmazenardescriesdedesejos

Atabeladewisherscontmtrscampos:
1. idaidentificaoexclusivadeumwisher.EstecampousadocomoaChavePrimria
2. nome
3. senha
Atabeladedesejoscontmquatrocampos:
1. idaidentificaoexclusivadeumdesejo.OcampousadocomoaChavePrimria
2. wisher_idaidentificaodowisheraquemodesejopertence.OcampousadocomoaChave
Estrangeira.
3. descrio
4. due_dateadataparaaqualodesejofoisolicitado
AstabelassorelacionadaspormeiodowisherID.Todososcampossoobrigatrios,exceto
due_dateemdesejos.

CriandoasTabelas
1. Paraconectaraobancodedados,naconexojdbc:mysql://localhost:3306/wishlist,clique
comobotodireitodomouseeselecioneConectarnomenudecontexto.
Observao:seoitemdemenuestiverdesativado,vocjestconectado.Prossigacoma
etapa2.
2. Nomesmomenudecontexto,selecioneExecutarComando.UmajanelaComandoSQLvazia
aberta.
3. Paracriaratabeladewishers,
a. DigiteaseguinteConsultaSQL(observequeprecisodefinirexplicitamenteos
conjuntosdecaracterescomoURF8parainternacionalizao):
CREATETABLEwishers(

idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,
nameCHAR(50)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLUNIQUE,
passwordCHAR(50)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL
)

Observao:vocpodeobterumnmeroexclusivogeradoautomaticamentedoMySQL
especificandoapropriedadeAUTO_INCREMENTdeumcampo.OMySQLirgerar
umnmeroexclusivoincrementandooltimonmerodatabelaeadicionar
automaticamenteaocampoincrementado.Nonossoexemplo,ocampoID
incrementadoautomaticamente.
b. CliquecomobotodireitodomousenaconsultaeselecioneExecutarInstruonomenu
decontexto.
Observao:OmecanismodearmazenamentodefaultdoMySQLoMyISAM,queno
compatvelcomteclasestrangeiras.Casodesejeusarteclasestrangeiras,considereusar
InnoDBcomomecanismodearmazenamento.
4. Paracriaratabeladedesejos:
a. DigiteaseguinteconsultaSQL:
CREATETABLEwishes(
idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,
wisher_idINTNOTNULL,
descriptionCHAR(255)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,
due_dateDATE,
FOREIGNKEY(wisher_id)REFERENCESwishers(id)
)

b. CliquecomobotodireitodomousenaconsultaeselecioneExecutarInstruonomenu
decontexto.
5. Paraverificarseasnovastabelasforamadicionadasaobancodedados,alterneparaajanela
Serviosenavegueparaondaconexojdbc:mysql://localhost:3306/wishlist.
6. CliquecomobotodireitodomouseeselecioneAtualizar.Osnsdewishersedesejos
aparecemnarvore.
Observao:vocpodefazerdownloaddeumconjuntodecomandosSQLparacriaraquiobancode
dadosdalistadedesejosMySQL.

InserindoosDadosdeTeste
Paratestaraaplicao,vocprecisardealgunsdadosnobancodedados.Oexemploabaixomostra
comoadicionardoiswishersequatrodesejos.
1. Naconexojdbc:mysql://localhost:3306/wishlist,cliquecomobotodireitodomousee
selecioneExecutarComando.UmajanelaComandoSQLvaziaaberta.
2. Paraadicionarumwisher,useumasintaxesimilaraoexemploabaixo:
INSERTINTOwishers(name,password)
VALUES('Tom','tomcat');

Cliquecomobotodireitodomousenaconsultae,nomenudecontexto,selecioneExecutar
Instruo.
Observao:ainstruonocontmumvalorparaocampoid.Osvaloressoinseridos
automaticamenteporqueotipodecampoespecificadocomoAUTO_INCREMENT.
Inseriroutrowisherdeteste:
INSERTINTOwishers(name,password)
VALUES('Jerry','jerrymouse');

3. Paraadicionarosdesejos,useumasintaxesimilaraoexemploabaixo:
INSERTINTOwishes(wisher_id,description,due_date)
VALUES(1,'Sausage',080401);
INSERTINTOwishes(wisher_id,description)
VALUES(1,'Icecream');
INSERTINTOwishes(wisher_id,description,due_date)
VALUES(2,'Cheese',080501);
INSERTINTOwishes(wisher_id,description)
VALUES(2,'Candle');

Selecioneasconsultas,cliquecomobotodireitodomouseemcadaconsultae,nomenude
contexto,selecioneExecutarSeleo.
Observao:voctambmpodeexecutarasconsultasumaapsaoutra,conformedescritono
item2.
4. Paravisualizarosdadosdeteste,cliquecomobotodireitodomousenatabelarelevantee,no
menudecontexto,selecioneExibirdados.

Paraobterumentendimentogeraldosprincpiosdebancosdedadosepadresdedesign,consulteo
tutorial:http://www.tekstenuitleg.net/en/articles/database_design_tutorial/1.
ParaobtermaisinformaessobreasintaxedasinstruesCREATETABLEdeMySQL,consulte
http://dev.mysql.com/doc/refman/5.0/en/createtable.html.
Paraobtermaisinformaessobrecomoinserirvaloresnatabela,consulte
http://dev.mysql.com/doc/refman/5.0/en/insert.html.
Observao:vocpodefazerdownloaddeumconjuntodecomandosSQLparacriaraquiobancode
dadosdalistadedesejosMySQL.

PrximaEtapa
PrximaLio>>
VoltarpginaprincipaldoTutorial

EnvienosSeuFeedback
Paraenviarcomentriosesugestes,obtersuporteemanterseinformadosobreosdesenvolvimentos
maisrecentesdasfuncionalidadesdedesenvolvimentoPHPdoNetBeansIDE,junteselistade
correspondnciausers@php.netbeans.org.
VoltarTrilhadeAprendizadoPHP

Você também pode gostar