powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как связать таблицы разных изделий
14 сообщений из 14, страница 1 из 1
Как связать таблицы разных изделий
    #38833613
Amser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех приветствую!
Прошу помощи в проектировании БД.
Задача следующая: есть задача организовать БД для фирмы, которая занимается рекламными изделиями.Изделия - совсем разные, начиная от печатной продукции, заканчивая сложными конструкциями. Вопрос, как это все объединить.
Как я вижу нужно делать обязательно следующие таблицы:
Сотрудники: КодСотрудника, ФИО и т.д.
Заказчики: КодЗаказчика, НаимЗаказчика, КонтЛицо и т.д.
ВидИзделия: КодВидаИзделия, НаимИзделия
У каждого изделия множество полей.
Например по баннерам: КодБаннера, КодВидаИзделия, Ширина, Высота, Сумма и т.д. (много полей)
Например по печатной продукции: КодПечать, КодВидаИзделия, количество, ТипПечати, Сумма и т.д. (много полей).
И другие.
Если сделать таблицу заказы Заказы: КодЗаказа, КодСотрудника, КодЗаказчика, КодИзделия, Дата, Сумма и т.д. - как привязать сюда нужную таблицу, т.е. если изделие баннер, то КодБаннера, если это печатная продукция, то КодПечати? Или нужно идти по-другому пути?
Отчетами необходимо выводить информацию либо по конкретному виду продукции за период, либо по всей продукции с суммами за период, либо по заказчику и т.п.
Предполагал сделать все в Access.
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833626
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amserесть задача организовать БД для фирмы
Для чего? Каково её практическое назначение?

AmserУ каждого изделия множество полей.
Зачем?

От ответов на эти вопросы зависит вся структура БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833627
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amser,

Заказы: КодЗаказа, КодСотрудника, КодЗаказчика, КодИзделия, Дата, Сумма, + КодВидаИзделия
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833629
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица:ВидИзделия
Поля:Код,Наименовение

Содержание:
1, Banner
2, Booklet
3, Card

В таблице Параметры - перечислить(потом можно добавлять) ВСЕ мыслимые параметры. КодПараметра|Наименование параметра|....
В таблице Параметр_ВидИзделия хранить связку кода параметра и кода вида изделия: Id|КодПараметра|КодВидаИзделия

дальше интересно?!
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833631
Amser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Каждая таблица каждого изделия содержит много полей - для автоматического расчета суммы изделия. Например добавляем 5 логических/выпадающих полей для того, чтобы менеджер только поставила галочки/выбрала значения, и автоматически посчиталась сумма ИТОГО. Т.о. менеджер по каждому изделию видит все поля, не забывает что-то указать, не делает ошибок при расчете.
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833633
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это типичная задача. В 1с 8.х добавлены т.н. свойства или как их там.
Конкретнее нужен словарь свойств. (Там длинна, ширна, вес, мощность, цвет) тип значений с войств (число, строка, дата, . перечислимое ...). И к изделию привязывать разные свойства. Возможно для однотипных изделий фиксированное множество сойств.

Тогда можно организовать поиск по свойствам.

Только вот в Аццесе это будет сделать довольно накладно, но не невозможно.

Я сам такое ваял в ООВазе - хранить просто, но выборка по заданным свойствм вышла корявая. А не корявая будет много букофф кода.
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833634
Amser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander2В таблице Параметры - перечислить(потом можно добавлять) ВСЕ мыслимые параметры. КодПараметра|Наименование параметра|....

Т.е. хранить таблицу с наименованиями параметров?
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833635
Amser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
apapacy,

А в какой среде тогда это делать оптимальнее? 1С?
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833652
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да в той среде которой Вы виртуозно владеете.

В 1с, кстати, сделать универсальную выборку по свойствам тоже нужно постараться.

НМВ наиболее органично это сделать под веб-интерфейс. Объясню почему.
Веб-интерфейс, собственно ХТМЛ-документ, генерируется на лету и может быть принципиально разным для различных наборов свойств.

В противовес этому, тот же Аццес поразумевает зараннее нарисованную форму. Впрочем, со свойствами я игрался даже на ФоксПро. Но не так это органично получалось.
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833653
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется в виду, что поиск сделать будет сложновато. А так - ввод свойств - несложно даже в ООБазе.
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833688
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amser,

авторТ.е. хранить таблицу с наименованиями параметров?
Один раз заполнить, затем по мере появления добавлять/редактировать.

Изделие описывать на форме, на которую выносится в колонки таблицы развернутый список параметров.
можно вертикально, колонка= имя параметра (read-only), и редактируемая колонка - Value.
в базу записывается Id_Izdelie|Id_Parameter|Value
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833778
аля1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmserВсех приветствую!
...
Предполагал сделать все в Access.

имхо
для старта - оч даже правильно



найди возможность глянуть внутрь 1с

приглядись там
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833792
аля1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
))

вдогонку


прошепчу громко

как среда -
1с - демьянова уха
...
Рейтинг: 0 / 0
Как связать таблицы разных изделий
    #38833928
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просмотрите материалы по EAV.

Как кажется, есть возможность уложить все виды изделий в несколько основных типов, каждый тип может иметь разновидности, отличающиеся не очень существенными бантиками.

Я бы сделал так.

Одна супер-таблица на ВСЕ типы изделий, куда вытащены все общие параметры изделий.
Иерархический классификатор типов-видов-подвидов... изделий.
Возможно, измерений классификации более одного. Система будет мощнее (но труднее реализация) (я бы сделал).
Конкретные изделия, для каждого - вид по класификатору или набор кодов по измерениям классификации.
Дальше EAV - словарь параметров, применимость параметров к классификатору изделий, значения парметров для экзепляров изделий.
Если иерархический классификатор один, то применимость удобно задавать в виде паттернов адресов иерархии с метасиволами *.
Поясню.

Если классификаторов несколько, то каждый задется независимо:
<Размер> - <большой, средний, маленький>
<Цвет> - <цветной, черно-белый>.

Атрибут <тип краски> применялся бы <цветной>, а длина рулона применяется к <большой>

Если классификатор один, придется городить:
1. Большой
1.1. Большой.цветной
1.2. Большой.черно-белый
2. Средний
2.1. Средний.цветной
2.2. Средний.черно-белый
...
Атрибут <тип краски> применяется к <*.цветной>
Атрибут <длина рулона> применяется к <Большой.*>




Нужно будет работать в коде ВБА с динамическим SQL, делать программно настраиваемые формы.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как связать таблицы разных изделий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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