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

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

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

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

Я планирую накапливать в БД следующие данные:
- keyword
- tag
- дата запроса
- позиция
- урл
- search volume ключевика
, чтоб в будущем формировать таблицы и графики с фильтрацией всех ключевиков по отдельному тегу.
Grut вне форума  
Старый 29.11.2017, 20:30   #2
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
По умолчанию

так вот же структура
Цитата:
- keyword
- tag
- дата запроса
- позиция
- урл
- search volume ключевика
id нужен auto_increment
keyword, очевидно, основная колонка
tag, возможно, в отдельную таблицу надо (НФ1)
веломан вне форума  
Старый 30.11.2017, 18:46   #3
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
так вот же структура
Цитата:
- keyword
- tag
- дата запроса
- позиция
- урл
- search volume ключевика
id нужен auto_increment
keyword, очевидно, основная колонка
tag, возможно, в отдельную таблицу надо (НФ1)
Получается, что при добавлении новых данных, значения колонки Keywords будут каждый раз обновлятся?
Я подозреваю, что Keywords должны быть в одной таблице, Теги - в другой, а Позиция и УРЛ - в третьей (или в разных, хз).
Но как это все связать - я хз.
Grut вне форума  
Старый 01.12.2017, 00:14   #4
Ёся
Юниор
 
Регистрация: 04.10.2017
Сообщений: 29
Бабло: $7050
По умолчанию

можно сделать примерно так:
1 таблица id + время запроса + еще какие то данные если нужно..
2 таблица id + кеи
3 таблица id + теги
4 таблица состоит из id (primary key, auto increment), id запроса, id кея, id тега, позиция, url

затем делаешь выборку с join... соединяешь как нужно и всё, можешь связать таблицу 4 и таблицу 1 с помощью foreign key (таблица4.query_id = таблица1.id)
Ёся вне форума  
Старый 01.12.2017, 02:45   #5
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
По умолчанию

Цитата:
Сообщение от Grut Посмотреть сообщение
Цитата:
Сообщение от веломан Посмотреть сообщение
так вот же структура
Цитата:
- keyword
- tag
- дата запроса
- позиция
- урл
- search volume ключевика
id нужен auto_increment
keyword, очевидно, основная колонка
tag, возможно, в отдельную таблицу надо (НФ1)
Получается, что при добавлении новых данных, значения колонки Keywords будут каждый раз обновлятся?
Я подозреваю, что Keywords должны быть в одной таблице, Теги - в другой, а Позиция и УРЛ - в третьей (или в разных, хз).
Но как это все связать - я хз.
1 запись = 1 кейворд, разве нет?
и позиция с урлом тоже одно на кейворд, им не нужна отдельная таблица
веломан вне форума  
Старый 01.12.2017, 06:53   #6
flo0
Senior Member
 
Аватар для flo0
 
Регистрация: 24.04.2007
Адрес: Красноярск
Сообщений: 358
Бабло: $50640
По умолчанию

Грут, посмотри монгодб, забей на мускул. В монго сделаешь одну таблицу и пиши в нее все данные как есть. Тебе этого хватит с головой.
__________________
PharmCash - Лучшие условия и профит в фарме. Hold-0, Refunds-0, Commission–50%, CPU+500. Google нас любит!
flo0 вне форума  
Старый 01.12.2017, 10:22   #7
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,692
Бабло: $370670
По умолчанию

не надо тебе монги, нормализируй это.
__________________
господин мойва любит вас 🙄https://t.me/musica_finale | у каждого есть история: https://anchor.fm/hibrokakbiz 🙉🎤🙊
Юнга вне форума  
Старый 04.12.2017, 23:33   #8
xUnicornx
Member
 
Аватар для xUnicornx
 
Регистрация: 27.05.2010
Сообщений: 49
Бабло: $20700
Отправить сообщение для xUnicornx с помощью Telegram
По умолчанию

Grut, сделай, как говорит веломан. Только добавь индекс к тег колонке
Код:
{
 id int unsignet auto_increment primary key,
 keyword varchar(250)
 tag varchar(250) index
 date DATE
 position int
 url varchar(250)
 search_volume text
}
xUnicornx вне форума  
Старый 06.12.2017, 17:35   #9
Grut
Senior Member
 
Аватар для Grut
 
Регистрация: 23.04.2007
Сообщений: 2,118
Бабло: $337995
ТС -->
автор темы ТС По умолчанию

Сделал как говорил Веломан.
Теперь при импорте данных со следующей датой, значиния в колоке Keywords дублируются.


Теперь склоняюсь к предложению Ёся.
Grut вне форума  
Старый 06.12.2017, 17:55   #10
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,873
Бабло: $1862475
По умолчанию

лучше скрипт импорта поправь
почему-то дата отсутствует и позиции разные
кстати по дефолту должен быть NULL, т.е. создаёшь просто:
added date (added = название колонки)
это на будущее, потому что тут пустышек быть не может
веломан вне форума