summaryrefslogtreecommitdiff
path: root/development/pim/dbpaper/rel.tex
Unidiff
Diffstat (limited to 'development/pim/dbpaper/rel.tex') (more/less context) (show whitespace changes)
-rw-r--r--development/pim/dbpaper/rel.tex81
1 files changed, 81 insertions, 0 deletions
diff --git a/development/pim/dbpaper/rel.tex b/development/pim/dbpaper/rel.tex
new file mode 100644
index 0000000..b7d0990
--- a/dev/null
+++ b/development/pim/dbpaper/rel.tex
@@ -0,0 +1,81 @@
1
2\pagebreak
3
4\subsection{Database Relations}
5TODOLIST \{ UID, DueDate, StartDate, EndDate, Completed, Description, Summary, Priority, Progress, Parent, Status \}\\
6DueDate can be null \\
7StartDate and EndDate are for timetracking reasons.
8\\
9\\
10\noindent
11DATEBOOK \{ UID, ID, Item, Value \}\\
12ID autoincrement\\
13Type element \{ Description, Location, Type, start, end, note, created \}\\
14\\
15\noindent
16RECURRANCE \{ UID, TID, RType, RWeekDays, RPosition, RFreq, RHasEndDate, REndDate \} \\
17The TID (TableID) is needed here, since both, TODOLIST and DATEBOOK use it, and in future maybe more.\\
18\\
19\noindent
20ADDRESSBOOK \{UID, ID, Item, Value \}\\
21ID autoincrement\\
22For contact to a person:\\
23Type element \{Title, FirstName, MiddleName, LastName, Suffix, Note \}\\
24For contact to a company:\\
25Type element \{ CompanyName, Department, Note \}\\
26\\
27\noindent
28POSTAL \{ UID, TID, Type, Street, City, State, Zip, Country \} \\
29where Type can be Home, Business as predefined or any other as custom fields (not syncable) \\
30\\
31\noindent
32PERSONAL\_DATA \{ UID, ID, Item, Value \}\\
33ID autoincrement \\
34Item element \{ Company, JobTitle, Department, Office, Profession, Assistant
35 \footnote{What is Assistent and Manager ?? (se), and what about multiple assistents? Maybe by same UID but different ID and same Item - ugly(max)}, Manager, Spouse, Children, Gender, Birthday, Aniversary, Nickname, Note, \\
36 DefaultEmail, Email, HomeWebpage, Homephone, HomeFax, HomeMobil \}\\
37\\
38\noindent
39TABLEID \{ TID, Name, DefaultRep, Version \} \\
40TID Autoincrement \\
41The first 3 TIDs are set: 0 == datebook, 1 == addressbook, 2 == todolist.\\
42The rest can are assigned in order of registration of the service/app.
43DefaultRep is the default representation. That are fields from the table of the app itself which should be shown when crosslinked. \\
44\\
45\noindent
46CROSSREF \{ TID1, UID1, Item1, TID2, UID2, Item2 \}\\
47Item \emph{x} defines the field-type in the table which should be addressed. It may be empty if no special field should be addressed. \\
48Maybe add a field ``discription'' like ``verwaltet'', ``schaut an''
49
50\noindent
51Thus, it is possible to crossreference i.e. a Child (Item1 = ``Child'') in the Table PERSONAL\_DATA (TID1 = 0) with an entry in the Table ADDRESSBOOK (TID= 1, Item2 = ````) which stores the data of that child.\\
52
53\noindent
54Using ``Item'' to select which element should be referenced (instead using the ID which may only exist in our table) should guarantee that this reference may survive conversions between different formats. I.e.: For converting our Database into a XML-File, the Item should be converted directly into a attribute-name which is placed into a tag. Therefore the cross reference will stay correct!
55
56\noindent
57Still 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...\\
58\\
59\noindent
60ALARM \{ TID, UID, Sound, Day, Month, Year, Time \}\\
61TID is needed since more then one app can have alarms and UID is not necessarly unique over different apps. \\
62A exclusive table for all alarms\\
63\\
64\noindent
65CATEGORY \{ UID, Parent, Name, ApplicationName, ForeGroundColor, BackGroundColor \}\\
66UID due to making syncing sane\\
67Parent is used for subcategories \\
68\\
69\noindent
70RECORD\_CATEGORIES \{ TID, UID, CategoryUID \}\\
71\\
72\noindent
73FILES \{ UID, Type, Url \}\\
74\\
75\noindent
76APPLICATION \{ UID, TYPE, URL \}\\
77\\
78\noindent
79LOCATION \{ UID, Name\}\\
80
81