🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12163

Re: relationele vs niet relationele db

#12163
From: David Jacobs
Date: Tue, 27 Nov 2001 11:17
68 lines
4073 bytes
In artikel <PMxM7.57443$XM4.3648@afrodite.telenet-ops.be>, "Yannick
Ongena" <yanongena@pandora.be> schreef:

> Ik ben momenteel bezig met databaseprogramming maar ik heb nog in geen
> enkele boek een deftige uitleg gevonden voor het verschil tussen een
> relationele en niet relationele database, kan iemand mij die uitleg
> geven aub????
> 
> 
> 
Naast het relationele DB-model bestaan er een hele reeks modellen. De
belangrijkste zijn/waren:
	- hi�rarchische model (heeft zeer veel succes gekend, en wordt meestal
gebruikt in legacy software)
	- CODASYL model (laat toe om een netwerkstructuur te implementeren, maar
kent toch nog heel wat beperkingen)
	- OO model (laat toe om niet alleen data, maar ook gedrag te
implementeren in een DB)

De meest gebruike modellen in nieuwe software zijn de OO-modellen en de
relationele modellen, en men probeert de beiden te combineren.

IMHO is het grote verschil van relationele DBs met niet-relationele DBs,
dat relationele DBs gebaseerd zijn op wiskundige relaties.

Zo'n relatie besetaat uit een aantal attributen. Andere namen voor relatie
en attributen (die bijvoorbeeld bij SQL gebruikt worden) zijn tabel en
kolom. (Ik neem het voorbeeld van hoger in de thread):

klant ( id, name_first, name_last, street, zip, city)

is bijvoorbeeld ��n relatie. In elke relatie is er een primaire sleutel
die een relatie uniek bepaald (dus zijn geen twee rijen in de tabel die
dezelfde waarde hebben voor die attirbuut). In het vb. kan `id' als
primaire sleutel genomen worden. Nemen we nu de andere tabel/relatie:

sales ( invoice_id, klanten_id, item_id, date, support)

Sleutelattribuut is hier invoice_id. Naast een sleutelattribuut bestaan er
nog een ander belangrijk attribuut: een referenti�le attribuut, of een
vreemde sleutel. Dus een attribuut die naar een kolom (attribuut) verwijst
van een bepaalde tabel (relatie). Hier is `klanten_id' de vreemde sleutel
die verwijst naar de attirbuut `id' in de relatie `klant'. (Elke attribuut
moet natuurlijk gespecifieerd worden voor de DB.)

Stel nu dat er een rij bestaat in de tabel `klant':

( 123, Joske, Vermeulen, ...) (Dus de id, dan name_first, name_last, ..) (
124, Franske, Vermaelen, ...)

En in de tabel `sales':

( 01034, 123, schroef, 12/1/2001, ...) ( 01101, 124, schroef, 19/3/2001,
...) ( 01156, 123, vijs, 08/5/2001, ...)

De relatie tussen de tabellen wordt dus gelegd via de vreemde sleutels en
de waarde daarvan die overeenkomen met de waarde van de primaire sleutel.

In andere modellen worden relaties vaak met pointers ge�mplementeerd.

Als je meer info zoekt, kan ik het boek `DataBase ManagementSystemen'
aanbevelen van Prof. Vandenbulcke. (Je moet er wel een klein bedrag voor
overhebben. Het boek is niet al te goedkoop, maar qualitatief zeer goed,
en nederlandstalig.)

Groeten,

David
Technical Details
Message-ID: <20011127.121721.502278611.306@student.kuleuven.ac.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.251.151.101!opentransit.net!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
References: <PMxM7.57443$XM4.3648@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,50f4dac4336ae694
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-11-27 03:17:19 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.251.151.101!opentransit.net!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
From: "David Jacobs" <david.jacobs@student.kuleuven.ac.be>
Newsgroups: be.comp.programming
Subject: Re: relationele vs niet relationele db
Date: Tue, 27 Nov 2001 12:17:24 +0100
Organization: KULeuvenNet
Lines: 68
Message-ID: <20011127.121721.502278611.306@student.kuleuven.ac.be>
References: <PMxM7.57443$XM4.3648@afrodite.telenet-ops.be>
NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: naxos.belnet.be 1006859834 14846 134.58.127.12 (27 Nov 2001 11:17:14 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Tue, 27 Nov 2001 11:17:14 +0000 (UTC)
User-Agent: Pan/0.9.7 (Unix)
Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@10-4-4-170.kotnet.org
X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)