version 1.1, 2001/09/03 03:01:04
|
version 1.4, 2002/01/20 19:54:32
|
Line 1
|
Line 1
|
% $Id$ |
% $Id$ |
% $ Log:$ |
% $Log$ |
|
% Revision 1.4 2002/01/20 19:54:32 boris |
|
% Added URL in Clubs |
|
% |
|
% Revision 1.3 2001/09/03 04:09:44 boris |
|
% Spell-checked |
|
% |
|
% Revision 1.2 2001/09/03 03:48:45 boris |
|
% Wrote text |
|
% |
|
|
\documentclass[12pt]{article} |
\documentclass[12pt]{article} |
|
|
Line 11
|
Line 20
|
\date{$ $Date$ $, $ $Revision$ $} |
\date{$ $Date$ $, $ $Revision$ $} |
\author{Борис Вейцман} |
\author{Борис Вейцман} |
\maketitle |
\maketitle |
|
|
|
\tableofcontents |
|
\listoftables |
|
|
|
|
|
|
|
\section{Введение} |
|
|
|
В этом документе описаны таблицы для БД <<клубный реестр>>. Проект |
|
осуществляется в стандартной для клуба связке PerlCGI-MySQL. |
|
|
|
|
|
\section{Общая структура} |
|
|
|
|
|
|
|
Мы предполагаем \emph{две} иерархии в таблице: регионы и |
|
клубы. Регионы образуют цепочку, например, Вселенная $\to$ Россия |
|
$\to$ Москва. Клубы делятся на собственно клубы и ассоциации. Каждый |
|
регион может входить в несколько регионов, а каждый клуб может быть |
|
членом нескольких ассоциаций. |
|
|
|
Кроме того, мы предполагаем, что один и тот же человек может занимать |
|
несколько должностей в разных клубах или ассоциациях. Для этой цели |
|
люди выделены в отдельную таблицы. |
|
|
|
|
|
|
|
\section{Основные таблицы} |
|
|
|
|
|
\subsection{Таблица клубов} |
|
|
|
Основное таблицей является таблица Clubs. Её поля перечислены в |
|
таблице~\ref{tab:clubs}. Очень важно, что адрес, телефон и т.д., |
|
указанные в этой таблице "---это адрес клуба как такового, а не адрес |
|
людей из руководства клуба! |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
cid & Auto Increment & Идентификатор клуба\\ |
|
Name & Text & Название клуба\\ |
|
Address & Text & Адрес клуба (отличный от адреса людей, которые |
|
представляют клуб!)\\ |
|
URL & Text & Список ссылок, разделённых пробелами\\ |
|
Phone & Text & Список телефонов, разделённых пробелами\\ |
|
Fax & Text & Список факсов, разделённых пробелами\\ |
|
Email & Text & Список адресов, разделённых пробелами\\ |
|
DoB & Text & Дата образования клуба комментарий\\ |
|
Sponsor & Text & Основной спонсор клуба\\ |
|
Meetings & Text & Основные формы деятельности клуба\\ |
|
AdultTeams & Text & Взрослые команды клуба\\ |
|
KidTeams & Text & Детские команды клуба\\ |
|
ForeignFests & Text & Основные <<чужие>> фестивали, где выступаю |
|
команды клуба\\ |
|
Braglist & Text & Достижения клуба \\ |
|
OwnFests & Text & Фестивали, которые организовывает клуб\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы Clubs} |
|
\label{tab:clubs} |
|
\end{center} |
|
\end{table} |
|
|
|
|
|
\subsection{Таблица регионов} |
|
|
|
Таблица регионов (таблица~\ref{tab:regions} очень проста. Поля |
|
<<долгота>> и <<широта>> нужны для будущей карты клубов. Поле <<URL>> |
|
нужно для связи ссылок на региональные странички. |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
rid & Auto Increment & Идентификатор региона\\ |
|
Name & Text & Название региона\\ |
|
Lon & Float & Долгота\\ |
|
Lat & Float & Широта\\ |
|
URL & Text & Список ссылок, разделённых пробелами\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы Regions} |
|
\label{tab:regions} |
|
\end{center} |
|
\end{table} |
|
|
|
|
|
\subsection{Таблица кадров} |
|
|
|
Руководители клубов собраны в таблице People (см. |
|
таблицу~\ref{tab:people}). |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
pid & Auto Increment & Идентификатор человека\\ |
|
Name & Text & ФИО\\ |
|
Address & Text & Адрес\\ |
|
URL & Text & Список ссылок, разделённых пробелами\\ |
|
Phone & Text & Список телефонов, разделённых пробелами\\ |
|
Fax & Text & Список факсов, разделённых пробелами\\ |
|
Email & Text & Список адресов, разделённых пробелами\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы People} |
|
\label{tab:people} |
|
\end{center} |
|
\end{table} |
|
|
|
|
|
\section{Таблицы связей} |
|
|
|
Для связей между элементами таблиц нам нужны стандартные реляционные |
|
таблицы: |
|
\begin{enumerate} |
|
\item Таблица ClubClub (\ref{tab:clubclub}): в ней указано отношение |
|
<<$A$ есть ассоциация, в которую входит $B$>> |
|
\item Таблица ClubPeople (\ref{tab:clubpeople}): в ней указано |
|
отношение <<$B$ занимает определённую должность в $A$>>. Поскольку |
|
принято перечислять должности в определённом порядке, в таблице есть |
|
графа <<вес>>. Чем больше вес, тем раньше идёт должность в порядке |
|
перечисления. |
|
\item Таблица ClubRegion (\ref{tab:clubregion}): в ней указано отношение |
|
<<клуб $B$ входит в регион $A$>> |
|
\item Таблица RegionRegion (\ref{tab:regionregion}): в ней указано отношение |
|
<<регион $A$ является непосредственным надрегионом для региона $B$>> |
|
\end{enumerate} |
|
|
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
Parent & Int & Идентификатор ассоциации\\ |
|
Child & Int & Идентификатор клуба\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы ClubClub} |
|
\label{tab:clubclub} |
|
\end{center} |
|
\end{table} |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
cid & Int & Идентификатор клуба\\ |
|
pid & Int & Идентификатор человека\\ |
|
Position & Text & Должность\\ |
|
Weight & Int & Вес при перечислении\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы ClubPeople} |
|
\label{tab:clubpeople} |
|
\end{center} |
|
\end{table} |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
cid & Int & Идентификатор клуба\\ |
|
rid & Int & Идентификатор региона\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы ClubRegion} |
|
\label{tab:clubregion} |
|
\end{center} |
|
\end{table} |
|
|
|
\begin{table}[tbp] |
|
\begin{center} |
|
\begin{tabular}{llp{0.5\textwidth}} |
|
\hline |
|
Поле & Формат & Значение\\ |
|
\hline |
|
Parent & Int & Идентификатор региона\\ |
|
Child & Int & Идентификатор региона\\ |
|
\hline |
|
\end{tabular} |
|
\caption{Поля таблицы RegionRegion} |
|
\label{tab:regionregion} |
|
\end{center} |
|
\end{table} |
|
|
|
|
\end{document} |
\end{document} |
|
|
%%% Local Variables: |
%%% Local Variables: |