1: % $Id: tables.tex,v 1.3 2001/09/03 04:09:44 boris Exp $
2: % $Log: tables.tex,v $
3: % Revision 1.3 2001/09/03 04:09:44 boris
4: % Spell-checked
5: %
6: % Revision 1.2 2001/09/03 03:48:45 boris
7: % Wrote text
8: %
9:
10: \documentclass[12pt]{article}
11:
12: \usepackage[koi8-r]{inputenc}
13: \usepackage[russian]{babel}
14:
15: \begin{document}
16: \title{Структура таблиц для проекта <<клубный регистр>>}
17: \date{$ $Date: 2001/09/03 04:09:44 $ $, $ $Revision: 1.3 $ $}
18: \author{Борис Вейцман}
19: \maketitle
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:
42: Кроме того, мы предполагаем, что один и тот же человек может занимать
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 & Список адресов, разделённых пробелами\\
72: DoB & Date & Дата образования клуба\\
73: Sponsor & Text & Основной спонсор клуба\\
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} очень проста. Поля
92: <<долгота>> и <<широта>> нужны для будущей карты клубов.
93:
94: \begin{table}[tbp]
95: \begin{center}
96: \begin{tabular}{llp{0.5\textwidth}}
97: \hline
98: Поле & Формат & Значение\\
99: \hline
100: rid & Auto Increment & Идентификатор региона\\
101: Name & Text & Название региона\\
102: Lon & Float & Долгота\\
103: Lat & Float & Широта\\
104: \hline
105: \end{tabular}
106: \caption{Поля таблицы Regions}
107: \label{tab:regions}
108: \end{center}
109: \end{table}
110:
111:
112: \subsection{Таблица кадров}
113:
114: Руководители клубов собраны в таблице People (см.
115: таблицу~\ref{tab:people}).
116:
117: \begin{table}[tbp]
118: \begin{center}
119: \begin{tabular}{llp{0.5\textwidth}}
120: \hline
121: Поле & Формат & Значение\\
122: \hline
123: pid & Auto Increment & Идентификатор человека\\
124: Name & Text & ФИО\\
125: Address & Text & Адрес\\
126: URL & Text & Список ссылок, разделённых пробелами\\
127: Phone & Text & Список телефонов, разделённых пробелами\\
128: Fax & Text & Список факсов, разделённых пробелами\\
129: Email & Text & Список адресов, разделённых пробелами\\
130: \hline
131: \end{tabular}
132: \caption{Поля таблицы People}
133: \label{tab:people}
134: \end{center}
135: \end{table}
136:
137:
138: \section{Таблицы связей}
139:
140: Для связей между элементами таблиц нам нужны стандартные реляционные
141: таблицы:
142: \begin{enumerate}
143: \item Таблица ClubClub (\ref{tab:clubclub}): в ней указано отношение
144: <<$A$ есть ассоциация, в которую входит $B$>>
145: \item Таблица ClubPeople (\ref{tab:clubpeople}): в ней указано
146: отношение <<$B$ занимает определённую должность в $A$>>. Поскольку
147: принято перечислять должности в определённом порядке, в таблице есть
148: графа <<вес>>. Чем больше вес, тем раньше идёт должность в порядке
149: перечисления.
150: \item Таблица ClubRegion (\ref{tab:clubregion}): в ней указано отношение
151: <<клуб $B$ входит в регион $A$>>
152: \item Таблица RegionRegion (\ref{tab:regionregion}): в ней указано отношение
153: <<регион $A$ является непосредственным надрегионом для региона $B$>>
154: \end{enumerate}
155:
156:
157: \begin{table}[tbp]
158: \begin{center}
159: \begin{tabular}{llp{0.5\textwidth}}
160: \hline
161: Поле & Формат & Значение\\
162: \hline
163: Parent & Int & Идентификатор ассоциации\\
164: Child & Int & Идентификатор клуба\\
165: \hline
166: \end{tabular}
167: \caption{Поля таблицы ClubClub}
168: \label{tab:clubclub}
169: \end{center}
170: \end{table}
171:
172: \begin{table}[tbp]
173: \begin{center}
174: \begin{tabular}{llp{0.5\textwidth}}
175: \hline
176: Поле & Формат & Значение\\
177: \hline
178: cid & Int & Идентификатор клуба\\
179: pid & Int & Идентификатор человека\\
180: Position & Text & Должность\\
181: Weight & Int & Вес при перечислении\\
182: \hline
183: \end{tabular}
184: \caption{Поля таблицы ClubPeople}
185: \label{tab:clubpeople}
186: \end{center}
187: \end{table}
188:
189: \begin{table}[tbp]
190: \begin{center}
191: \begin{tabular}{llp{0.5\textwidth}}
192: \hline
193: Поле & Формат & Значение\\
194: \hline
195: cid & Int & Идентификатор клуба\\
196: rid & Int & Идентификатор региона\\
197: \hline
198: \end{tabular}
199: \caption{Поля таблицы ClubRegion}
200: \label{tab:clubregion}
201: \end{center}
202: \end{table}
203:
204: \begin{table}[tbp]
205: \begin{center}
206: \begin{tabular}{llp{0.5\textwidth}}
207: \hline
208: Поле & Формат & Значение\\
209: \hline
210: Parent & Int & Идентификатор региона\\
211: Child & Int & Идентификатор региона\\
212: \hline
213: \end{tabular}
214: \caption{Поля таблицы RegionRegion}
215: \label{tab:regionregion}
216: \end{center}
217: \end{table}
218:
219:
220: \end{document}
221:
222: %%% Local Variables:
223: %%% mode: latex
224: %%% TeX-master: t
225: %%% End:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>