Структура таблиц БД - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD68836.2646
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 29.11.2017, 20:17
Start Post: Структура таблиц БД 
  #11
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
По умолчанию

Коллеги, помогите, пожалуйста, сообразить правильную структуру таблиц базы даных в MySQL.
Исходные данные:
Совершая get-запрос к API SemRush, получаю массив данных в формате json. Этот массив есть список отслеживаемых поисковых запросов, их позиция в Гугле, урл ранжируемой страницы и др.
Один элемент массива выглядит следующим образом:
More

Я планирую накапливать в БД следующие данные:
- keyword
- tag
- дата запроса
- позиция
- урл
- search volume ключевика
, чтоб в будущем формировать таблицы и графики с фильтрацией всех ключевиков по отдельному тегу.
Grut вне форума  
Старый 06.12.2017, 18:36   #12
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
лучше скрипт импорта поправь
почему-то дата отсутствует и позиции разные
кстати по дефолту должен быть NULL, т.е. создаёшь просто:
added date (added = название колонки)
это на будущее, потому что тут пустышек быть не может
Вместо отсутствующей даты, должна была быть дата 2017-12-05, от этого и позиции разные.

Как переделать скрипт импорта сейчас раздумываю. Спасибо.
Grut вне форума  
Старый 06.12.2017, 22:00   #13
xUnicornx
Member
 
Аватар для xUnicornx
 
Регистрация: 27.05.2010
Сообщений: 49
Бабло: $20700
Отправить сообщение для xUnicornx с помощью Telegram
По умолчанию

сделай чтобы запоминало в переменную последнюю не пустую дату, потом ее подставляй тогда, когда пусто.
Или, если у тебя date - это дата запроса к semRush, тогда проставляй нынешнюю дату. date('Y-m-d')
xUnicornx вне форума  
Старый 06.12.2017, 23:19   #14
Ёся
Юниор
 
Регистрация: 04.10.2017
Сообщений: 29
Бабло: $7050
По умолчанию

решив проблему с датой, проблема избыточности данных останется, если бд в будущем будет большая + добавляться новый функционал то лучше изначально сделать более менее оптимизированную структуру таблиц. Допустим ты проверяешь 1000 ключей в день и что каждый день записывать эти одинаковые ключи в таблицу да плюс еще и теги...
А если у ключа несколько тегов будет (если такое возможно) то что делать, в колонке с тегом через запятую перечислять теги каждый день? А если ты к ключу захочешь добавить к примеру его частотность, что делать тогда? поэтому, моё мнение, изначально для ключей лучше сделать отдельную таблицу, возможно и не только для ключей..
Ёся вне форума  
Старый 07.12.2017, 00:43   #15
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

Grut, ты можешь четче сказать что ты хочешь? Я не понял что ты собираешься делать в итоге. Дай пару примеров.

https://m.habrahabr.ru/post/193380/
Hector вне форума  
Старый 07.12.2017, 13:42   #16
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
ТС -->
автор темы ТС По умолчанию

Промежуточная цель - это автоматический сбор позиций сайта (c учетом категоризации ключевиков тегами) из сервиса SemRush Projects в БД для последующего формирования различных дашбордов с помощью BI-инструментов типа PowerBI или GoogleDataStudio.

Ну и все осложняется тем, что я ни разу не программист, а seoшник и seo-аналитик. И потому, задаю вероятно глупые вопросы. Сорри за это.

Цитата:
Сообщение от Ёся Посмотреть сообщение
решив проблему с датой, проблема избыточности данных останется, если бд в будущем будет большая + добавляться новый функционал то лучше изначально сделать более менее оптимизированную структуру таблиц. Допустим ты проверяешь 1000 ключей в день и что каждый день записывать эти одинаковые ключи в таблицу да плюс еще и теги...
А если у ключа несколько тегов будет (если такое возможно) то что делать, в колонке с тегом через запятую перечислять теги каждый день? А если ты к ключу захочешь добавить к примеру его частотность, что делать тогда? поэтому, моё мнение, изначально для ключей лучше сделать отдельную таблицу, возможно и не только для ключей..
Вот-вот, и меня настигают такие же вопросы. Изначально предполагается, что для каждого ключевика будет только один тег, но Семраш позволяет присваивать несколько тегов, потому и такую вероятность надо учитывать.

Частотность я также хочу трекать. Тем более, что частотность ключевика может меняться из месяца в месяц. И если собирать данные частотности всех отслеживаемых ключевиков для одного проекта, то в будущем можно будет прогнозировать сезонность тех или иных групп ключевиков. Для ecommerce seo - это офигенно полезная штука.
Grut вне форума  
Старый 07.12.2017, 13:57   #17
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,881
Бабло: $1863305
По умолчанию

дубли ключевиков апдейтить надо, а не множить
там же только позиция меняется
просто по самому ключевику поиск делай или освой ON DUPLICATE KEY UPDATE
веломан вне форума