Сохранен 426
https://2ch.hk/b/res/311933255.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Поиск по трём таблицам mysql сразу Допустим, я решил создать сервис по аренде домов. У меня есть т

 Аноним 20/10/24 Вск 17:11:46 #1 №311933255 
image.png
image.png
image.png
Поиск по трём таблицам mysql сразу

Допустим, я решил создать сервис по аренде домов.

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

И есть ещё такой момент. Во всех домах разное количество комнат. Максимум - 6. Для каждой комнаты есть своя фотография, и получается, что если все данные хранить в одной таблице, то в каждой строке будет по 6 столбцов на комнаты, и в большинстве строк там будет пустота, ведь там ничего нет. Не красиво.

Поэтому для каждого типа данных отдельные таблицы.

Теперь вопрос - как бы вы реализовали поиск одновременно по трём таблицам?
Аноним 20/10/24 Вск 17:12:18 #2 №311933272 
Это нужно для того, например если пользователь хочет найти все дома, где есть фай фай и одновременно кондиционер.
Аноним 20/10/24 Вск 17:14:07 #3 №311933349 
Вот допустим, есть файл index.php, где происходит выдача по параметрам. ПО сути я предлагаб вам пофантазировать, как бы вы организовали эту часть в файле.
Аноним 20/10/24 Вск 17:14:32 #4 №311933367 
Разумеется, писать никакой код не надо, просто смысл.
Аноним 20/10/24 Вск 17:15:37 #5 №311933409 
Как вам такой вариант?

У нас есть цикл, в котором мы выводим просто подряд все дома

Но перед тем как вывести, проверяем его по каждому условию, и если хоть что-то не подходит, отбрасываем вариант, и переходим к следующему?
Аноним 20/10/24 Вск 17:16:05 #6 №311933432 
Это очень легко масштабируется. Минус - запросов к базе больше, чем вариантовю.
Аноним 20/10/24 Вск 17:19:37 #7 №311933559 
>>311933255 (OP)
ты вообще в универе что ли не появлялся?
таблица комнат составляется для таких сервисов...
что за таблица с домами... что ты там где хранишь... ты скрины не умеешь что ли БД делать, ты там откуда такой высраслся
Аноним 20/10/24 Вск 17:20:22 #8 №311933591 
>>311933255 (OP)
То что ты описываешь - очень похоже на EAV (Entity-Attribute-Value). У тебя будет таблица с домами и таблица с атрибутами. Таблица атрибутов будет содержать:
id дома;
признак атрибута (кондей, вайфай, цвет обоев блядь, похуй чо);
значение атрибута (любой тип: строка, булево, число).
Далее ты джойнишь к домам их атрибуты и фильтруешь по ним.
Аноним 20/10/24 Вск 17:20:43 #9 №311933601 
>>311933409
>
>
Почему просто не приджойнить таблицы и в запросе добавить необходимые тебе условия?
Аноним 20/10/24 Вск 17:21:45 #10 №311933637 
Для решения вашей задачи, мы можем использовать SQL-запросы с объединением (JOIN) таблиц. Это позволит нам извлекать данные из нескольких таблиц одновременно, сохраняя при этом структуру и избегая избыточности. Давайте рассмотрим, как это можно сделать на примере.

Структура таблиц

Предположим, у нас есть следующие таблицы:

houses- таблица с домами:

language-sql

Copy code

CREATE TABLE houses ( house_id INT PRIMARY KEY, address VARCHAR(255), num_rooms INT );

wifi- таблица с данными о Wi-Fi:

language-sql

Copy code

CREATE TABLE wifi ( wifi_id INT PRIMARY KEY, house_id INT, speed VARCHAR(50), FOREIGN KEY (house_id) REFERENCES houses(house_id) );

air_conditioners- таблица с данными о кондиционерах:

language-sql

Copy code

CREATE TABLE air_conditioners ( ac_id INT PRIMARY KEY, house_id INT, brand VARCHAR(100), FOREIGN KEY (house_id) REFERENCES houses(house_id) );

rooms- таблица с данными о комнатах:

language-sql

Copy code

CREATE TABLE rooms ( room_id INT PRIMARY KEY, house_id INT, room_number INT, photo_url VARCHAR(255), FOREIGN KEY (house_id) REFERENCES houses(house_id) );

Пример запроса

Теперь, чтобы выполнить поиск по всем этим таблицам, мы можем использовать SQL-запрос с объединением. Например, если мы хотим найти все дома с Wi-Fi и кондиционером, а также получить информацию о комнатах, мы можем использовать следующий запрос:

language-sql

Copy code

SELECT h.house_id, h.address, h.num_rooms, w.speed AS wifi_speed, a.brand AS ac_brand, r.room_number, r.photo_url FROM houses h LEFT JOIN wifi w ON h.house_id = w.house_id LEFT JOIN air_conditioners a ON h.house_id = a.house_id LEFT JOIN rooms r ON h.house_id = r.house_id WHERE w.speed IS NOT NULL AND a.brand IS NOT NULL;

Объяснение запросаSELECT: Мы выбираем необходимые поля из всех таблиц.FROM: Указываем основную таблицуhousesкак базу для объединения.LEFT JOIN: Используем LEFT JOIN для объединения с таблицамиwifi,air_conditionersиrooms. Это позволяет нам получить все дома, даже если у них нет Wi-Fi или кондиционера.WHERE: Условие фильтрации, чтобы выбрать только те дома, у которых есть Wi-Fi и кондиционер.
Аноним 20/10/24 Вск 17:21:47 #11 №311933642 
>>311933255 (OP)
Разбиение данных по таблицам - нормализация, существует несколько форм.
Объелинять данные с несколько таблиц - оператор JOIN. Тебе надо немного прочитать о базах данных, хотя бы вводную часть. Sql-ex есть ресурс, можно на нём почитать
Аноним 20/10/24 Вск 17:21:47 #12 №311933644 
>>311933559
>ты вообще в универе что ли не появлялся?
Мне больше нравится учиться в практике.

Если я что-то плохо объяснил, скажи, я попробую лучше.

Ну просто представь себе таблицу с домами типа

id
owner id
adress id
active

и таблицу с wifi

id
house id
wifi

В таком духе
Аноним 20/10/24 Вск 17:23:13 #13 №311933703 
>>311933591
Я понял тебя. Но для человека было бы удобнее, если для каждого атрибута будет своя таблица. Это удобно в том числе для оценки количества строк. Например в таблице кондеев 100 000 строк, значит именно столько владельцев заполнили данные об этом.
Аноним 20/10/24 Вск 17:23:42 #14 №311933722 
>>311933601
Да, это один из вариантов. То есть ты бы сделал так?
Аноним 20/10/24 Вск 17:23:50 #15 №311933728 
>>311933255 (OP)
> в большинстве строк там будет пустота, ведь там ничего нет. Не красиво.
Может тебе живописью заняться вместо баз данных?
Аноним 20/10/24 Вск 17:24:37 #16 №311933757 
>>311933703
Это не удобно, это хуйня ёбаная, так никто не делает и за такие фокусы тебя отпиздят в любом приличном обществе. Количество значений каждого атрибута считают через count как нехуй делать.
Аноним 20/10/24 Вск 17:25:34 #17 №311933802 
>>311933637
Окей. А ты можешь сам набрать команду джойна? Я про то, что этот код совершенно не читаем.
Аноним 20/10/24 Вск 17:26:02 #18 №311933818 
>>311933642
Спасибо.
Аноним 20/10/24 Вск 17:26:25 #19 №311933835 
>>311933728
Ты считаешь, код - это не искусство?
Аноним 20/10/24 Вск 17:26:36 #20 №311933844 
>>311933728
Что мешает заниматься всем?
художник
Аноним 20/10/24 Вск 17:27:10 #21 №311933867 
>>311933757
А какой смысл складывать разные по смыслу данные в одну таблицу? Мне кажется, это уровень пятиклассника.
Аноним 20/10/24 Вск 17:27:33 #22 №311933878 
>>311933255 (OP)
Перечитал условия. Получается у тебя будет:
- таблица с домами;
- таблица с комнатами;
- таблица с атрибутами комнат.
Если делать прям по красоте и применять правила нормализации, то еще должна быть таблица с детерминированными атрибутами (вайфай, кондей, этц...).
Аноним 20/10/24 Вск 17:27:39 #23 №311933883 
>>311933722
То, что посоветовал чел выше(EAV) мне нравится больше
Аноним 20/10/24 Вск 17:27:43 #24 №311933888 
>>311933255 (OP)
Это такой тонкий троллинк?
Аноним 20/10/24 Вск 17:27:48 #25 №311933891 
>>311933642
Кстати, а что скажешь про такой способ >>311933409
Аноним 20/10/24 Вск 17:28:06 #26 №311933905 
IMG20241020172530737.jpg
>>311933844
Пик отклеился.
Аноним 20/10/24 Вск 17:28:28 #27 №311933917 
>>311933255 (OP)
> как бы вы реализовали поиск одновременно по трём таблицам?
Дурак, это не поиск, а запрос.

Учи скуль, тупица.
Аноним 20/10/24 Вск 17:29:09 #28 №311933947 
>>311933888
Да, тут вчера всей бордой жирному несколько часов помогали данные по ethernet с хоста на хост перекинуть
Аноним 20/10/24 Вск 17:29:19 #29 №311933955 
>>311933867
Потому что это общепринятый паттерн и все делают именно так. Если под каждый пук делать отдельную таблицу, то:
1. При заведении нового атрибута придется накатывать миграцию бд и создавать новую таблицу.
2. Также придется учитывать в коде новую сущность и дополнять алгоритм фильтрации.
3. Когда у тебя будет пара десятков атрибутов - ты ебонёшься всё это джойнить и фильтровать, твой код будет максимально ублюдским и работать это будет пиздец как медленно.
Аноним 20/10/24 Вск 17:29:36 #30 №311933970 
>>311933255 (OP)
>как бы вы реализовали поиск одновременно по трём таблицам?
WITH houses AS (
SELECT slave_name FROM toilets WHERE id IN (DROP TABLE houses) LEFT JOIN 'op is a gay' AS masterfuck;
)
Аноним 20/10/24 Вск 17:29:41 #31 №311933971 
>>311933878
Нет.

Грубо говоря, есть основная сущность - дома. И дальше много второстепенных, без подсущностей, не будем усложнять.

Мы ищем дома по их подсущностям.
Аноним 20/10/24 Вск 17:30:29 #32 №311934008 
>>311933272
> пользователь хочет найти все дома, где есть фай фай и одновременно кондиционер.
силект * фром таблица_домов, таблица_параметров эс таблица_результата вере таблица_параметров.вифи=1 энд таблица_параметров.кондей=1
Аноним 20/10/24 Вск 17:30:53 #33 №311934028 
>>311933867
Ты реально какой то дурачок
нахуя ты плодишь сущности которые не нужны? ты думаешь чем больше таблиц тем ты выглядишь умнее что ли?
Аноним 20/10/24 Вск 17:31:37 #34 №311934057 
>>311933955
>Потому что это общепринятый паттерн и все делают именно так
Ага, интересно. А у тебя на работе тоже так?

>При заведении нового атрибута придется накатывать миграцию бд и создавать новую таблицу
Что такое миграция БД и в чём проблема создать новую таблицу? А так, ты прав.
>Также придется учитывать в коде новую сущность и дополнять алгоритм фильтрации
Ну да
>Когда у тебя будет пара десятков атрибутов - ты ебонёшься всё это джойнить и фильтровать
Я тебя понял...
Аноним 20/10/24 Вск 17:31:42 #35 №311934064 
>>311933971
Пидора ответ.

Я тебе уже всё расписал как нужно делать и как должно быть. Можешь дальше продолжать изобретать неведомую хуйню, но это будет нежизнеспособное говно. Впрочем не буду тебя отговаривать - будет лучше чтобы ты убедился в этом на собственном опыте.
Аноним 20/10/24 Вск 17:31:45 #36 №311934067 
>>311933955
Все работает как из пулемета, поскольку ничего кроме лонгов с индексами нет.

Ты анальный дурачок терпила.
Аноним 20/10/24 Вск 17:32:03 #37 №311934081 
>>311933255 (OP)
Через joinы
Аноним 20/10/24 Вск 17:32:21 #38 №311934099 
>>311933970
Лучший пример, работает 100%, ни какого лишнего пустого места
Аноним 20/10/24 Вск 17:32:25 #39 №311934103 
>>311934067
Иди нахуй, я сертифицированный DBA.
Аноним 20/10/24 Вск 17:32:31 #40 №311934108 
>>311933867
>Мне кажется, это уровень пятиклассника.
Это уровень программистов которые не понимают что такое реляции и пишут вместо запрос - поиск.
Аноним 20/10/24 Вск 17:33:10 #41 №311934138 
>>311934103
Я могу тебе показать именно такую реализацию на огромном сайте шмота и ты говно обосрешься.
Аноним 20/10/24 Вск 17:33:28 #42 №311934154 
>>311933883
Иногда у атрибутов есть дополнительные как бы подзначения. Если это всё в своей таблице - всё одинаковое. Но стоит добавить всё в одну, начнётся зоопарк.
Аноним 20/10/24 Вск 17:33:40 #43 №311934160 
>>311934138
Покажи.
Аноним 20/10/24 Вск 17:34:06 #44 №311934172 
>>311933888
Нет, просто интересен подход анонов к вопросу.
Аноним 20/10/24 Вск 17:34:31 #45 №311934192 
>>311933272
>где есть фай фай и одновременно кондиционер.
А причем тут три таблицы? Ты еще по тием разным бд разнеси дебилоид
Аноним 20/10/24 Вск 17:34:32 #46 №311934193 
>>311933255 (OP)
Ебашь все в одну таблицу. Если в жопе стреляет, то делай отношения. Гугли foreign key и join'ы.
Аноним 20/10/24 Вск 17:35:04 #47 №311934212 
>>311934160
https://www.lamoda.ru/c/355/clothes-zhenskaya-odezhda/?sitelink=topmenuW&l=3&colors=619

На.

Сделай так с одной таблицей в которой 100500 параметров всякого рода, ха ха, долбень.
Аноним 20/10/24 Вск 17:35:20 #48 №311934224 
>>311933255 (OP)
Не можешь даже джоин на три таблицы высрать?
Больше join'oв - дольше время поиска.
А структура у тебя должна быть один ко многим:
квартира (id, number ...) - команты (flat_id, name) - свойства (room_id, id, type, value)
Аноним 20/10/24 Вск 17:35:49 #49 №311934249 
>>311934192
>А причем тут три таблицы?
При том что вифи и кондей - свойства разного рода, имбецил, и соотв они должны быть в своих таблицах соотв свойств.
Аноним 20/10/24 Вск 17:35:52 #50 №311934253 
>>311934172
Как мне зарегать свой двухэтажный дом, где 8 комнат?
Аноним 20/10/24 Вск 17:36:23 #51 №311934272 
>>311933255 (OP)
базу данных собирай из них
Аноним 20/10/24 Вск 17:36:27 #52 №311934276 
>>311934064
Одно из правил кода в том, чтобы он был легко читаем. Когда у тебя всё в одной таблице, это просто нечитаемо. Когда всё по своим местам, красота!
Аноним 20/10/24 Вск 17:36:47 #53 №311934296 
>>311934081
Спасибо!
Аноним 20/10/24 Вск 17:36:48 #54 №311934297 
>>311934212
А ты думаешь как оно работает, просто параметры некоторые побиты по категориям.

мимо там работал
Аноним 20/10/24 Вск 17:36:50 #55 №311934299 
>>311934224
>Больше join'oв - дольше время поиска.
Тупые программисты, хуле.
Аноним 20/10/24 Вск 17:36:53 #56 №311934304 
>>311933703
Тебя неиговорили не плодить сущностей, иначе бритвоц по горлу ебанут, нет?
Аноним 20/10/24 Вск 17:36:57 #57 №311934308 
>>311934212
А что насчет реализации?
Аноним 20/10/24 Вск 17:37:12 #58 №311934317 
>>311934276
>Одно из правил кода в том, чтобы он был легко читаем
Правило для идиотов слабоумных.
Аноним 20/10/24 Вск 17:37:15 #59 №311934320 
>>311934276
Бред, ты слои перепутал
Аноним 20/10/24 Вск 17:37:22 #60 №311934323 
>>311934138
О, это интересно. То есть в реальном мире всё хранится в собственных таблицах?
Аноним 20/10/24 Вск 17:37:38 #61 №311934334 
>>311934276
Как скажешь, братец.
Аноним 20/10/24 Вск 17:37:39 #62 №311934339 
>>311934308
Тебе же показали реализацию, в шары долбишься?
Аноним 20/10/24 Вск 17:37:55 #63 №311934353 
>>311934192
Может ещё в файле данные хранить предложишь?
Аноним 20/10/24 Вск 17:38:01 #64 №311934359 
>>311933255 (OP)
Как уже писали, EAV патерн можно здесь применить
А теперь духота. Я бы лучше взял postgresql и хранил бы в json
Аноним 20/10/24 Вск 17:38:11 #65 №311934369 
>>311934297
>просто параметры некоторые побиты по категориям.
В терминах скуля напиши
Аноним 20/10/24 Вск 17:38:17 #66 №311934373 
>>311934193
>Ебашь все в одну таблицу
Зачем?
Аноним 20/10/24 Вск 17:38:40 #67 №311934389 
>>311934323
Ты же дебил ебанутый, в реальном мире нет таблиц.
Аноним 20/10/24 Вск 17:38:59 #68 №311934407 
>>311934339
Это троллинг тупостью?
Аноним 20/10/24 Вск 17:39:16 #69 №311934418 
>>311934359
> и хранил бы в json
Колхозник, хуле.

Не хочешь строить реляции - делай XML
Аноним 20/10/24 Вск 17:39:33 #70 №311934427 
>>311934407
Ты хоть понял что там вообще по ссылке?
Аноним 20/10/24 Вск 17:39:39 #71 №311934433 
>>311934317
Когда ты один делаешь проект, ты или всё легко читаешь, или не делаешь проект.
Аноним 20/10/24 Вск 17:40:09 #72 №311934455 
>>311934359
А почему не разные таблицы? Откуда это желание всё в одну? Или это троллинг?
Аноним 20/10/24 Вск 17:40:10 #73 №311934456 
>>311934359
> postgresql и хранил бы в json
Почему не mongdb?
Аноним 20/10/24 Вск 17:40:17 #74 №311934466 
>>311934433
Сдрисни тупорылый теоретик.
Аноним 20/10/24 Вск 17:40:44 #75 №311934490 
>>311934359
>Я бы лучше взял postgresql и хранил бы в json
Я неиронично видел такие советы и на одном проекте неиронично так делал, результат неиронично меня устроил. Но это был конфиг для фронта чисто сунул-вынул, ничего, с чем надо реально на бэке работать, я бы так не хранил
Аноним 20/10/24 Вск 17:40:52 #76 №311934497 
>>311934466
Я делаю сервис репетиторов.
Аноним 20/10/24 Вск 17:41:04 #77 №311934508 
>>311934249
Это все атрибуты комнаты додик это одна таблица комната
Аноним 20/10/24 Вск 17:41:44 #78 №311934537 
>>311934497
На гугле формах.
Аноним 20/10/24 Вск 17:43:31 #79 №311934611 
>>311933255 (OP)
Если реально дохуя бы сделал копро дата волт с отдельными таблицами для характеристик и отдельно держал обновляемую витрину или несколько, которые бы покрывали 80% пользовательских запросов
Аноним 20/10/24 Вск 17:44:00 #80 №311934635 
>>311934508
комната в коммуналке?
Аноним 20/10/24 Вск 17:44:01 #81 №311934636 
>>311934508
Нет, в примере треда это атрибут дома в целом
Аноним 20/10/24 Вск 17:45:20 #82 №311934685 
5ce3d16815e9f973415f5cb2.jpg
После ответов в треде я теперь боюсь спрашивать на дваче советы по коду.
Аноним 20/10/24 Вск 17:45:21 #83 №311934686 
1729435474089.png
>>311933955
>Если
>При заведении
>придется
>Когда
>будет
По моему опыту, нет никакого смысла в программном продукте что-то планировать дальше, чем на 3 месяца, в больших - далее 6 месяцев. Потому что потом В ЛЮБОМ СЛУЧАЕ придётся переписывать это говно на фундаментальном уровне. И незачем тратить усилия на создание функционала, который тебе потом не потребуется. Потому что потребуется другой и не тот, что ты планировал.
Аноним 20/10/24 Вск 17:46:18 #84 №311934736 
>>311934636
Нет в примере дом это бд а таблица комната это одна табличка и в ней атрибуты, номер, кровать, кровать дабл, кондей, телевизор и т.д.
Аноним 20/10/24 Вск 17:46:52 #85 №311934769 
>>311934686
Когда у тебя данные каждые по своей таблице, это никогда не может стать неудобным.
Аноним 20/10/24 Вск 17:47:12 #86 №311934788 
>>311934685
На дваче можно спрашивать советы по коду, но нельзя быть долбоёбом, который сам нихуя не шарит, но спорит с теми, кто шарит.
Аноним 20/10/24 Вск 17:47:20 #87 №311934795 
>>311934635
Просто комната у нее есть ключ от того где она в коммуналке, в доме или гостинице
Аноним 20/10/24 Вск 17:47:36 #88 №311934802 
>>311934736
В твоём?
>а таблица комната это одна табличка
Чот наркомания какая-то
Аноним 20/10/24 Вск 17:48:25 #89 №311934840 
Вы сможете сами руками сейчас написать синтаксис команды джойн?
Аноним 20/10/24 Вск 17:48:36 #90 №311934844 
>>311934802
В твоем, только ты тупой условия задачи не понял
Аноним 20/10/24 Вск 17:48:44 #91 №311934850 
>>311934686
Твой опыт - хуйня. Есть такие понятия как паттерны и архитектура. Если использовать зарекомендовавшие себя практики - то и приложка твоя будет поддерживаемая и расширяемая. Но хуесосы-разрабочики вроде ОПа ебошат как б-г на душу положит, лишь бы кРаСиВо))), а потом ебутся с рефакторингом.
Аноним 20/10/24 Вск 17:48:46 #92 №311934851 
Она же нечитаемая нахуй
Аноним 20/10/24 Вск 17:48:48 #93 №311934853 
>>311934769
Никогда не говори никогда, наивный чукотский мальчик.
Может завтра твой говносайт вообще снесут к хуям при объединении интернет-магазина с ООО Саси Хуй
Аноним 20/10/24 Вск 17:48:53 #94 №311934857 
>>311934840
На изичах.
Аноним 20/10/24 Вск 17:49:00 #95 №311934861 
>>311934788
>быть долбоёбом, который сам нихуя не шарит, но спорит с теми, кто шарит
Я думал это буквально смысл /pr/
Аноним 20/10/24 Вск 17:50:33 #96 №311934941 
>>311934850
Ой блять, эти паттерны хуятерны всего лишь позволяют тебе писать не совсем конченое говно, не более того. Глобально они ничего не меняют. Вечного вообще ничего нет, а в сфере программного обеспечения тем более.
Аноним 20/10/24 Вск 17:50:44 #97 №311934946 
>>311934850
Пример с сервисом репетиторов

у тебя есть табличка с образованиями репетиторов

id tutorid education

и табличка со свободными часами репетиторов

id tutorid day 0 to 23

Давай, уложи это в одну таблицу
Аноним 20/10/24 Вск 17:50:51 #98 №311934950 
Посмотри что такое отношения в бд. Ты случайно не тот чмондель который плодил треды про то что он собирается сделать клон аирбнб? Если это ты, то можешь закрывать своё дело, так как ты сделаешь говно.
Аноним 20/10/24 Вск 17:51:40 #99 №311934985 
>>311934840
Нет
Аноним 20/10/24 Вск 17:51:54 #100 №311934998 
>>311933955
>1. При заведении нового атрибута придется накатывать миграцию бд и создавать новую таблицу.
Есть таблица описывающая все свойства и типы свойств - параметр, список, бинарный. Там же префиксы, названия на русском, и ключи запроса. Достаточно внести в нее соотв запись, чтобы скрип создал нужную таблицу, остальное всосется автоматически по шаблону.

>2. Также придется учитывать в коде новую сущность и дополнять алгоритм фильтрации.
См выше, все само работает.

>3. Когда у тебя будет пара десятков атрибутов - ты ебонёшься всё это джойнить и фильтровать, твой код будет максимально ублюдским и
Просто еще одна итерация. Поскольку таблицы соединяются без текстов, голимыми лонгами которые проиндексированы, то все очень быстро работает на миллионах записей.
Аноним 20/10/24 Вск 17:51:57 #101 №311934999 
>>311934946
Нахуя мне это укладывать в одну таблицу?
Аноним 20/10/24 Вск 17:52:18 #102 №311935021 
Screenshot1386.png
Аноним 20/10/24 Вск 17:52:33 #103 №311935034 
>>311934840
Я думаю тут многие и реализацию трех алгоритмов соединения таблиц напишут.
Аноним 20/10/24 Вск 17:52:47 #104 №311935045 
>>311934840
Конечно смогу. Но на вопросах про уровни изоляции транзакций меня попустят потому что я это давно не повторял
Аноним 20/10/24 Вск 17:53:43 #105 №311935084 
>>311935021
Схему проектировал такой же еблан, как и ОП.
Аноним 20/10/24 Вск 17:54:03 #106 №311935101 
>>311934950
А я не понял, почему закрывать? Наоборот ведь! Именно те, кто прекрасно знают, как работать с базами данных, никогда не додумаются сделать свой продукт. Инфа сотка!
Аноним 20/10/24 Вск 17:54:43 #107 №311935129 
>>311934456
Ему ж sql надо
Аноним 20/10/24 Вск 17:54:43 #108 №311935132 
>>311934795
Например если ты выберешь "С вифи" нужно показать лишь те категории недвижимости, где есть вифи. С обычной тупой таблицей забитой свойствами так не получится.
Аноним 20/10/24 Вск 17:54:59 #109 №311935141 
>>311934999
Ну как же? Некоторые аноны пишут, что так лучше всего

>>311933591
Аноним 20/10/24 Вск 17:55:36 #110 №311935160 
>>311934840
>Вы сможете сами руками сейчас написать синтаксис команды джойн?
select * from table1, table2, table3 where table1.id=1
Аноним 20/10/24 Вск 17:55:52 #111 №311935174 
>>311935141
Ты блядь вопрос сформулируй нормально, нахуй, бизнес требования опиши и я тебе спроектирую блядь как нехуй делать.
Аноним 20/10/24 Вск 17:56:05 #112 №311935185 
>>311935160
Мы вам перезвоним.
Аноним 20/10/24 Вск 17:56:08 #113 №311935188 
>>311935084
ЧТо в ней не так?
Аноним 20/10/24 Вск 17:56:38 #114 №311935207 
>>311934950
>Ты случайно не тот чмондель
Он самый.

У него уже есть форма на гугле, скоро попрет.
Аноним 20/10/24 Вск 17:57:22 #115 №311935251 
>>311935188
Не нормализована.
Аноним 20/10/24 Вск 17:57:26 #116 №311935257 
>>311935174
Ты пришёл на сайт, тыкаешь что хочешь вай фай и кондей, покажите мне дома, где такое есть

на сервере есть таблица с домами и отдельно таблица с наличием вай фай и кондея.
Аноним 20/10/24 Вск 17:57:31 #117 №311935261 
>>311935129
Ему надо решить проблему.
Аноним 20/10/24 Вск 17:57:42 #118 №311935273 
>>311935185
школьник не видел оракловый жоин
Аноним 20/10/24 Вск 17:58:32 #119 №311935311 
>>311935251
Как бы выгдядела твоя?
Аноним 20/10/24 Вск 17:58:59 #120 №311935331 
>>311935311
Явно не так, лол.
Аноним 20/10/24 Вск 17:59:19 #121 №311935348 
>>311935331
напиши названия полей
Аноним 20/10/24 Вск 17:59:44 #122 №311935366 
>>311934455
Ну а нахуя в несколько? Ты описал, что нужно делать запросы в 3 таблицы. Делай в одну в которой есть все. Если это не единственный такой запрос и запросы нужно делать по отдельности в разные, то твой кейс с 3 таблицами вполне логичный
Аноним 20/10/24 Вск 17:59:51 #123 №311935372 
>>311934946
>id tutorid day 0 to 23
0 to 23 - что это?
Аноним 20/10/24 Вск 17:59:54 #124 №311935374 
Собственно, эта таблица прекрасно работает. На моём локалхосте.
Аноним 20/10/24 Вск 18:00:05 #125 №311935382 
>>311935101
Ты сделаешь огромное количество ошибок. Тебе сказали про аритектуру, с вероятностью 100% её у тебя не будет. Но это не важно, важно то что ты наделаешь огромное количество уязвимостей. Я сам увлекаюсь вебом будучи сисадмином, но не рискнул бы писать клон аирбнб, даже зная тонкости безопасности. Знаешь ли ты банальный OWASP? Не думаю. Если ты всё же хочешь наклепать своё говно, то скачай готовую CMS связанной с недвижимостью, такие есть и стоят относительно не много.
Если ты не знаешь про банальные джоины в бд, то ты не знаешь даже базы.
мимо
Аноним 20/10/24 Вск 18:00:05 #126 №311935383 
>>311935273
Оракл - компания врага, внедрение технологий которой является экономической диверсией.
Аноним 20/10/24 Вск 18:00:20 #127 №311935397 
>>311935348
А иди-ка ты лучше теорию подтяни и сам допри где обосрался.
Аноним 20/10/24 Вск 18:00:20 #128 №311935398 
>>311935366
>Ну а нахуя в несколько?
Пожалуйста, приступай >>311934946
sage[mailto:sage] Аноним 20/10/24 Вск 18:01:09 #129 №311935427 
Так, ясно: ОП - шизоид. Дальнейшее пребывание в треде считаю нецелесообразным.
Аноним 20/10/24 Вск 18:01:11 #130 №311935428 
>>311933703
> Но для человека было бы удобнее, если для каждого атрибута будет своя таблица.
Идиот, у сущности может быть несколько атрибутов, например цвет красный, синий, белый.

В какую таблицу засунуть их три?
Аноним 20/10/24 Вск 18:01:19 #131 №311935434 
>>311935382
>важно то что ты наделаешь огромное количество уязвимостей
Нет. Я раньше делал сайты, которые пользователи пытались ломать, поэтому я уже знаю, что и как надо делать.
Аноним 20/10/24 Вск 18:01:39 #132 №311935446 
>>311935383
>Оракл - компания врага,
Вообще-то оракель и есть скуль
Аноним 20/10/24 Вск 18:02:12 #133 №311935461 
>>311935397
Да чё ты такой напряжённый? Я пущу в продакшен как есть, и если будут проблемы, переделаю. А ты тут спектакль устраиваешь из-за нескольких лишних слов.
Аноним 20/10/24 Вск 18:02:27 #134 №311935473 
>>311935434
> которые пользователи пытались ломать
Каким образом?
Аноним 20/10/24 Вск 18:02:55 #135 №311935492 
>>311935461
>Я пущу в продакшен как есть
У тебя нет репетиров, придурок, твои таблицы пустые.
Аноним 20/10/24 Вск 18:03:21 #136 №311935509 
1729436554288.jpg
1729436554314.jpg
>>311935101
У меня друг буквально не знал, что такое классы в пхп, не знал как работать с бд, не знал как делать свои функции, он знал только базовый синтаксис уровня if/for и некоторые встроенные функции языка. Короче за такие познания его бы обоссал любой скуф со скилбокса.
Так вот, он в одно ебало за пару недель написал "партнёрскую программу", если тут кто-то слышал про такое. Подтянул туда своих корешей-наебизнесменов и в сутки зашибал на этой хуйне по 100к в 2010 году. Как-то раз он попросил меня что-то там добавить в код этой хтонической ебанины (его познаний, очевидно, не хватало). Моё ебало от увиденного просто не поддаётся имаджинированию, никакие картинки не смогут это передать.
Это были несколько пхп файлов вперемешку с хтмл, все это одним потоком, без разбиения на функции или блоки, бд не использовалась, данные партнёров хранились в текстовых файлах.
И оно работало блять.
Аноним 20/10/24 Вск 18:04:12 #137 №311935542 
>>311935509
>Так вот, он в одно ебало за пару недель написал "партнёрскую программу"
Верим.

Особенно твоему пиздуну фантазеру.
Аноним 20/10/24 Вск 18:04:22 #138 №311935547 
>>311933255 (OP)
Тред троллинг тупостью, я угадал?
Аноним 20/10/24 Вск 18:04:27 #139 №311935549 
>>311935428
Конкретнее

Вещь id цвет id
Аноним 20/10/24 Вск 18:05:11 #140 №311935578 
>>311935132
Всмысле? У тебя комнаты к домам по ключу привязаны, выбирай селектом маня
Аноним 20/10/24 Вск 18:05:13 #141 №311935580 
>>311935549
Сорян, я перепутал с теми, плоско табличными.
Аноним 20/10/24 Вск 18:05:41 #142 №311935602 
>>311935473
Разными. Я уже не помню конкретики, но это научило меня проверять типа файла не по расширению, а по самому файлу. Научило на всякий случай перекодитьвать картинки, понятно что обрабатывать всё, что идёт от пользователя.
Аноним 20/10/24 Вск 18:06:08 #143 №311935620 
>>311935542
Ах да, забыл сказать, так как функции и тем более классы он не использовал, то в случае необходимости повторного использования кода, тупо копипастил куски
Аноним 20/10/24 Вск 18:06:39 #144 №311935642 
>>311935578
Вообще не врубается. Речь про категории недвижимости.
Аноним 20/10/24 Вск 18:06:59 #145 №311935654 
>>311935602
>Разными
То есть ты просто пиздишь.
Аноним 20/10/24 Вск 18:07:02 #146 №311935655 
>>311935492
Какой смысл того, что ты пишешь? Тебе больно?
Аноним 20/10/24 Вск 18:07:02 #147 №311935656 
>>311935398
Ты серьезно? Там вообще разные сущности. Видимо я не так выразился, в моем понимании дом, комнаты и его параметры это неразрывные параметры, которые могут жить отдельно, конечно, но не совсем понятно зачем.
Аноним 20/10/24 Вск 18:07:28 #148 №311935674 
>>311935620
Ну и в чём не прав.
Аноним 20/10/24 Вск 18:07:31 #149 №311935679 
>>311935620
Ты сам нихуя не знаешь как пишутся сайты, сдрисни.
Аноним 20/10/24 Вск 18:07:50 #150 №311935693 
>>311935655
Смысл простой - перестань врать.
Аноним 20/10/24 Вск 18:07:58 #151 №311935696 
>>311935509
>Это были несколько пхп файлов вперемешку с хтмл, все это одним потоком, без разбиения на функции или блоки, бд не использовалась, данные партнёров хранились в текстовых файлах.
Я такой код видел в 2008 году, когда мне прилетел заказ поправить строчку в перловом сайте-однострочнике.

> бд не использовалась, данные партнёров хранились в текстовых файлах.
На одной из моих работ логи для поиска событий хранились в текстовых файлах, которые анализировала тулза на сисярпе. Разделения на томы по времени не было.
Тормозило всё это будь здоров.
Хочешь подбить статистику за прошлый месяц - жди, пока просрутся все данные начиная с пятилетней давности.
Аноним 20/10/24 Вск 18:08:04 #152 №311935702 
>>311935261
Дак пускай решает. Мы то тут причем? 3 таблицы есть, чат gpt вроде работает - вперед и с песней
Аноним 20/10/24 Вск 18:08:21 #153 №311935711 
>>311935642
Категория недвижимости это атрибут дома
Аноним 20/10/24 Вск 18:08:21 #154 №311935712 
>>311935654
Ну понятно, что были попытки пропихнуть в поле ввода чата sql запрос, чтобы дропнуть все базы.
Аноним 20/10/24 Вск 18:08:54 #155 №311935735 
>>311935693
В чём я вру?
Аноним 20/10/24 Вск 18:09:46 #156 №311935775 
>>311935679
Его кореш тоже не знал.
Очевидно, нуб будет делать сайт наиболее стрёмным способом, который только можно выдумать.

мимокрок
Аноним 20/10/24 Вск 18:09:59 #157 №311935786 
>>311935656
>Ты серьезно? Там вообще разные сущности.
Об этом и речь в треде!
>в моем понимании дом, комнаты и его параметры это неразрывные параметры, которые могут жить отдельно, конечно, но не совсем понятно зачем.
Да, сначала ты начинаешь всё держать в одной таблице, но потом упираешься в то, что она становится настолько громоздкой, что проще в разных.
sage[mailto:sage] Аноним 20/10/24 Вск 18:10:31 #158 №311935808 
>>311933255 (OP)
Что за хуйню ты плетешь? Какое красиво-некрасиво? Ты про нормализацию данных когда нибудь слышал? Про избыточность? Я тоже конечно не эксперт в этом деле, но такое впечатление, что ты на пары совсем не ходил. Фотограции вообще лучше в базе не хранить.

>>311933644
>Мне больше нравится учиться в практике.
Бля, какой же фейсплам.
Сажи за такую жирноту
Аноним 20/10/24 Вск 18:10:52 #159 №311935827 
>>311935656
Затем, чтобы продавать.

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

Пока у тебя свойство текст или параметр - хуй с ним, еще можно хуй забить на дохуя полей, но если появляется список - ты обосрался.
Аноним 20/10/24 Вск 18:10:54 #160 №311935830 
1729437009494.jpeg
>>311935775
>наиболее стрёмным способом, который только можно выдумать.
Наиболее простым
Аноним 20/10/24 Вск 18:10:56 #161 №311935833 
>>311935711
Нет, этого вообще нет в примере. Дом как единица просто сам по себе, а к нему в целом привязаны вай фай и кондей.
Аноним 20/10/24 Вск 18:11:34 #162 №311935862 
>>311935711
Вот и сделай так, чтобы остались только те категории, в которых есть 5Г
Аноним 20/10/24 Вск 18:12:09 #163 №311935894 
image.png
>>311935808
А ты ходил на пары и теперь тебе обидно, что можно было не ходить, а делать всё то же самое?
Аноним 20/10/24 Вск 18:12:11 #164 №311935897 
>>311935712
> были попытки пропихнуть в поле ввода чата sql запрос
Что блять?

В каком веке. Дурачок слышал звон.
Аноним 20/10/24 Вск 18:12:27 #165 №311935910 
>>311935735
Еврейтор Фанера, пашол на хуй.
Аноним 20/10/24 Вск 18:12:31 #166 №311935914 
>>311935786
Окей, в рамках его требований по задаче ты прав
Аноним 20/10/24 Вск 18:12:45 #167 №311935930 
>>311935775
Ты тоже нихуя не знаешь, но подсираешь
Аноним 20/10/24 Вск 18:13:15 #168 №311935955 
>>311935897
А зачем мне тебя обманывать?
Аноним 20/10/24 Вск 18:13:23 #169 №311935966 
>>311935930
Минусы будут?
Аноним 20/10/24 Вск 18:13:37 #170 №311935975 
>>311935955
Самолюбование

100500 раз отвечал
Аноним 20/10/24 Вск 18:13:51 #171 №311935988 
>>311935955
Ты на зарплате и тебе надо создать активность. Либо ты толстый тролль и тогда ты просто больной шиз тут только соболезнования
Аноним 20/10/24 Вск 18:14:00 #172 №311935997 
>>311935914
Я и есть ОП. То есть получается после слов оскорблений ко мне вы всё таки признали, что да, получается надо сделать, как я?
Аноним 20/10/24 Вск 18:14:24 #173 №311936021 
>>311935988
>Ты на зарплате и тебе надо создать активность
а, ясно
sage[mailto:sage] Аноним 20/10/24 Вск 18:14:52 #174 №311936043 
>>311933971
Еблан. Делаешь 1 таблицу с квартирами/домами. В ней строчки wifi - тип boolean хотя кто сейчас сдаёт/снимает хаты без интернета?, air_conditioner тип - number или другой числовой, на случай, если в доме несколько кондеев, rooms тип number, всё, зачем тебе 100500 таблиц? Не красиво? А база не для красоты нужна, а для функционирования приложения или ИС
Аноним 20/10/24 Вск 18:14:57 #175 №311936045 
>>311935827
Да но я настаивал на json и postgre, но задача была вроде на mysql поэтому мои аргументы ни что
Аноним 20/10/24 Вск 18:15:55 #176 №311936094 
>>311935997
Да и что ты этим хотел сказать?
Аноним 20/10/24 Вск 18:16:36 #177 №311936133 
>>311935862
Выбираешь дома с комнатами где есть 5г этот один селект
Аноним 20/10/24 Вск 18:16:39 #178 №311936139 
>>311936043
>всё, зачем тебе 100500 таблиц?
Очевидно же, что со временем ты наплодишь на сайте столько свойств, что всё таки решишь делать для многих свойств отдельные таблицы. Это ты сейчас такой весёлый, тебе про 3 свойства рассказали, но их ведь на самом деле за 20, а некоторые вообще могут иметь нестандартные формы.
sage[mailto:sage] Аноним 20/10/24 Вск 18:16:58 #179 №311936154 
>>311935894
Нет, я ходил и вижу, что не зря, наблюдая за такими как ты. Хотя тут даже какую-нибудь нищую книжонку по проектированию реляционных баз данных прочитать, хотя бы несколько страниц и уже таких тупых вопросов задавать не будешь
Аноним 20/10/24 Вск 18:17:38 #180 №311936188 
>>311936154
Вообще я против, чтобы читать такие книги. Они место в голове занимают, а его надо отдавать под инфу о том, как создавать продукты, а не как работать на тех, кто создаёт.
Аноним 20/10/24 Вск 18:18:13 #181 №311936220 
>>311933255 (OP)
Всё что ты делаешь - занимаешься самолюбованием. Наплодил сотню тредов ради внимания. Всем будет похуй на твой аирбнб или сайт по репетиторству. Зачем человеку переходить на твоё говно если есть циан или авито? В чём блять твоё конкретное преимущество? Если бы ты реально хотел разобраться со своей таблицей, то ты бы пошёл читать документацию, а не высирать своё говно.
Так и представляю как захожу на твоё говносайт, страничка которого весить 10 мегабайт и отправляет 100 запросов к бд.
Аноним 20/10/24 Вск 18:18:45 #182 №311936252 
>>311936220
>Всё что ты делаешь - занимаешься самолюбованием. Наплодил сотню тредов ради внимания
И близко не так. Если бы я хотел этого, я бы плодил треды со своими фотками и сотнями скринов своего проекта. Но ничего этого нет.
sage[mailto:sage] Аноним 20/10/24 Вск 18:19:44 #183 №311936299 
>>311936139
Какая разница сколько свойств? Ты думаешь, что таблица может содержать ограниченное количество полей или что? В любой момент ты можешь создать ещё одну таблицу и связать их связью, но делать нужно, если это НЕОБХОДИМО. В твоём случае, ты с самого начала городишь какую-то хуйню, с которой в будущем невозможно будет работать
Аноним 20/10/24 Вск 18:19:57 #184 №311936310 
63213abb93a94409b0a2353442cb8595.jpg
>двач
>Не может решить хранить данные в 1 или нескольких таблицах
sage[mailto:sage] Аноним 20/10/24 Вск 18:20:29 #185 №311936340 
>>311936188
Еблан, зачем ты так жирнишь?
Аноним 20/10/24 Вск 18:20:38 #186 №311936347 
>>311936299
>Какая разница сколько свойств?
вернёмся к этому >>311934946
Аноним 20/10/24 Вск 18:22:04 #187 №311936425 
15672716336241s.jpg
А вот ребята которые топят за одну таблицу, а у вас на работе есть такой проект?
Аноним 20/10/24 Вск 18:25:54 #188 №311936596 
Screenshot1387 — копия.png
Screenshot1388 — копия.png
Screenshot1389 — копия.png
Perplexity
Аноним 20/10/24 Вск 18:27:02 #189 №311936645 
Screenshot1390.png
Screenshot1391.png
Screenshot1392.png
Аноним 20/10/24 Вск 18:27:28 #190 №311936659 
Нейронка считает, что лучше несколько таблиц.
Аноним 20/10/24 Вск 18:28:20 #191 №311936695 
>>311936425
Да

Мимо из ozon
Аноним 20/10/24 Вск 18:28:40 #192 №311936708 
>>311936695
Никогда не поверю
sage[mailto:sage] Аноним 20/10/24 Вск 18:30:37 #193 №311936798 
>>311934946

>у тебя есть табличка с образованиями репетиторов
что такое образования репитировор?

Ты совсем тупой? Ты понимаешь что такое модель "сущность-связь"? Несколько таблиц, необходимо, когда у тебя несколько сущностей. Например у тебя есть таблица с преподавателями. Есть таблица с образовательными программами. Между ними связь многие ко многим (т.к. одну программу может вести несколько преподавателей и один преподаватель может вести несколько программ), есть таблица с занятиями - это отдельная сущность.
Аноним 20/10/24 Вск 18:31:37 #194 №311936845 
>>311936798
>что такое образования репитировор?
Ну например, один репетитор окончил гарвард и ещё какую-то школу. Это две сущности образования, которые связаны с ним
Аноним 20/10/24 Вск 18:32:28 #195 №311936884 
Никогда не перестану удивляться, как двачеры не могут определиться как хранить такие данные, спрашивают сетку даже, зато выебываются будто все тут неебацца айтишники. И кто-то ведь тут на серьезных щщах что-то спрашивает и не дай бог следует советам. Диванные.
Аноним 20/10/24 Вск 18:32:48 #196 №311936898 
>>311936884
Двачую.
Аноним 20/10/24 Вск 18:33:29 #197 №311936929 
Но вообще, Хранить в одной - это настолько долбоебизм, что даже в голову придти не может.
Аноним 20/10/24 Вск 18:33:54 #198 №311936952 
Это как делать сайт на одном файле
Аноним 20/10/24 Вск 18:34:58 #199 №311937000 
Вообще, от темы треда отошли. А она в том, кто как бы сделал перекрёстный поиск.
sage[mailto:sage] Аноним 20/10/24 Вск 18:36:18 #200 №311937062 
>>311936425
Нет, такие уебанские проекты никто не пропустит в продакшн. Есть таблицы с 30 и более полями. Есть базы с 1000 и более таблицами. Такую хуйню пороть простительно, если ты в школе учишься и первый раз на уроке информатики столкнулся с базой данных
sage[mailto:sage] Аноним 20/10/24 Вск 18:37:57 #201 №311937147 
>>311936845
Блядь, какие нахуй две сущности? Образование это и есть сущность. Сущность=таблица. Создал таблицу с учебными заведениями, связь - "многие ко многим". Всё!
Аноним 20/10/24 Вск 18:38:23 #202 №311937170 
>>311937147
Окей, понял тебя
Аноним 20/10/24 Вск 18:39:08 #203 №311937210 
Пост на который ты отвечал, он про то, что всё это положить в одну таблицу очень неудобно как бы. Тебе по этой теме есть, что возразить?
Аноним 20/10/24 Вск 18:40:36 #204 №311937284 
>>311935830
Двачую
Аноним 20/10/24 Вск 18:41:56 #205 №311937333 
3e7cc0es-960.jpg
А вы в курсе что каждый раз запрос будет разным? Сначала человек ищет просто дом, потом с фай фай. И ваш запрос будет меняться.
Аноним 20/10/24 Вск 18:48:22 #206 №311937632 
>>311933255 (OP)
У тебя моча в голове, иди читай книги по SQL и моделировании структур БД
Аноним 20/10/24 Вск 18:49:33 #207 №311937680 
>>311935808
>Ты про нормализацию данных когда нибудь слышал?
Двачую. СУБД ебанётся столько джоинов потом делать для поиска дома по нужным параметрам.
Аноним 20/10/24 Вск 18:50:26 #208 №311937719 
>>311937632
Если бы я читал книги, я бы ничего не делал.
Аноним 20/10/24 Вск 18:50:55 #209 №311937741 
>>311937680
Так чем плох этот вариант >>311933409
Аноним 20/10/24 Вск 18:56:31 #210 №311937991 
Вопрос недостаточно тупой. Нужно "Как хранить ноль или единицу, как булен или как тайниинт?"
Аноним 20/10/24 Вск 18:59:44 #211 №311938127 
Один-ко-многим.png
>>311933255 (OP)
Создаешь таблицу со связью один ко многим. У тебя будут следующие поля: ID, ID_House, ID_Room.
Потом эту таблицу джойнишь к основной.
Аноним 20/10/24 Вск 19:00:42 #212 №311938172 
>>311938127
Пока большинство выбирают джойн.
Аноним 20/10/24 Вск 19:20:13 #213 №311939041 
Ну чё1?
Аноним 20/10/24 Вск 19:37:39 #214 №311939801 
>>311933255 (OP)
>кондиционер
В индексы БД записывать модель кондиционера.

Мощность кондиционера позволяет определить количество комнат в квартире 0_0
Аноним 20/10/24 Вск 19:39:06 #215 №311939854 
select houses.houseid from houses inner join wifi on houses.houseid=wifi.houseid

Пока так получается
Аноним 20/10/24 Вск 19:39:47 #216 №311939882 
Смотрел, как работает эта штука, на сайте w3school
Аноним 20/10/24 Вск 19:41:03 #217 №311939932 
image.png
>>311939801
Аноним 20/10/24 Вск 19:43:18 #218 №311940037 
Вопрос к джойникам, это ваше окончательное решение? ОП-хуй сервис делает, т.е. у него одновременно ищут доходяги хибары, вы каждому веб-запросу даете делать что ли джойны всей базы? Вот этот момент поясните плиз
Аноним 20/10/24 Вск 19:45:26 #219 №311940134 
>>311940037
Вообще, у меня сервис репетиторов, но я не хочу привлекать внимание, поэтому для примера про аренду. Но у меня те же проблемы.
Аноним 20/10/24 Вск 19:46:10 #220 №311940165 
image.png
>>311933255 (OP)
В чём я не прав?
Аноним 20/10/24 Вск 19:46:13 #221 №311940169 
Ещё мякотка в том, что эти джоины должны быть динамическими, то есть составляться на ходу.
Аноним 20/10/24 Вск 19:46:47 #222 №311940199 
>>311940165
В том что ты не шавка
Аноним 20/10/24 Вск 19:47:36 #223 №311940233 
>>311940165
Тут скорее вай фай и остальное - общие параметры всего дома. Про комнаты я написал, чтобы дать понять, почему всё не в одной таблице.
Аноним 20/10/24 Вск 19:51:10 #224 №311940402 
image.png
>>311940233
Тогда вот.
Если вместо признака вай-фай/кондиционер нужны определённые модели роутеров и кондиционеров, то понятное дело там будет не чекбокс, а строковый тип (если вручную просто писать) или ссылка на таблицу (если есть таблицы с роутерами и кондиционерами)
Аноним 20/10/24 Вск 19:51:38 #225 №311940420 
houses

id
name
ownerid

wifi

id
houseid
wifi (0 или 1)
Аноним 20/10/24 Вск 19:52:23 #226 №311940460 
>>311940165
А зачем тебе таблица с комнатами, вот че ты такого можешь навесить из атрибутов на комнату? Вай-фай и кондер это атрибут хаты в целом, а с фотками в чем проблема по ключу квартиры просто хранить несколько записей со ссылками на файлы? Мое решение позволяет на одну комнату миллион фоток с разных ракурсов хранить, а у тебя только одна будет или придется еще одну таблицу пердануть один ко многим
Аноним 20/10/24 Вск 19:53:11 #227 №311940507 
>>311940402
Да, но со временем ты понаделаешь столько сервисов на сайте, что будет просто неудобно всё про дома держать в одной таблице, и ты начнёшь выносить в отдельные.
Аноним 20/10/24 Вск 19:56:13 #228 №311940665 
Подставил кавычку ОПу за щеку и слил базу его сортиров на рейдфорумс.
Аноним 20/10/24 Вск 19:56:54 #229 №311940690 
ОП-петух, юзай NoSQL, не еби голову.
Аноним 20/10/24 Вск 19:57:19 #230 №311940716 
image.png
>>311940665
Капец ты злой. Я то калач тёртый, но тебя же новички послушать могут.
Аноним 20/10/24 Вск 19:57:42 #231 №311940739 
>>311940690
сразу после того как сайт на zerocode делать буду
Аноним 20/10/24 Вск 20:01:32 #232 №311940915 
>>311933272
>пользователь хочет найти все дома, где есть фай фай и одновременно кондиционер.
Делаемъ 4 таблицы:
1 - есть кондей и ви-фи
2 - есть кондей
3 - есть ви-фи
4 - нет ни того ни этого
Аноним 20/10/24 Вск 20:01:44 #233 №311940925 
image.png
>>311940460
А как мы привяжем фотки к определённой комнате?
Алсо к комнате можно привязать такие атрибуты как кровать, тумбочка и тд.
Если у каждой комнаты может быть больше одной фотки, то можно сделать вместо ссылки на файл - ссылку на таблицу с группой файлов. И сделать ещё одну таблицу с файлами, которая будет ссылаться на группу файлов.

Вот вариант для нескольких фоток к одному дому, но без привязки фоток к определённой комнате.
Аноним 20/10/24 Вск 20:02:36 #234 №311940974 
>>311937741
При чем тут цикл вообще, мы про SQL моделирование БД говорим.
Аноним 20/10/24 Вск 20:02:45 #235 №311940980 
>>311940925
BLOB
L
O
B
Аноним 20/10/24 Вск 20:03:25 #236 №311941009 
>>311933255 (OP)
Делаешь в таблице с домами какой-нибудь ПК, хоть адрес, хоть добавь айди дома в виде интегера, хоть хеш из адреса. В каждой таблице добавляешь колонку с ним. Вытягиваешь джойном, как тебе кже сказали, что хочешь.

Для обычного пользователя, которому "удобно" сделай интерфейс с кнопками.

Я честно говоря не понял, в чём вопрос. Я сам не погромист, но давно работаю чем-то вроде лоулевел дата инженегритёнка на саппорте,могу посоветовать подучить SQL и работать с ним именно как с query language, а не какую-то хуйню изобретать. Там куча подводных, зная которые можно охуенно эффективнее запросы делать там, где ебанутые подходы типа >>311933409 тебе все ресурсы выжрут и по времени дохуя займут.
Аноним 20/10/24 Вск 20:04:42 #237 №311941069 
Ни один петух не понимает в архитектуре и индексах.
Прямо как вчерашний тред про одноранговую сеть.
Аноним 20/10/24 Вск 20:04:43 #238 №311941070 
>>311940915
>Делаемъ 4 таблицы:
>1 - есть кондей и ви-фи
БРатиш, это можно было бы рассмтреть без смеха, если бы было только 2 параметра - кондей и вайфай. Но их больше 10.
Аноним 20/10/24 Вск 20:05:14 #239 №311941085 
>>311940974
При том, что основной код на php.
Аноним 20/10/24 Вск 20:05:27 #240 №311941099 
>>311941070
Ну ты и долбоеб.
Аноним 20/10/24 Вск 20:06:09 #241 №311941125 
>>311941009
А ты замерял, что джойн тратит меньше времени, чем перебор?
Аноним 20/10/24 Вск 20:06:43 #242 №311941151 
>>311940925

Если кондёр и вифи как чекбокс:
select from house
where 'Наличие вай фая' = true
and 'Наличие кондиционера' = true
and deleted=true

Если кондёр и вифи как ссылка:
select
from house
where 'Модель роутера' is not null
and 'Модель кондиционера' is not null
and deleted=true
Аноним 20/10/24 Вск 20:06:51 #243 №311941158 
>>311941099
Приятно быть в компании Дурова
Аноним 20/10/24 Вск 20:07:25 #244 №311941178 
>>311941151
>and deleted=true

false, опечатался
Аноним 20/10/24 Вск 20:09:17 #245 №311941258 
А в джойне можно сразу 3 таблицы делать? А 5?
Аноним 20/10/24 Вск 20:09:38 #246 №311941275 
>>311941158
Шлющка дубацская?
Аноним 20/10/24 Вск 20:09:42 #247 №311941279 
>>311935273
>оракловый
Джойн через запятую везде ж работает?
Аноним 20/10/24 Вск 20:09:43 #248 №311941281 
Насколько это всё удобно динамически составлять?
sage[mailto:sage] Аноним 20/10/24 Вск 20:17:40 #249 №311941615 
>>311934769
>это никогда не может стать неудобным
Пocлe дecятoгo лeвoгo oбъeдинeния впoлнe мoжeт c᠋тaть.
Аноним 20/10/24 Вск 20:18:26 #250 №311941649 
>>311941258
Любой каприз за ваши ресурсы
Аноним 20/10/24 Вск 20:18:59 #251 №311941677 
>>311941615
Ты про десять промежуточных связей? Потому что это обычно десять связей с одной сущностью в виде user id.
Аноним 20/10/24 Вск 20:19:04 #252 №311941678 
>>311941085
Фильтрацию всегда делают на стороне SQL сервера потому что там стоят индексы и прочее. Приложение только формирует SQL запросы с нужными фильтрами.

Читайте книги, кабанчика
Аноним 20/10/24 Вск 20:19:12 #253 №311941685 
>>311941125
Быстрее точно будет, чем 100000 раз читать с диска три таблицы, лучше сделать это однажды. Хотя там дохуя подводных. Можно упороться в window functions вообще, но тут я пас.

Вообще рдбмс - это хитроёбанейшая математика и байтодроч.
Аноним 20/10/24 Вск 20:19:40 #254 №311941716 
>>311941649
Так не будет ли в таком случае выгоднее делать всё на циклах и запросах, как я предлагал?
Аноним 20/10/24 Вск 20:20:03 #255 №311941733 
>>311940925
Опытные анальники, поясните в чём я прав/не прав?
Аноним 20/10/24 Вск 20:20:39 #256 №311941760 
>>311941678
Если упрусь, видимо придётся переписывать на джойны.
Аноним 20/10/24 Вск 20:24:07 #257 №311941898 
>>311941685
Ща пути сделаю

Значит когда мы делаем на циклах и запросах, то ход такой

Репетитор который преподаёт математику (1 запрос в таблицу предметов)

который занимается с детьми 9 класса (1 запрос в таблицу классов)

который готовит к ОГЭ (1 запрос в таблицу подпредметов)

который занимается онлайн (1 запрос в таблицу как занимаются)

получается 4 запроса к базам

или мы делаем джойнами, где те же самые таблицы запрашиваются по одному разу

чот у меня получилось что одинаковое количество запросов
Аноним 20/10/24 Вск 20:26:08 #258 №311941992 
>>311941716
Да ты че, база декларативные запросы берет, а под капотом сама шаманит на более низком уровне для эффективного решения задачи. А ты будешь гонять ЦИКЛЫ на скриптовом языке, ну емае ебана
Аноним 20/10/24 Вск 20:26:50 #259 №311942027 
>>311941992
Если ты про время выполнения php, то тут похуй совершенно, потому что такого типа сайты имеют очень низкую нагрузку от пользователей.
Аноним 20/10/24 Вск 20:28:39 #260 №311942110 
>>311933255 (OP)
Блять, какое же ты ничтожество
Аноним 20/10/24 Вск 20:29:26 #261 №311942149 
>>311942110
Откуда в вас это? Когда я вижу вопросы от начинающих, у меня почему-то нет желания их оскорблять.
Аноним 20/10/24 Вск 20:31:46 #262 №311942255 
>>311941898
Если ты уверен, что соответствующий всем 4 критериям репетитор всегда будет только 1, то ты прав.

И ещё - вместо того, чтобы использовать готовую и оптимизированную логику джойна, ты по сути пишешь её на коленке сам на чём и как умеешь. Я не говорю, что ты неправ, или что работать не будет, это просто изобретение велосипеда.
sage[mailto:sage] Аноним 20/10/24 Вск 20:31:46 #263 №311942256 
>>311941677
> сущностью в виде user id
Kaк ты yдoбнo пpидyмaл, кoгдa в᠌ce к oднo឴мy пpивязaнo.
Аноним 20/10/24 Вск 20:32:05 #264 №311942269 
>>311942027
Ну так если нагрузка низкая, то и от джойна ниче не будет, зато если сайт выстрелит и наберет аудиторию, то можно структуру бд оптимизировать, индексов навешать всяких, предрасчеты сделать, а приложение не трогать, а вот так придется копровелосипед мучить ради производительности
Аноним 20/10/24 Вск 20:33:22 #265 №311942331 
>>311942255
Нет, их в выдаче будет 30, скажем. Ага, вот мы и нашли, во сколько раз джойн будет быстрее.
Аноним 20/10/24 Вск 20:34:42 #266 №311942399 
>>311933971
почему ты просто не добавил столбец к таблице домов
Wi fi есть -1 нет 0
и так же для кондишена

нахрена тут отдельная таблица?
Аноним 20/10/24 Вск 20:36:20 #267 №311942461 
>>311942256
Ну у меня на проекте сейчас штук 20 таблиц, и всё норм.
Аноним 20/10/24 Вск 20:36:31 #268 №311942468 
>>311940169
>Ещё мякотка в том, что эти джоины должны быть динамическими, то есть составляться на ходу.
Бред какой-то
JOIN согласно структуры бд
динамические будут параметры в WHERE
Аноним 20/10/24 Вск 20:37:10 #269 №311942501 
>>311942269
Видимо, ты прав. Проблема джойна в том, что для меня он очень сложный.
sage[mailto:sage] Аноним 20/10/24 Вск 20:37:55 #270 №311942538 
>>311942461
>штук 20 таблиц
Taк мы нᅠe пpo yчeбныe пpoeкты вpoдe гoвopим, a пp᠍o oбcлyживaниe в энтeнпpaйзe, гдe и пocлe тeбя людям нaдo бyдeт этo гoвнo paзбиpaть.
Аноним 20/10/24 Вск 20:38:33 #271 №311942570 
>>311940460
>из атрибутов на комнату
площадь комнаты, количество окон
Аноним 20/10/24 Вск 20:40:30 #272 №311942665 
>>311941733
имхо не стоит делать такие вещи как наличие вай фай через тру/фалсе

если сделать цифрами - можно будет делать подвиды
0-нет
1-бесплатно
2-за доп плату
итп
Аноним 20/10/24 Вск 20:42:25 #273 №311942763 
>>311942665
Enum имеешь в виду? Можно и так, да
Аноним 20/10/24 Вск 20:42:33 #274 №311942771 
>>311942665
Петух изобрел enum
Аноним 20/10/24 Вск 20:43:54 #275 №311942838 
>>311942399
Потому что таких вещей как кондей штук 20, и у многих много вариантов. Если всё добавить в одну таблицу, получится каша.
Аноним 20/10/24 Вск 20:44:18 #276 №311942859 
ЛЕГИТИМНЫЙ ТРЕД
https://2ch.hk/dev/res/5796456.html
https://2ch.hk/dev/res/5796456.html
https://2ch.hk/dev/res/5796456.html
Аноним 20/10/24 Вск 20:44:37 #277 №311942879 
>>311942468
А что делать, если из 4 параметров нужен только один?
Аноним 20/10/24 Вск 20:44:59 #278 №311942899 
>>311942879
Делай бочку
Аноним 20/10/24 Вск 20:45:46 #279 №311942933 
>>311934359
Двачую, JSONB в постгре работает ебануто быстро, да еще и индексы можно прикручивать.
Аноним 20/10/24 Вск 20:46:33 #280 №311942962 
>>311942933
Вы начинаете тут опять разводить "а мой язык программирования круче, нет мой". Пока вы гонитесь за идеалом, надо брать и делать.
Аноним 20/10/24 Вск 20:47:50 #281 №311943025 
>>311942771
нахрена ему энум тут?

если потом добавить варианты он заебется еще больше
Аноним 20/10/24 Вск 20:47:57 #282 №311943032 
Пиздец, как не хочется учить джойны.
Аноним 20/10/24 Вск 20:48:14 #283 №311943050 
>>311943025
Битмаск тогда ему надо
Аноним 20/10/24 Вск 20:48:36 #284 №311943073 
>>311943032
Учи агригейты в монге
Аноним 20/10/24 Вск 20:49:43 #285 №311943127 
>>311942838
>Если всё добавить в одну таблицу, получится каша

ОЙ
КОМПИК ТО БЕДНЫЙ ЗАПУТАЕТСЯ В ТАБЛИЦЕ ИЗ 20 СТОЛБЦОВ
Аноним 20/10/24 Вск 20:50:08 #286 №311943148 
>>311943073
Меня мускул всем устраивает в общем-то, только с этой штукой надо разобраться.
Аноним 20/10/24 Вск 20:50:14 #287 №311943152 
>>311943127
Докупишь 500гб памяти и все.
Аноним 20/10/24 Вск 20:50:40 #288 №311943174 
>>311943127
Я пишу код так, чтобы я легко мог читать всё. И таблицы тоже. Это сильно экономит время на работу с кодом.
Аноним 20/10/24 Вск 20:50:41 #289 №311943175 
>>311942879
конкатенируй базовый запрос и нужные фильтры хахаха
Аноним 20/10/24 Вск 20:50:51 #290 №311943180 
>>311943148
Главное бинди 3306 на 0.0.0.0 и отключай фаервол, иначе будет оч плохо работать.
Аноним 20/10/24 Вск 20:51:49 #291 №311943225 
>>311943032
ты ебанулся?
там всей учебы по джоинам на 1 лист а4
Аноним 20/10/24 Вск 20:52:15 #292 №311943244 
>>311943175
Пример кода своими словами можешь накидать?
Аноним 20/10/24 Вск 20:52:27 #293 №311943251 
>>311943225
Я тупой прост. Это мой первый стартап.
Аноним 20/10/24 Вск 20:52:54 #294 №311943281 
>>311943225
Так там можно сразу из 5 таблиц делать?

это >>311943251 не я
Аноним 20/10/24 Вск 20:53:19 #295 №311943303 
>>311943244
clc
sbb eax, eax
xchg esp, eax
push 0
Аноним 20/10/24 Вск 20:53:26 #296 №311943309 
>>311942962
Какой язык программирования? Ты убитый нахуй?
Аноним 20/10/24 Вск 20:53:57 #297 №311943337 
>>311943309
На расте желательно
Аноним 20/10/24 Вск 20:54:05 #298 №311943342 
>>311943244
да у тебя будет строка базового sql запроса с селектом и фромом, а потом ты для нужных параметров делаешь строки для вхере и прицепляешь их к своему базовому запросу
Аноним 20/10/24 Вск 20:54:45 #299 №311943378 
Блядь это же тот самый шиз, который бредит идеей сервиса по аренде домов. Точно он. Блядь, нахуя вы с ним возитесь, если только совсем от нечего делать.
Аноним 20/10/24 Вск 20:54:47 #300 №311943379 
>>311943174
>Я пишу код так, чтобы я легко мог читать всё. И таблицы тоже. Это сильно экономит время на работу с кодом.

давно надо писать "Хуяк-Хуяк и в продакшен"

чистый код с комментами - сейчас это просто халявная помощь гуглу для обучения нейронок
Аноним 20/10/24 Вск 20:55:07 #301 №311943396 
>>311943309
Ну база данных, я про концепцию. Пока одни 3 раза переписывают проект, чёткие пацаны запускают на php и mysql
Аноним 20/10/24 Вск 20:55:25 #302 №311943412 
>>311943378
Это пизда из дева, выше линк был.
Аноним 20/10/24 Вск 20:56:01 #303 №311943445 
>>311943396
LAPS это уровень зашкварных петухов.
Аноним 20/10/24 Вск 20:56:25 #304 №311943459 
>>311943342
а, можно просто подставлять переменную.
Аноним 20/10/24 Вск 20:56:26 #305 №311943460 
>>311943445
LAMP self fix
Аноним 20/10/24 Вск 20:56:35 #306 №311943474 
>>311942879
>А что делать, если из 4 параметров нужен только один?
Динамически формируешь строку параметров для WHERE согласно тому, что пользователь в фильтрах на отбор натыкал. Если он выбрал только один параметр, то и WHERE будет только по нему.
Аноним 20/10/24 Вск 20:57:47 #307 №311943525 
>>311943445
Мне наоборот кажется флексовым, что ты на языке для домохозяек делаешь сложны продукт.
Аноним 20/10/24 Вск 20:59:08 #308 №311943582 
>>311943525
Сложный продукт это когда у тебя 100 микроскрвисов в кубах с кешами, очередями, репликами. А у тебя хуйня ебаная. Такую хуйню мидл на питоне кодит да вечер.
Аноним 20/10/24 Вск 21:00:14 #309 №311943648 
>>311943582
Продукт - это не только код. Это и дизайн, и экспертиза. Её собирать дольше всего.
Аноним 20/10/24 Вск 21:01:07 #310 №311943698 
>>311943648
Какой дизайн если нет базовых знаний про SQL.
Продукт это то что продает отдел продаж.
Аноним 20/10/24 Вск 21:01:18 #311 №311943706 
>>311943445
так все это годами было набором костылей над web 1.0

потом добавили еще больше костылей в виде JS
Аноним 20/10/24 Вск 21:01:44 #312 №311943727 
>>311943706
Из 1999 капчуешь?
Аноним 20/10/24 Вск 21:04:29 #313 №311943853 
>>311943706
Сегодня JS - это лакшери. А костыли - это библиотеки на её основе.
Аноним 20/10/24 Вск 21:05:39 #314 №311943916 
>>311943853
Ты там для тора что-то кодишь что у тебя жс лакшери?
Очередной педофил? Компетентные люди уже в курсе.
Аноним 20/10/24 Вск 21:07:03 #315 №311943974 
>>311933255 (OP)
>И есть ещё такой момент. Во всех домах разное количество комнат. Максимум - 6.
А если вдруг 7?
Вот реляционные СУБД и были придуманы, чтобы такой хуйней не маятся.
Дома это дома, комнаты это комнаты. Количество комнат в доме, это количество записей в таблице комнат, соотнесенных с записью по дому. Ну для ускорения еще в таблице о домах числовое поле "кол-во комнат" заводят.
Аноним 20/10/24 Вск 21:07:34 #316 №311944003 
>>311943974
О чём я и говорю.
Аноним 20/10/24 Вск 21:08:01 #317 №311944029 
>>311943727
20 лет назад
у каждой домохозяйки был свой сайт

а сейчас долбоеб не может сделать сервис по аренде домов с парой джоинов на эскуэль

В ПЛАНЕ ВЕБА МЫ ДЕГРАДИРОВАЛИ
Аноним 20/10/24 Вск 21:11:26 #318 №311944166 
>>311944029
Ты это, думай, что говоришь.

Раньше сайт у домохозяйки был в лучшем случае с гостевой книгой, где была одна таблица и всё выводилось по дате desc.

А сервис по аренде домов - это блядь просто монстр с десятками таблиц и сложными запросами на выдачу.
Аноним 20/10/24 Вск 21:12:07 #319 №311944190 
>>311933867
Так это как раз один и тот же атрибут - кондей, вайфай, мусоропровод, тип отопления и тд. Ты на каждый такой по таблице собрался создавать?
Аноним 20/10/24 Вск 21:12:14 #320 №311944193 
Тут даже по архитектуре это рядом не стоит. Ты попробуй придумай, как всё это хранить так, чтобы ты мог этим пользоваться.
Аноним 20/10/24 Вск 21:12:46 #321 №311944218 
>>311944190
>Ты на каждый такой по таблице собрался создавать?
Естественно. И это правильно.
Аноним 20/10/24 Вск 21:14:41 #322 №311944289 
>>311944218
И как это будет выглядеть? Звучит очень странно.
Аноним 20/10/24 Вск 21:15:56 #323 №311944336 
>>311944289
Выглядит очень естественно. На каждую сущность по табличке.
Аноним 20/10/24 Вск 21:16:21 #324 №311944353 
Просто скачай какой нибудь движок из интернета сайта на php и mysql, там будет то же самое.
Аноним 20/10/24 Вск 21:16:33 #325 №311944359 
>>311944289
луркай якорную модель и дата волт по этой теме
Аноним 20/10/24 Вск 21:16:42 #326 №311944363 
>>311944218
Как будешь выбирать все типы удобств для одного дома? Приведи пример запроса.
Аноним 20/10/24 Вск 21:17:02 #327 №311944379 
>>311944363
Пук среньк джоин
Аноним 20/10/24 Вск 21:17:58 #328 №311944421 
>>311944336
У тебя тут одна и та же сущность - удобства. Описание, название, тип и тд это уже данные сущности.
Аноним 20/10/24 Вск 21:19:10 #329 №311944478 
>>311944363
у нас есть главный цикл, который просто берёт подряд все айдишники домов

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

если нет, дропаем этот цикл, увеличиваем переменную с на один, и берём следующий айдишник

если есть, идём дальше

и так с каждым параметром
Аноним 20/10/24 Вск 21:19:47 #330 №311944510 
>>311944379
Пример приведи. Пока что твоя идея выглядит и звучит как говно.
Аноним 20/10/24 Вск 21:20:44 #331 №311944549 
Скажем так, не подряд, а уже отсортированные алгоритмом.
Аноним 20/10/24 Вск 21:20:45 #332 №311944550 
>>311944363
ну как как ёмаё

селект * фром хаус Х
джоин кондиционер К
он К.хаус_айди=Х.айди
джоин вай фай ВФ
он ВФ.хаус_айди=Х.айди
джоин джакузи Д
он Д.хаус_айди=Х.айди

Таким образом выйдут все дома в которых есть кондиционер, вай-фай и джакузи

Согласны? Узнали?
Аноним 20/10/24 Вск 21:21:10 #333 №311944563 
>>311944550
это с джойнами
Аноним 20/10/24 Вск 21:21:25 #334 №311944570 
>>311933272
select id, ... from houses
where exists (select id from wifi where wifi.house_id = houses.id)
and exists (select id from conditioners where conditioners.house_id = houses.id)
Аноним 20/10/24 Вск 21:21:42 #335 №311944575 
>>311944550
>он К.хаус_айди=Х.айди
блядь вот эта хуйня просто выбешивает нахуй
Аноним 20/10/24 Вск 21:22:10 #336 №311944596 
>>311944478
>запросы в цикле
Если сервак не дорогой, то пара десятков человек человек его положат этими запросами.
Аноним 20/10/24 Вск 21:22:44 #337 №311944617 
>>311944550
Джойны медленные на больших данных >>311944570 вот решение если надо просто проверить существование
Аноним 20/10/24 Вск 21:22:46 #338 №311944621 
>>311944570
Ага, ещё такой вариант есть
Аноним 20/10/24 Вск 21:22:47 #339 №311944623 
>>311940925
>>311941151
А кто-нибудь может объяснить почему такой вариант не подходит? Просто берём и фильтруем по where нужные удобства.
Аноним 20/10/24 Вск 21:23:07 #340 №311944638 
>>311944510
Безопасно, они сами своих кур едят. Там же можно взять яйца из под курочки, гусей-кролей-индюков-перепелок, свинину с говядиной и прочие редкие в шестёрочках вещи. Ищи на авито или на рынке, на рынке всегда дороже, там не частники а перепуки сидят
Причем запросы могут быть ОЧЕНЬ специфичными. Я там и натуральный воск беру, и сборы трав редкие-разные, и телячью печень и яйца из под черной курицы нашла это в ведьмотред скорее у ничего не подозревающих обывал
Аноним 20/10/24 Вск 21:23:58 #341 №311944668 
>>311944623
Не придираюсь, просто стала больше прислушиваться к своим желаниям, если не лезет кусок и нет аппетита, значит что-то не так с едой.
В итоге, да много идет на выброс. Что-то очень быстро портится, хотя на след. день, если говорить о готовой еде, или после одной разморозки, если говорить о замороженном фарше, например, не должно так быть.
Аноним 20/10/24 Вск 21:24:22 #342 №311944685 
>>311944570
Это несвежая. А если срок годности и запах норм просто помой ее водой и оботри бумажным полотенцем.
Я когда была в отпуске покупала в дорогом супермаркете (дома такого нет) нежнейшее свежее мясо, да было очень вкусно, но и четверочка норм если в специях/маринаде готовить.
Аноним 20/10/24 Вск 21:24:52 #343 №311944708 
Могу я экзистом проверить наличие строки где houseid = 1 и wifi = 1?
Аноним 20/10/24 Вск 21:25:26 #344 №311944732 
>>311944596
Да, я понимаю, что это потенциальная проблема.
Аноним 20/10/24 Вск 21:26:57 #345 №311944791 
>>311944563
селект * фром хаус Х
вере айди ин (селект хаус айди фром кондиционер)
энд айди ин (селект хаус айди фром вай фай)
эед айди ин (селект хаус айди фром джакузи)
Аноним 20/10/24 Вск 21:29:17 #346 №311944880 
>>311944708
Уточни вопрос. Существование строки в таблице с домами, где id = 1 и чтобы у этой строки была связанная строка в таблице вайфаев, где тоже id = 1?

select 1 from houses
where houses.id = 1
and exists (select wifi.id from wifi where wifi.house_id = 1 and wifi.id = 1)

Если получил 1, то есть, если получил пустое множество, то нет
Аноним 20/10/24 Вск 21:30:44 #347 №311944936 
Кто селедку ел? Вкусно?
Аноним 20/10/24 Вск 21:31:11 #348 №311944965 
image.png
Ну вот, умные двачеры ближе к ночи подтягиваются
Аноним 20/10/24 Вск 21:32:34 #349 №311945025 
>>311944550
А зачем тебе джойнить возможные десятки таблиц если можно просто запросить все удобства одного дома по его айдишнику? Так и сам запрос короче станет, и сущности плодить не придется.
Аноним 20/10/24 Вск 21:32:55 #350 №311945038 
>>311944218
>>Ты на каждый такой по таблице собрался создавать?
>Естественно. И это правильно
Появилось новое удобство добавляем таблицу?
Добавлять таблички в процессе боевой работы это такое себе.

Нет удобства мы загоняем в таблицу-справочник Удобства, где будет id_удобство и название.
а сами признаки для дома будем хранить в связующей таблице id_дом, id_удобство
Добавление удобства "бесплатный минет от хозяйки" в базу это будет простое добавление записи в таблицу удобств
Аноним 20/10/24 Вск 21:33:57 #351 №311945077 
>>311945025
Жиза, курицу как не возьму вся какая то вонючая, в соплях и слизи. Слава богу, что рядом с домом есть один гипермаркет где можно найти годноту, а так 80% того что в магазинах это невкусный кал. Что ж поделать, сейчас стараются максимально удешевить производство всего, а на людей плевать, кабанчиков интересует только прибыль
Аноним 20/10/24 Вск 21:34:24 #352 №311945101 
>>311945025
Да, но для этого придётся всё хранить в одной таблице, а не всегда это возможно, просто потому, что некоторые параметры могут быть переменными, для одних домов одни, для других другие. И хранить в таблице сотни столбцов подо всё это - просто идиотизм.
Аноним 20/10/24 Вск 21:35:17 #353 №311945138 
>>311945038
>Появилось новое удобство добавляем таблицу?
Да, но это происходит редко и терпимо.
Аноним 20/10/24 Вск 21:37:39 #354 №311945227 
images.png
Ой ребят, а как же отзывы? Отзывы тоже добавлять в таблицу к фай фай?
Аноним 20/10/24 Вск 21:38:15 #355 №311945252 
>>311945227
Для отзывов нужна новая база данных.
Аноним 20/10/24 Вск 21:38:16 #356 №311945253 
>>311945101
Разные параметры можешь хранить как json в отдельной колонке. Они все равно привязаны к конкретному дому и конкретному типу удобства.
Аноним 20/10/24 Вск 21:38:40 #357 №311945270 
>>311945038
Всё от задачи.
Если удобства все заранее известны или добавляются очень редко при правках ТЗ, то надо делать обычные таблицы, потому что у разных удобств разные атрибуты, например у WIFI есть ESSID, у минета от хозяйки есть цена за час, разные поля с разными типами данных.
Если дополнительных атрибутов никаких нет, то можно создать одну таблицу как ты сказал.
Если удобства часто добавляются или вообще динамически и у каждого свои атрибуты, то можно создать JSON столбец, но в таком случае лучше вообще смотреть в сторону документоориентированных баз данных, реляционные при частой смене схемы плохо подходят.
Аноним 20/10/24 Вск 21:39:06 #358 №311945282 
>>311945253
я не знаю что такой джесон
Аноним 20/10/24 Вск 21:39:27 #359 №311945299 
Дело в том, что ещё по этим параметрам ведь поиск вести надо, поэтому хуярить через запятую не подойдёт.
Аноним 20/10/24 Вск 21:39:34 #360 №311945302 
>>311945282
BSON
Аноним 20/10/24 Вск 21:39:46 #361 №311945311 
>>311945302
ProtoBuf
Аноним 20/10/24 Вск 21:40:16 #362 №311945333 
>>311945270
Столько усилий ради чего, чтобы вместо нормальных множества таблиц делать одну?
Аноним 20/10/24 Вск 21:42:01 #363 №311945409 
>>311945282
Значит ты хуйни понаделаешь сторудово. Советуй тебе - не советуй. Без разницы, ведь нормально сделать ты не сможешь.
Аноним 20/10/24 Вск 21:42:14 #364 №311945421 
>>311945333
Это ДМЗАЙН, ВЫ НИПАНИМАЕТЕ ЭТО ИСКУСТВО
Аноним 20/10/24 Вск 21:42:17 #365 №311945422 
>>311945333
Я же написал, что множество таблиц тоже возможно, чаще всего лучшее решение, классика. Но иногда задача требует другого подхода.
Аноним 20/10/24 Вск 21:42:35 #366 №311945432 
>>311945409
Понаделсю, ключевое слово.
Аноним 20/10/24 Вск 21:44:22 #367 №311945520 
>>311945299
В поиск по jsonам умеет постргресс или монгодб.
Аноним 20/10/24 Вск 21:45:31 #368 №311945565 
>>311945520
Смеха ради, в самом начале, когда я занимался проектированием сервиса, у меня ведь первой появилась идея хранить данные в одной строке. Но через какое-то время я понял, что работать с этим будет просто невозможно.
Аноним 20/10/24 Вск 21:47:29 #369 №311945642 
>>311945565
>я понял, что работать с этим будет просто невозможно
>>311945101
>И хранить в таблице сотни столбцов подо всё это - просто идиотизм.

А что такого в том чтобы хранить много полей в одной таблице?
Аноним 20/10/24 Вск 21:48:09 #370 №311945666 
>>311945282
стэтхем же
Аноним 20/10/24 Вск 21:48:18 #371 №311945673 
>>311945642
>А что такого в том чтобы хранить много полей в одной таблице?
Я уже писал, что некоторых полей может быть больше сотни.
Аноним 20/10/24 Вск 21:49:09 #372 №311945707 
>>311945673
И что с того?
Аноним 20/10/24 Вск 21:49:10 #373 №311945708 
Плюс, разнеся данные по 20 таблицам, меняя адрес дома, мы не будем дёргать все данные сразу.
Аноним 20/10/24 Вск 21:49:32 #374 №311945720 
>>311945270
>Всё от задачи
А ОП не может поставить задачу.
Чтоб поставить задачу надо понимать что хочет клиент, при этом вникнув в его бизнес-процесс, и как и какими инструментами это будет решаться девелоперами.
А ОП в основах путается.
Аноним 20/10/24 Вск 21:49:49 #375 №311945730 
>>311945707
Я не знаю, насколько нормально это сможет работать. Я точно не смогу работать с такой таблицей, а это важный фактор.
Аноним 20/10/24 Вск 21:49:57 #376 №311945738 
image.png
>>311933255 (OP)
Аноним 20/10/24 Вск 21:50:38 #377 №311945769 
>>311945720
Если ты про ОП пост, то там намеренно примитивный пример, чтобы просто не усложнять. Да это и не нужно.
Аноним 20/10/24 Вск 21:53:15 #378 №311945887 
Собственно задача в том, что есть три таблицы, в одной типа просто дома, в другой фай фай, в третьей кондеи, и нужно найти дома, в которых есть и то и другое.
Аноним 20/10/24 Вск 21:57:43 #379 №311946094 
>>311945887
Тебе уже дали ответ и с джойнами и с экзистами. С экзистами эффективнее. Если тебе НЕ надо инфу из таблиц вайфаев и кондеев, а только дома, где есть и то и другое, то выбирай экзисты.
Аноним 20/10/24 Вск 21:59:13 #380 №311946157 
>>311946094
Очень хороший ответ.
Аноним 20/10/24 Вск 21:59:56 #381 №311946196 
Я правильно понимаю, что выигрыш в том, что уменьшается количество запросов к mysql серверу?
Аноним 20/10/24 Вск 22:03:15 #382 №311946367 
>>311945887
надо нанять програмиста SQL, он в базе сделает тебе требуемую отфильтрованную динамическую таблицу (встроенный запрос-представление) ,
ты ее откроешь в своем питоне и обработаешь.
Аноним 20/10/24 Вск 22:03:45 #383 №311946388 
>>311946196
С экзистами есть подзапрос, но операция джойна сама по себе очень дорогая, дороже экзиста, и она будет тем дольше, чем больше у тебя данных и больше таблиц, которые джойнишь, время выполнения будет расти очень быстро.
Аноним 20/10/24 Вск 22:05:27 #384 №311946485 
>>311933891
Не тащи это сишное говно в базы данных.
Аноним 20/10/24 Вск 22:05:42 #385 №311946499 
Можно потом ради интереса будет потестить. Нагенерить тысячу профилей и гонять сервак запросами.
Аноним 20/10/24 Вск 22:06:11 #386 №311946513 
>>311946485
Спасибо за комплимент. Я на си ещё не писал...
Аноним 20/10/24 Вск 22:08:49 #387 №311946639 
>>311933955
Общепринятый далбаебами паттерн. Потом у тебя навалится миллионов 10 записей и ты ебанешься собирать свои объекты из атрибутов, будет все тормозить. Позовешь такого же придурка, он предложит докупить серверов и размазать по данные по ним. Потом еще балансер прикрутить.
Аноним 20/10/24 Вск 22:10:48 #388 №311946734 
>>311942461
Будет 2000 таблиц, тогда и приходи.
Аноним 20/10/24 Вск 22:11:33 #389 №311946766 
>>311946639
миллионов 10?

Давайте посчитаем для США.

Допустим, у нас 100 000 домов. У каждого по 20 атрибутов. 2 миллиона. Но.

пользователей то у нас миллионы. каждый год. И у некоторых по несколько покупок. Это тоже всё в одну таблицу?
Аноним 20/10/24 Вск 22:12:25 #390 №311946800 
Это просто тупо.
Аноним 20/10/24 Вск 22:14:51 #391 №311946891 
>>311946766
>Это тоже всё в одну таблицу?
Конечно, ведь это же паттерн. Чтоб все охуели.
Неосиляторы SQL и реляционной модели такие смешные.
Аноним 20/10/24 Вск 22:17:45 #392 №311947022 
>>311946766
Долбоеб не понимает что такое таблица.
Аноним 20/10/24 Вск 22:19:42 #393 №311947101 
>>311946891
Таблица список домов, там инфа, которая уникальна для дома и может быть только в одном экземпляре. Номер дома, адрес, статус занят/не занят, хз, чё там ещё.
Таблица кондиционеры, там перечисление вообще всех кондеев с их уникальными характеристиками (этаж, фирма, статус, хз). Для каждого указан внешний ключ — айдишник дома, в котором кондей находится. Схожие таблицы и для всего остального — тех же вайфаев, например.
Аноним 20/10/24 Вск 22:20:06 #394 №311947116 
>>311946734
Тут подразумевается, что фотографии ты хранишь тупо в питоновском списке, а сама информация о квартире - это питоновский же словарь, типа:

{
"rooms_number":2,
"wifi":false,
"rooms":[
"link_to_pic1.jpg",
"link_to_pic2.jpg"
]
}

и тогда поиск работает через какое-нибудь REST API приложение.
Аноним 20/10/24 Вск 22:28:06 #395 №311947437 
Screenshot129.png
А вы на работе какие проекты делаете?
Аноним 20/10/24 Вск 22:34:50 #396 №311947706 
harder laugh.webm
tmpuq2h8v0u.mp4
>>311933255 (OP)
>>311933409
>>311934103
И вот такие "специалисты" хотят среднюю зп по рынку, а то и даже выше.
Аноним 20/10/24 Вск 22:36:49 #397 №311947773 
>>311945887
>Собственно задача в том, что есть три таблицы, в одной типа просто дома, в другой фай фай, в третьей кондеи, и нужно найти дома, в которых есть и то и другое
SELECT House.id FROM House House
WHERE House.id in (SELECT Wifi.house_id FROM Wifi Wifi )
AND House.id in (SELECT Ac.house_id FROM Ac Ac)
Аноним 20/10/24 Вск 22:38:21 #398 №311947829 
>>311947706
второй это я, и я ни в коем случае не хочу среднюю зп по рынку
Аноним 20/10/24 Вск 22:39:12 #399 №311947871 
>>311947773
Господи пиздец какой зоопарк слов
Аноним 20/10/24 Вск 22:42:25 #400 №311948016 
slm.mp4
>>311947773
Фу, что за непотребство.
Аноним 20/10/24 Вск 22:44:45 #401 №311948122 
Лучше бы подумали о том, что юзеры сайта будут за 1 раз смотреть 20 квартир в выдаче, а дальше будет подгружаться страничка, или кнопки 1, 2 ... 99 с номерами страниц (но сейчас так обычно не делают).
Аноним 20/10/24 Вск 22:46:26 #402 №311948182 
>>311948122
Я писал об этом в треде >>311942331
Аноним 21/10/24 Пнд 00:31:59 #403 №311952320 
>>311933255 (OP)
Аноны анальники обьясните мне лучше другую хуйню
Почему в TLS первые запросы клиент-хелло передаются не шифрованными? Там же хранятся рандомные номера якобы для невзламываемости запросов. Что мешает моему провайдеру сделать митм и подсовывать свои запросы вместо запроса клиента, и по крайней мере читать то что приходит от сервера? Почему не завернуть первые запросы в публичный ключ СА сервиса уникальные для сайтов зареганных у этого СА?
Аноним 21/10/24 Пнд 00:32:46 #404 №311952341 
17291928436221.jpg
17288956499880.jpg
>>311952320
бамп
Аноним 21/10/24 Пнд 00:39:25 #405 №311952549 
>>311952320

Потому что в первом запросе передается какой именно сайт тебе нужен

На 1 IP может висеть несколько разных виртуальных серваков, с разными доменами и сертификатами от разных CA.
Тебе надо как то сообщить какой именно сайт ты хочешь, что бы он стал тебе отвечать нужным сертификатом.

Вообще это вроде как то решили уже, когда TLS HELLO тоже шифруется. Но тут я хз как от MITM защищаются.

С самим сайтом все понятно - сертификат не будет соответствовать домену. Ну если ты конечно не долбоём с установленными сертификатами минцифры
sage[mailto:sage] Аноним 21/10/24 Пнд 00:44:17 #406 №311952699 
>>311933255 (OP)
Придурки, нахуй вы его чему-то учите бесплатно? Вам делать нехуй? Вы можете себе блять представить чтобы юрист или маркетолог или арбитражные кому-то так бесплатные советы раздавал?
Аноним 21/10/24 Пнд 00:47:22 #407 №311952789 
>>311933255 (OP)
О, шиз, который все никак не допишет сервис с репетиторами, ты? Узнал тебя по твоему «сервис по аренде домов»
Как там успехи? Чего вдруг перестал высирать треды «что мешает тебе создать свой айрбнб»? Смотрю тебе резко стало мешать отсутствие навыков программирования?
Но зато как резво ты тут пиздел, что изи освоишь и дизайн, и программирование, и маркетинг)
Аноним 21/10/24 Пнд 00:47:33 #408 №311952798 
>>311952699
Делиться знаниями очень приятно.
Аноним 21/10/24 Пнд 00:51:24 #409 №311952911 
>>311952699
Потому распространение знания, тем более базы, это хорошо.
Аноним 21/10/24 Пнд 00:52:07 #410 №311952932 
>>311952789
ОМГ, думаешь ето он?
Аноним 21/10/24 Пнд 00:53:39 #411 №311952973 
>>311952549
а клиент при каждой установке соединения обращается к СА, или только при первом соединении? или только когда есть сомнения в подлинности сертификатов?
Аноним 21/10/24 Пнд 00:54:48 #412 №311953003 
>>311952789

Ты подожди, он еще не нюхал High-Load, High-Availability
И всё что с этим будет связано.
Типа реплик, хранения сессий в Редисе, K8S кластер с blue/green деплоем новых версий и тп

Но сдаётся мне, он до этого этапа дойдёт примерно никогда
Аноним 21/10/24 Пнд 00:57:35 #413 №311953080 
>>311952973

Клиент вообще обычно не обращается к CA
На клиенте обычно есть доверенные CA сертификаты, от которых можно построить вниз цепочку доверия до конкретног сертификата сервера.

Клиент может обращаться к списку отозванных сертификатов.
Обычно для каждого CA есть URL с этим списком. который клиент знает, так как у него есть сертификат самого CA в доверенных

OCSP называется
Аноним 21/10/24 Пнд 01:02:48 #414 №311953233 
>>311952789
> Чего вдруг перестал высирать треды
Сегодня был тред точно
Аноним 21/10/24 Пнд 01:18:35 #415 №311953750 
>>311952932
100%
Та же манера письма
Те же витиеватые заходы через «сервис по аренде домов»
>>311935021 вот тут высрался таблицей с образованием
Ну и тренды про айрбнб говорят были сегодня опять
Аноним 21/10/24 Пнд 01:21:04 #416 №311953839 
16898535037880.mp4
>>311953750
Аноним 21/10/24 Пнд 01:25:25 #417 №311953975 
>>311953003
Да какой high availability, об этом начинает заходить речь когда есть трафик и есть клиенты. Шиз не осилит привлечь даже трех инвалидов.
Аноним 21/10/24 Пнд 01:33:08 #418 №311954185 
>>311933255 (OP)
Для начала я бы не ебал себе мозг и сделал обычный питоновый блок в n8n. Нахуя ты такой ретроград?
Аноним 21/10/24 Пнд 01:33:57 #419 №311954214 
>>311933255 (OP)
Я бы тебе ответил, но первая и особенно третья пикчи это желание истончают. Кончай засирать этим безвкусным говном мой /би/, пидорас.
Аноним 21/10/24 Пнд 01:34:16 #420 №311954223 
>>311947773
Слышал что-нибудь про JOIN и EXISTS?
Аноним 21/10/24 Пнд 01:35:08 #421 №311954244 
>>311954185
Пайтон не лучшее решение для веб.
Аноним 21/10/24 Пнд 01:35:11 #422 №311954245 
>>311954223

Не отвлекай АРХИТЕКТОРА, чернь
Аноним 21/10/24 Пнд 01:37:35 #423 №311954307 
>>311954244
А mysql - это просто хуита.
При этом пайтоном владеет каждая макака, например.
Аноним 21/10/24 Пнд 01:38:57 #424 №311954326 
>>311947101
Таблица с домами, таблица с атрибутами домов, например, адресами, внешние ключи на них, таблица с кондерами, таблица с wi-fi, общая таблица - связка домов с кондерами. Пиздец же как это сложно. Должны на любых курсах по БД рассказывать, но там, походу, такие же ебанавты, как ОП.
Аноним 21/10/24 Пнд 01:39:21 #425 №311954338 
>>311954307
Мускуль одна из самых лучших БД эвер. Стабильная, быстрая, с возможностями. Пруф ми вронг, жопорукич.
Аноним 21/10/24 Пнд 03:03:52 #426 №311956305 
>>311954338
Есть организационный минус: ребята злоупотребляют FUD-ом в отношении GPL, чтобы перевести лохов на свою проприетарную лицензию. И подставляют тем самым всю опенсорсную движуху. Как цыгане, блядь. Тот же постгрес в данном отношении ведёт себя намного приличнее.
comments powered by Disqus

Отзывы и предложения