Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр «Рецепт счастья» — захватывающая игра в жанре «соедини предметы»! Помогите Эмили разгадать тайну исчезновения родственника, отыскать спрятанные сокровища и вернуть к жизни её уютное кафе.

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
user5467549

Какие игдексы существуют в PostgreSQL⁠⁠

2 года назад
Какие игдексы существуют в PostgreSQL

B-дерево - это алгоритм индексирования, который используется в PostgreSQL. Он основан на идее разделения данных на несколько секций, которые называются узлами дерева. Каждый узел содержит набор ключей и ссылок на дочерние узлы. Поиск значения в B-дереве осуществляется путем последовательного перехода по узлам дерева, начиная с корневого узла, и сравнения искомого ключа с ключами в текущем узле. Этот алгоритм обеспечивает быстрое поиск, вставку и удаление данных, особенно в случае большого объема данных.

Узел дерева - это элемент структуры данных, который содержит информацию и ссылки на другие узлы. В B-дереве, каждый узел содержит набор ключей и ссылок на дочерние узлы. Корневой узел дерева является вершиной, откуда начинается обход дерева. Узлы ниже корня называются потомками. Каждый узел может иметь одного или несколько дочерних узлов, которые соответственно называются листьями дерева. Листья являются конечными узлами дерева и не содержат дочерних узлов.

B-дерево является структурой данных, которая может быть реализована в различных языках программирования, включая PHP. Чтобы реализовать B-дерево в PHP, вы можете создать класс, который описывает узел дерева и содержит методы для добавления, удаления и поиска элементов в дереве.

Некоторые из основных методов, которые вы можете реализовать в классе B-дерева в PHP, могут включать:

  • insert($value) - добавляет новое значение в дерево

  • delete($value) - удаляет значение из дерева

  • search($value) - ищет значение в дереве и возвращает true, если найдено, и false в противном случае

  • getMinimum() - возвращает минимальное значение в дереве

  • getMaximum() - возвращает максимальное значение в дереве

Важно отметить, что реализация B-дерева может быть сложной и требует некоторой предварительной

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

В PHP так же можно использовать сторонние библиотеки для реализации B-дерева, к примеру, "btree" или "B-tree" или "php-btree". Использование сторонних библиотек может значительно упростить процесс реализации B-дерева в вашем PHP-коде и обеспечить более надежную и оптимизированную реализацию.

Так же стоит отметить time complexity и space-complexity

Time complexity B-дерева обычно определяется как O(log n), где n - это количество элементов в дереве. Это достигается за счет того, что каждый узел дерева содержит не более t-1 ключей и t дочерних узлов, таким образом максимальная глубина дерева ограничена log(n/t).

Space complexity определяется как O(n), где n - это количество элементов в дереве. Это означает, что память, необходимая для хранения дерева, зависит от количества элементов в дереве. Каждый узел дерева содержит не более t-1 ключей и t дочерних узлов, поэтому количество узлов в дереве будет ограничено n/t.

Однако, необходимо учитывать, что в B-дереве также может быть использован дополнительный объем памяти для хранения информации о дочерних узлах и других метаданных.

"Introduction to Algorithms" авторы: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. Эта книга считается одним из лучших учебников по алгоритмам и структурам данных и включает подробное описание B-дерева и других структур данных.

"Database Systems: The Complete Book" автор: Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom. Эта книга посвящена базам данных и включает подробное описание B-дерева и других индексных структур, используемых в базах данных.

"Algorithms in C++" автор: Robert Sedgewick. Эта книга предоставляет практическое руководство по алгоритмам и структурам данных на языке С++ и включает код для реализации B-дерева.

Спасибо за дополнения и замечания https://t.me/gasoid

Ещё больше полезной информации тут https://vk.com/work2oq

Показать полностью 1
[моё] PHP Алгоритм Postgres Postgresql Разработка Длиннопост Программирование
4
10
vt244

Истории успеха. Бартунов Олег Сергеевич⁠⁠

3 года назад

Бартунов Олег Сергеевич - ученый - астроном, руководитель Postgres Pro, Major Contributor PostgreSQL, создатель портала astronet, разработчик первого движка Rambler.


Специально для сообщества "Русский Код":

https://rucod.ru

[моё] IT Биография Postgres Успех Видео Видео ВК
3
107
NeuroLabAlgorith
NeuroLabAlgorith
MS, Libreoffice & Google docs

Базы данных - почему бизнес их боится / избегает⁠⁠

4 года назад
Базы данных - почему бизнес их боится / избегает

Раньше странно было наблюдать, почему при автоматизации бизнес процессов заказчики боятся баз данных


Цепляние за эксель у многих происходит до последнего


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


Потом понял, что они даже по своему правы

Эксель для них это последний бастион, где они еще удерживают ситуацию под контролем. Можно залезть ручками в файл, настроить фильтры, поковыряться. Если надо, то что-то подправить в формулах и связях между таблицами

Переход к базе данных это следующий уровень сложности, знаний для контроля над которым просто нет


Тут они уже нутром понимают, что обратной дороги не будет. Придётся зависеть от этих мутных ИТ-шников, с их sql запросами и прочей магией


А главное - не понятно где данные и как понять, что они защищены

В экселе - все понятно, вот файл, в нем закладки с табличками


А база данных это где?


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

А если база данных в "облаке"?


В газетах вон постоянно пишут про хакеров и как из облаков данные утекают


Нет, нам такой прогресс не нужен. Лучше эксель

Тут все надежно, проверено мудростью предков, и есть панацея от всех проблем: ctrl+alt+delete

Показать полностью
[моё] IT Цифровые технологии Технологии Microsoft Excel База данных Данные Анализ данных Большие данные Утечка данных Хранение данных Прогресс SQL Postgresql Postgres
38
8
Troich77
Troich77

M.Gruber "Understanding SQL" /М.Грабер "Понимание SQL". Создание примера базы данных по книге на базе Postgres-9.4⁠⁠

8 лет назад
M.Gruber "Understanding SQL" /М.Грабер "Понимание SQL". Создание примера базы данных по книге на базе Postgres-9.4

Код выполняется последовательно, по пунктам.

Код закоментирован /* */, для исполнения его нужно вставить, например в PgAdmin, выделить мышкой или раскоментировать нужный фрагмент и нажать "F5".

Таблицы идентичны примерам в книге.



-- M.Gruber "Understanding SQL" /М.Грабер "Понимание SQL"

-- Создание примера базы данных по книге на базе Postgres-9.4



-- 1. Создаем таблицу salespeople


/*


create table salespeople (


snum bigint primary key,


sname varchar(50),


city varchar(50),


comm numeric)


*/


-- 1.1. Наполняем данными salespeople


/*


insert into salespeople


select 1001::bigint as snum, 'Peel'::varchar(50) as sname, 'London'::varchar(50) as city, 0.12::numeric as comm


union all


select 1002::bigint as snum, 'Serres'::varchar(50) as sname, 'San Jose'::varchar(50) as city, 0.13::numeric as comm


union all


select 1004::bigint as snum, 'Motika'::varchar(50) as sname, 'London'::varchar(50) as city, 0.11::numeric as comm


union all


select 1007::bigint as snum, 'Rifkin'::varchar(50) as sname, 'Barcelona'::varchar(50) as city, 0.15::numeric as comm


union all


select 1003::bigint as snum, 'Axelrod'::varchar(50) as sname, 'New York'::varchar(50) as city, 0.10::numeric as comm


*/


-- 2. Создаем таблицу customers


/*


create table customers (


cnum bigint primary key,


cname varchar(50),


city varchar(50),


rating numeric,


snum bigint)


*/


-- 2.1. Наполняем данными customers


/*


insert into customers


select 2001::bigint as сnum, 'Hoffman'::varchar(50) as сname, 'London'::varchar(50) as city, 100::numeric as rating, 1001::bigint as snum


union all


select 2002::bigint as сnum, 'Giovanni'::varchar(50) as сname, 'Rome'::varchar(50) as city, 200::numeric as rating, 1003::bigint as snum


union all


select 2003::bigint as сnum, 'Liu'::varchar(50) as сname, 'San Jose'::varchar(50) as city, 200::numeric as rating, 1002::bigint as snum


union all


select 2004::bigint as сnum, 'Grass'::varchar(50) as сname, 'Berlin'::varchar(50) as city, 300::numeric as rating, 1002::bigint as snum


union all


select 2006::bigint as сnum, 'Clemens'::varchar(50) as сname, 'London'::varchar(50) as city, 100::numeric as rating, 1001::bigint as snum


union all


select 2008::bigint as сnum, 'Cisneros'::varchar(50) as сname, 'San Jose'::varchar(50) as city, 300::numeric as rating, 1007::bigint as snum


union all


select 2007::bigint as сnum, 'Pereira'::varchar(50) as сname, 'Rome'::varchar(50) as city, 100::numeric as rating, 1004::bigint as snum


*/


-- 3. Создаем таблицу orders


/*


create table orders (


onum bigint primary key,


amt numeric,


odate date,


cnum bigint,


snum bigint)


*/


-- 3.1. Наполняем данными orders


/*


insert into orders


select 3001::bigint as onum, 18.69::numeric as amt, '10/03/1990'::date as odate, 2008::bigint as cnum, 1007::bigint as snum


union all


select 3003::bigint as onum, 767.19::numeric as amt, '10/03/1990'::date as odate, 2001::bigint as cnum, 1001::bigint as snum


union all


select 3002::bigint as onum, 1900.10::numeric as amt, '10/03/1990'::date as odate, 2007::bigint as cnum, 1004::bigint as snum


union all


select 3005::bigint as onum, 5160.45::numeric as amt, '10/03/1990'::date as odate, 2003::bigint as cnum, 1002::bigint as snum


union all


select 3006::bigint as onum, 1098.16::numeric as amt, '10/03/1990'::date as odate, 2008::bigint as cnum, 1007::bigint as snum


union all


select 3009::bigint as onum, 1713.23::numeric as amt, '10/04/1990'::date as odate, 2002::bigint as cnum, 1003::bigint as snum


union all


select 3007::bigint as onum, 75.75::numeric as amt, '10/04/1990'::date as odate, 2004::bigint as cnum, 1002::bigint as snum


union all


select 3008::bigint as onum, 4723.00::numeric as amt, '10/05/1990'::date as odate, 2006::bigint as cnum, 1001::bigint as snum


union all


select 3010::bigint as onum, 1309.95::numeric as amt, '10/06/1990'::date as odate, 2004::bigint as cnum, 1002::bigint as snum


union all


select 3011::bigint as onum, 9891.88::numeric as amt, '10/06/1990'::date as odate, 2006::bigint as cnum, 1001::bigint as snum


*/



-- 4. Удаление базы данных


/*


DROP TABLE salespeople


DROP TABLE customers


DROP TABLE orders


*/

Показать полностью 1
[моё] Understanding SQL SQL Postgresql Postgres Обучение Программирование Длиннопост
5
sskdroid

Postgres⁠⁠

9 лет назад

- БД Postgres!

- Воистину Postgres!

Postgres База данных Текст
1
59
iiilia
iiilia

pgconf 2014, вдруг у кого есть билет и он не едет!⁠⁠

11 лет назад
Привет, Пикабу! Тут такое дело, я очень хотел поехать на pgconf 2014 (конференция по СУБД postgres), но как то абсолютно пролюбил время и не купил билет на саму конференцию. А они ушли подобно горячим пирожкам.
Меня, конечно, добавили в waiting list, но это как то сомнительно.

Может быть здесь есть кто нибудь, кто купил билет, а у самого не получается.
Так вот. Я бы с удовольствием его выкупил!

Поднимите в горячее - буду безмерно счастлив.
Коммент для минусов - внутри!
Помощь Пикабу Postgres IT Pgconf Madrid Испания Текст
13
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии