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-----