Базы данных на пальцах (для новичков)

  • Автор темы Автор темы volody00
  • Дата начала Дата начала
спасибо всем, кто поддержал статью лайком. с 8 июня на ютуб канале будет выпущено несколько видео по БД, логически продолжающие данную статью.

Сейчас уже понятно, что канал популярным не будет, монетизировать его не выйдет, поэтому видео больше для себя. Но если кому вдруг нужно, также можете смотреть.

P.S. "Соррян" за рекламу
Подписался , жду продолжения
 
спасибо всем, кто поддержал статью лайком. с 8 июня на ютуб канале будет выпущено несколько видео по БД, логически продолжающие данную статью.

Сейчас уже понятно, что канал популярным не будет, монетизировать его не выйдет, поэтому видео больше для себя. Но если кому вдруг нужно, также можете смотреть.

P.S. "Соррян" за рекламу
Я не новичок в ЗП и пишу на C#, но с БД не работал и данная статья для меня очень была полезна
Да и канал тоже мне нрав, некоторые короткие ролики для меня полезны, например про словари и решения задачек с форума, так что веди, не бросай)
 
Не понятно по айпи. С базой данных я буду работать онлайн. С двух компов одновременно. При этом айпишники будут постоянно меняться. Там и VPN и мобильные прокси и т.д. Хостинг что не будет пускать мои запросы если они не попадают в указанный диапазон?
 
Не понятно по айпи. С базой данных я буду работать онлайн. С двух компов одновременно. При этом айпишники будут постоянно меняться. Там и VPN и мобильные прокси и т.д. Хостинг что не будет пускать мои запросы если они не попадают в указанный диапазон?
Jino не будет.
 
Написал им в техподдержку, хотел вернуть уплаченные деньги. Они ответили "Да, Вам пустит только с тех IP, что добавлены в разделе https://cp-hosting.jino.ru/management/mysql/ipaccess/ Удаленный доступ к базе с любого IP можно получить на спектре или VPS. "
Подскажите что выбрать. Спектр или VPS. Я далёк от этого. Базы переносил в таблицах с компа на комп через облако ручками. Но вот хочу перейти на БД. Пятый десяток уже, тяжело осваивать не известное, но надо)))
 
Написал им в техподдержку, хотел вернуть уплаченные деньги. Они ответили "Да, Вам пустит только с тех IP, что добавлены в разделе https://cp-hosting.jino.ru/management/mysql/ipaccess/ Удаленный доступ к базе с любого IP можно получить на спектре или VPS. "
Подскажите что выбрать. Спектр или VPS. Я далёк от этого. Базы переносил в таблицах с компа на комп через облако ручками. Но вот хочу перейти на БД. Пятый десяток уже, тяжело осваивать не известное, но надо)))
Ну vps вам наверно не надо... Во первых впс по дороже может быть, во вторых если вы не знакомы с линукс системами и работой с ними по ssh , то тут даже на стоимость тарифа разницы нет.
Возмите спектр самый дешëвый тариф, там под вордпресс есть и ставтьте туда базу, всë управления будет через их (джино) админку, там методом тыка и с помощью гугла справитесь)))
 
  • Спасибо
Реакции: Flame1974
Подскажите что выбрать. Спектр или VPS
У меня в подписи хостинг, уже лет 5-6 кроме сайтов держу на нем все свои базы, разрешает доступ с любых внешних айпи по паролю, более 50 баз там держу.
 
  • Спасибо
Реакции: Flame1974
Самый производительный и интересный подход в части Mysql у @WebBot.
Там интересная реализация - можно делать несколько обращений без закрытия соединения с базой данных.
А если ты соединение не закрываешь, ты в цикле можешь делать множественные обработки.
Я распараллеливаю потоки через глобальные переменные или переменную.
Но сам класс DB не доделан - тот который в паблике.
Я бы туда добавил открыть соединение если оно потеряно по каким-то причинам.

В сами функции qwery и подобные добавил бы обработку строки на входе данных в функцию, чтобы метод не применять по тексту в кубиках.

Возможно еще что-то для универсальности.
 
Не понятно по айпи. С базой данных я буду работать онлайн. С двух компов одновременно. При этом айпишники будут постоянно меняться. Там и VPN и мобильные прокси и т.д. Хостинг что не будет пускать мои запросы если они не попадают в указанный диапазон?
Хостинг не имеет права ограничивать доступ к арендованным ресурсам на произвольной основе.

root-а сделай локальным.
Ты когда пользователя создаешь для БД, ты ему для доступа "%" для всех.
Если логин не знаешь от БД, то пароль подобрать не возможно - слишком емкое мероприятие получается.
 
Подскажите.
У автора "А также скажем, что он должен заполняться автоматически без нашего участия (правая кнопка мыши по нему" и фраза обрезана? Потому как не появляется то что должно. Происходит то же действие что и в предыдущем шаге. (Это почти конец установки, перед практикой)

Разобрался. Не правую, а левую кнопку мыши и именно на ячейку "По умолчанию"
 
Последнее редактирование:
Правильно заметили, должно быть: кликаем левой кнопкой мыши один или два раза по полю столбца "По умолчанию", в зависимости выделено поле или нет и устанавливаем галочку как на скриншоте, т.е. AUTO_INCREMENT
Поле AUTO INCREMENT Автоинкремент позволяет автоматически генерировать уникальный номер при добавлении новой записи в таблицу. Часто это поле первичного ключа, которое мы хотели бы создавать автоматически каждый раз, когда вставляется новая запись.
 
Спасибо!
Будем изучать базы данных.
А как обходить превышение количества подключений при работе в многопотоке?

Здравствуйте, я вас давно ищу))
Вы в одно время удалили все свои аккаунты и я много раз пытался с вами связаться, но, о чудо Вы тут.
Если не сложно, напишите в телеграмм DepDobDel, у меня есть очень интересное и дельное предложение к Вам. Оно связано с большой работой по бирже, сразу скажу, предложение не связано с созданием Zeno бота по трейдингу или написание "софта" по теханализу, скальпингу или холду. Оно больше техническое.
Или дайте любой контакт для связи. я отправлю Вам предложение.
 
Последнее редактирование:
Приветствую всех, я немного не понял, зачем располагать базу на хостинге, а если его нет? У новичков появляются всякие дополнительные вопросы по доступу по IP, всякие разногласия с хостером - это же отвлекает от самой темы, которая очень интересна и полезна! Если ZP стоит на локальном компе, почему просто нельзя скачать под винду Mysql сервер, или MariaDB клон его и установить рядом?
 
Приветствую всех, я немного не понял, зачем располагать базу на хостинге, а если его нет? У новичков появляются всякие дополнительные вопросы по доступу по IP, всякие разногласия с хостером - это же отвлекает от самой темы, которая очень интересна и полезна! Если ZP стоит на локальном компе, почему просто нельзя скачать под винду Mysql сервер, или MariaDB клон его и установить рядом?
можно. еще можно просто пользоваться SQLite если не нужна сетевая база, а только локальная и только для приложения. она идеальна в этом случае.
 
  • Спасибо
Реакции: material, Koqpe и ivl
Приветствую всех, я немного не понял, зачем располагать базу на хостинге, а если его нет? У новичков появляются всякие дополнительные вопросы по доступу по IP, всякие разногласия с хостером - это же отвлекает от самой темы, которая очень интересна и полезна! Если ZP стоит на локальном компе, почему просто нельзя скачать под винду Mysql сервер, или MariaDB клон его и установить рядом?
На хостинг базу нужно ставить из соображений если к ней идет обращение с нескольких серваков
 
На хостинг базу нужно ставить из соображений если к ней идет обращение с нескольких серваков
То есть, имеется несколько выделенных серваков для ZP, а для общей базы идет разговор про базу на шаред-хостинге?
 
То есть, имеется несколько выделенных серваков для ZP, а для общей базы идет разговор про базу на шаред-хостинге?
Можно на шаред-хостинге... если есть такая необходимость можно свой впс поднять и поставить там БД.
 
То есть, имеется несколько выделенных серваков для ZP
Зенку не только на выделеный сервак можно воткнуть, но и на впс, правда на мощный шаб. не стоит расчитывать... Да ещё и в многопотоке
 
можно. еще можно
Как вариант, можно еще после звукового алерта вызывать оповещение или окно виндовсформ с данными и записывать их ручкой в тетрадку, лучше в клеточку :D
 
Как вариант, можно еще после звукового алерта вызывать оповещение или окно виндовсформ с данными и записывать их ручкой в тетрадку, лучше в клеточку :D
к чему это ? что не так написал ?
 
к чему это ? что не так написал ?
все так, это я добавил своё дополнение к твоему ответу на вопрос @ivl для новичков, расширил так сказать горизонт :-), сори если ты принял мой ответ на свой счет :bt: .
Приветствую всех, я немного не понял, зачем располагать базу на хостинге, а если его нет? У новичков появляются всякие дополнительные вопросы по доступу по IP, всякие разногласия с хостером - это же отвлекает от самой темы, которая очень интересна и полезна! Если ZP стоит на локальном компе, почему просто нельзя скачать под винду Mysql сервер, или MariaDB клон его и установить рядом?
 
  • Спасибо
Реакции: Koqpe
Спасибо большое за статью!
Не подскажете mysql-аналог экшена операции со списком - взять случайную строку с удалением?
Нашел тут код, но там первая строка берется.
 
Последнее редактирование:
Есть такая же версия, по sqllite ?:)
 
Спасибо большое за статью!
Не подскажете mysql-аналог экшена операции со списком - взять случайную строку с удалением?
Нашел тут код, но там первая строка берется.
для рандомной строки есть ф-я:
C#:
Развернуть Свернуть Копировать
 ORDER BY RAND()
скорее всего так, попробуй (не проверял):
C#:
Развернуть Свернуть Копировать
DELETE FROM treining ORDER BY RAND()
Есть такая же версия, по sqllite ?:-)
sql запросы для всех БД плюс минус одинаковые. если что-то получается в MySQL, но не получается в SQLite, забивай вопрос в гугл
 
  • Спасибо
Реакции: material и bizzon
Подскажите, что за ошибка:

86247


Иногда выскакивает такая ошибка. Через пару мин отпускает и норм конектится к БД.
 
Захотелось перейти на БД, но возникли вопросы. Какие типы данных лучше использовать и как их правильно выбирать? Вот например создаю таблицу emails cо столбацами email, pass, control_answer, kolichestvo-reg, date, banned. Ну с kolichestvo-reg ясно - INT, с email тоже - TEXT, date - тип дата. А если число не целое? На сколько я понял, SQlite не поддерживает тип данных FLOAT и как тогда быть, юзать Mysql? Целесообразно ли шифровать пароли, не усложнит ли это жизнь при работе с ЗП?
 
Захотелось перейти на БД, но возникли вопросы. Какие типы данных лучше использовать и как их правильно выбирать? Вот например создаю таблицу emails cо столбацами email, pass, control_answer, kolichestvo-reg, date, banned. Ну с kolichestvo-reg ясно - INT, с email тоже - TEXT, date - тип дата. А если число не целое? На сколько я понял, SQlite не поддерживает тип данных FLOAT и как тогда быть, юзать Mysql? Целесообразно ли шифровать пароли, не усложнит ли это жизнь при работе с ЗП?
Вы можете использовать обычный varchar всегда, и не особо заморачиваться о том, как нужно.
А уже когда встретитесь с какими-то ограничениями, вот тогда и будете знать зачем именно тот или другой тип данных нужен в данном конкретном случае.
Например, когда все будет varchar, Вы поймете, что почему-то когда записываете статью, часть статьи куда-то теряется - вот и повод использовать text.
Или например записали числа с плавающей точкой в варчар, а в какой-то день захотели посчитать сумму - и ничего не получилось - вот тогда будете искать уже какой-то decimal.
Если же у Вас никаких ограничений пока не наступило, ни на какие грабли ещё не встали - то нет смысла заучивать таблицу типов, которые возможно могут и не пригодится (они пригодятся, просто запоминание проще когда встаешь на грабли и изучаешь по мере появления проблем).
 
Например, когда все будет varchar, Вы поймете, что почему-то когда записываете статью, часть статьи куда-то теряется - вот и повод использовать text.
Хороший совет. Напарсить данных в БД, создать сайт на миллион паг, вложить много тыщ в SEO, а потом узнать, что статьи не лезут в ТОП потому что в них обрезан контент, который нет возможности восстановить.
 
  • Спасибо
Реакции: djaga
методом "тыка" нашёл "оптимум для новичка"
нумерация с автозаполнением INT
короткие тексты и числа до 250 знаков - varchar
непонятное по размеру -text
индексация нужных столбцов
На остальные нюансы по переменным , заморачиваюсь по мере накопления опыта и уточнения задач.
 
  • Спасибо
Реакции: material

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)