05 - 05 - 2024
Main Menu
Who's online

We have 141 guests and no members online

Latest articles
Visitors
27102922
Today
Yesterday
This Week
This Month
Last Month
All days
3776
8980
67255
48128
295642
27102922

Old stories

Installing guide for the free MySql Server

User Rating:  / 0

AgetoAgeMySql require a MySql Server to be installed on your machine if you want to connect to your own pc for handling databases. This is quite easy to do and her is options you will see during installation, its very easy just click default...there will be created an account for connect to the server and this username is default "root", the password will you of course choose yourself.

 

 

 

 

 

 

Er SQLite et brukbart databasesystem for AgetoAge?

User Rating:  / 0

Jeg har studert litt mer på andre database-systemer enn MySql og har nettopp testet litt med SQLite. Dette systemet har den fordel at brukere av et program som benytter SQLite ikke trenger å installere noe database server, alt som trengs er en liten DLL(800kb) som man legger ved programmet. Databasen består av en enkelt fil som kan være opptil 2 TB (terra byte). Jeg testet med å legge inn 10 000 personer i en database og å laste inn disse personene og vise dem i en tabell gikk på under en 1/10 sekund. Flere store selskaper bruker SQLite, f,eks Adobe.

Jeg vil i nærmeste fremtid lage en ny versjon av AgetoAge som vil bruke SQLite som database motor, brukeren kan altså lagre alle opplysninger, sine dokumenter, Excel ark, PDF filer, videoer, mp3 filer og ikke minst fotoer i en enkelt databasefil. Og ingen databaseserver behøver å installeres eller konfigureres, dette er et kjempeplus. Jeg tenker da på at det sikkert finnes noen som kvier seg for å installere en databaseserver, det kan sikkert høres litt "skummelt" ut for noen. Men en databaseserver kan man tenke på som en person som ligger og sover hele tiden, men av og til får den en telefon fra noen som vil at den skal slå opp i den og den tabellen for å finne noen opplysninger. Så det er slett ikke noen grunn til ikke å installere en databaseserver, men det enkleste for alle er selvfølgelig en database som ikke trenger installasjon.

Les mer på

http://www.sqlite.org/index.html

AgetoAgeSqlite

User Rating:  / 0

AgetoAgeSqlite er klar for nedlasting på "Downloads". Denne versjonen av AgetoAge bruker SQLite som databasesystem og systemet er enkelt, men kan likevel håndtere store databaser helt opp mot 2 terrabytes.

Hvis man trenger et program som er gratis for å administrere eller utføre vedlikehold på databasen kan man laste ned f.eks SQLite Maestro. I bildet nedenfor har jeg lastet inn databasen som jeg har lagd med AgetoAgeSqlite.

sqlitemaestro

AgetoAgeSqlite update

User Rating:  / 0

Oppdatert AgetoAgeSqlite med en korreksjon i Worldmap. Så har jeg lagt inn en funksjon som gjør at man kan velge å importere en GED fil. Ved åpning av databaser kan man nå filtrere på "*.db" filer eller når man velger navn på en ny database blir det nå automatisk lagt til ".db" på slutten av filnavnet, dette gjør det lettere å finne filer man har lagd. Har man allerede lagd noen filer uten .db på slutten av navnet kan man bare manuelt forandre dette.

I personlisten kan man nå også sortere på flere kolonner, vil man ha listen slik at den er sortert på etternavn og deretter fornavn kan man bare skrive slik i SQL boksen: "order by lastname, firstname" og presse Enter på tastaturet. Ønsker man i tillegg å filtrere personer på etternavn som begynner på "Ols" skriver man "where lastname like 'ols' order by lastname, firstname".

For å finne alle personer som inneholder "farm" i Occupation feltet og sortere på etternavn skriver man "where occupation like '%farm%' order by lastname".

Også hjelpefilen har blitt redigert litt.

I dag den 02.12.2010 har jeg lastet opp ny versjon igjen av AgetoAgeSqlite der man nå har et Advanced Query vindu. Dette finner man på menyen "Database". Vinduet har et tekstfelt der man skriver en komplett SQL setning og klikker Go for å få resultatet. Her må man altså spesifisere hvilken tabell eller tabeller man er interessert i. For å se hvilke tabeller som databasen inneholder har jeg lagt inn en listeboks der navn på alle tabeller er vises. Velger man en tabell fra listen vil SQL setningen automatisk settes til "Select * from (valgt tabell)". Klikker man så Go vil en tabell som inneholder alle felt fra valgt tabell bli vist. Dette gir mange muligheter, men man må kjenne til hvordan tabellene er relatert til hverandre for å få full utnyttelse av dette. Man trenger ikke være redd for å skrive en setning som kan ødelegge databasen så lenge man ikke skriver setninger som sletter eller endrer dataene. Holder man seg bare til Select setninger skjer det ingenting galt. Det er nå man kommer til det punktet der man kommuniserer direkte med databasemotoren.  Det er her man "ringer" til databaseserveren og spør etter noen opplysninger. Jeg kunne programmert skjemaer og vinduer der denne kommunikasjonen var ferdig programmert og der er mange vinduer allerede i AgetoAgeSqlite der dette er ferdig programmert men det setter normalt begrensninger og hvorfor ikke la brukeren få føle at han/hun kan selv bestemme hva som er interessant å spørre etter? La oss ta et eksempel, man husker at det var noen personer i databasen med etternavn som var kortere enn 5 bokstaver og at disse ikke var født i Norge, Philippines eller USA. Hvordan finne disse personene hurtigst mulig? Joda, bare nå å gå til Query vinduet og skrive inn følgende SQL setning

"Select * from ata_persons where birthplace in (select name from ata_locations where Country <> 'Norway' and Country <> 'Phillippines' and Country <> 'USA') and length(lastname) < 5 order by lastname, firstname"

Når man så klikker GO vil en tabell med alle felter ( Select * ) fra persontabellen vises med data for de personer som var innenfor kriterien. I min database har jeg nå ca 8500 personer og denne setningen gir svaret på ovenfornevnte spørsmål på ikke målbar tid (svaret kommer momentant). I min base var det 9 personer.

Her måtte man på forhånd vite hvordan finne land ut fra fødestedet fordi persontabellen har ikke noe felt Country. Det ville vært helt meningsløst å måtte skrive inn Land for hver eneste person man registerer. Men en location har et Country felt og navnet (name) fra locationstabellen er det samme som birthplace i persontabellen.

Bmk.

Ovenfornevnte SQL spørring kan bare kjøres fra "Advanced Query" vinduet. Det går ikke å kjøre den i personlisten, fordi dette vinduet er laget for å forenkle ting for brukeren. Her er første del av SQL setningen ferdig laget men man kan endre litt på "where" delen. Vel, den kan faktisk kjøres også i personlisten hvis man tar bort den første delen "Select from ata_persons " og bare kjører "where birthplace in (select name from ata_locations where Country <> 'Norway' and Country <> 'Phillippines' and Country <> 'USA') and length(lastname) < 5 order by lastname, firstname".

Update

User Rating:  / 0

Updated AgetoAgeSqlite with a log table that will receive any changes to data, you can look in this table from Advanced Query to see what changes have been made on your data, if you change birthdate for one person but later on want to set it back to what it was before the change you can find the previous value there. Personlist is also updated with right alignment for PID's.

09-12-2010 - Uploaded new version with some corrections and improvements in GED import. A few words about the photomanager. When you want to add a new category just type the name directly in the dropdown list. For example you have added a new photo and now want to put it in a new category. Then just doubleclick the new photo to make it current selected photo, then write the name of the new category and click Save. Then you will be asked if you want to save the new category and you click YES and that's it.

12-12-2010 - Uploaded new version of AgetoAgeSqlite with a DatabaseInfo window. Here you can see some techical information about the database, such as how the tables is created.