Вопрос о проектировании БД - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Thu, 09 May 2024 03:41:45 +0300 <a href="/users/php">php</a>, в text - текст статьи, в article - ид статьи<br> Повнимательнее прочитай предыдущий пост, там структура всех 3 таблиц расписана https://visavi.net/topics/44182/703566 Вопрос о проектировании БД Dmitry Kokorin Fri, 10 May 2019 17:16:22 +0300 Сообщения https://visavi.net/topics/44182/703566 <a href="/users/DimmoS">Dmitry Kokorin</a>, что в text и article хранится? https://visavi.net/topics/44182/703560 Вопрос о проектировании БД php Thu, 09 May 2019 12:46:31 +0300 Сообщения https://visavi.net/topics/44182/703560 Юзер: id counter<br> Статья: id text<br> Авторы: id author article<br> Запрос:<pre class="prettyprint"> Выборка авторов у которых более 4х статей (5+) SELECT id FROM users WHERE counter &gt; 4 Выборка статей определенного автора SELECT text FROM articles WHERE id IN (SELECT article FROM authors WHERE author = ID_AUTHORS) Выбрать всех авторов статьи SELECT author FROM authors WHERE article = ID_ARTICLE </pre> https://visavi.net/topics/44182/703559 Вопрос о проектировании БД Dmitry Kokorin Thu, 09 May 2019 10:22:32 +0300 Сообщения https://visavi.net/topics/44182/703559 Короче говоря, существует ли в природе такой запрос, чтобы удовлетворить мои условия или структуру бд переделывать?<br> В случае с запросом - конечно, если он будет более-менее лаконичным. Определение функций и т.п. в запросе мне не нужны.<br> <br> <blockquote class="blockquote">21 век на дворе, а мы все еще юзаем реляционные бд! - такая шняга.. Пора бы придумать что-нибудь получше.</blockquote> https://visavi.net/topics/44182/703548 Вопрос о проектировании БД php Tue, 07 May 2019 23:30:08 +0300 Сообщения https://visavi.net/topics/44182/703548 <a href="/users/JustZero">JustZero</a>, это уже про код говоришь наверное, а я имел ввиду чиста средствами mysql обойтись, безо всякого лишнего кода.<br> <br> <em><span style="font-size:x-small">Добавлено через 07:34 сек.</span></em><br> <a href="/users/JiGaN">JiGaN</a>, <img src="https://visavi.net/uploads/stickers/klass.gif" alt="klass"> у статьи м.б. несколько авторов, у автора - сколько угодно статей. Схема многие:многим. Так вот я и хочу выяснить моей структуры бд достаточно будет, чтобы реализовать соответствующую выборку? (см. выше) В т.ч. есть необходимость выбрать из бд авторов у которых &gt;=5, &gt;=10 статей. https://visavi.net/topics/44182/703547 Вопрос о проектировании БД php Tue, 07 May 2019 23:16:42 +0300 Сообщения https://visavi.net/topics/44182/703547 <blockquote class="blockquote">Кому интересно если, так сделал: SELECT * FROM `co_auth` WHERE `title_id` IN (SELECT `author_id` FROM `co_auth` GROUP BY `author_id` HAVING COUNT(title_id) &lt; 5)<footer class="blockquote-footer">@php (Сегодня / 19:23)</footer></blockquote> Какой ужасный костыль)<br> А формулировка вопроса точная?<br> Для одного имени количество книг, а у него их несколько? Если несколько книг, и есть количество, то просто +1 к количеству нет? Здесь крч что-то не так с вопросом) https://visavi.net/topics/44182/703545 Вопрос о проектировании БД JiGaN Tue, 07 May 2019 20:06:09 +0300 Сообщения https://visavi.net/topics/44182/703545 <a href="/users/php">php</a>, что мешает самому писать количество? у тебя же есть таблица автор. вот в ней сделай поле articles типа int. при создании или удалении постов делай articles++ или -- https://visavi.net/topics/44182/703543 Вопрос о проектировании БД JustZero Tue, 07 May 2019 20:00:00 +0300 Сообщения https://visavi.net/topics/44182/703543 Кому интересно если, так сделал: <pre class="prettyprint">SELECT * FROM `co_auth` WHERE `title_id` IN (SELECT `author_id` FROM `co_auth` GROUP BY `author_id` HAVING COUNT(title_id) &lt; 5)</pre> https://visavi.net/topics/44182/703542 Вопрос о проектировании БД php Tue, 07 May 2019 19:23:31 +0300 Сообщения https://visavi.net/topics/44182/703542 <a href="/users/JustZero">JustZero</a>, ну да, поле с автоинкрементом может быть только одно, для счетчика чего либо отдельную таблицу делать надо тогда наверное.<br> М.б. выборку лучше придумать типа: select такое-то поле from такой-то таблица и вывести количество title_id у каждого из авторов? https://visavi.net/topics/44182/703541 Вопрос о проектировании БД php Tue, 07 May 2019 17:25:08 +0300 Сообщения https://visavi.net/topics/44182/703541 <a href="/users/php">php</a>, какой гемор? Поле типа int в которое плюсуешь при написании или минус при удалении? https://visavi.net/topics/44182/703540 Вопрос о проектировании БД JustZero Tue, 07 May 2019 17:02:14 +0300 Сообщения https://visavi.net/topics/44182/703540 <a href="/users/JustZero">JustZero</a>, бл@ ну и гемор! Тип SERIAL подойдет для этого?<br> <br> <em><span style="font-size:x-small">Добавлено через 03:08 сек.</span></em><br> Я могу счетчик сделать с помощью пхп кода и добавлять его в бд, когда что-то новое появляется, а чиста средствами mysql это можно замутить как-нибудь? Кстати, в таблице с авторами не получится счетчик сделать, ведь автоинкрементный тип только один должен быть. https://visavi.net/topics/44182/703539 Вопрос о проектировании БД php Tue, 07 May 2019 16:45:06 +0300 Сообщения https://visavi.net/topics/44182/703539 <a href="/users/php">php</a>, наверное лучше счётчик сделать в авторов) https://visavi.net/topics/44182/703538 Вопрос о проектировании БД JustZero Tue, 07 May 2019 16:03:18 +0300 Сообщения https://visavi.net/topics/44182/703538 Может быть я и так уже все сделал, только сам пока об этом не догадываюсь? <img src="https://visavi.net/uploads/stickers/D.gif" alt="D"> <br> <pre class="prettyprint">INSERT INTO BooksAuthors (ArticleId, AuthorId) VALUES (1, 1), (2, 1), (3, 1), (4, 2), (5, 2), (6, 3), (7, 4), (7, 5), (7, 6), (7, 7), (7, 8) </pre> <br> Это запрос к таблице-посреднику между таблицами со статьями и с авторами. Эта таблица устанавливает соответствие между статьями и авторами посредством идентификаторов. Вопрос-то на самом деле следующий: при такой структуре я могу сделать выборку авторов, например, тех у кого &gt;=5, &gt;= 10 статей? Мне просто хватит алгоритма. Или бд спроектирована неправильно для этого? Вот решить этот вопрос затрудняюсь( https://visavi.net/topics/44182/703537 Вопрос о проектировании БД php Tue, 07 May 2019 15:51:56 +0300 Сообщения https://visavi.net/topics/44182/703537 Типа того, только организовать архитектуру бд таким образом, чтобы можно было без нее обойтись.<br> Не создавать же по таблице для всего подряд? https://visavi.net/topics/44182/703533 Вопрос о проектировании БД php Tue, 07 May 2019 08:59:38 +0300 Сообщения https://visavi.net/topics/44182/703533 <a href="/users/php">php</a>, ты не думал хранить инфу обработаную к примеру serialize(), а на выходе его прочитывать https://visavi.net/topics/44182/703532 Вопрос о проектировании БД Андрей Tue, 07 May 2019 08:22:11 +0300 Сообщения https://visavi.net/topics/44182/703532