maandag 1 februari 2010

Van Excel naar mysql-database

Vorige week zat er een klant met het verzoek of we z'n productgegevens niet in z'n webwinkel kunnen opnemen. Eigenlijk zat alle informatie al een in uitgebreide spreadsheet, een rekenblad van Excel. En het liefst zou hij zelf dat excel-blad blijven gebruiken. Zo is-t-ie dat gewend.

Natuurlijk is het allemaal gemakkelijker te beheersen in een database met een cms. Maar dat is prijziger dan deze klant er vooralsnog voor over heeft.

Gelukkig weten onze database-programmeurs altijd een passende oplossing te verzinnen.
In dit geval werd eerst op basis van een data-analyse een relationele database ontworpen. Dat is een database met tabellen waarin alles wat meer dan één keer voorkomt met hulp-tabellen aan elkaar gekoppeld wordt. Dat is nodig om het beheersbaar te houden: Geen dubbelingen, via via is alles weer gekoppeld. Ook werd de structuur van het excel-bestand daar enigszins aan aangepast.

Daarna werd een verwerkingsscript ontwikkeld waarmee het excel-bestand uitgelezen wordt. Met dit php-script wordt vervolgens , "on the fly" zoals dat heet, de gehele inhoud van het excel-bestand omgezet in de structuur van de relationele database en tot slot ingevoerd in de mysql-database. De eenheden in het excel-bestand krijgen eerst een eigen tabel. Koppelingen worden gelegd met allerlei eigenschappen van die eenheden.

Uiteindelijk ontstaat op deze wijze de database die goed te onderhouden is en waaruit afhankelijk van waar je bent in de webwinkel en de keuzen die je maakt, alle benodigde informatie te presenteren is.

Voor de klant vatte ik dit proces als volgt samen: Jij blijft vooralsnog werken met je excel-bestand, maar dan moet je wel van nu af aan de door ons aangepaste versie gaan gebruiken.
Wij verzorgen de omzetting van jouw gegevens naar de database.
Daarmee zijn jouw gegevens steeds de basis voor de webwinkel. Alle acties daarbinnen, komen vcort uit de gegevens die je zelf hebt aangeleverd.
Wil je dus veranderingen, dan moet je je excelbestand opnieuw aan ons aanleveren.

Om een lang verhaal kort te maken: Door een heldere analyse van de gegevens maakten we vervolgens een snelle database. Voor de klant verandert er bijna niets, maar hij heeft wel vrijwel direct de mogelijkheid om z'n winkel aan te passen. Nadeel is dat wij er altijd tussen moeten zitten.

Alleen van een cms mag je meer verwachten.

Rene (kant)


________

Geen opmerkingen:

Een reactie posten