Annotation of register/doc/tables.tex, revision 1.4
1.4 ! boris 1: % $Id: tables.tex,v 1.3 2001/09/03 04:09:44 boris Exp $
1.3 boris 2: % $Log: tables.tex,v $
1.4 ! boris 3: % Revision 1.3 2001/09/03 04:09:44 boris
! 4: % Spell-checked
! 5: %
1.3 boris 6: % Revision 1.2 2001/09/03 03:48:45 boris
7: % Wrote text
8: %
1.1 boris 9:
10: \documentclass[12pt]{article}
11:
12: \usepackage[koi8-r]{inputenc}
13: \usepackage[russian]{babel}
14:
15: \begin{document}
16: \title{Структура таблиц для проекта <<клубный регистр>>}
1.4 ! boris 17: \date{$ $Date: 2001/09/03 04:09:44 $ $, $ $Revision: 1.3 $ $}
1.1 boris 18: \author{Борис Вейцман}
19: \maketitle
1.2 boris 20:
21: \tableofcontents
22: \listoftables
23:
24:
25:
26: \section{Введение}
27:
28: В этом документе описаны таблицы для БД <<клубный реестр>>. Проект
29: осуществляется в стандартной для клуба связке PerlCGI-MySQL.
30:
31:
32: \section{Общая структура}
33:
34:
35:
36: Мы предполагаем \emph{две} иерархии в таблице: регионы и
37: клубы. Регионы образуют цепочку, например, Вселенная $\to$ Россия
38: $\to$ Москва. Клубы делятся на собственно клубы и ассоциации. Каждый
39: регион может входить в несколько регионов, а каждый клуб может быть
40: членом нескольких ассоциаций.
41:
1.3 boris 42: Кроме того, мы предполагаем, что один и тот же человек может занимать
1.2 boris 43: несколько должностей в разных клубах или ассоциациях. Для этой цели
44: люди выделены в отдельную таблицы.
45:
46:
47:
48: \section{Основные таблицы}
49:
50:
51: \subsection{Таблица клубов}
52:
53: Основное таблицей является таблица Clubs. Её поля перечислены в
54: таблице~\ref{tab:clubs}. Очень важно, что адрес, телефон и т.д.,
55: указанные в этой таблице "---это адрес клуба как такового, а не адрес
56: людей из руководства клуба!
57:
58: \begin{table}[tbp]
59: \begin{center}
60: \begin{tabular}{llp{0.5\textwidth}}
61: \hline
62: Поле & Формат & Значение\\
63: \hline
64: cid & Auto Increment & Идентификатор клуба\\
65: Name & Text & Название клуба\\
66: Address & Text & Адрес клуба (отличный от адреса людей, которые
67: представляют клуб!)\\
68: URL & Text & Список ссылок, разделённых пробелами\\
69: Phone & Text & Список телефонов, разделённых пробелами\\
70: Fax & Text & Список факсов, разделённых пробелами\\
71: Email & Text & Список адресов, разделённых пробелами\\
1.4 ! boris 72: DoB & Text & Дата образования клуба комментарий\\
1.3 boris 73: Sponsor & Text & Основной спонсор клуба\\
1.2 boris 74: Meetings & Text & Основные формы деятельности клуба\\
75: AdultTeams & Text & Взрослые команды клуба\\
76: KidTeams & Text & Детские команды клуба\\
77: ForeignFests & Text & Основные <<чужие>> фестивали, где выступаю
78: команды клуба\\
79: Braglist & Text & Достижения клуба \\
80: OwnFests & Text & Фестивали, которые организовывает клуб\\
81: \hline
82: \end{tabular}
83: \caption{Поля таблицы Clubs}
84: \label{tab:clubs}
85: \end{center}
86: \end{table}
87:
88:
89: \subsection{Таблица регионов}
90:
91: Таблица регионов (таблица~\ref{tab:regions} очень проста. Поля
1.4 ! boris 92: <<долгота>> и <<широта>> нужны для будущей карты клубов. Поле <<URL>>
! 93: нужно для связи ссылок на региональные странички.
1.2 boris 94:
95: \begin{table}[tbp]
96: \begin{center}
97: \begin{tabular}{llp{0.5\textwidth}}
98: \hline
99: Поле & Формат & Значение\\
100: \hline
101: rid & Auto Increment & Идентификатор региона\\
102: Name & Text & Название региона\\
103: Lon & Float & Долгота\\
104: Lat & Float & Широта\\
1.4 ! boris 105: URL & Text & Список ссылок, разделённых пробелами\\
1.2 boris 106: \hline
107: \end{tabular}
108: \caption{Поля таблицы Regions}
109: \label{tab:regions}
110: \end{center}
111: \end{table}
112:
113:
114: \subsection{Таблица кадров}
115:
116: Руководители клубов собраны в таблице People (см.
117: таблицу~\ref{tab:people}).
118:
119: \begin{table}[tbp]
120: \begin{center}
121: \begin{tabular}{llp{0.5\textwidth}}
122: \hline
123: Поле & Формат & Значение\\
124: \hline
125: pid & Auto Increment & Идентификатор человека\\
126: Name & Text & ФИО\\
127: Address & Text & Адрес\\
128: URL & Text & Список ссылок, разделённых пробелами\\
129: Phone & Text & Список телефонов, разделённых пробелами\\
130: Fax & Text & Список факсов, разделённых пробелами\\
131: Email & Text & Список адресов, разделённых пробелами\\
132: \hline
133: \end{tabular}
134: \caption{Поля таблицы People}
135: \label{tab:people}
136: \end{center}
137: \end{table}
138:
139:
140: \section{Таблицы связей}
141:
142: Для связей между элементами таблиц нам нужны стандартные реляционные
143: таблицы:
144: \begin{enumerate}
145: \item Таблица ClubClub (\ref{tab:clubclub}): в ней указано отношение
146: <<$A$ есть ассоциация, в которую входит $B$>>
147: \item Таблица ClubPeople (\ref{tab:clubpeople}): в ней указано
1.3 boris 148: отношение <<$B$ занимает определённую должность в $A$>>. Поскольку
149: принято перечислять должности в определённом порядке, в таблице есть
1.2 boris 150: графа <<вес>>. Чем больше вес, тем раньше идёт должность в порядке
151: перечисления.
152: \item Таблица ClubRegion (\ref{tab:clubregion}): в ней указано отношение
153: <<клуб $B$ входит в регион $A$>>
154: \item Таблица RegionRegion (\ref{tab:regionregion}): в ней указано отношение
155: <<регион $A$ является непосредственным надрегионом для региона $B$>>
156: \end{enumerate}
157:
158:
159: \begin{table}[tbp]
160: \begin{center}
161: \begin{tabular}{llp{0.5\textwidth}}
162: \hline
163: Поле & Формат & Значение\\
164: \hline
165: Parent & Int & Идентификатор ассоциации\\
166: Child & Int & Идентификатор клуба\\
167: \hline
168: \end{tabular}
169: \caption{Поля таблицы ClubClub}
170: \label{tab:clubclub}
171: \end{center}
172: \end{table}
173:
174: \begin{table}[tbp]
175: \begin{center}
176: \begin{tabular}{llp{0.5\textwidth}}
177: \hline
178: Поле & Формат & Значение\\
179: \hline
180: cid & Int & Идентификатор клуба\\
181: pid & Int & Идентификатор человека\\
182: Position & Text & Должность\\
183: Weight & Int & Вес при перечислении\\
184: \hline
185: \end{tabular}
186: \caption{Поля таблицы ClubPeople}
187: \label{tab:clubpeople}
188: \end{center}
189: \end{table}
190:
191: \begin{table}[tbp]
192: \begin{center}
193: \begin{tabular}{llp{0.5\textwidth}}
194: \hline
195: Поле & Формат & Значение\\
196: \hline
197: cid & Int & Идентификатор клуба\\
198: rid & Int & Идентификатор региона\\
199: \hline
200: \end{tabular}
201: \caption{Поля таблицы ClubRegion}
202: \label{tab:clubregion}
203: \end{center}
204: \end{table}
205:
206: \begin{table}[tbp]
207: \begin{center}
208: \begin{tabular}{llp{0.5\textwidth}}
209: \hline
210: Поле & Формат & Значение\\
211: \hline
212: Parent & Int & Идентификатор региона\\
213: Child & Int & Идентификатор региона\\
214: \hline
215: \end{tabular}
216: \caption{Поля таблицы RegionRegion}
217: \label{tab:regionregion}
218: \end{center}
219: \end{table}
220:
221:
1.1 boris 222: \end{document}
223:
224: %%% Local Variables:
225: %%% mode: latex
226: %%% TeX-master: t
227: %%% End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>