Article View: be.comp.programming
Article #12163Re: relationele vs niet relationele db
From: David Jacobs
Date: Tue, 27 Nov 2001 11:17
Date: Tue, 27 Nov 2001 11:17
68 lines
4073 bytes
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-mailReferences:
<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/)