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