Database skal være memo

Tags:    delphi

hvis der skal stå ret meget i en database af Paradox som er lavet i Delphi så skal alle tabeller været som memo tabeller.
Kan det være sandt ?

tarsankode



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato

Nu er en angivelse som "der skal stå ret meget" en temmelig vag beskrivelse. Jeg går udfra at det som du ønsker er at gemme tekst med en længde, der er større end 255 karakter. I såfald er en kolonne af typen memo eller formatted memo en oplagt mulighed.

hvis der skal stå ret meget i en database af Paradox som er lavet i Delphi så skal alle tabeller været som memo tabeller.
Kan det være sandt ?

tarsankode






Nu er en angivelse som "der skal stå ret meget" en temmelig vag beskrivelse. Jeg går udfra at det som du ønsker er at gemme tekst med en længde, der er større end 255 karakter. I såfald er en kolonne af typen memo eller formatted memo en oplagt mulighed.

hvis der skal stå ret meget i en database af Paradox som er lavet i Delphi så skal alle tabeller været som memo tabeller.
Kan det være sandt ?

tarsankode


Ja men den kan ikke være index og der kan ikke søges i den.
Eller kan der ?

tarsankode




Nej ifølge dokumentationen så kan der ikke defineres sekundære index på bl.a. memo felter.

Det vil normalt, også på selv store kommercielle databaser som Oracle, være problematisk - hvorfor? Jo hvis man definerer et index på teksten 'dette er et memotekst' så skal sql sætningen i where klausulen også være i nøjagtig samme case. Man kan eksempelvis i Oracle godt lave en sætning der benytter Upper funktionen, men det slår indexet fra! Alternativet er selvsagt at gemme memo teksten i uppercase på forhånd så man kan udnytte et index.

Tilbage til dit problem - du kan tilsyneladende ikke lave et index på memo feltet, hmm - hvorfor så ikke lave to tabeller. I den første tabel gemmes et nøglefelt og memo teksten som den nu engang ser ud. I tabel 2 gemmes en reference til nøglefeltet i tabel 1, samt et emneord (i uppercase) fra memo teksten. I tabel 2 kan naturligvis gemmes flere nøgleord til samme forekomst i tabel 1.

Indrømmet det er ikke nogen god løsning, men måske bedre end ingen index. I sidste instant afhænger det jo også af hvordan databasen konkret skal anvendes. Er den meget skrive intensiv eller primært læse intensivt m.m.



t