Een database maken: Excel versus Access
Voor een goede bedrijfsvoering is een goede database onontbeerlijk. Je moet je data ergens opslaan; de data moeten goed opvraagbaar zijn en het is prettig wanneer je de data kunt analyseren. Nu kun je hiervoor een kant-en-klaar systeem aanschaffen, maar het is óók goed mogelijk om zelf een database te bouwen!
In onderstaande blog laten wij zien dat je zowel in Excel als in Access heel goed zelf een database kunt bouwen. Een database in Excel is relatief gemakkelijk, omdat je wellicht al ervaring hebt met het werken in Excel. Toch kun je ook tegen problemen aanlopen in Excel. Het gebruiksvriendelijke databaseprogramma Access biedt dan een oplossing.
Een database in Excel
Bij veel ondernemers is de eerste vraag of je kiest voor een database in Excel of in Access. Afhankelijk van de hoeveelheid records (dit is het aantal gegevens dat je hebt) en de complexiteit van je gegevens, kun je heel goed een database maken in Excel. Bovendien kun je in Excel de gegevens analyseren. Dit doe je door bijvoorbeeld de gegevens te filteren of er een draaitabel van te maken.
Een voordeel van een database in Excel is dat je dit programma waarschijnlijk al vaker gebruikt en dus meer ervaring hebt met de verschillende mogelijkheden. Omdat je in Excel bijna 1,5 miljoen rijen kwijt kunt, is de hoeveelheid gegevens voor de meeste mensen meer dan voldoende. Ook kun je werken met gegevensvalidatie om een correcte invoer af te dwingen.
ONZE TIP: wil je meer weten over gegevensvalidatie? Lees dan onze blog Keuzelijst in Excel.
Het nadeel van een database in Excel: normalisatie
Ondanks het feit dat je in Excel eenvoudig een database kunt maken en bijhouden, loop je al snel tegen een aantal problemen aan.
Het nadeel van een database in Excel is dat deze in principe uit één tabel bestaat. Wanneer er meerdere werkbladen zijn, zijn deze meestal niet gekoppeld. Wanneer je de database op een goede manier wilt bijhouden, betekent dit in Excel dat je veel extra werk hebt bij het invoeren van gegevens.
Wanneer je bijvoorbeeld in een database van één tabel de verkopen van jouw klanten bijhoudt, zul je al snel merken dat je alle gegevens opnieuw moet invullen wanneer een klant voor de tweede keer iets koopt. Je moet bijvoorbeeld de naam en het adres iedere keer opnieuw invullen. Dit is natuurlijk zonde van je kostbare tijd én het is foutgevoelig.
Een goed ontworpen database is Genormaliseerd. Eenvoudig gezegd betekent dit, dat gegevens niet meerdere malen in een database mogen voorkomen. In onderstaande tabel zijn de gegevens die meerdere keren in de tabel voorkomen geel gemaakt.

De oplossing in Access: Unieke sleutel
Wanneer je tegen bovenstaand probleem aanloopt, kun je beter overstappen naar een databaseprogramma. Een heel gebruiksvriendelijk databaseprogramma is Access.
In Access kun je een genormaliseerde database maken. Een genormaliseerde database bestaat uit twee of meer tabellen. Een tabel met de adresgegevens van jouw klanten en bijvoorbeeld een tabel van de verkopen. Deze tabellen kun je vervolgens aan elkaar koppelen. Dit doe je met behulp van de zogenaamde Unieke sleutel.
Een Unieke sleutel is een uniek veld. Denk bijvoorbeeld aan de klantnaam, een klantnummer of een andere unieke code. In ons voorbeeld gebruiken wij de klantnaam als Unieke sleutel. Doordat je een Unieke sleutel hebt, kun je verschillende tabellen gemakkelijk aan elkaar koppelen. Door tabellen in Access te koppelen, kun je later een query maken met gegevens uit beide tabellen. Je kunt dan bijvoorbeeld kijken welke producten (tabel Verkopen) in welke regio’s (tabel Klanten) het best verkopen.

Referentiële integriteit afdwingen in Access
Of je nu met Excel of met Access werkt, in beide databases is data-integriteit enorm belangrijk. Een typefout in een bedrijfsnaam kan verregaande gevolgen hebben. In Access kun je data-integriteit afdwingen bij het leggen van de relatie.

In de afbeelding hierboven zie je een dergelijk voorbeeld. Bovenstaande relatie noemen wij een Een op veel-relatie. Deze relatie kun je herkennen aan het getal 1 bij de tabel Klanten en het oneindigheidsteken (∞) bij de tabel Verkopen.
Naast de Een op veel-relatie bestaat de Een op een-relatie. Dit betekent dat voor ieder record in de eerste tabel er ook maar één record in de tweede tabel bestaat. Daarnaast bestaat ook de Veel op veel-relatie.
Wij hebben bovenstaande relatie in Access gemaakt door het veld Klantnaam uit de tabel Klanten te slepen naar het veld Klantnaam in de tabel Verkopen. Bij het loslaten van de muis verschijnt het volgende venster:

In dit venster hebben wij een vinkje geplaats bij de optie Referentiële integriteit afdwingen. Dit houdt in dat het alleen toegestaan is om een record in te voeren in de tabel Verkopen als de klantnaam bestaat in de tabel Klanten. Bestaat de klantnaam niet in de tabel Klanten, dan is het dus niet mogelijk om de verkoop in te voeren. Je moet dan eerst de tabel Klanten bijwerken en pas daarna kun je de verkoop invoeren.
Daarnaast hebben wij het veld Gerelateerde velden trapsgewijs bijwerken aangevinkt. Wanneer een klantnaam verandert, hoef je dit alleen in de tabel Klanten aan te passen. Alle gerelateerde tabellen worden dan automatisch bijgewerkt. In het onderstaande voorbeeld wordt bij de wijziging van de klantnaam in de tabel Klanten zowel de tabel Verkopen als de tabel Contactpersonen bijgewerkt.

Door de tabellen te koppelen kun je vervolgens vrijwel iedere vraag beantwoorden die aan de database wordt gesteld. In de onderstaande query zie je de verkopen per plaats, per product en wat de inkoopprijs is van dit product!

Over deze gegevens kun je vervolgens in Access allerlei berekeningen uitvoeren, maar dit onderwerp laten wij buiten beschouwing in deze blog.
Wil je zelf een database bouwen in Access, of heb je hulp nodig bij het bouwen van een database? Volg dan een van onze trainingen. Of laat een van onze docenten jou helpen met het bouwen van jouw database!