Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Две таблицы и не знаю у какой pk назначить, а у кого fk / 24 сообщений из 24, страница 1 из 1
29.10.2015, 18:34
    #39090445
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
имею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?

На основании моего абстрактного запроса
Код: sql
1.
2.
3.
SELECT *
FROM rel
LEFT JOIN news ON using(id)



Сейчас думаю, что rel.id - это fk(потому что в начале создается запись в таблице News), а news.id - pk.

Но смущает, что запрос начинается с FROM rel, не значит ли это, что rel.id должен быть pk

Ребят нужен ВАШ ХЭЛП.
...
Рейтинг: 0 / 0
29.10.2015, 18:43
    #39090449
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadимею две абстрактные таблицы News и Rel.
И они связаны отношением 1:1?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.10.2015, 18:46
    #39090452
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadимею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?

На основании моего абстрактного запроса
Код: sql
1.
2.
3.
SELECT *
FROM rel
LEFT JOIN news ON using(id)



Сейчас думаю, что rel.id - это fk(потому что в начале создается запись в таблице News), а news.id - pk.

Но смущает, что запрос начинается с FROM rel, не значит ли это, что rel.id должен быть pk

Ребят нужен ВАШ ХЭЛП.

У Вас действительно странный запрос - LEFT JOIN подразумевает, что в rel могут быть записи, для которых нет соответствующей
записи в news.
Как такое может быть, если сперва создается news - Вам виднее :)
...
Рейтинг: 0 / 0
29.10.2015, 22:59
    #39090613
2112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadимею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?

На основании моего абстрактного запроса
Код: sql
1.
2.
3.
SELECT *
FROM rel
LEFT JOIN news ON using(id)



Сейчас думаю, что rel.id - это fk(потому что в начале создается запись в таблице News), а news.id - pk.

Но смущает, что запрос начинается с FROM rel, не значит ли это, что rel.id должен быть pk

Ребят нужен ВАШ ХЭЛП.

блин аж завис...))

а чо
рез-ты
пральна-построенных
JOIN-нов
зависят от
где ПК-ФК

8((
...
Рейтинг: 0 / 0
30.10.2015, 00:39
    #39090653
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
Да 1:1. Такой совет получил на форуме когда спрашивал про большое количество сайтов публикующих новости в одну таблицу. Для оптимизации в общем.

В запросе не LEFT а INNER.
...
Рейтинг: 0 / 0
30.10.2015, 01:35
    #39090665
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadДа 1:1. Такой совет получил на форуме когда спрашивал про большое количество
сайтов публикующих новости в одну таблицу. Для оптимизации в общем.
А ты и повёлся...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.10.2015, 08:13
    #39090705
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
А что оставалось делать. Ты был человек с кол-ом ответов около 37000. Он не сделал замечание по оводу той модели которую мне предложили. Вот я и успокоился в душе.
http://www.sql.ru/forum/1165211/sovet-po-proektirovaniu-bd-portala-s-bolshim-kol-vom-podsaytov

Ребят подарите человеку еще пару советов насчет проектирования. Я разрываюсь. Спасибо.
...
Рейтинг: 0 / 0
30.10.2015, 09:05
    #39090727
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadДа 1:1. Такой совет получил на форуме когда спрашивал про большое количество сайтов публикующих новости в одну таблицу. Для оптимизации в общем.

В запросе не LEFT а INNER.
В прошлый раз Вы описывали ситуацию, когда новость публикуется на нескольких подсайтах - т.е. связь 1:N, а не 1:1.

Если INNER, то порядок таблиц в запросе не важен. Смело делайте fk в rel.
...
Рейтинг: 0 / 0
30.10.2015, 10:28
    #39090820
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
Так все таки таблица Rel(site_id и news_id) нужна?

Может избавиться от табл. Rel? Засунуть графу site_id в таблицу News и создать индексы полу site_id?
...
Рейтинг: 0 / 0
30.10.2015, 12:28
    #39090962
этта
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadА что оставалось делать. Ты был человек с кол-ом ответов около 37000. Он не сделал замечание по оводу той модели которую мне предложили. Вот я и успокоился в душе.
http://www.sql.ru/forum/1165211/sovet-po-proektirovaniu-bd-portala-s-bolshim-kol-vom-podsaytov

<>для начала определится

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

т.е . что совет-то там был ни разу не про оптимизацию, а по постановке задачи

как там у сорокина -- ....
...
Рейтинг: 0 / 0
30.10.2015, 12:38
    #39090985
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadТак все таки таблица Rel(site_id и news_id) нужна?

Может избавиться от табл. Rel? Засунуть графу site_id в таблицу News и создать индексы полу site_id?

А вдруг у него новость на нескольких сайтах сидит?
...
Рейтинг: 0 / 0
30.10.2015, 12:56
    #39091010
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadРебят подарите человеку еще пару советов насчет проектирования. Я разрываюсь.

Придерживайся методологии KISS. Проблемы будешь решать по мере появления (если они вообще
появятся).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.10.2015, 14:52
    #39091195
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpad, начните с описания задачи. Новости - не так просто, как может казаться.
...
Рейтинг: 0 / 0
30.10.2015, 16:59
    #39091371
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
Представьте у вас имеются 2000 n+ тыс организаций которые буду публиковать часто новости. У новости имеются все стандартные поля title body created changed и т.д.

Вот как бы вы спроектировали бд?
...
Рейтинг: 0 / 0
30.10.2015, 17:04
    #39091381
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
забыл сказать про графу логически разделяющая к кому относится новость, не в кучу же их(новости) записывать
...
Рейтинг: 0 / 0
30.10.2015, 17:09
    #39091385
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadПредставьте у вас имеются 2000 n+ тыс организаций
Извините, лично мне сегодня достаточно забористой травы не привезли. Не могу такого
представить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.10.2015, 17:16
    #39091396
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
> Представьте у вас имеются 2000 n+ тыс организаций которые буду публиковать часто новости.

Поскольку я не знаю источника, который оперировал бы сообщениями 2 млн лавок - т. е. аналог отсутствует, - вопрос - откуда эти сообщения? Какова их природа? Есть ли тематические ограничения?

> У новости имеются все стандартные поля title body created changed и т.д.

"Стандартных полей" для новостей не существует. Вы можете говорить о распространённых решениях, не более.
...
Рейтинг: 0 / 0
30.10.2015, 21:40
    #39091572
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
я уменьшу кол-во до 300

К словам не цепляйтесь, вы понимаете о чем я говорю, и не об это речь.

Вот как ваша модель будет сейчас выглядеть?
...
Рейтинг: 0 / 0
30.10.2015, 22:02
    #39091580
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadВот как ваша модель будет сейчас выглядеть?
Всё так же: KISS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.10.2015, 23:59
    #39091609
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
[quot bodpad]имею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?



PK у обоих (PK вообще должен быть в каждой таблице), FK с Rel на News.




Но смущает, что запрос начинается с FROM rel, не значит ли это, что rel.id должен быть pk

запросы тут вообще ни при чём. Ни запросы на DDL не влияют, ни DDL на запросы...
...
Рейтинг: 0 / 0
31.10.2015, 00:30
    #39091615
2112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
[quot MasterZiv]bodpadимею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?



PK у обоих (PK вообще должен быть в каждой таблице), FK с Rel на News.




Но смущает, что запрос начинается с FROM rel, не значит ли это, что rel.id должен быть pk

запросы тут вообще ни при чём. Ни запросы на DDL не влияют, ни DDL на запросы...чиста абстрактно
те не касаемо Вашего


да с фига ли


блин
...
Рейтинг: 0 / 0
31.10.2015, 01:00
    #39091622
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadимею две абстрактные таблицы News и Rel.

В News имеется id(ai), title, body, created

В Rel имеетсяя id(news id по факту) и site_id.

Вот теперь не знаю, у кого pk назначить, а у кого fk?

это у тебя M:M сейчас, многие ко многим значицца.
Связываешь новости и сайты.
так шта в rel будут 2 fk - один на новости, другой на сайты.
...
Рейтинг: 0 / 0
31.10.2015, 13:44
    #39091712
bodpad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
Бд давно построили с одной табл. News и c fk на таблицу Sites. В итоге sites и news один ко многим.
Был простой спор и решили тут вопрос задать ради интереса. Поэтому и писал "абстрактно".
Всем, кто ответил по теме спасибо. Остальные надеюсь не в обиде.
...
Рейтинг: 0 / 0
31.10.2015, 21:49
    #39091884
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две таблицы и не знаю у какой pk назначить, а у кого fk
bodpadПредставьте у вас имеются 2000 n+ тыс организаций которые буду публиковать часто новости. У новости имеются все стандартные поля title body created changed и т.д.

Вот как бы вы спроектировали бд?У нас сейчас 15000+ организаций, обходимся без таблицы Rel.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Две таблицы и не знаю у какой pk назначить, а у кого fk / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]