powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите схему
46 сообщений из 46, показаны все 2 страниц
Подскажите схему
    #34017045
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предположим, необходимо изучить питание каких-л. животных. Известно, что некоторые могут питаться чем-то одним, а другие - всеядные. Например, обезьяны могут есть мясо (неважно каких животных), грибы (неважно какие) и растения. Но в отношении растений требуется более подробная информация. Дело в том, что у разных растений пищевую ценность могут представлять разные органы этих растений (листья, корни, плоды) и требуется информация какие именно. Задача - определить схему пищевых ресурсов для обезьян в базе данных.
Вариант: создаем таблицы ОБЕЗЬЯНЫ, РАСТЕНИЯ, ОРГАНЫ (растений), РАСТЕНИЯ_ОРГАНЫ (связующая), ГРУППЫ ПИЩЕВЫХ РЕСУРСОВ. А вот как теперь организовать соединительное звено между ОБЕЗЬЯНАМИ и имеющимися таблицами, чтобы выполнить поставленную задачу? Вводить еще какие-н. промежуточные таблицы?
...
Рейтинг: 0 / 0
Подскажите схему
    #34017865
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы делал следующим образом и универсально:
...
Рейтинг: 0 / 0
Подскажите схему
    #34019600
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КДВариант: создаем таблицы ОБЕЗЬЯНЫ

внимательно втыкаем в тынцу и тынцу

по поводу классификаций еще есть что почитать и чему поучиться

ShtockЯ бы делал следующим образом и универсально:


существует классификация в группы Хищники Травоядные Всеядные... в частности Травоядным мясо не по вкусу
...
Рейтинг: 0 / 0
Подскажите схему
    #34019951
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to proposed amendment: не понял,к чему Ваша фраза.Данная схема позволяет набрать виды пищи для каждого типа зверья особенно если делать и его деревом.
...
Рейтинг: 0 / 0
Подскажите схему
    #34020225
komarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To proposed amendment:
Собственно, вопрос с классификацией решен. Тут больше вопрос о грамотной организации отображения связи животных с пищевыми ресурсами. Кстати, ссылка на статью с pdf у меня ничего не выводит, подскажите, как это лечить.

To Schtock:
Ага, подумаю.

Всем спасибо!
...
Рейтинг: 0 / 0
Подскажите схему
    #34022645
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shtockto proposed amendment: не понял,к чему Ваша фраза.Данная схема позволяет набрать виды пищи для каждого типа зверья особенно если делать и его деревом.


в принципе если в табилице виды животного указать группирующие признаки по видам пищи то да - этого, конечно, достаточно
...
Рейтинг: 0 / 0
Подскажите схему
    #34023411
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To proposed amendment:
Нет, я все-таки полагаю, что иерархическая таблица с животными должна существовать сама по себе, а должна быть связующая таблица между животными и кормовыми ресурсами типа: ID_вид_животного - ID_кормового ресурса. Таким образом, мы свяжем животных и ресурсы М:М, что верно.

To Schtock:
Значит, если я правильно понял, Вы предлагаете сделать одну таблицу для пищевых ресурсов (иерархическую) и отображать ее деревом? Хорошо, но, здесь как бы нарушается нормализация, т.е. для каждого растения мы будем заносить в эту таблицу органы, которые, в общем-то, примерно одни и те же у всех растений (практически у всех есть корни, стебли, листья, плоды) или это ничего? А кроме того, я хотел сделать сами растения деревом (классификацию) и их органы туда не очень вписываются…
...
Рейтинг: 0 / 0
Подскажите схему
    #34023461
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и заносите.Я не думаю,что будет криминал.Просто надо чуть выше поднять уровень абстракции и не думать о растениях, как о чем-то особом.Так можно и про мясо подумать: брать, например, мышь. У нее лапы отдельно,хвост отдельно.Можно правда (непонятно зачем) сделать так: иерархический классификатор частей пищи (забудьте про растения,поднимайте выше уровень абстракции - есть пища и ее части), потом таблицу конкретных частей пищи со ссылкой на классификатор, а эту таблицу уже вязать по m:n с видами животных.Но,я бы, честно, не напрягался бы так.Хотя с точки зрения проектирования БД в Вашем случае это несомнненно более правильно,так как выделяются 2 базовых классификатора (виды животных и виды пищи) и связываются через уже конкретные экземпляры 2-го классификатора.
...
Рейтинг: 0 / 0
Подскажите схему
    #34051675
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу я "забыть" про растения! Дело в том (это моя вина, я не сразу обрисовал все задачи), что связь между растениями, которые выступают в качестве пищевых, и животными должна анализироваться не только как между конкретными видами с той и другой стороны, но и на более высоких таксономических уровнях (например, семейства). Таким образом, вытекает необходимость поместить растения в отдельную иерархическую таблицу, т.к. загонять ее в таблицу "Пищевые ресурсы" неразумно и противоречит логике.
Каким-то образом нужно реализовать такую взаимосвязь между таблицами (существующими или добавленными), чтобы в зависимости от выбранной группы в таблице КОНКРЕТНЫЙ_ПИЩЕВОЙ_РЕСУРС выбирался этот самый ресурс. Т.е. выбираем в поле "Код группы" - "Растительная" и в поле "chrКонкретный пищевой ресурс" получаем возможность выбора сочетания "Орган растения - растение" из таблицы "РАСТЕНИЯ_ОРГАНЫ". Соответственно выбираем "Животная" - выбираем ресурсы животного происхождения и т.д. Сложность еще и в том, что животные бывают каннибалами (обезьяны вряд ли, но кроме обезьян могут быть и другие), т.е. ресурс как бы замыкается на его потребителях, т.к. это один и тот же объект реального мира.
Налицо четкие реляционные связи, которые никак не получается увязать в стройную схему. Уже подумывал о введении "лишних" таблиц с теми же объектами, только выступающими теперь в качестве ресурсов, а не иерархическими-таксономическими. Тогда вылазит проблема целостности и нормализации... Не знаю, что придумать, уже крышу рвет.
...
Рейтинг: 0 / 0
Подскажите схему
    #34051721
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сложите все в одну таблицу (грубо говоря,таблица объектов зоопарка),раз у Вас и сами животные будут ресурсы и сделайте для них отдельный классификатор.Причем надо сделать еще одну таблицу: разрешенные типы для типа и уже на ее основе делать интерфейс. Жить будет тогда проще.
...
Рейтинг: 0 / 0
Подскажите схему
    #34054541
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е., если я правильно понял, Вы предлагаете сделать так:
...
Рейтинг: 0 / 0
Подскажите схему
    #34056499
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можете картинки на форум выкладывать,а то неудобно zip качать по соображениям безопасности?
...
Рейтинг: 0 / 0
Подскажите схему
    #34056515
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если не сложно,в каком-нибудь человеческом case-средстве,а то я в Вашей схеме данных на access не понял ничего.
...
Рейтинг: 0 / 0
Подскажите схему
    #34058330
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не всегда удобно картинки выкладывать, они иногда большего размера, чем допускается. Таблицы Растения, Пищевые ресурсы и Обезьяны - иерархические.
...
Рейтинг: 0 / 0
Подскажите схему
    #34058409
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот наполнение таблицы Пищевые ресурсы
...
Рейтинг: 0 / 0
Подскажите схему
    #34058413
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень веселые картинки у Вас, КД. ;) Скажите, пожалуйста, какова область применения проектируемой базы данных?
...
Рейтинг: 0 / 0
Подскажите схему
    #34058713
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот как-то юмористическую составляющую я никогда не оценивал. Область применения - БД для личного пользования. А по делу-то будут соображения?
...
Рейтинг: 0 / 0
Подскажите схему
    #34059121
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> А по делу-то будут соображения?

Да. Если для личного пользования - оставьте все как есть.
...
Рейтинг: 0 / 0
Подскажите схему
    #34059367
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет,я предлагаю следующее (отношения бинарные, в принципе этого будет достаточно для этой задачи):
...
Рейтинг: 0 / 0
Подскажите схему
    #34059371
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет,я предлагаю следующее (отношения бинарные, в принципе этого будет достаточно для этой задачи):
...
Рейтинг: 0 / 0
Подскажите схему
    #34059377
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем бинарные теперь.
...
Рейтинг: 0 / 0
Подскажите схему
    #34061409
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ух ты! Пошел за пол-литрой, разбираться :)
...
Рейтинг: 0 / 0
Подскажите схему
    #34071009
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А такие штуки с помощью UML рисуются, да? Я профан в этом вопросе.
...
Рейтинг: 0 / 0
Подскажите схему
    #34073132
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет,Sybase PowerDesigner,концептуальная модель данных.
...
Рейтинг: 0 / 0
Подскажите схему
    #34125629
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shtock, прошу прощения, был в командировке, не мог ответить. Я понял, что ты что-то грандиозное придумал, но что именно - понять ума не хватило и вдобавок я не знаю, какие стрелки что обозначают. Буду очень признателен, если ты "на пальцах" пояснишь свою схему.
...
Рейтинг: 0 / 0
Подскажите схему
    #34127256
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пмсм если внимательно просмотреть схемку и сделать на excel примерчик с даннымми (а он на схеме собственно и изображен) то станет понятно и самостоятельно.
...
Рейтинг: 0 / 0
Подскажите схему
    #34135150
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, все равно понимания нет...
Классификатор - это таблица? Иерархическая? Рядом с ней 3 классификации - все в одной таблице?
В общем, если несложно, поясни попроще, я не программист и мне во все эти классы въезжать сложно.
...
Рейтинг: 0 / 0
Подскажите схему
    #34135449
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да,классификатор-деревянная таблица.
Да,все записи которые рядом - в ней.
...
Рейтинг: 0 / 0
Подскажите схему
    #34138245
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как можно 3 классификации запихнуть в одну таблицу? Тогда ведь у них должно быть и что-то объединяющее их? А то не будет общего корня.
...
Рейтинг: 0 / 0
Подскажите схему
    #34139612
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно запросто.и не нужен им общий корень.если хотите-сделайте запись с id например 1 и назовите ее Глобальный классфикатор объектов учета зоопарка.
...
Рейтинг: 0 / 0
Подскажите схему
    #34154882
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот что я пока надумал, если что не так - поправьте меня:
1. "Отношение между классами" – это, как я понимаю, отдельная таблица, в которой связываются записи "животное" – "объект из какой-л. иерархии" (растение, др. пищевой субстрат, м.б. и животное в случае хищничества и даже тот же самый вид животного в случае каннибализма) из "Классификатора"? И именно поэтому от "Классификатора" две стрелки к "Отношению между классами", т.е. "Классификатор" замыкается сам на себя?
2. Или эта связь "животное" – "объект" в таблице "Набор для класса 2"?
Тип отношения – это хищник, травоядное, многоядное? Если так, то отдельно, наверное, выделять этот класс смысла не имеет, а лучше в глобальный классификатор добавить поле "Группа" (животная, растительная, другая) и анализировать связку "животное" – "объект из какой-л. другой иерархии" по этому признаку?
Тогда достаточно двух таблиц – "Классификатор" и "Связка животное – объект". Эти связки можно потом анализировать отдельно по признакам группы и ID объекта. Если "объект" – растение, то "животное" – травоядное. Если "объект" – животное, то "животное" – хищник (ID "объекта" = ID "животного" – каннибал). И т.д.
Плюс глобального классификатора в том, что мы не плодим лишние сущности для разных объектов? Минус: в этой иерархической таблице органы растений становятся частями объекта растения – по смыслу правильно, но нарушается нормализация. Кроме того, для них значения поля "статус таксона" становятся NULL, равно как и для других пищевых субстратов типа йогурт и т.п. Тоже не есть хорошо.
А если так: делаем иерархические таблицы "животные", "растения", "всякие другие объекты" и устанавливаем связи между ними отдельно? Т.е. будут также таблицы "животные как пищевой субстрат", "растения как пищевой субстрат ", "всякие другие объекты как пищевой субстрат ". Какие минусы такого подхода кроме бОльшего числа сущностей? Плюс в том, что не придется переделывать существующую таблицу с животными, а также переписывать код работы с ней. Хотя это, конечно, моя вина – надо сначала грамотно проектировать, а потом реализовывать.
И вот еще сложность – как-н. можно реализовать такое, например, выражение: "поедает многие травянистые растения"? Или это в принципе невозможно из-за неопределенности определения, сорри за тавтологию?
...
Рейтинг: 0 / 0
Подскажите схему
    #34162624
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shtock, особенно не усердствуйте (http://www.sql.ru/forum/actualthread.aspx?tid=367773), вы нужны народу!
...
Рейтинг: 0 / 0
Подскажите схему
    #34163439
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. тип отношения - не "хищник, травоядное, многоядное". собственно эти слова видны в примере значений классификатора (слева внизу), т.е.вариант 2 не катит.
2.правильная версия-вариант 1.именно он позволяет связать птицу и растение или травоядное и растения.но таблица ОТношения между классами никак не позволяет сказать,что "Классификатор замыкается сам на себя".Он замыкается рекурсивной ссылкой на себя,эта же таблица раскрывает "тринарное M:N:L" между классификатором, классификатором и типом отношения, а набор для класса 2 определяет возможные другие классы для Класса,для кот опред набор отношений (нужно в первую очередь для упрощения заполнения данных).
3.по поводу ""поедает многие травянистые растения"? Или это в принципе невозможно из-за неопределенности определения, сорри за тавтологию?" слишком лозунгово звучит,поэтому как-то неясно.есть в этом элемент "женской логики",хотя никто не мешает сделать сослаться при описании на группу в классификаторе (которую сами же и введете) "Многие травянистые".
4.Проще один раз осознать и сделать нормальный классификатор,чем при каждом чихе делать море таблиц
...
Рейтинг: 0 / 0
Подскажите схему
    #34176347
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под "замыкается сам на себя" я и подразумевал рекурсивную ссылку одних объектов Классификатора на другие через таблицу "Отношение между классами".
На группу "Многие травянистые" я не могу сослаться в том варианте, который предлагается, т.к. травянистые – это атрибут растения (объекта), а сослаться надо на объекты и какие конкретно - неизвестно.
Вот что я еще надумал: варианты с применением классификатора и без такового.
В схеме с классификатором есть таблицы "Группы" (животная, растительная и т.д.), таблица "Тип отношения" (поедает, живет на …, симбиоз с … и т.д.). Специфичные таблицы типа "Орган растения" входят в один набор (для растений), неспецифичные типа "Биотоп" могут входить в несколько наборов.
Что мне не очень нравится в идее глобального классификатора – это попытка запихнуть в одну таблицу несколько разных сущностей с совершенно различными атрибутами. Ведь все учебники говорят, что в таком случае их нужно выделять в свои таблицы?
Вариант с классификатором:
...
Рейтинг: 0 / 0
Подскажите схему
    #34176350
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вариант с классификатором:
...
Рейтинг: 0 / 0
Подскажите схему
    #34176356
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И без классификатора - наиболее понятный для меня вариант, который я предложил в посте от 24 ноября. Прошу высказать "за" и "против" каждого варианта. Вот этот последний - сильно неправильный?
...
Рейтинг: 0 / 0
Подскажите схему
    #34177687
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас я в Москве - выйду завтра на основную работу-отвечу
...
Рейтинг: 0 / 0
Подскажите схему
    #34184359
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может еще кто-н. пока выскажется?
...
Рейтинг: 0 / 0
Подскажите схему
    #34185254
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Животные1 = Животные.
...
Рейтинг: 0 / 0
Подскажите схему
    #34185486
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче ситуация такая:есть два варианта-с универсальным классификатором или нет. у вас фактически никаких атрибутов нет,так как все-булевские признаки,поэтому я бы сделал универсальный классификатор.Вы почему-то помещаете в него какие-то растения, животные и др.По поводу размещения всего в малом количестве таблиц - в одном случае есть смысл,в другом нет.Мое мнение - вам не нужно делать их много,потому как не закроете работу никогда.Если же есть смысл быть вечно нужным-скорее всего много таблиц-идеальный вариант.
...
Рейтинг: 0 / 0
Подскажите схему
    #34201642
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или я чего-то не понимаю? Как это "Вы почему-то помещаете в него какие-то растения, животные и др."? Так Вы же сами предложили : "А сложите все в одну таблицу (грубо говоря,таблица объектов зоопарка),раз у Вас и сами животные будут ресурсы и сделайте для них отдельный классификатор". Я так понял, что все объекты окружающего мира, коль скоро они могут являться потребителями и/или поставщиками ресурсов, нужно занести в одну таблицу.
Атрибуты как раз есть, я же специально сделал на этом упор, когда предлагал вариант без универсального классификатора и мотивировал именно этим. Например, органы растений – это принципиально важно, скажем, животные едят плоды растения, но не едят листья, а другие животные едят именно листья того же растения. Если есть желание и интерес, я могу попробовать перечислить практически все атрибуты. Конечно, в варианте с классификатором органы растений становятся объектом, но все равно будут другие атрибуты, например, жизненная форма растений - трава, кустарник, дерево, что, согласитесь, уже никак не булевские признаки, и т.д.
По поводу "если же есть смысл быть вечно нужным" – если только самому себе, я уже писал, что база для личного пользования.
...
Рейтинг: 0 / 0
Подскажите схему
    #34201872
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToКДЖ у вас появились отдельные таблицы "растения", "животные" - про них я и написал.
...
Рейтинг: 0 / 0
Подскажите схему
    #34201878
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
были бы Вы в Питере-встретились в живую бы - а то писать в пятницу неохота.если Вы из Москвы - через две недели там буду-можно договориться о встрече.
...
Рейтинг: 0 / 0
Подскажите схему
    #34204253
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх... Я с периферии... Бываю в Москве раз в год, а в Питере и того реже. Но если соберусь - обязательно черкну. Да, было бы здорово пообщаться вживую. А также пивка попить :)
Не понял, что такое "ToКДЖ", а таблицы "растения", "животные" и т.д. появились в вариантах без классификатора - что в этом удивительного? В общем-то разные сущности, если проанализировать все атрибуты. Но, конечно, если от них абстрагироваться, то можно и в одну таблицу поместить. Впрочем, если абстрагироваться абсолютно, то база вообще будет из одной таблицы состоять :) Я в поиске золотой середины и, надеюсь, Вы мне в этом поможете.
...
Рейтинг: 0 / 0
Подскажите схему
    #34211320
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь еще может высказать свои соображения?
...
Рейтинг: 0 / 0
Подскажите схему
    #34232904
zeroandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитай о EAV - модели хранения данных, есть в топиках на форуме (через поиск), а на англицком вот тут http://ycmi.med.yale.edu/nadkarni/eav_CR_contents.htm
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите схему
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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