Boekbespreking: Beginnen met PHP4 Databases

ArticleCategory: [Choose a category for your article]

Webdesign

AuthorImage:[Here we need a little image from you]

Alessandro

TranslationInfo:[Author and translation history]

original in it Alessandro Pellizzari

it to en Alessandro Pellizari

en to nl Christ Verschuuren

AboutTheAuthor:[A small biography about the author]

Alessandro is geruime tijd werkzaam als Linux System Administrator en Programmeur, nadat hij tot zijn tevredenheid verschillende Amiga computers had gebruikt. Hij is voornamelijk geïnteresseerd in PHP, Python en programmeren in C, maar ook altijd op zoek naar nieuwe interessante gebieden in de computerwereld.

Abstract:[Here you write a little summary]

Dit artikel is een recensie van het nieuwe Wrox boek over implementeren en gebruik van database systemen met PHP4.

ArticleIllustration:[This is the title picture for your article]

[Illustratie]

ArticleBody:[The article body]

Introductie

Tegenwoordig is de meerderheid van de PHP web sites gebaseerd op een of meerdere databases. Maar hoeveel van de programmeurs weten echt hoe een relationele database werkt, de mogelijkheden die zij bieden, hoe ze de datatoegang kunnen optimaliseren en de object-gerelateerde extensies?

Dit boek is een goed startpunt voor programmeurs die een database-georiënteerde web applicatie willen bouwen, door de lezer de noodzakelijk grondslagen voor de keuze van de te gebruiken database te verschaffen en de technieken om de beste tabelstructuur en toegansmethode te kiezen.

Structuur van het boek

Het boek bestaat uit 13 hoofdstukken en 3 bijlagen, plus een veertiende hoofdstuk dat online beschikbaar is op Wrox.

Na een korte introductie waarin de structuur van het boek wordt weergegeven en de online bronnen worden genoemd, is het eerste hoofdstuk een snelle inleiding in PHP die alleen het object-georiënteerde deel van de taal diepgaand behandeld. Het tweede hoofdstuk richt zich op de kenmerken van databases, verklaard de verschillende DB modellen en hun ontwikkeling in de tijd om uit te komen bij de moderne RDBMS, hun object-extensies en de XML-databases. Het hoofdstuk gaat verder door de toegang tot databases met PHP te raken, het noemt de ondersteunde databases en de PHP compileer-opties om ze te ondersteunen.

Vanaf hoofdstuk drie gaat het boek in op de database structuur, verklaard tabel standaardisatie en geeft een korte inleiding in Entiteit-Relatie diagrammen om in hoofdstuk vier en vijf een diepgaander uitleg te geven over SQL, respectievelijk het beschrijven van structuurontwikkeling en data invoer, wijzigen en opvragen. Het zesde hoofdstuk ten slotte introduceert typische RDBMS karakteristieken als referentiële integriteit, triggers en transacties.

Hoofdstuk zeven gaat terug naar PHP programmering met een discussie over de wijze waarop geavanceerde SQL queries in PHP scripts kunnen worden geïntegreerd, daarbij onder meer: cursors, triggers, views en indexen beschrijvend. In hoofdstuk acht vinden we een introductie in multi-tier ontwikkeling met PHP en een analyse van de beschikbare functie en klasse bibliotheken die er zijn voor database toegang. Hoofdstuk negen gaat dieper in op de uitleg van PEAR::DB, welke gebruikt zal worden voor de voorbeelden in de rest van het boek.

Hoofdstuk tien is geheel gewijd aan een case: een PEAR-DB gebaseerde applicatie voor facturering en het verwerken van betalingen, die start met de analyse van het probleem, tot en met het opzetten van de tabeldefinities en tot slot het schrijven van applicatiecode.

Het volgende hoofdstuk is op een zelfde wijze gestructureerd en heeft betrekking op een bibliotheekmanagement systeem, gebruik makend van object-georiënteerde relationele databases, in het bijzonder PostgreSQL. Het begint weer met de probleemanalyse, dan het opzetten van de tabelstructuur, maar de applicatiecode is, in verband met de beperkte ruimte, alleen beschikbaar op de Wrox website.

Vanaf hoofdstuk twaalf verschuift het accent naar XML databases, de voor- en nadelen aangevend in verhouding tot relationele databases. Er is een lijst met verschillende toepassingen, zowel commercieel als vrije toepassingen, en uit eindelijk wordt Xindice van de Apache Software Foundation bediscussieerd.
De uitleg strekt zich uit van de aanmaak van de database tot het vullen hiervan met behulp van XML documenten, het analyseren met XPath en XUpdate technologieën voor data query en data update, daarmee een korte inleiding gevend in het opkomende XQuery.

Hoofdstuk dertien hanteert weer de structuur van de hoofdstukken tien en elf, vanaf het bestuderen van de probleemanalyse tot de realisatie van een applicatie voor het uitwisselen van recepten, met afzonderlijke toegang voor gewone gebruikers en de beheerder.

De bijlagen zijn voornamelijk gewijd aan database administratie, data backup strategieën, optimalisatie, PHP database toegangsfuncties en Apache, PHP en iODBC installatie onder Linux/Unix.

Voors

De auteurs gaan niet al te diep in op de syntax of een PHP introductie (waarvoor andere boeken bestaan), zoals sommige andere schrijvers, maar richten zich vanaf het begin op het hoofdonderwerp: databases en PHP integratie.
De voorbeeldcode is duidelijk en goed toegelicht, zowel in-line als out-of-code.
In de vorbeelden vindt je volop bruikbare tips en trucks.
De internet pagina van het boek (zie de referenties aan het einde van het artikel) is nuttig om errata te vinden en de broncode van de voorbeelden in het boek te downloaden en het bevat een voorbeeld van een hoofdstuk uit het boek om je een beeld te vormen.

Tegens

Er zitten een aantal typefouten in de tekst, die misschien vervelend kunnen zijn voor niet-engelstalige lezers, maar deze fouten zitten niet in de code, zodat de voorbeelden geen problemen geven.
Op de website van het boek vindt de errata met de verbeteringen (zie de referenties aan het einde van het artikel).
Er is (nog) geen "Professional PHP4 Databases", en voor echt bijzondere gevallen is er behoefte aan een verdergaande analyse van sommige argumenten, die vanwege hun complexiteit niet zijn opgenomen in dit boek, vanwege het beginners-karakter ervan.

Conclusies

Het boek schiet in de roos, omdat het een goede basis vormt voor database gebruik in PHP-applicaties en een goede technische analyse bevat met betrekking tot tabelstructuren.
Een groot aantal van de onderwerpen in dit boek worden maar al te vaak genegeerd door programmeurs die, zouden ze er wel rekening meehouden, grote voordelen zouden geven met betrekking tot beveiliging, structuur en snelheid.

Dit boek wordt van harte aanbevolen aan eenieder die wil beginnen met het gebruik van databases in PHP4-applicaties, maar nog meer voor hen die ze al gebruiken maar nooit een goede opleiding hebben ontvangen voor het efficiënte gebruik van de databases.

Referenties