<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\pagebreak

\section{Tables}

\noindent
Todolist:\\
\begin{tabular}[ht]{|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
\underline{UID} &amp; DueDate &amp; StartDate &amp; FinishDate &amp; Completed &amp; Description &amp; Summary &amp; Priority &amp; Progress &amp; Parent &amp; Status \\
\hline
 &amp; &amp; &amp; &amp; &amp; &amp; &amp; &amp; &amp; &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE TODOLIST (
  UID         int NOT NULL UNIQUE,
  DueDate     text,  -- sqlite does not know timestamps
  StartDate   text,
  FinishDate  text,
  Completed   bool,
  Description text,
  Summary     text,
  Priority    int,
  Progress    int,
  Parent      int,
  Status      int
  PRIMARY KEY(UID)
);      
\end{verbatim}


\noindent
Datebook: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID} &amp; \underline{ID} &amp; Item &amp; Value\\
\hline
 &amp; &amp; &amp; \\
\hline
\end{tabular}

\begin{verbatim}
CREATE TABLE DATEBOOK (
  UID     int NOT NULL,
  ID      int AUTOINCREMENT,
  Item    text,
  Value   text,
  PRIMARY KEY(UID,ID)
};
\end{verbatim} 


\noindent
Recurrence:\\
\begin{tabular}[ht]{|l|l|l|l|l|l|l|l|}
\hline
\underline{UID} &amp; \underline{TID} &amp; RType &amp; RWeekDays &amp; RPosition &amp; RFreq &amp; RHasEndDate &amp;REndDate  \\
\hline
 &amp; &amp; &amp; &amp; &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE RECURRENCE (
  UID          int NOT NULL UNIQUE,
  TID 	  int NOT NULL
  RType        int,
  RWeekDays    int,
  RPosition    int,
  RFreq        int,
  RHasEndDate bool,
  REndDate     DATETIME,
  PRIMARY KEY (UID)
);
\end{verbatim}

\noindent
Addressbook: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID} &amp; \underline{ID} &amp; Item &amp; Value\\
\hline
 &amp; &amp; &amp; \\
\hline
\end{tabular}

\begin{verbatim}
CREATE TABLE ADDRESSBOOK (
  UID     int NOT NULL,
  ID      int AUTOINCREMENT,
  Item    text,
  Value   text,
  PRIMARY KEY(UID,ID)
};
\end{verbatim} 
 

\noindent
Postal:\\
\begin{tabular}[ht]{|l|l|l|l|l|l|l|l|}
\hline
\underline{UID} &amp; \underline{TID} &amp; \underline{Type} &amp; Street &amp; City &amp; State &amp; Zip &amp; Country  \\
\hline
 &amp; &amp; &amp; &amp; &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE POSTAL (
  UID     int NOT NULL ,
  TID      int NOT NULL,
  Type    int NOT NULL UNIQUE,  -- maybe text, then more are possible
  Street  text,
  City    text,
  State   text,
  Zip     text,  -- who knows if theres no country with letters in the zip code
  Country,
  PRIMARY KEY (UID, Type)
);
\end{verbatim}
 

\noindent
Personal data: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID} &amp; \underline{ID} &amp; Ident &amp; Value \\
\hline
 &amp; &amp; &amp; \\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE PERSONAL_DATA_CONTACT (
  UID    int NOT NULL UNIQUE,
  ID     int AUTOINCREMENT,
  Ident  text,
  Value  text,
  PRIMARY KEY(UID,ID)
);      
\end{verbatim}

\noindent
TableID: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID} &amp; Name &amp; DefaultRep &amp; Version\\
\hline
 &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE TABLEID (
  UID         int NOT NULL UNIQUE,
  Name        text,
  DefaultRep  text, -- list of which which columns from apps table are supposed to be queried for default,
  Version     int NOT NULL 
  PRIMARY KEY (UID)
);
\end{verbatim}



\noindent
CrossRef: \\
\begin{tabular}[ht]{|l|l|l|l|l|l|}
\hline
\underline{TID1} &amp; \underline{UID1} &amp; \underline{Item1} &amp; \underline{TID2} &amp; \underline{UID2} &amp; \underline{Item2} \\
\hline
 &amp; &amp; &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE CROSSREF (
  TID1       int NOT NULL,
  UID1       int NOT NULL,
  Item1      int NOT NULL,
  TID2       int MOT NULL,
  UID2       int NOT NULL,
  Item2      int NOT NULL,
  PRIMARY KEY() 
);
\end{verbatim}


\noindent
Category: \\
\begin{tabular}[ht]{|l|l|l|l|l|l|}
\hline
\underline{UID} &amp; Parent &amp; Name  &amp; ApplicationName &amp; ForeGroundColor &amp; BackGroundColor\\
\hline
 &amp; &amp; &amp; &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE CATEGORY (
  UID   int NOT NULL UNIQUE,
  Name  text,
  ApplicationName text,
  ForeGroundColor text,	&lt;-- maybe hex?
  BackGroundColor text,
  PRIMARY KEY(UID)
);
\end{verbatim}

\noindent
Files: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID}  &amp; MimeType &amp; URL \\
\hline
 &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE FILES (
  UID       int NOT NULL UNIQUE,
  MimeType      text,   -- mimetype
  URL       text, 
  PRIMARY KEY (UID)
);
\end{verbatim}

\noindent
Applications: \\
\begin{tabular}[ht]{|l|l|l|}
\hline
\underline{UID} &amp; MimeType &amp; URL \\
\hline
 &amp; &amp; \\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE APPLICATION (
  UID       int NOT NULL UNIQUE,
  MimeType      text,   -- mimetype
  URL       text, 
  PRIMARY KEY (UID)
);
\end{verbatim}

\noindent
Location: \\ 		
\begin{tabular}[ht]{|l|l|}
\hline
\underline{UID} &amp; Name  \\
\hline
 &amp;  \\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE LOCATION (
  UID   int NOT NULL UNIQUE,
  Name  text,
  PRIMARY KEY (UID)
);
\end{verbatim} 


\noindent
Alarm: \\
\begin{tabular}[ht]{|l|l|l|l|l|l|l|l|}
\hline
\underline{TID} &amp; \underline{UID} &amp; Sound &amp; Day &amp; Month &amp; Year &amp; Time \\
\hline
 &amp; &amp; &amp; &amp; &amp; &amp; \\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE ALARM(
  TID       int NOT NULL,
  UID       int NOT NULL,
  Sound     text,
  Day       int MOT NULL,
  Month     int NOT NULL,
  Year      int NOT NULL,
  Time      text
  PRIMARY KEY() 
);
\end{verbatim}

\noindent
Record Categories: \\
no sure if we need it, breaks the crossref table idea \\
\begin{tabular}[ht]{|l|l|l|}
\hline
\underline{TID} &amp; \underline{UID} &amp; CategoryUID\\
\hline
 &amp; &amp;\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE RECORD_CATEGORIES(
  TID          int NOT NULL,
  UID          int NOT NULL,
  CategoryId   int NOT NULL
  PRIMARY KEY() 
);
\end{verbatim}
\pagebreak

\noindent
Each app that wants to participate in cross referencing needs : \\
- to implement a certain interface
- need to suppy a default representation which is set as it is registered into the TID table

</pre></body></html>