powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу совета по проектированию.
4 сообщений из 29, страница 2 из 2
Прошу совета по проектированию.
    #39719837
и да, по мне - Аксесс здесь был бы идеальным выбором, как озвучено - работы на день максимум.
...
Рейтинг: 0 / 0
Прошу совета по проектированию.
    #39720083
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С таким кол-вом записей можно из палок сделать что угодно.
Что мы имеем:
атрибуты , категории атрибутов , ограничения

Категории атрибутов: язык; атрибуты : русский английский, ограничения : атрибуты категории язык могут использоваться только в сущностях: Люди, Животные

Довольно простой вариант:

+Таблицы: attr_fields, attr_values, attr_refs

attr_fields (таблица категорий и атрибутов):

id - уникальный код
name - наименовании категории(язык)
possible_values - допустимые значения атрибутов для данной категории через запятую(русский, английский)
is_required - обязательный атрибут, если выбран в справочнике.

attr_refs (таблица связи категории с сущностью):

id - уникальный код
attr_field_id - уникальный код записи из таблицы attr_fields
ref_name - - имя сущности-справочника

attr_values (таблица связи сущности и выбранного значения категории - атрибута):

id - уникальный код
attr_refs_id - уникальный код связи категории с сущностью
ref_element_id - уникальный код записи из таблицы сущности-справочника
value - значения из списка допустимых значений possible_values в записей таблицы attr_fields


Ну и собственно под это все дело простой интерфейс, раз-раз и в продакшн. Минусов как и плюсов у решения - довольно много. При этом, если запросы будут тормозные, всегда можно нормализовать таблицы(например, possible_values вынести в отдельный справочник и писать вместо их реальных значений - их код).
...
Рейтинг: 0 / 0
Прошу совета по проектированию.
    #39720973
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

авторpossible_values - допустимые значения атрибутов для данной категории через запятую(русский, английский)

Н - Нормализация
...
Рейтинг: 0 / 0
Прошу совета по проектированию.
    #39721008
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileОзверин,

авторpossible_values - допустимые значения атрибутов для данной категории через запятую(русский, английский)

Н - Нормализация

Кто ж против? Нормализуйте. Не сразу понятно, правда, для каких целей? Атрибуты у разных категорий могут иметь одинаковое название, не так ли?
К примеру, Язык - русский, Национальность - русский, а значит уникальность по имени в таблице атрибутов у вас будет отсутствовать. Если вас волнует вопрос скорости, то я вас уверяю, что запрос типа:
Выбрать все Документ, где Язык = Русский - на выборке в 20к записей не будет отличаться от запроса виде:
Выбрать все Документ, где Язык = 1

Тут скорее вопрос удобства создания UI под такие данные - если удобнее в отдельной таблице, да без проблем. МНе было б удобнее на коленке сделать через запятую, а потом уже решать проблемы по мере поступления.
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу совета по проектированию.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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