Подскажите как лучше организовать базу ( mysql )

12
Евгений Иванов
На сайте с 26.07.2006
Offline
272
848

Есть сайты у них ключевые слова, цель:

сканировать топ10 на присутсвие сайта - сохранять позицию каждого сканирования по дате

сканировать и сохранять все адреса сайтов топ10 каждого сканирования по дате

каждого сайта из топ 10 брать текст title и ключевые слова и сохранять так же при каждом сканировании по дате

Всё это в mysql

Собственно не могу разобраться со строением базы, как удобней?

Если подробней

Около каждого домена есть кнопка сканировать и кнопочка сканировать топ - нужно разделить эти вещи а то много ресурсов всегда сканировать!
При проверки позиций записываеться число и позиция сайта по всем ключевым словам. Если сайт не найти по ключевику пишем ноль.
Так же записываем весь топ10 по данному запросу - а так же TITLE этих сайтов и весь текст с них.

Есть ссылка посмотреть историю позиций за текущий месяц, а так же за определё1нный отрезок времени - например с 12.01.2009 по 30.01.2009
Есть возможность посмотреть сайты которые на данный момент в топ10 по ключевику, и их титле + текст.

Если мы сканируем и видим что топ10 изминился то на страницы - Изминения топа - должно быть 2 столбика первый какие сайты есть сейчас второй какие были при последнем сканировании.
Красными выделяються те кторые исчезли, синим которые появились.
При нажатии на сайт выскакивает его заголовок и текст.

PS Так же ещё вот - записывать результат сканирования стоит только в том случаи если хоть что-то изминилось, если нечего не меняеться вунизу написать жирным - Изминений нет, результаты сканировании не записаны.
К каждому домену который в ТОП10 записан как один из 10 нужно поле ключевые слова - в него писать ключевые слова выбранные скриптом который мы используем для составления ключевых слов страниц! Просмотр их так же должен быть доступен при просмотре TITLE и текста домена.
При каждом сканировании десятки по тому стоит сканирова TITlE и текст на предмет изминений - если изминения есть записывать новые изминения, что бы можно было сравнить со старыми - вывод сравнения информации организуй как нить на отдельной страницы по отдельному домену, что бы мона было просмотреть последнии 5 и 10 изминений или все сразу.

Буду очень рад подсказки по организации...

Wap.Click / Вап.Клик / Я - рядом!
psylosss
На сайте с 23.12.2005
Offline
126
#1

TABLE sites

- id

- url

TABLE keywords

- id

- keyword

TABLE scans

- id

- site_id

- keyword_id

- time

- position

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
Евгений Иванов
На сайте с 26.07.2006
Offline
272
#2

Есть сайт

Есть ключевые слова для сайта

Нужна история позиций сайта по ключевикам

Нужна история топ10 всех сайтов по каждому ключевику для каждого сайта

Нужен текст, титл и ключевые слова каждого сайта из топ10 для каждого ключевика каждого домена

Нужна история по ключевикам, сайтам из топ10, вывод извинений сайтов которые были в топ10

По моему ваша таблица не много не на всё рассчитана, скорей только на ключевые для сайтов

[Удален]
#3

Поправил!

TABLE sites

- id

- site

TABLE urls

- id

- site_id

- keywords_id

- position

- url

- title

TABLE keywords

- id

- keyword

- sites_id

- url_id

TABLE scans

- id

- site_id

- url_id

- keyword_id

- date

- position

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#4

KosoyRoman, на сколько оправданы массивы если сайтов может быть 50-100 и к каждому сайту по 10-20 запросов, а то и по 50, и соответсвенно всего сайтов которых будет сохранено для анализа 100 сайтов * 50 запросов * 10 сайтов из топа = 50 000 сайтов сохранено, 50 000 главных страниц, загаловков и ключевых слов...

psylosss
На сайте с 23.12.2005
Offline
126
#5
думаю:
По моему ваша таблица не много не на всё рассчитана, скорей только на ключевые для сайтов

Так допишите сами.

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#6

PS забыл добавить 50 000 сайтов сохранено, 50 000 главных страниц, загаловков и ключевых слов... и это за одно число, а если 10 недель прошло и сканировали раз в неделю = 500 000 сайтов, страниц, титлов... что-то уже не реально кажеться...

psylosss
На сайте с 23.12.2005
Offline
126
#7

KosoyRoman, массивы в этих полях не нужны. Это нарушает нормализацию БД, да и вообще в них нет никакой необходимости. Один запрос к поисковику - одна запись в БД.

psylosss добавил 30.01.2009 в 23:16

думаю, говорите понятнее, чего вам нужно и что не устраивает. Может, вообще весь скрипт написать?

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#8
psylosss:
Так допишите сами.

так такой стандарт в любом учебники под загаловком - "Таблица для элементарного счётчика" есть, это всё просто и понятно, я же не зря сюда пришёл, не что бы получить ссылку на основу и дописывать изучая горы летературы, я пришёл в надежде что мало-ли кто уже сталкивался с такой таблицей, или около того

думаю добавил 30.01.2009 в 23:17

psylosss:
думаю, говорите понятнее, чего вам нужно и что не устраивает. Может, вообще весь скрипт написать?

Нет, нужен пример только таблицы, написал вроде бы понятно, всё ясно должно быть вроде как, по этому же тексту ( грубо гря ) программер пишет скрипт... :) См. 5 и 7 пост...

psylosss
На сайте с 23.12.2005
Offline
126
#9
думаю:
См. 5 и 7 пост...

правильно ли я понял из этих постов, что вся проблема в том, что в таблице будет храниться несколько миллионов записей?

psylosss добавил 30.01.2009 в 23:21

думаю:
По моему ваша таблица не много не на всё рассчитана, скорей только на ключевые для сайтов

Моя таблица (на самом деле их целых три) рассчитана на все ваши запросы.

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#10
psylosss:
Моя таблица (на самом деле их целых три) рассчитана на все ваши запросы.

тогда не понимаю, где храниться текст сайта - загаловок и ключевики, а так же 10 сайтов из топ10 по каждому запросу ... =(

psylosss:
правильно ли я понял из этих постов, что вся проблема в том, что в таблице будет храниться несколько миллионов записей?

Это я преувеличил ессно, но всё же....

думаю добавил 30.01.2009 в 23:49

ЗЫ Для особо одаренных - умею ;-) И лучше вас всех вмести взятых, прокомментирую из жалости - зачем запускать серьезный агрегат для целей которые решаются не большим и не своим ;-) / Умник понял :-D

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий