De Relationele database, het hart van SaaS


database

Relationele database

Een relationele database is een set formeel beschreven tabellen waaruit we data op veel verschillende manieren kunnen openen of opnieuw samenstellen. Dit zonder dat we de databasetabellen opnieuw hoeven te rangschikken. De standaard gebruikers- en Applicatie-Programmeer- Interface (API) van een relationele database is de Structured Query Language (SQL). SQL-instructies gebruiken we zowel voor interactieve query’s voor informatie uit een relationele database als voor het verzamelen van data voor rapporten.

Wat zit er in een relationele database?

De relationele database is in 1970 uitgevonden door E F Codd, toen een jonge programmeur bij IBM. In zijn artikel ‘Een relationeel gegevensmodel voor grote gedeelde databanken’ stelde Codd namelijk voor om over te schakelen van het opslaan van data in hiërarchische of navigatiestructuren naar het organiseren van data in tabellen met rijen en kolommen.

Opbouw tabellen

  • Elke tabel in een relationele database bevat een of meer data categorieën in kolommen of attributen.
  • Iedere rij bevat een uniek exemplaar van de data of sleutel voor de categorieën die door de kolommen worden gedefinieerd.
  • Elke tabel heeft bovendien een unieke primaire sleutel, die de informatie in een tabel identificeert.
  • De relatie tussen tabellen kunnen we vervolgens instellen met behulp van externe sleutels. Dit is een veld in een tabel dat is gekoppeld aan de primaire sleutel van een andere tabel.

Constrains

Wanneer we een relationele database maken, kunnen we het domein van mogelijke waarden in een gegevenskolom definiëren. Even als verdere constrains die op die gegevenswaarde van toepassing kunnen zijn. Een domein van mogelijke klanten kan bijvoorbeeld maximaal 10 mogelijke klantnamen toestaan. Maar kan in één tabel worden beperkt zodat slechts drie van deze klantnamen kunnen worden gespecificeerd. Twee constrains hebben betrekking op gegevensintegriteit en de primaire en externe sleutels:

  • Entiteitsintegriteit zorgt ervoor dat de primaire sleutel in een tabel uniek is. En tevens dat de waarde niet op nul is ingesteld.
  • Referentiële integriteit vereist dat we elke waarde in een kolom met een externe sleutel kunnen vinden in de primaire sleutel van de tabel waaruit deze afkomstig is.

Relationele database voorbeeld

Een typische database voor het invoeren van bedrijfsorders zou bijvoorbeeld een tabel bevatten met een klant met kolommen voor naam, adres, telefoonnummer enzovoort. Een andere tabel beschrijft echter een bestelling: product, klant, datum, verkoopprijs enzovoort. Een gebruiker van een relationele database kan vervolgens een weergave van de database krijgen die aan zijn behoeften voldoet. Een filiaalmanager kan een rapport leuk vinden over alle klanten die na een bepaalde datum producten hebben gekocht. Een finance manager zou uit dezelfde tabellen echter een rapport kunnen verkrijgen over rekeningen die we moeten betalen.

Dataconsistentie

Het relationele model gebruiken we voor het handhaven van de consistentie van data tussen verschillende SaaS applicaties. Als een klant geld opneemt en vervolgens kijkt naar het rekeningsaldo, verwacht hij dat die opname onmiddellijk te zien is. Relationele databases blinken uit in dit soort consistentie van data, zodat meerdere instances van een database altijd dezelfde data hebben.

Dit soort eigenschappen maar de relationele datebase zeer geschikt voor SaaS toepassingen. Bij andere soorten databases is het namelijk moeilijk om deze mate van actuele consistentie te handhaven bij grote hoeveelheden data.

Opgeslagen procedures en relationele databases

Bij toegang tot data worden veel repetitieve handelingen uitgevoerd. Een query om informatie uit een datatabel te halen zal zich honderden keren herhalen om het gewenste resultaat te produceren. Deze functies voor toegang tot de data vereisen bovendien een bepaald type programmacode voor toegang tot de database. Applicatieontwikkelaars willen echter niet voor elke nieuwe SaaS applicatie nieuwe programmacode schrijven voor deze functies. Gelukkig is het in relationele databases mogelijk opgeslagen procedures te gebruiken. Dit zijn blokken met programmacode die toegankelijk zijn via een eenvoudige oproep vanuit de SaaS applicatie. Met één enkele opgeslagen procedure kunnen we er bijvoorbeeld voor zorgen dat we records consistent toepassen binnen meerdere SaaS applicaties. Opgeslagen procedures kunnen ook helpen erop toe te zien dat bepaalde datafuncties in de SaaS applicatie juist zijn geïmplementeerd.

Voordelen van relationele databases

Het belangrijkste voordeel van relationele databases is dat gebruikers hiermee gemakkelijk data kunnen categoriseren en opslaan die we later kunnen opvragen en filteren om specifieke informatie voor rapporten te extraheren. Relationele databases zijn ook eenvoudig uit te breiden en zijn niet afhankelijk van fysieke organisatie. Nadat de originele database is gemaakt, kunnen we een nieuwe data categorie toevoegen zonder dat we alle bestaande SaaS applicaties hoeven te wijzigen.

Grote voordelen van relationele databases voor SaaS applicaties zijn:

  • Nauwkeurigheid: data worden slechts eenmaal opgeslagen, waardoor we de duplicatie van data elimineren.
  • Flexibiliteit: gebruikers kunnen complexe zoekopdrachten eenvoudig uitvoeren.
  • Samenwerking: meerdere gebruikers hebben toegang tot dezelfde relationele database.
  • Deelbaarheid: meerdere SaaS toepassingen kunnen gebruik maken van dezelfde relationele database.
  • Vertrouwen: relationele databasemodellen zijn volwassen en breed ingevoerd.
  • Beveiliging: toegang tot data kunnen we binnen een RDBMS beperken en alleen bepaalde gebruikers toegang te verlenen.
LinkedIn GroupDiscussieer mee op LinkedIn.
Samenvatting
De Relationele database, het hart van SaaS
Artikel
De Relationele database, het hart van SaaS
Beschrijving
Een relationele database is een set formeel beschreven tabellen waaruit we data op veel verschillende manieren kunnen openen of opnieuw samenstellen. Dit zonder dat we de databasetabellen opnieuw hoeven te rangschikken. De standaard gebruikers- en Applicatie-Programmeer- Interface (API) van een relationele database is de Structured Query Language (SQL).
Auteur
Publisher Naam
ITpedia
Publisher Logo
Sidebar