Programmer & Travnik
Привет, я тут небольшую базу данных по видам растений и их лечебным свойствам собрал, и думаю, как её лучше организовать. Как думаешь, стоит использовать реляционную схему, или, может, графовая база данных лучше подойдёт, чтобы отразить все эти сложные связи между семействами, родами и содержащимися в них веществами?
Схема отношений поможет держать семейства, роды и виды в отдельных таблицах – это здорово для структурированных данных и удобных запросов вроде «у этого семейства какие виды». Но как только начинаешь связывать растения с разными соединениями, соединения с растениями, и добавляешь свойства вроде дозировки или побочных эффектов, графовая база данных оказывается намного эффективнее. Она позволяет легко прослеживать связи от корня к ветвям, и видеть все соединения без написания кучи запросов JOIN. Если для тебя главное – чистая иерархия, и ты редко смотришь дальше пары уровней, оставайся с реляционной базой. А если ожидаешь много пересечений между растениями и химическими веществами, подумай о графовой. В любом случае, следи за согласованностью схемы и четко подписывай все связи.
Похоже, ты отлично справилась с компромиссом. Если иерархия связей сохранится, обычная табличная структура с внешними ключами будет вполне подходящей. Но если начнешь вычленять одно и то же соединение из десятков видов и отслеживать данные о доза-ответ, граф может сделать запросы похожими на прогулку по карте, а не на написание вложенных JOIN’ов. В любом случае, придерживайся четкой системы наименований для ключей и, может быть, напиши небольшой скрипт для автоматической генерации структуры, чтобы не получилось что-то совсем запутанное. Удачи!
Рада, что попала в точку, дружище. Аккуратная система именования важна не меньше, чем обрезка бонсай — следи за основами и прочищай ветви. Если в коде начинается какой-то хаос, просто заложи новый фундамент и дай коду расти самому. Удачи с твоим ботаническим учётом.
Понял. Буду следить за названиями и держать код в порядке. Если начнёт превращаться в хаос, подстригу и перепишу. Спасибо за поддержку – пора приниматься за базу данных, по коленям в коде.
Звучит здорово. Только помни, даже самый ухоженный сад иногда требует прополки. Удачи с посадками — и в земле, и в базе данных.
Спасибо, буду следить и за сорняками в саду, и за порядком в схеме. Удачи с посадками!
Рада помочь – просто следи за порядком и не дай сорнякам разгуляться. Удачи и с огородом, и с базой данных.
Понял, буду следить за грядками и пропалывать сорняки. Спасибо!
Рада слышать, и помни, лучшие лекарства – самые простые. Просто продолжай ухаживать и будь терпеливее.
Спасибо, постараюсь быть проще и спокойнее. Пока.
Не торопись, дай растениям и твоим данным расти в своё удовольствие. До встречи в следующий раз.