jetistyum
дак виев еще собрать нужно, после каждого внесения удаления инфы или замены, они нужны лишь для получения выборки
S.Chushkin
да структура должна быть расчитана под такой объем с последующим разносом по серверам
Valick
30.08.2016 - 14:15
я лично вижу тут всего одну таблицу
id | book_id | glava | paragraf | text
ну а кто не "спрятался", я не виноват
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
будете ли производить партицирование при аткйо структуре?
имеет ли смысл создавать такую структуру - данные будут дублироваться
ну и потом глава так же может содержать свою инфомрацию допустим название как и параграф
Valick
30.08.2016 - 14:27
Цитата (hurt3 @ 30.08.2016 - 13:19) |
будете ли производить партицирование при аткйо структуре? |
это уже оставьте как раз оптимизации
Цитата (hurt3 @ 30.08.2016 - 13:19) |
имеет ли смысл создавать такую структуру - данные будут дублироваться |
абсолютно так же как и в вашем варианте, только при выборке не нужны джоины
Цитата (hurt3 @ 30.08.2016 - 13:19) |
ну и потом глава так же может содержать свою инфомрацию допустим название как и параграф |
значит тем более уникальность информации будет повышаться
_____________
Стимулятор ~yoomoney - 41001303250491
Valick это уже оставьте как раз оптимизации
в каком смысле?
значит тем более уникальность информации будет повышаться
куда в вашей структуре вы добавите доп информацию о книге и главе
Valick
30.08.2016 - 14:35
Цитата (hurt3 @ 30.08.2016 - 13:29) |
куда в вашей структуре вы добавите доп информацию о книге и главе |
про доп информацию речи не шло, но для этого как раз можете использовать отдельные таблицы, я не против
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
да виноват, не дал полную информацию, приведите пожалуйста вариант таблиц с текущим условием
jetistyum
30.08.2016 - 14:37
Valick
На сколько я понял, есть три таблицы (хотя ТС довольно неоднозначно описал структуру БД)
Условно
books {
id
title
}
glava{
id
book_id
title
}
paragraf{
id
glava_id
title
}
Исходя из этой структуры можно хранить минимально информации , уменьшать тут больше нечего... Поэтому я и сказал что хранение оптимально
Цитата |
назовите мне хоть один параграф который не принадлежит к главе и как следствие к самой книге
|
Что касается выборки
SELECT `b`.`id` AS `book_id`,
`p`.`id` AS `paragraf_id`,
`g`.`id` AS `glava_id`,
`p`.`title` AS `paragraf`,
`g`.`title` AS `glava`,
`b`.`title` AS `book`
FROM `paragraf` `p`
LEFT JOIN `glava` `g` on `p`.`glava_id` = `g`.`id`
LEFT JOIN `books` `b` on `g`.`book_id` = `b`.`id`
WHERE b.id is null # где нет связки параграфа или главы с книгой
WHERE g.id = null # где нет связи главы с параграфом
А если из запроса сделать VIEW, выбирать еще проще.
Что я делаю не правильно?
jetistyum
30.08.2016 - 14:42
Valick
А если добавить еще и foreign key, то целостность бд не сможет быть нарушена, и как следствие не будет записей не привязанных ни к чему
jetistyum
зачем делать виев если есть партицирование?
и вот здесь не могу просчитать решение
WHERE b.id is null # где нет связки параграфа или главы с книгой
возможно выборка будет идти очень долго
Valick
30.08.2016 - 14:44
Цитата |
приведите пожалуйста вариант таблиц с текущим условием |
для того что вы хотите больше подходит структура XML
возможно стоит смотреть в сторону PostgreSQL, там вроде есть более менее адекватная поддержка
если интересует вариант именно на MySQL, то надо "посидеть", а я сейчас на работе (первый день кстати после отпуска), сильно не охота, но надо работать
_____________
Стимулятор ~yoomoney - 41001303250491
jetistyum
30.08.2016 - 15:04
Цитата (hurt3 @ 30.08.2016 - 13:42) |
зачем делать виев если есть партицирование? |
Что значит партицирование?
Представь полную структуру своих таблиц, или подтверди (или не подтверди) что я правильно понял ее, и описал в ответе. Мы будто говорим о разных вещах.
что значит партиционирование
структура
books {
id
title
}
glava{
id
book_id
title
}
paragraf{
id
glava_id
title
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.