Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.astrotop.ru/astro.htm
Дата изменения: Fri Dec 19 11:51:13 2003
Дата индексирования: Mon Oct 1 19:24:30 2012
Кодировка: koi8-r

Поисковые слова: m 103
Схема построения каталога AstroTop100

Схема построения каталога Интернет-ресурсов проекта АстроТоп-100 России.

За основу взят документ, составленный Иваном Панченко и присланный мне в свое время Олегом Бартуновым. Правда, он сильно изменен - что-то выкинуто (что-то ненужное, как мне показалось, а что-то, признаюсь, просто не понятое мною), очень многое добавлено с учетом специфики АстроТопа. Места, которые сомнительны либо нуждаются в проработке, отмечены знаками ???
Совершенно не затронут основной рубрикатор. Подразумевается, что за основу может быть взят рубрикатор ГРНТИ. Из переписки известно, что над подобным рубрикатором работает Михаил Прохоров, можно (даже, видимо, нужно!) взять взять и его за основу, добавив специфические вещи по космонавтике, Уфологии, Seti и прочим нестандартностям Астротопа.

Общие положения.

Создаваемый рейтинговый каталог интернет-ресурсов должен:

Терминология. Структура данных.

Данные хранятся в базе данных проекта (Postgresql), которая разделяется на:

  1. таблицу основных статистических данных Астротопа (число страниц, юзеров, групп рейтинга и т.п.) - сведения о основных свойствах всех таблиц базы данных астротопа.
  2. таблицу паспортов интернет-ресурсов,
  3. таблица перекрестных идентификаторов сайтов в каталогах астротопа и астронета
  4. таблицы групп рейтинга
  5. таблица свойств групп рейтинга Астротопа на определенную дату
  6. обобщенную таблицу всех выставленных пользователями оценок.
  7. таблицу зарегистрированных пользователей проекта,
  8. таблицу названий стран
  9. таблицу названий городов
  10. таблицы рубрикаторов (их число может быть неограниченным), в данный момент - есть только тематический рубрикатор
  11. таблица - журнал рубрикатора 1 (тематического), куда вносятся ID сайтов и ID пунктов рубрикаторов, под которые подпадают данные конкретные сайты
  12. таблицу голосований (не путать с таблицей оценок!) по заявленным проектом вопросам
  13. журнал голосований - сюда пишутся все голоса конкретных пользователей по конкретным голосованиям
  14. таблица рецензий на сайты, темы рейтинга и другие ресурсы Астротопа - сюда вносятся общие заголовки для тем обсуждения, число сообщений в теме обсуждения и т.п.
  15. журнал-таблица рецензий на сайты, темы рейтинга и другие ресурсы Астротопа - именно сюда и вносятся сами рецензии


Таблицы.
Примечания:
красным цветом - то, чего реально нет, но может появиться (либо остается под вопросом, надо ли вводить)
желтым цветом - то, что совершенно точно нужно еще доделать и ввести
розовым цветом - уточнения и примечания, либо неуверенность в необходимости осуществления (но реально уже сделано, тем не менее)
коричневым цветом - только названия уже введенных и сформированных таблиц
синим цветом - так было раньше, до создания базы данных

Общая таблица свойств астротопа (его статистика) base_param .
 
Поле Name Тип Наличие Пример заполнения
Статус данной строки таблицы свойств Астротопа status bool обязательно
создается автоматически,
=0 - уже устаревшая информация
=1 - последняя запись
0
Дата "снимка" свойств Астротопа date timestamp обязательно
создается автоматически - для старых записей (до начала текущего месяца), например - на конец каждого месяца (или вообще в любой мормент очередного изменения информации), для текущего месяца - для каждого дня
2003-01-15 15:00:00
Всего ресурсов (всех, в том числе  принадлежащих тестовой группе) - практически готовый конечный номер ID (после прибавления единицы) для вновь вносимого ресурса num_sites integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1023
Всего участников-ресурсов ("живых" (т.е. незаблокированных для участия в данной группе рейтинга), "правильных")  во всех группах со status из таблицы ресурсов = 1,2 num_sites_live integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
762
Всего участников-ресурсов ("живых",  т.е. незаблокированных для участия в данной группе рейтинга)  последовательно во всех группах со status из таблицы ресурсов = 1,2 site_in_group_mv  массив integer ,
сумма его равна 
num_sites_live
необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
(35,45,132,...)
Всего групп num_groups уникальное (порядковое) integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
253
Всего основных групп (status=1, 2 из таблицы group) num_base_groups  уникальное (порядковое) integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
23
Для скольких групп приводится статистика просмотров num_group_stat integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
Больше нуля - число групп, по которым буд приведены данные в следующих 2-х столбцах
2
Массив номеров групп, по которым приведена статистика просмотров (в следующем столбце) num_group_stat_mv массив integer необязательно (5,9)
Массив чисел просмотров группы на данную дату group_stat_mv массив integer необязательно (2033,9545)
Всего голосований num_votes integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
12
Всего действующих в данный момент голосований num_votes_live integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1
Всего юзеров num_users integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1
Всего юзеров, поставивших оценки num_users_estim integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1
Всего юзеров, внесших новые сайты num_users_addsite integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1
Всего юзеров, участвовавших в голосованиях num_users_vote integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
1
Всего просмотров всех групп num_count_all_group  integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
43000
Всего просмотров основных групп  (status=1, 2 из таблицы group) num_count_base_group  integer необязательно,
но часто создается автоматически, при этом если нет информации = -1 
42567
Всего всех оценок во всех группах - любых, фактически это полное число записей в базе данных оценок ресурсам за все время num_estimate_total integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
Важное примечание: данный параметр обязателен и обновляется автоматически для status=true !!!
13447
Всего оценок во всех группах - только в незаблокированных сайтах (которые не находятся в черном списке, т.е. рейтингуются)  num_estimate_all_group  integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
11175
Всего оценок в основных группах
 (status=1, 2 из таблицы group) - только в незаблокированных сайтах (которые не находятся в черном списке, т.е. рейтингуются)
num_estimate_base_group  integer необязательно, 
но часто создается автоматически, при этом если нет информации = -1 
11115

 
 

Паспорт Интернет-ресурса table_sites в таблице паспортов ресурсов.
 
Поле Name Тип Наличие Пример заполнения
ID ресурса num_sites integer (уникальное целое положительное число) Обязательно
создается при заведении или редактировании паспорта
1
Код соответствия тематике каталога  АстроТоп-100 status smallint Обязательно
Проверяется и редактируется автоматизированно (существование страницы) и членами команды проекта 
 

Новые ресурсы вносятся и участвуют на общих основаниях, но им соответствует код- 
=0, после проверки соответствия каталогу код либо выставляется -  либо 1, либо 2, либо -2. Устаревшим ("мертвым") страницам ставится -1
Подробнее:

=1 - страница проверена и  соответствует проекту (тут же посылается автоматическое письмо автору (при наличии е-мэйла) ресурса с кодом и паролем для редактирования) - если можно это вообще делать для данной страницы (например, авторам каталогов посылать такие письма полностью нецелесообразно) 
Такая страница может использоваться при поиске АстроНетом.

=2 - зарубежная астро-космостраница, т.е. не подпадающая под Конституцию проекта, но пригодная для поиска астрокосмической информации (в базе поиска Астронета)

=10 - тестовая страница - на правах "живых", участвуют только в тестовых темах, в рубрикатор и в статистику базы данных не вносятся

= -1 - страница существовала ранее, но сейчас умерла (возможно разблокирование при "оживлении")

= -2 - страница существует, но дублирует ранее введенную страницу, поэтому заблокирована в списке Астротопа

= -10 (было -2) (страница вычеркивается из всех списков проверки и поиска - при несоответствии теме проекта). Но! В частности, могли быть внесены и зарубежные астространицы! То есть из этой корзины еще может что-то пригодится.

= -100 (было -2) - страница вычеркивается из всех списков проверки и поиска - при полном несоответствии теме проекта. Пример  - порносайты.

1
Наличие в каталоге Астронета astronet_cod BOOL обязательно
проверяется и редактируется членами команды проекта
1
Расположение в Сети (линк сайта) url VARCHAR(256) обязательно
проверяется и редактируется автором и/или членами команды проекта
http://www.sai.msu.su
 Запасная, нередактируемая копия линка сайта  url_hard_copy VARCHAR(256) обязательно
вносится автоматически как копия url при занесении сайта в каталог и после этого никем не редактируется! Сделано во избежание случайной/вредительской порчи url 
http://www.sai.msu.su
 Тип интернет-ресурса type_url smallint обязательно
проверяется и редактируется автором (???) и/или членами команды проекта. Автоматически генерируется =10. 
Типы:
=1 Один документ (например, статья) в одном html-файле (одностраничный документ) 

=2 Один документ (например, статья) в нескольких html-файлах (многостраничный документ) 

=3 Раздел сайта, домашней страницы и т.п. (подразумевается, что все обычно лежит в одной и той же директории внутри сайта) 

=4 - Сайт отдельного проекта, персональная домашняя страница - т.е. функционально уже полностью самостоятельный единичный сайт-страница

=5 сайт лаборатории, отдела, www-страница сообщества (астроклуб, например), организации, ...

=6 WWW-сервер - главный сервер для целого ряда сайтов (обычно организации) - домашних страничек, подразделений данной организации (в свою очередь могущих иметь внутри себя персональные страницы) и т.п.

=7 Каталог линков/сайтов/имен серверов

=10 - еще не редактировался (генерируется автоматически при начальном вводе нового сайта)

6
Частью какого ресурса из данной таблицы является этот ресурс id_base_url_mv массив integer (массив ID вышестоящих сайтов (подразделений и серверов) ) Необязательно,
вносится (редактированием командой проекта) лишь для тех ресурсов, которые являются частью целого ресурса , т.е. 
type_url = 1 .. 3 и даже 4,5 (по отношению к вышестоящим сайтам)
Наличие русской версии страницы rus bool обязательно
генерируется автоматически, по умолчанию=1
0
Наличие английской версии страницы eng bool обязательно
генерируется автоматически, по умолчанию=0
1
 Описание  Интернет-ресурса (от автора)  referat  VARCHAR(2048) необязательно, 
проверяется и редактируется автором и/или членами команды проекта
ГАИШ - мое любимое место работы...
Описание  Интернет-ресурса (от команды проекта) referat_astrotop VARCHAR(2048) необязательно, 
проверяется и редактируется  членами команды проекта
ГАИШ - одно из старейших астрономических и учебных учреждений России. Область специализации ...
Название Интернет-ресурса name VARCHAR(256)  обязательно ГАИШ МГУ
Имя автора www-ресурса author VARCHAR(256)  обязательно 
(при отсутствии в случае начального ввода генерируется шаблон ??? по умолчанию), проверяется и редактируется автором и/или членами команды проекта
Бартунов Олег
E-mail автора www-ресурса email VARCHAR(80)  необязательно 
(но крайне желательно, поскольку именно по e-mail -ам авторов будут вестись автоматизированные рассылки проекта), проверяется и редактируется автором (после начальной рассылки информации о коде его страницы в проекте и пароле на редактирование) и/или членами команды проекта
oleg@sai.msu.su
Разрешено ли высвечивать е-мэйл в публичных описаниях страницы email_viewing BOOL обязательно
генерируется автоматически (по умолчанию = FALSE)
FALSE
Пароль редактирования ресурса для автора password  VARCHAR(12)  обязательно
генерируется автоматически (при вводе ресурса), редактируется автором ресурса
Netu
Разрешено ли автору сайта редактировать данные своего сайта в базе данных Астротопа permit_red_from_author  bool обязательно, 
1 - разрешено
0 - нет
true
Разрешено ли делать рассылки проекта данному автору subscribe  smallint обязательно,
по умолчанию ставится:
-10 - начальное значение после создания базы данных или начального вброса нового сайта в базу данных, а также после начального ввода е-мэйла членами команды
-3 (полное запрещение рассылок)
-2 (только специальные сообщения, например, о голосованиях Сайт года)
-1 (разрешено, только раз в год),
0 (разрешено, раз в три месяца после выпусков - стандарт),
1 (разрешено, подписка на рассылки раз в месяц)
2 (разрешено, подписка на рассылки раз в неделю)
3 (разрешено, подписка на рассылки раз в три дня)
4 (разрешено, подписка на рассылки раз в день)
5 (разрешено, подписка на рассылки при внесении каждого нового сайта)

Редактируется автором ресурса и/или членами команды проекта

0
Сколько e-mail послано данному автору num_email  smallint - сколько e-mail послано обязательно
по умолчанию ставится 0, что при заполнении поля e-mail автора и при subscribe>-3 приводит к автоматической генерации е-мэйла с паролем на редактирование ресурса - автору, после чего число е-мэйлов увеличивается на 1, и так происходит и далее
1
Сколько e-mail послано данному автору каждого сорта num_email_mv  массив smallint  - сколько e-mail послано в каждой категории - рассылки, персональные уведомления и т.п. обязательно, по умолчанию ставится (0,0,0,0,0...)
где 
1-е число первая посылка, персональные уведомления
2-е - число стандартных рассылок раз в три месяца
3- число специальных рассылок с извещениями о чем либо (голосованиях)
4 - пока пусто 
5 - пока пусто
6 - пока пусто
(1,0,0,0,0,0)
Характеристика вида авторства author_type smallint  Обязательно
Автоматически ставится=1

=0 - автор неизвестен 
=1 - один автор 
=2 - точно установленный коллектив авторов (например, учебника или сайта на основе книги) 
=3 - расширяющийся коллектив авторов 
=4 - авторство - у свободного сообщества авторов 
=5 - права на копирайт принадлежат юридическому лицу/официальной организации

1
Число наград от проекта  num_awards smallint  Обязательно
=0 - наград нет (ставится автоматически)
0
Список наград ресурса от проекта (???и не только ???) awards_mv массив smallint  - ID награды 

Сделать таблицу наград (ID награды, имя награды, ID ресурса, дата присвоения, порядковый номер данной награды...)

Необязательно 
Редактируется Координатором проекта
--- (наград нет)
В скольких группах рейтинга участвует ресурс (роспись массива групп см. ниже) num_groups smallint обязательно 1 (чаще всего, но допускается участие во многих группах рейтинга)
 Список тематических рейтинговых групп, в которых участвует ресурс groups_mv smallint[]
Массив структур вида (или неограниченное число, с прицелом на разрешение юзерам создавать собственные группы) :
ID группы
 

(описания - в отдельной таблице) -- 
оценка
место
дата внесения в группу - невозможно, хотя и желательно - сложный тип данных

Не-обязательно 
(ресурс ведь может умереть, при этом список групп не будет иметь никакого смысла)
(3,1,...)

- примечание - 3-я группа внутри астротопа - см. таблицу групп...;...

 Список мест, которые занимает сайт в соответствующих тематических рейтинговых группах (см. выше) groups_n_in_top smallint[]
Массив целых - места в соответствующих группах
Не-обязательно
(ресурс ведь может умереть, при этом место в групп/е/ах не будет иметь никакого смысла)
(10,23,...)
Список оценок, которые имеет сайт в соответствующих тематических рейтинговых группах (см. выше) groups_estimates_mv  float4[]
Массив коротких вещественных - места в соответствующих группах
Не-обязательно  (5.434, 6.200,....)
Усредненная по всем группам оценка ресурса groups_estimate_total  float4 Не-обязательно  6.245
В скольких группах рейтинга запрещено участвовать ресурсу (роспись массива групп см. ниже) num_blok_groups smallint обязательно 0 (чаще всего, но иногда больше - запрещается участвовать в некоторых группах рейтинга)
Список тематических рейтинговых групп, в которых запрещено участвовать ресурсу blok_groups_mv smallint[]
Массив структур вида (или неограниченное число, с прицелом на разрешение юзерам создавать собственные группы) :
ID группы
необязательно ()
Число рецензий на данный сайт в таблице рецензий num_notes smallint обязательно, 
создается автоматически при создании паспорта
0
Разделы рубрикатора (~ГРНТИ) rubricator_mv integer[]
список идентификаторов разделов рубрикатора -
в формате массива из N параметров - ID строки рубрикатора (integer) 
необязательно, 
проверяется и редактируется автором и/или членами команды проекта
...
Ключевые слова key_words VARCHAR(512) 
-слова через разделитель-запятую
необязательно 
проверяется и редактируется автором и/или членами команды проекта
астрономия, телескопы, студенты,  абитуриенты, студенты, МГУ,  кафедра , обучение
Дата занесения в каталог date_input timestamp обязательно, 
создается автоматически при создании паспорта
1998-08-24
Дата последнего редактирования паспорта date_last_red timestamp обязательно, 
создается автоматически при редактировании паспорта
2001-06-15
Дата создания ресурса date_create timestamp необязательно 
проверяется и редактируется автором и/или членами команды проекта
1994-10-01
Дата последнего обновления ресурса date_last_up timestamp необязательно
автоматический опрос раз в N дней, и автоматический update
2002-10-01
Автор внесения ресурса в каталог (пользователь проекта АстроТоп) user_input integer
идентификатор автора первой редакции паспорта
обязательное поле, 
формируемое при внесении ресурса в каталог
ID пользователя проекта АстроТоп (в том числе - Guest)
Автор последней редакции информации user_last integer
идентификатор автора последней редакции паспорта
обязательное поле, 
формируемое при последней редакции (в том числе при создании)
 ID пользователя проекта АстроТоп (во время создания базы данных - Admin)
Редактировался ли (и сколько раз) паспорт автором сайта num_red integer обязательное поле, редактируемое при последней редакции паспорта автором сайта (до этого =0) 1
Редактировался ли (и сколько раз) паспорт членами команды астротопа num_red_base_user  integer обязательное поле, редактируемое при последней редакции паспорта членами команды (до этого =0) 2
Имеет ли ресурс право на установку счетчика Астротопа permition_count bool обязательное поле, 
редактируемое при последней редакции паспорта членами команды (до этого =1 , кроме некоторых групп рейтинга)
1
Код счетчика посещений ресурса id_count integer необязательно ID счетчика в таблице счетчиков
Количество дополнительных рубрикаторов массив имен таблиц дополнительных рубрикаторов необязательно (rubrikator_add_1, rubrikator_add_2)
???? - возможно, проще все указать в предыдущем поле???
Запасное поле номер 1 для возможного дополнительного рубрикатора 1
список идентификаторов разделов дополнительного рубрикатора номер 1- 
в формате массива из N параметров - ???скорее всего, параметры=строки,  или - целые числа, или - список ID в таблице рубрикатора ???
необязательно .