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