
\pagebreak

\subsection{Database Relations}
TODOLIST \{ UID, DueDate, StartDate, EndDate, Completed, Description, Summary, Priority, Progress, Parent, Status \}\\
DueDate can be null \\
StartDate and EndDate are for timetracking reasons.
\\
\\
\noindent
DATEBOOK \{ UID, ID, Item, Value \}\\
ID autoincrement\\
Type element \{ Description, Location, Type, start, end, note, created \}\\
\\
\noindent
RECURRANCE \{ UID, TID, RType, RWeekDays, RPosition, RFreq, RHasEndDate, REndDate \} \\
The TID (TableID) is needed here, since both, TODOLIST and DATEBOOK use it, and in future maybe more.\\
\\
\noindent
ADDRESSBOOK \{UID, ID, Item, Value \}\\
ID autoincrement\\
For contact to a person:\\
Type element \{Title, FirstName, MiddleName, LastName, Suffix, Note \}\\  
For contact to a company:\\
Type element \{ CompanyName, Department, Note \}\\
\\
\noindent
POSTAL \{ UID, TID, Type, Street, City, State, Zip, Country \} \\
where Type can be Home, Business as predefined or any other as custom fields (not syncable) \\
\\
\noindent
PERSONAL\_DATA \{ UID, ID, Type, Priority, Value \}\\
ID autoincrement \\
Type element \{ Personal, Company, University,  Birthday, Aniversary,  Gender, Child, Jobtitle, Department, 
Office, Profession, Assistant, Nickname, Spouse, Manager, Note, Email, WebPage, Phone, Fax \}\\
Priority: Highest = 1, Undefined = 0\\
\\ 
\noindent
TABLEID \{ TID, Name, DefaultRep, Version \}  \\
TID Autoincrement \\
The first 3 TIDs are set: 0 == datebook, 1 == addressbook, 2 == todolist.\\
The rest can are assigned in order of registration of the service/app.
DefaultRep is the default representation. That are fields from the table of the app itself which should be shown when crosslinked\footnote{This should be described much more detailed to be clear! (se)}. \\
\\
\noindent
CROSSREF \{ TID1, UID1, ID1, TID2, UID2, ID2 \}\\
ID\emph{x} defines the ``line'' in the table (grouped by UID) which should be linked. It may be empty if no special field should be addressed. \\
Maybe add a field ``discription'' like ``verwaltet'', ``schaut an''
\\
\noindent
Still unclear is, how to synchronize our database (as XML-File, directly or via C++ Interface access) with outlook or other systems, without loosing this cross reference. We could not expect that this fine granularity or referencing may be supported by other systems...\\
\\
\noindent
ALARM \{ TID, UID, Sound, Day, Month, Year, Time \}\\
TID is needed since more then one app can have alarms and UID is not necessarly unique over different apps. \\
A exclusive table for all alarms\\
\\
\noindent
CATEGORY \{ UID, Parent, Name, ApplicationName, ForeGroundColor, BackGroundColor \}\\
UID due to making syncing sane\\
Parent is used for subcategories \\
\\
\noindent
RECORD\_CATEGORIES \{ TID, UID, CategoryUID \}\\
\\
\noindent
FILES \{ UID, Type, Url \}\\ 
\\
\noindent
APPLICATION \{ UID, TYPE, URL \}\\ 
\\
\noindent
LOCATION \{ UID, Name\}\\


