polnii (polnii) wrote in prof_web_dev,
polnii
polnii
prof_web_dev

Если вам вдруг нечем занятся, то помогите мне подумать тут про библиотечное дело и выскажите появившиеся у вас мысли. Вы мне очень поможете любыми комментариями.


Есть в этом деле такая штука как УДК.

Фактически это тематический шифр книги, но зачастую он используется библиотками как расстановочный. Растановочный шифр – это координаты книги на полке и координаты собственно самой полки. Подобное использование УДК библиотеками породило разницу между издательским и расстановочным УДК
К примеру: беру лежащую у меня на столе орейлевский «Perl. Сборник рецептов»
Уверенным почерком библиографа данной библиотеки на обложке выведен УДК 681.3
а в издательстве напечатали на второй странице УДК 681.3.06
Данная разница говорит о том, что данный раздел (тема) не является основной для данной библиотеки и книг в нем не так уж и много (ну наверно не больше шкафа) и этих цифр достаточно для поиска книг в фонде (массив всех шкафов :)) А вот если бы мы взяли эту же книгу в библиотеке какого-нибуть «труевого» института, специализирующегося на выпуске программистов, то скорее всего эти два УДК совпали бы, так как обрубка 681.3 явно бы не хватило бы для определения положения книги, ведь раздел бы занял значительно больше одного шкафа.

Сейчас я покажу вам как дробятся разделы.
Есть такая штука – список всех возможных УДК, являющаяся как бы стандартом данного протокола, издает ее вроде ЦНТБ. Этой штуки сейчас под рукой у меня, к сожалению, нету, но если ее открыть то можно будет увидеть там примерно следующее:
6 – прикладные науки
681.3 – компьютерное дело
681.3.06 – компьютерное дело -> языки програмирования
Поскольку стандарт сей издает весьма инертное госучреждение, то будет допустимо предположить отсутствие там такой строчки как:
681.3.061 – компьютерное дело -> языки програмирования -> Perl
но она вполне могла бы там быть.
Это объясняет что каждая новая цифра в шифре сужает обозреваемую в книге тему.

По какому принципу в шифре появляется точка я, признаться, никогда не знал, а только что опрошенный мною библиограф пожал плечами и сказал что-то вроде «ну наверно после каждых трех знаков ставят». Думаю такое отношение к этим точкам человека, каждый день раставляющего УДК на всяческие книги, говорит о том, что заморачиватся на них не стоит.

Также в УДК есть некое количество всяких фенечек, например, если книга является справочником, то в конце УДК ей подписывают фенечку: (03). (Справочник по языкам програмирования 681.3(03)) Иногда появляются '+' и '-' их значения я пока не знаю.. Эти фенечки и общий бардак, творящийся в библиотеках, один из поводов относится к УДК как к VARCHAR'у

Издательский УДК наиболее полный, от этого зачастую самый не «юзерфрендли», ведь в нем появляется куча фенечек, и длиной он как рельс. Также это делает возможность следующей предпосылки: вероятность того, что растановочный УДК значительно короче издательского стремится к 1.

Обращаю ваше внимание на то, что издательсих УДК может быть несколько, ведь книга «Как срубить миллион баксов с помощью Perl'а» имеет отношение и к компьютерному делу, и к финансам. Но растановочный УДК один для одной библиотеки.


Нужно создать юзерфрендли дерево УДК для нескольких библиотек, листьями которого будут книги.

Дано:

  • базы библиотек в который указаны все издательские УДК и один растановочный. Но не указано где какой.
  • пользователь, сидящий на пентиуме-2 с 64 мегабайтами памяти в городской библиотеке им. Красного Урюпинска
  • еще несколько сот тысяч всевозможных пользователей

Надо:

  • предоставить возможность пользователю, знающему интересующую его тему, быстро получить массив названий книг по ней.
  • ненавязчиво показать пользователю «соседние темы» (в случае дерева: братьев данного узла)
  • предоставить возможность пользователю (видимо больному головой), не знающему интересующею тему погадать над полным списком тем.
  • Массив названий книг конечно же должен содержать информацию о том, в какой библиотеке эта книга находится

Как бы это все организовать?
Как хранить дерево? нестед? а если будет кеширование страниц, то зафига?
Как делать дерево: из справочника УДК или из фактически имеющихся в базе? из издательских (не красивых) или расстановочных?
Как связать листья узла со старшими/младшими/другими узлами при необходимости. (ситуация: в библ-ке N книга в 681.3, а в библ-ке M в 681.31 или в 762.4) Выдавать пользователю полное дерево? У меня сейчас там больше 5000 узлов... AJAX?
Как сделать юзерфрендли интерфейс? Ведь в узле «6 – прикладные науки» огромное кол-во других узлов и ни одного листа, и у детей с внуками этого узла тоже вряд ли будут листья... а вдруг будут?..

Вообщем буду рад любым вашим мыслям про все это дело.

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments