summaryrefslogtreecommitdiff
path: root/development/pim/dbpaper/tables.tex
blob: 64ae02dbd1c0c6a0f8a3ed5dab820ff0452add7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
\pagebreak

\section{Tables}

\noindent
Todolist:\\
\begin{tabular}[ht]{|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
\underline{UID} & DueDate & StartDate & FinishDate & Completed & Description & Summary & Priority & Progress & Parent & Status \\
\hline
 & & & & & & & & & & & &\\
\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} & \underline{ID} & Item & Value\\
\hline
 & & & \\
\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} & \underline{TID} & RType & RWeekDays & RPosition & RFreq & RHasEndDate &REndDate  \\
\hline
 & & & & & & &\\
\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} & \underline{ID} & Item & Value\\
\hline
 & & & \\
\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} & \underline{TID} & \underline{Type} & Street & City & State & Zip & Country  \\
\hline
 & & & & & & &\\
\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} & \underline{ID} & Ident & Value \\
\hline
 & & & \\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE PERSONAL_DATA (
  UID       int NOT NULL UNIQUE,
  ID        int AUTOINCREMENT,
  Ident     text,
  Priority  int,
  Value     text,
  PRIMARY KEY(UID,ID)
);      
\end{verbatim}

\noindent
TableID: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID} & Name & DefaultRep & Version\\
\hline
 & & &\\
\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} & \underline{UID1} & \underline{Item1} & \underline{TID2} & \underline{UID2} & \underline{Item2} \\
\hline
 & & & & &\\
\hline
\end{tabular}
\begin{verbatim}
CREATE TABLE CROSSREF (
  TID1       int NOT NULL,
  UID1       int NOT NULL,
  ID1        int NOT NULL,
  TID2       int NOT NULL,
  UID2       int NOT NULL,
  ID2        int NOT NULL,
  PRIMARY KEY() 
);
\end{verbatim}


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

\noindent
Files: \\
\begin{tabular}[ht]{|l|l|l|l|}
\hline
\underline{UID}  & MimeType & URL \\
\hline
 & &\\
\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} & MimeType & URL \\
\hline
 & & \\
\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} & Name  \\
\hline
 &  \\
\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} & \underline{UID} & Sound & Day & Month & Year & Time \\
\hline
 & & & & & & \\
\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} & \underline{UID} & CategoryUID\\
\hline
 & &\\
\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