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