[LUGOS-PROG] stevilski prostor

Franc Kebe info at polivrt.si
Tue Mar 23 01:13:31 CET 2004


Zivijo !

Sam bi se lotil zadeve po nacelu klasicne relacijske baze, posebej ce se
pricakuje v bazi veliko sprememb:

1. Tabela stevilk in lastnikov ctevilk
2. Tabela lastnikov stevilk
+ journal tabele za sledenje sprememb

Tabele tipov stevilk ne potrebujes, (ce gre za telefonske stevilke) saj
je tip stevilke tako ali tako viden v zapisu, poleg tega pa ti stevilka
brez tipa ne pove popolnoma nic - torej podatek sodi v eno polje.


Iskanje z sql je preprosto:

SELECT st, firma FROM stevila WHERE st BEETWEEN 17560000 AND 17590000
AND firma>1;
ali
SELECT st FROM stevila WHERE st>17564700 AND st<1758700 AND firma=0;
za proste stevilke.


Seveda to zahteva, da v bazo ob kreiranju vpises vsa "dovoljena" stevila
od katerih so nekatera zasedena druga pa ne. Ce gre za nekaj milijonov
stevil, bo to s postavljenimi indeksi delovalo, vzdrzevanje je skrajno
preprosto, potrebujes pa kak GB vec prostora.

Drug nacin pa je programsko veliko bolj zahteven, saj bi moral zapisati
proste in zasedene intervale. Recimo da je interval 17564700 - 17564799
prost in zelimo nekomu dodeliti interval  17564760 - 17564769, moramo to
zapisati v treh korakih:
00-59 - prosto
60-69 - zasedeno
70-99 - prosto
Seveda pa smo za to potrebovali samo tri vrstice po prejsnji varianti pa
bi jih bilo 100. Vendar ce bodo intervali kratki, nisi pridobil nic.


Lep pozdrav, Franc Kebe





More information about the lugos-prog mailing list