Исходники, использованные на практике 21 октября
Домашнее задание
Мы хотим организовать ключевые слова, характеризующие содержание статьи или интересы ученого, в деревянную иерархию. Примером такой иерархии может служить ACM Computing Classification System [1]
Иерархия представляет из себя лес, где корнями являются очень широкие темы, а каждый последующий уровень постепенно тему сужает.
Статья может быть связана с любыми элементами этой классификации, на любом уровне.
Нужно придумать схему хранения этой классификации в БД и связи статей с темами и написать запросы:
- добавляющий новую тему с указанной родительской темой (приветствуется оформление в виде хранимой процедуры)
- показывающий всё поддерево тем, начиная с заданной. Результат должен быть удобен для обработки приложением, чтобы ему не нужно было прикладывать чрезмерных усилий, чтобы напечатать дерево. Добавлять в метки пробелы-отступы, однако, не нужно.
- выдающий все статьи, проассоциированные с темами из поддерева с заданным корнем
- находящий ближайшего общего предка для двух заданных тем
Запросы приведены в порядке возрастания сложности (как мне кажется), так что начните с самых простых