|
|
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Предположим, необходимо изучить питание каких-л. животных. Известно, что некоторые могут питаться чем-то одним, а другие - всеядные. Например, обезьяны могут есть мясо (неважно каких животных), грибы (неважно какие) и растения. Но в отношении растений требуется более подробная информация. Дело в том, что у разных растений пищевую ценность могут представлять разные органы этих растений (листья, корни, плоды) и требуется информация какие именно. Задача - определить схему пищевых ресурсов для обезьян в базе данных. Вариант: создаем таблицы ОБЕЗЬЯНЫ, РАСТЕНИЯ, ОРГАНЫ (растений), РАСТЕНИЯ_ОРГАНЫ (связующая), ГРУППЫ ПИЩЕВЫХ РЕСУРСОВ. А вот как теперь организовать соединительное звено между ОБЕЗЬЯНАМИ и имеющимися таблицами, чтобы выполнить поставленную задачу? Вводить еще какие-н. промежуточные таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 19:29 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Я бы делал следующим образом и универсально: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 10:21 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
КДВариант: создаем таблицы ОБЕЗЬЯНЫ внимательно втыкаем в тынцу и тынцу по поводу классификаций еще есть что почитать и чему поучиться ShtockЯ бы делал следующим образом и универсально: существует классификация в группы Хищники Травоядные Всеядные... в частности Травоядным мясо не по вкусу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 16:15 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
to proposed amendment: не понял,к чему Ваша фраза.Данная схема позволяет набрать виды пищи для каждого типа зверья особенно если делать и его деревом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 17:32 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
To proposed amendment: Собственно, вопрос с классификацией решен. Тут больше вопрос о грамотной организации отображения связи животных с пищевыми ресурсами. Кстати, ссылка на статью с pdf у меня ничего не выводит, подскажите, как это лечить. To Schtock: Ага, подумаю. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 18:42 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Shtockto proposed amendment: не понял,к чему Ваша фраза.Данная схема позволяет набрать виды пищи для каждого типа зверья особенно если делать и его деревом. в принципе если в табилице виды животного указать группирующие признаки по видам пищи то да - этого, конечно, достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2006, 15:32 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
To proposed amendment: Нет, я все-таки полагаю, что иерархическая таблица с животными должна существовать сама по себе, а должна быть связующая таблица между животными и кормовыми ресурсами типа: ID_вид_животного - ID_кормового ресурса. Таким образом, мы свяжем животных и ресурсы М:М, что верно. To Schtock: Значит, если я правильно понял, Вы предлагаете сделать одну таблицу для пищевых ресурсов (иерархическую) и отображать ее деревом? Хорошо, но, здесь как бы нарушается нормализация, т.е. для каждого растения мы будем заносить в эту таблицу органы, которые, в общем-то, примерно одни и те же у всех растений (практически у всех есть корни, стебли, листья, плоды) или это ничего? А кроме того, я хотел сделать сами растения деревом (классификацию) и их органы туда не очень вписываются… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2006, 18:56 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Ну и заносите.Я не думаю,что будет криминал.Просто надо чуть выше поднять уровень абстракции и не думать о растениях, как о чем-то особом.Так можно и про мясо подумать: брать, например, мышь. У нее лапы отдельно,хвост отдельно.Можно правда (непонятно зачем) сделать так: иерархический классификатор частей пищи (забудьте про растения,поднимайте выше уровень абстракции - есть пища и ее части), потом таблицу конкретных частей пищи со ссылкой на классификатор, а эту таблицу уже вязать по m:n с видами животных.Но,я бы, честно, не напрягался бы так.Хотя с точки зрения проектирования БД в Вашем случае это несомнненно более правильно,так как выделяются 2 базовых классификатора (виды животных и виды пищи) и связываются через уже конкретные экземпляры 2-го классификатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2006, 19:35 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Не могу я "забыть" про растения! Дело в том (это моя вина, я не сразу обрисовал все задачи), что связь между растениями, которые выступают в качестве пищевых, и животными должна анализироваться не только как между конкретными видами с той и другой стороны, но и на более высоких таксономических уровнях (например, семейства). Таким образом, вытекает необходимость поместить растения в отдельную иерархическую таблицу, т.к. загонять ее в таблицу "Пищевые ресурсы" неразумно и противоречит логике. Каким-то образом нужно реализовать такую взаимосвязь между таблицами (существующими или добавленными), чтобы в зависимости от выбранной группы в таблице КОНКРЕТНЫЙ_ПИЩЕВОЙ_РЕСУРС выбирался этот самый ресурс. Т.е. выбираем в поле "Код группы" - "Растительная" и в поле "chrКонкретный пищевой ресурс" получаем возможность выбора сочетания "Орган растения - растение" из таблицы "РАСТЕНИЯ_ОРГАНЫ". Соответственно выбираем "Животная" - выбираем ресурсы животного происхождения и т.д. Сложность еще и в том, что животные бывают каннибалами (обезьяны вряд ли, но кроме обезьян могут быть и другие), т.е. ресурс как бы замыкается на его потребителях, т.к. это один и тот же объект реального мира. Налицо четкие реляционные связи, которые никак не получается увязать в стройную схему. Уже подумывал о введении "лишних" таблиц с теми же объектами, только выступающими теперь в качестве ресурсов, а не иерархическими-таксономическими. Тогда вылазит проблема целостности и нормализации... Не знаю, что придумать, уже крышу рвет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 18:03 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
А сложите все в одну таблицу (грубо говоря,таблица объектов зоопарка),раз у Вас и сами животные будут ресурсы и сделайте для них отдельный классификатор.Причем надо сделать еще одну таблицу: разрешенные типы для типа и уже на ее основе делать интерфейс. Жить будет тогда проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 18:18 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Т.е., если я правильно понял, Вы предлагаете сделать так: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 18:07 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
а можете картинки на форум выкладывать,а то неудобно zip качать по соображениям безопасности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 11:25 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
и если не сложно,в каком-нибудь человеческом case-средстве,а то я в Вашей схеме данных на access не понял ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 11:30 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Не всегда удобно картинки выкладывать, они иногда большего размера, чем допускается. Таблицы Растения, Пищевые ресурсы и Обезьяны - иерархические. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 18:49 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
А вот наполнение таблицы Пищевые ресурсы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 19:18 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Очень веселые картинки у Вас, КД. ;) Скажите, пожалуйста, какова область применения проектируемой базы данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 19:22 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Ну вот как-то юмористическую составляющую я никогда не оценивал. Область применения - БД для личного пользования. А по делу-то будут соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 23:23 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
> А по делу-то будут соображения? Да. Если для личного пользования - оставьте все как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 10:16 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
нет,я предлагаю следующее (отношения бинарные, в принципе этого будет достаточно для этой задачи): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 11:12 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
нет,я предлагаю следующее (отношения бинарные, в принципе этого будет достаточно для этой задачи): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 11:13 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
не совсем бинарные теперь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 11:13 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Ух ты! Пошел за пол-литрой, разбираться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2006, 18:22 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
А такие штуки с помощью UML рисуются, да? Я профан в этом вопросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2006, 18:15 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Нет,Sybase PowerDesigner,концептуальная модель данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 10:32 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Shtock, прошу прощения, был в командировке, не мог ответить. Я понял, что ты что-то грандиозное придумал, но что именно - понять ума не хватило и вдобавок я не знаю, какие стрелки что обозначают. Буду очень признателен, если ты "на пальцах" пояснишь свою схему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 06:29 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Пмсм если внимательно просмотреть схемку и сделать на excel примерчик с даннымми (а он на схеме собственно и изображен) то станет понятно и самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 14:23 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Нет, все равно понимания нет... Классификатор - это таблица? Иерархическая? Рядом с ней 3 классификации - все в одной таблице? В общем, если несложно, поясни попроще, я не программист и мне во все эти классы въезжать сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2006, 06:44 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Да,классификатор-деревянная таблица. Да,все записи которые рядом - в ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2006, 10:07 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
А как можно 3 классификации запихнуть в одну таблицу? Тогда ведь у них должно быть и что-то объединяющее их? А то не будет общего корня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2006, 07:55 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
можно запросто.и не нужен им общий корень.если хотите-сделайте запись с id например 1 и назовите ее Глобальный классфикатор объектов учета зоопарка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 23:01 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Ну вот что я пока надумал, если что не так - поправьте меня: 1. "Отношение между классами" – это, как я понимаю, отдельная таблица, в которой связываются записи "животное" – "объект из какой-л. иерархии" (растение, др. пищевой субстрат, м.б. и животное в случае хищничества и даже тот же самый вид животного в случае каннибализма) из "Классификатора"? И именно поэтому от "Классификатора" две стрелки к "Отношению между классами", т.е. "Классификатор" замыкается сам на себя? 2. Или эта связь "животное" – "объект" в таблице "Набор для класса 2"? Тип отношения – это хищник, травоядное, многоядное? Если так, то отдельно, наверное, выделять этот класс смысла не имеет, а лучше в глобальный классификатор добавить поле "Группа" (животная, растительная, другая) и анализировать связку "животное" – "объект из какой-л. другой иерархии" по этому признаку? Тогда достаточно двух таблиц – "Классификатор" и "Связка животное – объект". Эти связки можно потом анализировать отдельно по признакам группы и ID объекта. Если "объект" – растение, то "животное" – травоядное. Если "объект" – животное, то "животное" – хищник (ID "объекта" = ID "животного" – каннибал). И т.д. Плюс глобального классификатора в том, что мы не плодим лишние сущности для разных объектов? Минус: в этой иерархической таблице органы растений становятся частями объекта растения – по смыслу правильно, но нарушается нормализация. Кроме того, для них значения поля "статус таксона" становятся NULL, равно как и для других пищевых субстратов типа йогурт и т.п. Тоже не есть хорошо. А если так: делаем иерархические таблицы "животные", "растения", "всякие другие объекты" и устанавливаем связи между ними отдельно? Т.е. будут также таблицы "животные как пищевой субстрат", "растения как пищевой субстрат ", "всякие другие объекты как пищевой субстрат ". Какие минусы такого подхода кроме бОльшего числа сущностей? Плюс в том, что не придется переделывать существующую таблицу с животными, а также переписывать код работы с ней. Хотя это, конечно, моя вина – надо сначала грамотно проектировать, а потом реализовывать. И вот еще сложность – как-н. можно реализовать такое, например, выражение: "поедает многие травянистые растения"? Или это в принципе невозможно из-за неопределенности определения, сорри за тавтологию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 20:53 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Shtock, особенно не усердствуйте (http://www.sql.ru/forum/actualthread.aspx?tid=367773), вы нужны народу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 06:28 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
1. тип отношения - не "хищник, травоядное, многоядное". собственно эти слова видны в примере значений классификатора (слева внизу), т.е.вариант 2 не катит. 2.правильная версия-вариант 1.именно он позволяет связать птицу и растение или травоядное и растения.но таблица ОТношения между классами никак не позволяет сказать,что "Классификатор замыкается сам на себя".Он замыкается рекурсивной ссылкой на себя,эта же таблица раскрывает "тринарное M:N:L" между классификатором, классификатором и типом отношения, а набор для класса 2 определяет возможные другие классы для Класса,для кот опред набор отношений (нужно в первую очередь для упрощения заполнения данных). 3.по поводу ""поедает многие травянистые растения"? Или это в принципе невозможно из-за неопределенности определения, сорри за тавтологию?" слишком лозунгово звучит,поэтому как-то неясно.есть в этом элемент "женской логики",хотя никто не мешает сделать сослаться при описании на группу в классификаторе (которую сами же и введете) "Многие травянистые". 4.Проще один раз осознать и сделать нормальный классификатор,чем при каждом чихе делать море таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 11:53 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Под "замыкается сам на себя" я и подразумевал рекурсивную ссылку одних объектов Классификатора на другие через таблицу "Отношение между классами". На группу "Многие травянистые" я не могу сослаться в том варианте, который предлагается, т.к. травянистые – это атрибут растения (объекта), а сослаться надо на объекты и какие конкретно - неизвестно. Вот что я еще надумал: варианты с применением классификатора и без такового. В схеме с классификатором есть таблицы "Группы" (животная, растительная и т.д.), таблица "Тип отношения" (поедает, живет на …, симбиоз с … и т.д.). Специфичные таблицы типа "Орган растения" входят в один набор (для растений), неспецифичные типа "Биотоп" могут входить в несколько наборов. Что мне не очень нравится в идее глобального классификатора – это попытка запихнуть в одну таблицу несколько разных сущностей с совершенно различными атрибутами. Ведь все учебники говорят, что в таком случае их нужно выделять в свои таблицы? Вариант с классификатором: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 06:54 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Еще вариант с классификатором: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 06:57 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
И без классификатора - наиболее понятный для меня вариант, который я предложил в посте от 24 ноября. Прошу высказать "за" и "против" каждого варианта. Вот этот последний - сильно неправильный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 07:00 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Сейчас я в Москве - выйду завтра на основную работу-отвечу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 14:46 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
А может еще кто-н. пока выскажется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 18:30 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Животные1 = Животные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 10:08 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Короче ситуация такая:есть два варианта-с универсальным классификатором или нет. у вас фактически никаких атрибутов нет,так как все-булевские признаки,поэтому я бы сделал универсальный классификатор.Вы почему-то помещаете в него какие-то растения, животные и др.По поводу размещения всего в малом количестве таблиц - в одном случае есть смысл,в другом нет.Мое мнение - вам не нужно делать их много,потому как не закроете работу никогда.Если же есть смысл быть вечно нужным-скорее всего много таблиц-идеальный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 11:09 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Или я чего-то не понимаю? Как это "Вы почему-то помещаете в него какие-то растения, животные и др."? Так Вы же сами предложили : "А сложите все в одну таблицу (грубо говоря,таблица объектов зоопарка),раз у Вас и сами животные будут ресурсы и сделайте для них отдельный классификатор". Я так понял, что все объекты окружающего мира, коль скоро они могут являться потребителями и/или поставщиками ресурсов, нужно занести в одну таблицу. Атрибуты как раз есть, я же специально сделал на этом упор, когда предлагал вариант без универсального классификатора и мотивировал именно этим. Например, органы растений – это принципиально важно, скажем, животные едят плоды растения, но не едят листья, а другие животные едят именно листья того же растения. Если есть желание и интерес, я могу попробовать перечислить практически все атрибуты. Конечно, в варианте с классификатором органы растений становятся объектом, но все равно будут другие атрибуты, например, жизненная форма растений - трава, кустарник, дерево, что, согласитесь, уже никак не булевские признаки, и т.д. По поводу "если же есть смысл быть вечно нужным" – если только самому себе, я уже писал, что база для личного пользования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 06:39 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
ToКДЖ у вас появились отдельные таблицы "растения", "животные" - про них я и написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 09:38 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
были бы Вы в Питере-встретились в живую бы - а то писать в пятницу неохота.если Вы из Москвы - через две недели там буду-можно договориться о встрече. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 09:40 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Эх... Я с периферии... Бываю в Москве раз в год, а в Питере и того реже. Но если соберусь - обязательно черкну. Да, было бы здорово пообщаться вживую. А также пивка попить :) Не понял, что такое "ToКДЖ", а таблицы "растения", "животные" и т.д. появились в вариантах без классификатора - что в этом удивительного? В общем-то разные сущности, если проанализировать все атрибуты. Но, конечно, если от них абстрагироваться, то можно и в одну таблицу поместить. Впрочем, если абстрагироваться абсолютно, то база вообще будет из одной таблицы состоять :) Я в поиске золотой середины и, надеюсь, Вы мне в этом поможете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 18:16 |
|
||
|
Подскажите схему
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь еще может высказать свои соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 18:20 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544812]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 462ms |

| 0 / 0 |
