🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
5 messages
5 total messages Started by Fons Thu, 08 Jun 2006 17:55
OT: database-vraagjes
#10
Author: Fons
Date: Thu, 08 Jun 2006 17:55
41 lines
2426 bytes
Hallo,

Enkele vraagjes over het degelijk opzetten van een database aangezien ik 
nooit een dergelijke opleiding heb genoten:

===========
Probleem 1
===========

Stel ik wil een tabel met personen maken. Sommige van die personen hebben 
meerdere telefoonnummers

* mogelijkheid 1: ik maak "voldoende" (wat dat ook moge wezen) verschillende 
velden om de telefoonnummers te herbergen. voordeel: alles zit in 1 tabel, 
nadeel: vele cellen zijn leeg, inefficiente opslag en gewoon "lelijk", of 
niet?

*�mogelijkheid 2: ik stop telefoonnummers in een aparte tabel, waarbij ik 
telefoonnummers aan persoonid's koppel. voordeel: efficiente opslag, 
mogelijkheid tot toevoegen van andere aspecten van telefoonnummers (bvb het 
is een gsm-nummer). nadeel: opvragen van alle persoonsgegevens is iets 
bewerkelijker.

Zijn er nog andere mogelijkheden, welke geniet jouw voorkeur?

===========
Probleem 2)
===========

Stel ik wil via een webinterface mensen records laten toevoegen of 
verwijderen. Is het mogelijk om dat verwijderen uit te stellen tot een of 
andere bevestiging wordt gegeven? Of moet ik dat zelf implementeren door 
bijvoorbeeld records een veld "actief" mee te geven en bij het verwijderen 
records inactief te maken zonder ze (vooralsnog) echt te DELETE-en. Andere 
mogelijkheden?

Thx,

Fons

PS: als dat iets uitmaakt, ik gebruik MySQL 4.1.20
Re: OT: database-vraagjes
#11
Author: John Bokma
Date: Thu, 08 Jun 2006 18:14
49 lines
2695 bytes
"Fons" <fons@invalid> wrote:

> Hallo,
> 
> Enkele vraagjes over het degelijk opzetten van een database aangezien
> ik nooit een dergelijke opleiding heb genoten:
> 
> ===========
> Probleem 1
> ===========
> 
> Stel ik wil een tabel met personen maken. Sommige van die personen
> hebben meerdere telefoonnummers
> 
> * mogelijkheid 1: ik maak "voldoende" (wat dat ook moge wezen)
> verschillende velden om de telefoonnummers te herbergen. voordeel:
> alles zit in 1 tabel, nadeel: vele cellen zijn leeg, inefficiente
> opslag en gewoon "lelijk", of niet?
> 
> *�mogelijkheid 2: ik stop telefoonnummers in een aparte tabel, waarbij
> ik telefoonnummers aan persoonid's koppel. voordeel: efficiente
> opslag, mogelijkheid tot toevoegen van andere aspecten van
> telefoonnummers (bvb het is een gsm-nummer). nadeel: opvragen van alle
> persoonsgegevens is iets bewerkelijker.
> 
> Zijn er nog andere mogelijkheden, welke geniet jouw voorkeur?

Laatste. Waarom vind je het opvragen bewerkelijker?

> ===========
> Probleem 2)
> ===========
> 
> Stel ik wil via een webinterface mensen records laten toevoegen of 
> verwijderen. Is het mogelijk om dat verwijderen uit te stellen tot een
> of andere bevestiging wordt gegeven? Of moet ik dat zelf implementeren
> door bijvoorbeeld records een veld "actief" mee te geven en bij het
> verwijderen records inactief te maken zonder ze (vooralsnog) echt te
> DELETE-en. Andere mogelijkheden?

Wil je moderatie implementeren? Dan is een vlaggetje "actief" inderdaad 
een optie.


-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Re: database-vraagjes
#12
Author: Steven Spits
Date: Fri, 09 Jun 2006 07:01
32 lines
2405 bytes
Fons,

> * mogelijkheid 1: ik maak "voldoende" (wat dat ook moge wezen) 
> verschillende velden om de telefoonnummers te herbergen. voordeel: alles 
> zit in 1 tabel, nadeel: vele cellen zijn leeg, inefficiente opslag en 
> gewoon "lelijk", of niet?
>
> *�mogelijkheid 2: ik stop telefoonnummers in een aparte tabel, waarbij ik 
> telefoonnummers aan persoonid's koppel. voordeel: efficiente opslag, 
> mogelijkheid tot toevoegen van andere aspecten van telefoonnummers (bvb 
> het is een gsm-nummer). nadeel: opvragen van alle persoonsgegevens is iets 
> bewerkelijker.

Optie twee, zonder twijfel.

Je zegt dat optie twee iets bewerkelijker is. Integendeel zou ik zeggen. Bij 
optie 1 moet je veld per veld gaan controleren of het al dan niet is 
ingevuld. Bij optie twee lus je gewoon doorheen de rijen en controleer je 
steeds hetzelfde veld.

> Stel ik wil via een webinterface mensen records laten toevoegen of 
> verwijderen. Is het mogelijk om dat verwijderen uit te stellen tot een of 
> andere bevestiging wordt gegeven? Of moet ik dat zelf implementeren door 
> bijvoorbeeld records een veld "actief" mee te geven en bij het verwijderen 
> records inactief te maken zonder ze (vooralsnog) echt te DELETE-en. Andere 
> mogelijkheden?

Een status bijhouden per record is de beste oplossing.

Steven

- - - 
Re: OT: database-vraagjes
#13
Author: Fons
Date: Fri, 09 Jun 2006 14:22
36 lines
2698 bytes
"John Bokma" <john@castleamber.com> wrote in message 
news:Xns97DC86C2CC61Fcastleamber@130.133.1.4...

>> Stel ik wil een tabel met personen maken. Sommige van die personen
>> hebben meerdere telefoonnummers
>>
>> * mogelijkheid 1: ik maak "voldoende" (wat dat ook moge wezen)
>> verschillende velden om de telefoonnummers te herbergen. voordeel:
>> alles zit in 1 tabel, nadeel: vele cellen zijn leeg, inefficiente
>> opslag en gewoon "lelijk", of niet?
>>
>> *�mogelijkheid 2: ik stop telefoonnummers in een aparte tabel, waarbij
>> ik telefoonnummers aan persoonid's koppel. voordeel: efficiente
>> opslag, mogelijkheid tot toevoegen van andere aspecten van
>> telefoonnummers (bvb het is een gsm-nummer). nadeel: opvragen van alle
>> persoonsgegevens is iets bewerkelijker.
>>
>> Zijn er nog andere mogelijkheden, welke geniet jouw voorkeur?
>
> Laatste. Waarom vind je het opvragen bewerkelijker?

Het lijkt me algoritmisch-theoretisch meer rekentijd te vragen.

In verband met het koppelen van tabellen heb ik nog een bijkomende vraag.
Ik heb een MySQL server lopen op een Linuxbak. Op een client run ik MySQL 
Administrator om zelf al wat gegevens in tabellen te stoppen vooraleer ik de 
PHP-scripts schrijf die gebruikers kunnen gebruiken om dat te doen.

De tabel telefoonnummers heeft een veld dat een persoon-id bevat. Is er nu 
een gemakkelijkere manier om deze tabel op te vullen, dan manueel het juiste 
persoon-id in te vullen? Ik zou de bewuste persoon willen kiezen uit 
bijvoorbeeld een pulldownmenu van personen. Is er bestaande software die mij 
hier bij kan helpen?

Fons
Re: OT: database-vraagjes
#14
Author: John Bokma
Date: Fri, 09 Jun 2006 15:26
24 lines
2035 bytes
"Fons" <fons@invalid> wrote:

[ 2 tabellen + join ]
> Het lijkt me algoritmisch-theoretisch meer rekentijd te vragen.

Dat zijn dingen waar je je niet al te veel zorgen over moet maken. Early 
optimisation is vaak vragen om problemen. Op de IDs zet je een index, 
zodat in de telefoontabel razendsnel alle nummers bij 1 persoon gevonden 
kunnen worden.

> De tabel telefoonnummers heeft een veld dat een persoon-id bevat. Is
> er nu een gemakkelijkere manier om deze tabel op te vullen, dan
> manueel het juiste persoon-id in te vullen? Ik zou de bewuste persoon
> willen kiezen uit bijvoorbeeld een pulldownmenu van personen. Is er
> bestaande software die mij hier bij kan helpen?

Met PHP is het niet zo heel ingewikkeld om zo'n interface in een 
webbrowser te laten draaien.

-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads