Merkilegt.  Verkfr��ingur og st�r�fr��ingur taka a� s�r �a� einfalda
verkefni a� gera ���ingargrunn sem getur geymt ���ingu � einu or�i yfir �
anna� og tveim vikum s��ar finna �eir vandkv��i � �v� a� geta ekki
n�kv�mlega geymt m�lfr��i or�sins � grunni?  :)
Og til hvers, � ���ingargrunni, er veri� a� b�a til s�r t�flur yfir
m�lfr��iheiti d�lkanna � grunninum?  Er �g s� eini sem s� tv�verkna� � �v�?
:)

�a� sem �g hef�i vilja� (a.m.k. byrja me�) er
CREATE TABLE language
(
        languageid              NUMBER PRIMARY KEY,
        languagename    TEXT NOT NULL,
        locallanguagename TEXT NOT NULL,
        locale          VARCHAR2(15)
)

CREATE TABLE word
(
        wordid          NUMBER PRIMARY KEY,
        word                    TEXT NOT NULL,
        languageid              NUMBER, (v�sar � language.languageid)
        explanation             TEXT NOT NULL
)

CREATE TABLE word_translation
(
        word1           NUMBER, (v�sa b��ir � word.wordid)
        word2           NUMBER
)



�g held vi� getum fellt m�lfr��ieigindi or�sins inn � �tsk�ringuna � �essu
stigi m�lsins.
�ar sem allar ���ingarvarpanir myndu vera tv��tta (two-way hlj�ma�i n�
betur) �yrfti anna� hvort a� gera s�n � ���ingart�fluna sem v�ri UNION �
hana spegla�a e�a sj� um �a� a� �egar sett er � hana pari� (word1, word2) s�
pari� (word2, word1) l�ka sett inn.  A� m�nu mati v�ri seinni kosturinn
betri en s� fyrri.

M�r finnast ofangreindar t�flur vera n�g til �ess a� halda utan um
���ingargrunn.
Seinna v�ri h�gt a� b�ta vi� t�flu sem heldur utan um m�lfr��iuppl�singar,
en �� erum vi� komin me� ���ingar- og m�lfr��igrunn :)
Reynum endilega a� hafa sem einfaldast kerfi til a� byrja me�, svo
a) minni t�ma taki a� gera kerfi� og
b) sem flestir geti nota� �etta.

�g s� reyndar ekkert �v� til for�ttu a� ���ingargrunnurinn ver�i aukinn
seinna meir me� m�lfr��iuppl�singum (�g sty� �a� meira a� segja heils hugar)
en �g held vi� �ttum a� drulla �t noth�fu pr�d�kti fyrst :)

Drita m� inn � �etta t�flu sem er einhvern veginn svona:
CREATE TABLE function
(
        functionid              SERIAL PRIMARY KEY,
        functionname    TEXT -- nafn or�flokksins � lat�nu, t.d. karlkyns nafnor�,
s�gn � mi�mynd,
                                kvenkyns nafnor� � eint�lu me� fleirt�lumerkingu, 
annarrar pers�nu
fornafn                                                 � tv�t�lu, e�a hva� sem f�lk 
vill.
)
og �essari (sem �tti n� e.t.v. a� vera aukad�lkur � word)
CREATE TABLE word_function
(
        wordid,         v�sar � word.wordid
        functionid              v�sar � function.functionid
)

Seinna v�ri svo h�gt a� gera 'the ultimate' sem v�ri a� l�ta function
t�fluna halda utan um allar m�gulegar beygingar or�a l�ka, og gera einhvers
konar word, function v�rpunart�flu, �ar sem vi� hef�um
CREATE TABLE word_function
(
        wordid,         v�sar � word.wordid
        functionid,             v�sar � function.functionid
        word                    or�i� � vi�komandi mynd
)
�� v�ri wordid, functionid parinu bara hent inn � �� t�flu fyrir ��r myndir
sem or�i� getur teki�.

�g vil taka �a� fram a� �etta eru bara framt��arp�lingar.
Eins og sta�an er n�na vil �g bara sj� fyrstu �rj�r t�flurnar, og einfalt
vefvi�m�t � ��r.
Flott k-vi�m�t sem cachar �r �essum t�flum og geymir sta�v�rt m� m�n vegna
b��a, enda l�t �g gla�ur k�ga mig � a� keyra hvergi kde nema � skj�lausri
�tst��. :)

kve�jur,
Eggert
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf
Of Logi Ragnarsson
Sent: 27. september 1999 16:10
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: [kde-isl]: Or�agrunnur


-----BEGIN PGP SIGNED MESSAGE-----

H�!

�g er a� vesenast � locale stu�ningi � or�agrunninum og er � dulitlum vanda.
�
augnablikinu er einn d�lkur � or�at�flunni fyrir or�flokk, annar fyrir kyn
og
�ri�ji fyrir t�lu. Hinsvegar eiga s��ustu tveir bara vi� nafnor�, allavega �
�slensku.

�a� er s.s. h�tta � a� menn s�u � s�fellu a� setja kyn � sagnor�in e�a
tilgreina t�lu.

Svo er hitt a� �a� er varla nokkurnt�man �st��a til a� leita a� �llum or�um
sem
eru karlkyns, �h�� �v� � hva�a tungum�li �au eru.

M�r dettur �v� � hug a� einfalda m�li� miki�: � sta�inn frir �rj� d�lka sem
l�sa m�lfr��i or�sins v�ri bara einn og hann v�sar � a�ra t�flu sem
tilgreinir
n�kv�mlega hva�a flokkar eru til � hverju m�li. H�r v�ri flokkur eitthva� �
vi�
"sagnor� (so)" e�a "karlkyns eint�lunafnor� (no, kk, et)"

� flestum tilfelum �tti or� heima � [lo], [so], [no kk], [no kv] e�a [no hk]
�
�slensku og enskan yr�i enn einfaldari.

�etta kerfi yr�i miklu einfaldara a� skrifa og �a� v�ri miklu minni l�kur �
a�
notandinn kl��rar�i �v� og �yrfti a� lei�r�tta (engar, �v� allir
m�guleikarnir
v�ru tilgreindir � valmyndinni og enginn �eirra v�ri �l�glegur).

Eini vandinn sem �g s� er a� �� hef�i ma�ur ekki n�fn or�flokkanna (�
merkingunni a� ofan) � �llum tungum�lum. �a� m� reyndar leysa me� �v� a�
hafa
�fram t�flurnar sem eru n�na fyrir flokk, kyn og t�lu, en hafa svo n�ja
t�flu
sem inniheldur eina f�rslu fyrir hverja l�glega samsetningu � hverju
tungum�li. Or�alistinn innih�ldi �� v�sun � �essa n�ju t�flu � sta�inn fyrir
d�lkana �rj�.

S.s:

CREATE TABLE lexicon (
 id              SERIAL,
 word            TEXT NOT NULL,
 locale          VARCHAR(15),
 grammar         INTEGER,        -- v�sar � t�fluna a� ne�an
 expl            TEXT,

 PRIMARY KEY (id),
 UNIQUE(word,locale,function),
 FOREIGN KEY (locale) REFERENCES locales(locale),
 FOREIGN KEY (locale,grammar) REFERENCES grammar(locale,id)
);

- -- (is_IS, ?, no, kk, frj�lst) f�rsla tilgreinir a� til eru or� � �slensku
- -- sem eru nafnor�, karlkyns og hafa frj�lsa t�lu.
CREATE TABLE grammar (
 locale          VARCHAR(15),
 id              INTEGER,
 function        INTEGER,
 gender          INTEGER,
 number          INTEGER,

 PRIMARY KEY(locale,id),
 FOREIGN KEY (locale,function) REFERENCES function(locale,id),
 FOREIGN KEY (locale,gender) REFERENCES gender(locale,id),
 FOREIGN KEY (locale,number) REFERENCES number(locale,id)
);

- -- �essi tafla gefur bara nafn or�flokks � einhverju m�li.
- -- Applies d�lkurinn er farinn. T�lu- og kynjat�flurnar eru eins.
CREATE TABLE function (
 locale          VARCHAR(15),
 id              INTEGER,
 name            TEXT,

 PRIMARY KEY (locale,id),
 FOREIGN KEY (locale) REFERENCES locales(locale)
);

P�lingar?

- --
Logi Ragnarsson ([EMAIL PROTECTED])  |  Some day we all shall be out of scope
PGP key IDs: A6D8479D & DEA31575   |  Sex, Math & Rock'n'Roll!

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQCVAwUBN++dIkqnHCFCk1WFAQHlHQP/Ts7eDBTr877I5WRQ7eZaID546BkeecDT
e66/1uMHqCtZifZnFEu4EddgzlbMY1t8keaMx3KIrSJj48ftcAJ2PMl+MSL9vTUR
PGeVzHdlCvw85I8m/gix2sHAfQGdwznqnv9cTiJmUhp2UgLt4zGI/0OV7ybQiQoy
fghMcEsS5Dw=
=Xf1q
-----END PGP SIGNATURE-----

Reply via email to