Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
Необходимо сконструировать базу деталей. Разновидностей деталей около 50, т.е. болты, трафареты и т.д. Разумеется, они имеют разное количество характеристик. Хотелось-бы услышать Ваше мнение по поводу того, что является более рацональным решением - создать 50 таблиц (по таблице на каждый вид), или создать одну таблицу, запихать в нее все возможные характеристики, а в неиспользуемых полях для конкретного типа использовать null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 11:52 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> что является более рацональным решением Рациональным с какой точки зрения? Одна таблица - проще и быстрее. 50 - сложнее и дольше. Третий вариант: таблица деталей, перечень характеристик, таблица характеристик деталей. Можно добавить констрейнт таблицу (каким деталям какие характеристики соответствуют), если можно выделить группы деталей, например. Можно добавить классификатор и типы характеристик. Нужна КД? Тоже таблица + таблица соответствия. Нужны единицы измерения? Таблица единиц измерений. Нужен пересчет из одних величин в другие? - таблица приведения. Есть сборочные узлы в готовых изделях? Таблица комплектности. Нужна история изменений (характеристик или КД)? ;) В таком примерно ключе. ;) Хотя, конечно, можно и одной таблицей обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 14:29 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
что-то не совсем понятно по-поводу третьего варианта, в чем собственно смысл переноса характеристик в отдельную таблицу ? Определенные характеристики детали (ширина например) там все равно не будут заполнены, в итоге принципиальной разницы с первым вариантом нет, зато появятся дополнительные тормоза. Или Вы имели в виду создание таблицы для каждой характеристики ? (т.е. таблица длин, таблица диаметров и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 16:24 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
Скорее он имел в виду то, что будет справочник характеристик, а также таблица со значениями характеристик, связанная также со справочником деталей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 17:09 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
Это как раз тот плохой случай для реляционной модели. Одна таблица - ухудшение качества отображения информации за счет "искажения" структуры: то что выглядит атрибутами для одного вида деталей - превратилось в значения. А поскольку система запросов строится на использовании атрибутов соответствующие "преобразования запросов". Извлечение информации усложнится. Здесь еще и то, что некоторые характеристики числовые, а некоторые символьные. Теперь все символьные. Вообще ограничения целостноти на значения накладывать сложнее. Однако, если все эти недостатки в данной задаче не могут сильно проявиться, то, наверное, решение - одна таблица, может иметь смысл. Обычно это имеет смысл, когда сама информация о характеристиках этих деталей не так важна. 50 таблиц - одна на вид детали - большое число таблиц в общем-то для очень схожих типов сущностей - видов деталей, которык к тому же выглядят как сущности - т.е. возможно появление нового вида деталей. Похоже здесь обратная ситуация то, что похоже на кортеж превращается в отношение. Если в одном запросе про все виды детадлей - 50 таблиц в запросе. А если появится 51, 52 и т.д. - вид деталей? Добавление новых таблиц - измение структуры - новая версия БД, и скорее всего приложения. Структура на то и структура, чтобы быть относительно статичной частью системы (ведь те же запросы еще придется переписывать, где участвуют детали всех видов). В общем это решение тоже плоховато. Конечно, если эти недостатки для конкретной задачи имеют значение. Решения с изменяющейся структурой - не самым лучшим образом согласуются с идеей статичности понятия структуры, т.е. объективно должно ухудшиться то, для чего это понятие существует. Думаю, что стоит подумать об объектных возможностях современных ОРСУБД. Тогда то, что здесь предлагали решить изменчивостью реляционной структуры, можно попробовать - решить с помощью пользовательских типов объетов, а то что реляционным методом так и оставить. Т.е. нивилировать эти недостаки используя преимущества двух этих технологий. Сейчас большинство лидирующих СУБД поддерживают такую возможность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2004, 22:28 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> в чем собственно смысл переноса характеристик в отдельную таблицу ? 1. Удобно их (характеристики) администрировать. 2. Абсолютно нежесткая структура. 3. Удобно пользоваться разными стандартами при описании (децимальная/двоичная система счисления и пр.). > принципиальной разницы с первым вариантом нет, Именно принципиальная. > Или Вы имели в виду создание таблицы для каждой характеристики? Нет. Есть смысл разделить характеристики на числовые, символьные и перечисляемые и при описании указывать их тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2004, 09:49 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
vadiminfoЭто как раз тот плохой случай для реляционной модели. ...Думаю, что стоит подумать об объектных возможностях современных ОРСУБД. Тогда то, что здесь предлагали решить изменчивостью реляционной структуры, можно попробовать - решить с помощью пользовательских типов объетов, а то что реляционным методом так и оставить. Т.е. нивилировать эти недостаки используя преимущества двух этих технологий. Сейчас большинство лидирующих СУБД поддерживают такую возможность. А то что Вы предлагаете не плохой способ для реляционной модели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 10:15 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
StalkerS, юзай отношение подкатегории в полный рост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 11:05 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
StalkerS, юзай предложенный в треде подход "База данных-хранилище атрибутов объектов" только в случае, если есть требование добавления новых сущностей ПОСЛЕ внедрения БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 11:08 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
StalkerSРазновидностей деталей около 50, т.е. болты, трафареты и т.д. Разумеется, они имеют разное количество характеристик. Не дурно бы разобраться - а нужно ли учитывать все эти характеристики? Как правило, в машиностроении для работы хватает габаритных размеров, материала, собственно типа детали и ГОСТа. Ну и правильное название ессно. Все остальное - вторично и носит характер примечания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 11:11 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> Как правило, в машиностроении для работы хватает габаритных размеров, > материала, собственно типа детали и ГОСТа. Хм... Member Серега поделится своим видением проблемы относительно материалов и типов? > Все остальное - вторично и носит характер примечания. Другими словами, Вы думаете, что достаточно их просто через запятую перечислить? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 13:16 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
guest_20040621Хм... Member Серега поделится своим видением проблемы относительно материалов и типов? А что конкретно интересует в этом вопросе, Guest guest_20040621? Это вообще проблема? guest_20040621Другими словами, Вы думаете, что достаточно их просто через запятую перечислить? ;) А как больше ндравится. Можно и через дефис. 8-) А что достаточно для данной задачи я не знаю. Сведения о задаче крайне скудны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 16:26 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> А что конкретно интересует в этом вопросе? Структура данных, разумеется. > Это вообще проблема? Не совсем. Скажем так: нетривиальная задача. > А как больше ндравится. Можно и через дефис. 8-) А можно через какой-нибудь юникодовый иероглиф? Прикольнее, чем дефис и запятая вместе взятые. > А что достаточно для данной задачи я не знаю. Сведения о задаче крайне скудны. Любопытно, какие еще данные требуются для ее детализации, которые принципиально повлияли бы на структуру данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 18:55 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
Dik76 А то что Вы предлагаете не плохой способ для реляционной модели? На самом деле, я скорее не предложил, а обратил внимание на возможность рассмотреть подход на основе объектно-реляционной модели данных. Все-таки чтобы оставаться только в реляционной модели для данного приложения приходится идти на ухищрения при моделировании, последствия которых на протяжении всего жизненного цикла информационной системы не до конца ясны. Безусловно и ОР подход означает и усложнение запросов, возможно и ОРСУБД еще не совсем достаточно поддерживают объектную составляющую для решения реальных задач. Плюс багов наверное там хватает. Наверное усложнится и программирование. Но плюсом может быть и более адекватное моделирование (тоже пока лишь предположение). И, например, запросы усложнятся только немного в плане синтаксиса, но не в плане компенации ухищрений моделирования. Последнее в общем случае на этапе эксплуатации ИС может оказаться для нее критичным - отрицательно сказаться на продолжительности жизненного цикла. Но речь идет только о том, чтобы если есть возможность, проверить и этот подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 20:33 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
guest_20040621Структура данных, разумеется. А что структура? Обычная структура. Справочники (id,name) и ссылка на них в "главной" таблице. Справочники могут быть и с деревянной "структурой" если интересует более детальный анализ. guest_20040621Не совсем. Скажем так: нетривиальная задача. Да ну? ИМХО обычная. Главное не перестараться. 8-) Надо определиться "скока точно вешать в граммах". Иными словами - если не нужен анализ/статистика по количеству разных отверстий в детали, то нефига и параметр хранения такой плодить. Достаточно, если уж сильно хочется, через запятую (дефис, иероглиф). guest_20040621Любопытно, какие еще данные требуются для ее детализации, которые принципиально повлияли бы на структуру данных? Для решения этой задачи, неплохо бы было описать те самые "характеристики", которые разные и которых много. А так же за чем они нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 09:05 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
guest_20040621 > А что достаточно для данной задачи я не знаю. Сведения о задаче крайне скудны. Любопытно, какие еще данные требуются для ее детализации, которые принципиально повлияли бы на структуру данных? Например, какие характеристики будут участвовать в выборках, по каким будут строится отчеты. Хотя, если даже удастся выделить характеристики, которые можно отнести к примечаниям, то оставшаяся их часть не обязательно будет совпадать по структуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 09:07 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
vadiminfo Dik76 А то что Вы предлагаете не плохой способ для реляционной модели? На самом деле, я скорее не предложил, а обратил внимание на возможность рассмотреть подход на основе объектно-реляционной модели данных. Хотелось бы узнать у автора топика, какую СУБД он собирается использовать? Все-таки чтобы оставаться только в реляционной модели для данного приложения приходится идти на ухищрения при моделировании, последствия которых на протяжении всего жизненного цикла информационной системы не до конца ясны. Предложенное решение в посте 1003997 предполагает использование в рамках реляционной модели, усеченное описание детали в виде объекта. Это решение позволяет гибко добавлять харктеристики детали, без изменения структуры БД и механизма обработки. ИМХО - это плюс и не малый. ..И, например, запросы усложнятся только немного в плане синтаксиса, но не в плане компенации ухищрений моделирования. ... Но речь идет только о том, чтобы если есть возможность, проверить и этот подход. И тот и другой способ предпологают дополнительные трудозатраты. При этом реляционная модель давно устоялась. Так стоит ли завязываться на ОРСУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 09:30 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> А что структура? Обычная структура. Справочники (id,name) и ссылка на них в > "главной" таблице. Справочники могут быть и с деревянной "структурой" если > интересует более детальный анализ. Вопрос был задан к тому, что материалы имеют разные обозначения у разных изготовителей. Во-первых. Во-вторых, вполне себе представляема ситуация, когда вместо одного материала можно использовать другой (другие). Так что не прокатит "ссылка в главной таблице". Или опять через запятую? > Иными словами - если не нужен анализ/статистика по количеству разных > отверстий в детали, то нефига и параметр хранения такой плодить. Достаточно, > если уж сильно хочется, через запятую (дефис, иероглиф). Ага. А если статистика понадобится - конечно, проще все переписать заново. Безработицы в РФ нет и не будет. > Для решения этой задачи, неплохо бы было описать те самые "характеристики", > которые разные и которых много. А так же за чем они нужны. Ответ не принимается. Их количество понятно, изменяемость вполне можно прогнозировать. Еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 09:57 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
StalkerSНеобходимо сконструировать базу деталей. Разновидностей деталей около 50, т.е. болты, трафареты и т.д. Разумеется, они имеют разное количество характеристик. guest_20040621Вопрос был задан к тому, что материалы имеют разные обозначения у разных изготовителей. Во-первых. Во-вторых, вполне себе представляема ситуация, когда вместо одного материала можно использовать другой (другие). Так что не прокатит "ссылка в главной таблице". Или опять через запятую? Вот ты сравни вопрос автора и свое понимание вопроса. И почувствуй разницу. Где там вообще про разные взаимозаменяемые материалы? Там вообще про детали. Справочник материалов сложная штука - я это и не оспариваю. Но это целый комплекс решений, напрямую к заданному вопросу не относящийся. Там вообще не понятно, то ли эти детали делаются (производство), то ли просто учитываются (склад). guest_20040621Ага. А если статистика понадобится - конечно, проще все переписать заново. Безработицы в РФ нет и не будет. Ага. А ты хочешь один раз и на века? А за какие деньги? guest_20040621Ответ не принимается. Их количество понятно, изменяемость вполне можно прогнозировать. Еще варианты? Вона как. Ну и не принимай. Я твои вопросы тоже без предоплаты не принимаю. 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 10:13 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
Dik76 Предложенное решение в посте 1003997 предполагает использование в рамках реляционной модели, усеченное описание детали в виде объекта. Это решение позволяет гибко добавлять харктеристики детали, без изменения структуры БД и механизма обработки. ИМХО - это плюс и не малый. Я пытался сказать, что для конкретного проекта возможен любой из предложенных вариантов в зависимости от недостатков для конкретных требований. Более того, скорее всего, вариант предолженный в посте 1003997, скорее всего, на сегодняшний день претендует на то, что реально и будет использовано. И действительно, как и для однотабличного решения структура БД при добавлении нового вида деталей не меняется. Но дело в самой этой структуре. Бросается в глаза, что характеристика это то, что претендует быть атрибутом, а в этой структуре она - значение атрибута "Имя характеристики". Это выглядит как неадекватность моделирования в РМД. Т.е. то что в ПО выглядит как элемент структуры, в этой модели выглядит как значения данных. В ОР, возможно, бы удалось оставить характеристику как атрибут объекта. Тем более Вы сами говорите про описание в виде объекта. Может быть, это было бы более адекватно. Хотя согласен, что и тут при реализации могут быть неприятные сюрпризы: на сколько хорошо поддерживается ОР на сегодняшний день тоже не очень ясно. Но ведь интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 12:25 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> Вот ты сравни вопрос автора и свое понимание вопроса. И почувствуй разницу. Хех, а что мне должно мешать видеть чуть дальше вопроса? > Справочник материалов сложная штука - я это и не оспариваю. Но это целый > комплекс решений, напрямую к заданному вопросу не относящийся. Ой, да ладно, ничего там сложного нет. Нетривиально - да, громоздко - да, но сложного ничего нет. > Ага. А ты хочешь один раз и на века? А за какие деньги? Ну, на века точно не получится (imho лет на пять, в лучшем случае - на десять; а не на полгода в случае одной таблицы). Но геморрой себе не создавать на ровном месте - очень даже возможно. Кстати, практически за те же самые деньги. ;) > Вона как. Ну и не принимай. Я твои вопросы тоже без предоплаты не принимаю. 8-) $) А что, у меня были вопросы? ;)) Imho проблема в том, что ты, Member Серега, предложил слишком простое решение там, где его быть не может. На самом деле, исходных данных для проектирования нормальной (в каком угодно смысле; заметь, я не говорю про универсальную) структуры данных imho вполне достаточно. Хотя, конечно, хозяин - барин. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 13:37 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> Ой, да ладно, ничего там сложного нет. Нетривиально - да, громоздко - да, но сложного ничего нет. нетривиальность + громоздкость. Не вытекает ли из этого сложность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 14:16 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
guest_20040621Imho проблема в том, что ты, Member Серега, предложил слишком простое решение там, где его быть не может. ИМХО, Guest guest_20040621, ты видишь проблемы там, где их нет. 8-) Я всего лишь предложил осмыслить задание. Не удивлюсь, если сейчас "задача" вполне успешно решается на Екселе, и в общем то устраивает всех, но с ростом объемов... guest_20040621На самом деле, исходных данных для проектирования нормальной (в каком угодно смысле; заметь, я не говорю про универсальную) структуры данных imho вполне достаточно. Ну тогда напиши (давно прошу) про разные и многочисленные характеристики болтов и трафаретов, которые обязательно надо отразить, и для чего надо. Заметь я не утверждаю, что я однозначно прав. Может быть и нет - для меня исходных данных мало - ну тупой я. Но обычно я решаю (стараюсь по крайней мере) решать поставленные передо мной задачи, а не химеры, рожденные в моем воображении на основе житейского опыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 14:39 |
|
||
|
организация структуры БД
|
|||
|---|---|---|---|
|
#18+
> нетривиальность + громоздкость. Не вытекает ли из этого сложность? Нет. Сложно - это, например, структура данных для контроля версий. Под нетривиальностью в данном случае имелась в виду невозможность обойтись типовыми структурами данных. Под громоздкостью - необходимость учитывать достаточно большое количество атрибутов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2004, 14:42 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=163&tid=1546252]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
55ms |
get topic data: |
14ms |
get forum data: |
5ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 440ms |

| 0 / 0 |
