В связи с заявленной функциональностью системы необходимо составить модель предметной области. Выявленные сущности и инфологическая модель базы данных представлена на рисунке 7.
Рисунок 6. Инфологическая модель системы «EZSurf» .
При выборе модели данных будущей СУБД были рассмотрены иерархическая, сетевая и реляционная модели данных. В данной ситуации наиболее подходящей была принята реляционная модель, в связи с этим даталогическая проекция базы выглядит следующим образом:
Рисунок 7. Даталогическая модель базы данных системы «EZSurf» .
Таблицы artist и video, это данные о музыкальных исполнителях и видеозаписях из профиля пользователя социально сети «ВКонтакте» соответственно.
artist_id и video_id — идентификатор записи в соответствующей таблице.
user_id — идентификатор пользователя «ВКонтакте» .
artist_name и video_name — имя артиста и название видео соответственно.
rank — приоритет артиста или видео для поиска Таблица interests представляет собой список интересов из графы персональной информации на странице пользователя «ВКонтакте» .
interest_id — идентификатор интереса.
user_id — идентификатор пользователя «ВКонтакте» .
interest_name — название хобби, интереса.
Таблица recommendation, хранит в себе данные об объектах схожими с теми, что есть в профиле «ВКонтакте» у пользователя.
rec_id — идентификатор объекта-рекомендации.
rec_info — информация об объекте, которую будет использовать Агент Рекомендатель для поиска.
source_id — идентификатор объекта из профиля «ВКонтакте», к которому подобрана данная рекомендация.
type — определитель типа объекта (артист, видео).
owner_id — идентификатор пользователя, которому предназначены рекомендации Список сайтов для поиска, который составляется модератором, будет храниться в таблице registry.
site_id — идентификатор сайта.
site_url — адрес сайта.
type — определитель того, поиск какого рода объектов может выполняться на данном сайте.
Таблица search отвечает за хранение результатов поиска.
id — идентификатор результата поиска.
type — определитель типа объекта поиска (артист, видео).
source_url — адрес найденного рекомендованного контента (статьи).
description — описание статьи.
title — название статьи.
image_url — url обложки статьи.
owner_id — идентификатор пользователя для которого выполнялся поиск Таблица pages хранит url страниц после индексации реестра сайтов.
page_id — идентификатор страницы.
site_url — url сайта из реестра.
page_url — url проиндексированной страницы.