www.sijohansson.com
Hem | -> | Programmering | -> | Johan | -> | Databasbeskrivning |
Byggstenarna i Johan-databasen är personfiler och parfiler. I varje personfil skrivs uppgifter om en enda person. I varje parfil skrivs uppgifter om ett enda par.
Jag använder ibland orden personblad och parblad och gör för det mesta ingen åtskillnad mellan dessa ord och personfil resp. parfil.
I personfilen identifieras personen med ett för johandatabasen unikt åttasiffrigt nummer. Numret ingår också i filnamnet för personfilen, typ 01234567.xml. personfilen ingår personens namn, uppgifterna om födelse och död.
I parfilen identifieras paret som sådant med bokstäverna "par" och ett för johandatabasen unikt åttasiffrigt nummer. Numret ingår också i filnamnet för parfilen, typ par01234567.xml. I parfilen finns utrymme för att notera parets bildande, traditionellt vigsel, och dess upplösning.
Personfiler och parfiler knyts samman genom att
Observera den korsvisa länkningen mellan personfil 00000059.xml och parfil par00000224.xml
liksom mellan parfil par00000224.xml och personfil 00002118.xml.
Jämför med webbutdraget för person
00000059
Personfiler och parfiler är skrivna i klartext med xml-etiketter, vanligen kallade xml-taggar (svengelsk översättning från 'xml tags').
Johan skriver, och förväntas läsa, person- och parfiler med kodning UTF-8. Varken ISO-8859 i någon variant eller någon Windows-kodning är tillåten.
Att klartext och taggar möjligen tar mera lagringsutrymme på hårddisken än vad som kanske skulle krävts av andra databasprogram finner jag överkomligt. Med dagens hårddiskpriser är marginalkostnaden för lagring runt 80 öre per gigabyte. Medelstorleken för personfiler och parfiler är mindre än ca 2 kilobytes per person.
Med mina släktdata i klartext känner jag mig betydligt säkrare på att mina barnbarn en gång ska kunna läsa dem än vad jag skulle vara om de blir hänvisade till ett proprietärt databasprogram från en sedan länge försvunnen leverantör, ett program som måste köras under ett operativsystem som gick att köra på hårdvara som varit skrotad sedan länge.
Med separata textfiler för varje person och varje par i stället för att ha allt samlat i en enda databas som tycks ett stort svart hål är det väsentligt enklare att ha flera personer och par samtidigt på bildskärmen. Det är nu bara filen för en och samma person (eller ett och samma par) i en och samma databas, som inte kan öppnas för uppdatering från flera fönster samtidigt.
Regler:
Kataloger | Beskrivning, innehåll | |||
---|---|---|---|---|
Databasen |
Toppkatalog; godtyckligt namn
Namnet är databasens namn |
|||
data | Samlingskatalog för kataloger med person- och parfiler | |||
00000 | Personfiler för personer 00000001 - 00000999 | |||
00001 | Personfiler för personer 00001000 - 00001999 | |||
00002 | Personfiler för personer 00002000 - 00002999 | |||
etcetera | Fler personfilskataloger efter behov | |||
par00000 | Parfiler för par par00000001 - par00000999 | |||
par00001 | Parfiler för par par00001000 - par00001999 | |||
etcetera | Fler parfilskataloger efter behov | |||
locks | temporära filer | |||
senaste | Två filer. Högsta utdelade nummer för person resp. par |
html | Katalog där Johan sparar innehållsförteckningar | |||
text | Katalog där Johan sparar ättlinglistor i textformat. | |||
xml | Formateringsfiler för visning med webbläsare | |||
php | Visningsfiler för användning i apache-server |
webbutdrag-ååååmmdd_hhmmss
disbytutdrag-ååååmmdd_hhmmss särskiltutdrag-ååååmmdd_hhmmss |
Till formen kompletta databaser. Innehåller delmängd av Databasen, genererad av exportera.py. Kan tas bort. | |
kategorier-ååååmmdd_hhmmss | Statistik - kan raderas |
I ett grundläge ligger exempelvis på katalogen Databasen/data/01234 xml-filerna 01234000.xml - 01234999.xml för personerna 01234000 - 01234999.
På motsvarande sätt för parfiler finns exempelvis på katalogen Databasen/data/par01234 xml-filerna par01234000.xml - par01234999.xml för paren par01234000 - par01234999.
Johan-programmen arbetar med filer med filnamnsändelsen '.xml' och störs inte om det i samma kataloger samtidigt ligger filer med andra filnamnsändelser.
Tvärtom - Johan-programmen kan lägga märke till förekomsten av filer med vissa filnamnsändelser och starta externa program för att hantera sådana filer.
Mallfilerna Databasen/data/mallar/00000000.odt och Databasen/data/mallar/par00000000.odt ska inte raderas utan bör i stället kompletteras och anpassas efter användarens tycke och smak.
Besökare sedan 2011-02-13:
Sidan senast ändrad 2011-02-22