Wat is een relationele database?
Een relationele database is een type database dat gegevenspunten opslaat en organiseert met gedefinieerde relaties voor snelle toegang. In een relationele database worden gegevens ingedeeld in tabellen die informatie over elke entiteit bevatten en vooraf gedefinieerde categorieën vertegenwoordigen via rijen en kolommen. Door gegevens op deze manier te structureren, worden ze efficiënt en flexibel toegankelijk. Daarom worden relationele databases het meest gebruikt. Relationele databases zijn ook gebouwd om inzicht te krijgen in Structured Query Language (SQL), een gestandaardiseerde programmeertaal die wordt gebruikt om gegevens op te slaan, te manipuleren en op te halen. SQL heeft een ingebouwde taal voor het maken van tabellen met de naam Data Definition Language (DDL) en een taal voor het bewerken van gegevens met de naam Data Manipulation Language (DML).
Wat betekent relationeel? Relationeel betekent dat een relatie wordt aangegeven of gevormd. In de context van databases is de manier waarop we relationeel definiëren vooral van toepassing op de gegevens zelf. Gegevenssets die relationeel zijn, hebben vooraf gedefinieerde relaties tussen deze gegevenssets. Een database met klantgegevens voor een bedrijf kan bijvoorbeeld ook afzonderlijke transactiegegevens bevatten die aan elk account zijn gekoppeld. Relationele databases richten zich op de relatie tussen opgeslagen gegevenselementen.
Kenmerken van relationele databases:
-
Relationele databases bestaan uit meerdere entiteiten
-
Standard Query Language (SQL) is de standaardinterface voor relationele databases
-
Relationele databases zijn zeer gestructureerd en worden weergegeven met behulp van een schema (logisch en fysiek)
-
Relationele databases verminderen gegevensredundantie
Hoe relationele databases werken
Relationele databases gebruiken doorgaans tabellen met gegevens die zijn geordend in rijen (met entiteiten) en kolommen (met entiteitskenmerken). Dit proces wordt normalisatie genoemd. Elke rij bevat een unieke id of sleutel waarmee tabellen aan elkaar worden gekoppeld om een relatie tot stand te brengen. Wanneer er een query wordt uitgevoerd op een relationele database, wordt de sleutel gebruikt om gerelateerde gegevens in gegevenssets te vinden. Een technologische helpdesk kan bijvoorbeeld klantinteracties willen bijhouden op type probleem, tijdsduur voor probleemoplossing en klanttevredenheid. Wat in deze database een relatie maakt en de tabelstructuur goed laat functioneren, is de eenduidige klant-id.
Voorbeelden van relationele databases
Relationele databases zijn nuttig voor elke informatiebehoefte waarbij gegevenspunten aan elkaar gerelateerd moeten worden en deze ook op een consistente, veilige, op regels gebaseerde manier moeten worden beheerd. Daarom zijn relationele databases het populairst onder bedrijven en ondernemingen. Wanneer bedrijven inzichten willen halen uit hun eigen gegevens, vertrouwen ze op relationele databases voor het genereren van nuttige analyses. Veel van de rapporten die bedrijven genereren om inventaris, financiën, verkoop of toekomstige projecties bij te houden, worden gemaakt met behulp van relationele databases.
Hoe worden gegevens in een relationele database georganiseerd? Gegevens in relationele databases worden opgeslagen, doorzocht en opgehaald uit tabellen met relaties. In een relationele database definieert het databaseschema hoe gegevens zowel logisch als fysiek worden georganiseerd.
Relationele databases hebben een zogeheten consistentiemodus of integriteit die is gebaseerd op vier criteria: atomiciteit, consistentie, isolatie en duurzaamheid (ACID). Dit is de waarde van elke ACID-database-eigenschap:
- Atomiciteit definieert de elementen waaruit een volledige transactie bestaat.
- Consistentie definieert de regels voor het onderhouden van gegevensintegriteit na een transactie.
- Isolatie houdt de effecten van transacties onzichtbaar voor anderen, zodat ze niet met elkaar in conflict komen.
- Duurzaamheid zorgt ervoor dat gegevenswijzigingen permanent worden na elke doorgevoerde transactie.
Deze criteria maken relationele databases nuttig in toepassingen die een hoge nauwkeurigheid vereisen, zoals bij financiële en detailhandeltransacties, ook wel bekend als OLTP (Online Transaction Processing). Financiële instellingen zijn afhankelijk van databases om enorme hoeveelheden klanttransacties bij te houden, van het opvragen van saldo's tot overschrijvingen tussen rekeningen. Een relationele database is ideaal voor bankieren omdat deze is gebouwd om een groot aantal klanten, frequente gegevenswijzigingen door transacties en snelle reactietijden te verwerken.
Voorbeelden van relationele databases zijn SQL Server, Azure SQL Managed Instance, Azure SQL Database, MySQL, PostgreSQL en MariaDB.
Basisconcepten voor relationele gegevens verkennenDe basisconcepten voor relationele gegevens verkennen in deze zelfstudie van Microsoft Learn.
Wat is een MySQL-relationele database?
MySQL (My Structured Query Language) is een algemene opensource relationele SQL-database die alle eenvoudige SQL-opdrachten uitvoert, zoals het schrijven en opvragen van gegevens. MySQL is een betrouwbaar, stabiel en veilig databasebeheersysteem (Database Management System of DBMS), dat veel wordt gebruikt omdat het de meeste toonaangevende programmeertalen en protocollen ondersteunt. MySQL is zo robuust dat het wordt gebruikt als het primaire gegevensarchief voor veel grote organisaties. MySQL is ook geschikt als een ingesloten database voor software, hardware en apparaten.
MySQL-relationele databases bevatten doorgaans beveiligde en flexibele beveiligingsfuncties, zoals verificatie op basis van een host en met een wachtwoord versleuteld verkeer. Webontwikkelaars geven vaak de voorkeur aan MySQL omdat het eenvoudig te gebruiken is en productiviteitsfuncties bevat, zoals weergaven die kunnen worden bijgewerkt, opgeslagen procedures en triggers (speciale procedures die worden uitgevoerd wanneer specifieke acties worden uitgevoerd op de databaseserver). MySQL is een populaire transactionele engine voor e-commerceplatforms omdat het goed werkt voor het beheren van zaken zoals transacties, klantprofielen en informatie over productinventaris. MySQL is ontworpen om zeer compatibel te zijn met andere systemen en ondersteunt ook implementatie in gevirtualiseerde omgevingen zoals cloudplatforms.
Wat is een Relational Database Management Systeem?
Relational Database Management Systemen helpen gegevens op schaalbare wijze te beheren. Relationele databases zijn ontworpen voor het beheren van grote hoeveelheden bedrijfskritieke klantgegevens. Naarmate gegevens in een database echter toenemen en complexer worden, wordt het steeds moeilijker om alles georganiseerd, toegankelijk en beveiligd te houden. Dan is het tijd voor databasebeheersystemen (DBMS) om een laag beheerhulpprogramma's voor relationele tabellen toe te voegen. Net als verschillende databasestructuren bieden verschillende beheersystemen verschillende niveaus van organisatie, schaalbaarheid en toepassing. Wanneer beheerders werken met grote hoeveelheden gestructureerde en niet-gestructureerde gegevens die in realtime worden ontvangen, helpen relationele databasebeheersystemen hen bij het analyseren en samenvoegen van de gegevens om vooraf gedefinieerde relaties te vinden. Het beheren van gegevens met een RDBMS creëert de hoogste waarde voor bedrijven omdat de gegevens die worden gebruikt in meerdere toepassingen of die zich op meerdere locaties bevinden, beter beheerbaar zijn.
Een RDBMS maakt gebruik van software die een consistente interface biedt tussen gebruikers en toepassingen en de database, waardoor navigatie veel eenvoudiger wordt voor gegevensgebruikers. Dit is met name effectief bij het werken met big data omdat het gegevensvolume dergelijke consistentie dicteert voor gebruikers die deelnemen aan query's. De keuze voor een DBMS is afhankelijk van waar de gegevens zich bevinden, het type architectuur dat wordt gebruikt en hoe je van plan bent om schalen.
Wat is een relationeel databasemodel?
Een relationeel databasemodel is doorgaans zeer gestructureerd en begrijpt de SQL-programmeertaal. Veel databases gebruiken een relationeel model omdat ze zijn ontworpen om gegevens te ordenen en relaties tussen belangrijke gegevenspunten te identificeren, zodat je eenvoudig informatie kunt sorteren en vinden. De meeste relationele modellen volgen de traditionele tabelstructuur op basis van kolommen en rijen en bieden een efficiënte, intuïtieve en flexibele manier om gestructureerde gegevens op te slaan. Het relationele model lost ook het probleem op van meerdere willekeurige gegevensstructuren in databases.
Relationele databasemodellen kunnen variëren van kleine desktopsystemen tot grote cloudsystemen. Ze gebruiken een SQL database of ze kunnen SQL-instructies voor aanvragen en updates verwerken. Relationele modellen worden gedefinieerd door logische gegevensstructuren (tabellen, indexen en weergaven) en worden gescheiden van fysieke opslagstructuren (fysieke bestanden). Gegevensconsistentie is een kenmerk van relationele databasemodellen, omdat deze gegevensintegriteit behouden in toepassingen en databasekopieën, ook wel exemplaren genoemd. Bij een relationele modeldatabase hebben meerdere exemplaren van een database altijd dezelfde gegevens.
Relationele databases die in de cloud zijn ontworpen, worden automatisch geconfigureerd voor hoge beschikbaarheid. Dit betekent dat de gegevens worden gerepliceerd of gekopieerd op meerdere leden waarbij elk lid zich in afzonderlijke beschikbaarheidszones bevindt. Op deze manier zijn gegevens nog steeds toegankelijk, zelfs als een afzonderlijk datacenter niet beschikbaar is.
Big data en relationele databases
Traditionele relationele databases zijn gebouwd om grote hoeveelheden gestructureerde gegevens te verwerken. Dit maakt relationele databases bijzonder geschikt voor gestructureerde big data, omdat ze vertrouwen op SQL en gebruik kunnen maken van databasebeheersystemen om de gegevens te beheren. De grotere, complexere gegevenssets van big data bevatten echter steeds meer variatie, wat betekent dat gegevens steeds minder gestructureerd worden en afkomstig zijn uit nieuwe bronnen. Dit vraagt vaak om het gebruik van niet-relationele databases (of ook wel NoSQL-databases genoemd), waarmee grote hoeveelheden snel veranderende, ongestructureerde gegevens op andere manieren kunnen worden verwerkt dan in een relationele (SQL) database met rijen en tabellen.
Veelgestelde vragen
-
Een relationele database maakt gebruik van Structured Query Language (SQL) om gegevens te ordenen en doorzoekbaar te maken in tabelstructuren die zijn gekoppeld aan gerelateerde informatie.
-
Een Relational Database Management Systeem (RDBMS) maakt gebruik van software voor het beheren en bewaken van gegevens in de database.